Просмотр исходного кода

Lapine UI Features
* Features from LapineDdukDdakBox and LapineUpgradeBox
* Added db files: item_synthesis.yml, item_upgrade.yml
* Added script commands: upgradeui, synthesisui
* Supported & tested for clients: 2018-06-20e RagexeRE and 2018-06-21a RagexeRE
* Thanks to: @Lemongrass3110, Divine-pride.net

Cydh 5 лет назад
Родитель
Сommit
10f0ead08f

+ 4 - 1
conf/msg_conf/map_msg.conf

@@ -859,7 +859,10 @@
 // pcblock command
 794: This action is currently blocked.
 
-//795-899 free
+795: Item Synthesis database has been reloaded.
+796: Item Upgrade database has been reloaded.
+
+//797-899 free
 
 //------------------------------------
 // More atcommands message

+ 19 - 0
db/import-tmpl/item_synthesis.yml

@@ -0,0 +1,19 @@
+###########################################################################
+# 
+# Item Synthesis Database
+#
+# This feature need a sync client file: LapineDdukDDakBox.lub
+#
+###########################################################################
+# - Id:                 # (int) Item ID of synthesis box
+#   NeedRefine:         # (int) Minimum refine level for source item
+#   SourceNeeded:       # (int) Number of item sets (in SourceItem) must be selected
+#   SourceItem:         # List of item required
+#     - Item:           # (int) Item ID for source
+#     - Amount:         # (int) Item amount will be consumed
+#   Reward:             # (string) Script on synthesis success
+###########################################################################
+
+Header:
+  Type: ITEM_SYNTHESIS_DB
+  Version: 1

+ 19 - 0
db/import-tmpl/item_upgrade.yml

@@ -0,0 +1,19 @@
+###########################################################################
+# 
+# Item Upgrade Database
+#
+# This feature need a sync client file: LapineUpgradeBox.lub
+#
+###########################################################################
+# - Id:                   # (int) Item ID of upgrade box
+#   NeedRefineMin:        # (int) Minimum refine level for target item (default :0)
+#   NeedOptionNumMin:     # (int) Minimum random option that target item has (default :0)
+#   NotSocketEnchantItem: # (bool) Target item must not has enchant stone (default: true)
+#   TargetItem:           # List of possible item to be upgraded
+#     - Item:             # (int) Target's Item ID
+#   Result:               # (string) Script on upgrade success
+###########################################################################
+
+Header:
+  Type: ITEM_UPGRADE_DB
+  Version: 1

+ 11 - 0
db/item_synthesis.yml

@@ -0,0 +1,11 @@
+Header:
+  Type: ITEM_SYNTHESIS_DB
+  Version: 1
+
+Footer:
+  Imports:
+  - Path: db/pre-re/item_synthesis.yml
+    Mode: Prerenewal
+  - Path: db/re/item_synthesis.yml
+    Mode: Renewal
+  - Path: db/import/item_synthesis.yml

+ 11 - 0
db/item_upgrade.yml

@@ -0,0 +1,11 @@
+Header:
+  Type: ITEM_UPGRADE_DB
+  Version: 1
+
+Footer:
+  Imports:
+  - Path: db/pre-re/item_upgrade.yml
+    Mode: Prerenewal
+  - Path: db/re/item_upgrade.yml
+    Mode: Renewal
+  - Path: db/import/item_upgrade.yml

+ 19 - 0
db/pre-re/item_synthesis.yml

@@ -0,0 +1,19 @@
+###########################################################################
+# 
+# Item Synthesis Database
+#
+# This feature need a sync client file: LapineDdukDDakBox.lub
+#
+###########################################################################
+# - Id:                 # (int) Item ID of synthesis box
+#   NeedRefine:         # (int) Minimum refine level for source item
+#   SourceNeeded:       # (int) Number of item sets (in SourceItem) must be selected
+#   SourceItem:         # List of item required
+#     - Item:           # (int) Item ID for source
+#     - Amount:         # (int) Item amount will be consumed
+#   Reward:             # (string) Script on synthesis success
+###########################################################################
+
+Header:
+  Type: ITEM_SYNTHESIS_DB
+  Version: 1

+ 19 - 0
db/pre-re/item_upgrade.yml

@@ -0,0 +1,19 @@
+###########################################################################
+# 
+# Item Upgrade Database
+#
+# This feature need a sync client file: LapineUpgradeBox.lub
+#
+###########################################################################
+# - Id:                   # (int) Item ID of upgrade box
+#   NeedRefineMin:        # (int) Minimum refine level for target item (default :0)
+#   NeedOptionNumMin:     # (int) Minimum random option that target item has (default :0)
+#   NotSocketEnchantItem: # (bool) Target item must not has enchant stone (default: true)
+#   TargetItem:           # List of possible item to be upgraded
+#     - Item:             # (int) Target's Item ID
+#   Result:               # (string) Script on upgrade success
+###########################################################################
+
+Header:
+  Type: ITEM_UPGRADE_DB
+  Version: 1

+ 180 - 2
db/re/item_combo_db.txt

@@ -687,6 +687,18 @@
 15205:4114,{ if (getequiprefinerycnt(EQI_ARMOR)>=9) { bonus2 bResEff,Eff_Freeze,10000; } }
 15212:20856,{ bonus bDelayrate,-getequiprefinerycnt(EQI_GARMENT); }
 15212:20856:22141,{ if ((getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES)) >= 39) { autobonus "{ bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; }",50,5000; } }
+15278:22006,{ bonus2 bAddClass,Class_All,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15278:22113,{ bonus2 bAddClass,Class_All,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15279:22009,{ bonus bMatkRate,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreMdefRaceRate,RC_Beast,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } }
+15279:22114,{ bonus bMatkRate,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreMdefRaceRate,RC_Beast,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } }
+15346:22011,{ bonus bCritAtkRate,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15346:22118,{ bonus bCritAtkRate,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15347:22007,{ bonus bMaxHPrate,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15347:22116,{ bonus bMaxHPrate,10; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } } }
+15353:22010,{ bonus bAspd,1; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15353:22115,{ bonus bAspd,1; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15354:22008,{ bonus bLongAtkRate,5; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
+15354:22117,{ bonus bLongAtkRate,5; .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_SHOES); if (.@r>=21) { bonus2 bIgnoreDefRaceRate,RC_Beast,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; } }
 15348:19366:20923:22192,{ bonus bVit,5; bonus bMaxSPrate,5; bonus bDef,5; bonus bMdef,15; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Wind,10; .@hp = 15; .@r[0] = getequiprefinerycnt(EQI_ARMOR); .@r[1] = getequiprefinerycnt(EQI_HEAD_TOP); .@r[2] = getequiprefinerycnt(EQI_GARMENT); .@r[3] = getequiprefinerycnt(EQI_SHOES); .@sum = .@r[0]+.@r[1]+.@r[2]+.@r[3]; if (.@r[0] >= 7 && .@r[1] >= 7 && .@r[2] >= 7 && .@r[3] >= 7) { .@hp += 10; } bonus bMaxHPrate,.@hp; if (.@sum >= 36) { bonus bFixedCast,-700; if (.@sum >= 40) { bonus bDelayrate,-20; } } }
 15376:22196,{ bonus2 bAddClass,Class_All,5; }
 15376:22197,{ bonus bMaxSPRate,5; }
@@ -915,16 +927,31 @@
 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: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:1847,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",30,7000; }
 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:13485,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",30,7000; }
+22171:21038,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",30,7000; }
+22171:26118,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",30,7000; }
+22171:26154,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",30,7000; }
 22171:26155,{ autobonus "{ bonus bLuk,20; bonus bMatkRate,15; bonus2 bAddClass,Class_All,15; }",20,7000,BF_MAGIC|BF_WEAPON; /* unknown rate */ }
+22171:28039,{ autobonus "{ bonus bLuk,20; bonus bCritAtkRate,10; }",30,7000; }
+22171:28130,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",30,7000; }
 22171:28255,{ autobonus "{ bonus bInt,20; bonus2 bMagicAtkEle,Ele_Ghost,10; }",20,7000,BF_MAGIC; /* unknown rate */ }
 22171:28256,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 22171:28257,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 22171:28258,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
-//22171:28631,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",3,7000,BF_WEAPON; /* unknown rate */ }
+22171:28630,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",30,7000; }
+22171:28631,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",30,7000; }
+22171:28744,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",30,7000; }
 22171:28763:28764,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+22171:32018,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",30,7000; }
 22171:32302,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+//22171:500003,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",30,7000; }
+//22171:500004,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",30,7000; }
+//22171:570002,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",30,7000; }
+//22171:580002,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",30,7000; }
+//22171:590002,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",30,7000; }
+//22171:600004,{ autobonus "{ bonus bVit,20; bonus bLongAtkRate,10; }",30,7000; }
 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 */ } } }
@@ -1081,6 +1108,111 @@
 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; } }
 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; }
+24425:24426,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; }
+24427:24168:24169,{ bonus bMatk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 25) { bonus2 bIgnoreMdefRaceRate,RC_Demon,100; bonus2 bIgnoreMdefRaceRate,RC_Angel,100; } }
+24428:24168:24169,{ bonus bMatk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 25) { bonus2 bIgnoreMdefRaceRate,RC_Formless,100; bonus2 bIgnoreMdefRaceRate,RC_Dragon,100; } }
+24429:24168:24169,{ bonus bMatk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 25) { bonus2 bIgnoreMdefRaceRate,RC_Beast,100; bonus2 bIgnoreMdefRaceRate,RC_Plant,100; } }
+24430:24168:24169,{ bonus bMatk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 25) { bonus2 bIgnoreMdefRaceRate,RC_Fish,100; bonus2 bIgnoreMdefRaceRate,RC_Insect,100; } }
+24431:24168:24169,{ bonus bMatk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 25) { bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,100; bonus2 bIgnoreMdefRaceRate,RC_Undead,100; } }
+24432:24433:24166:24167:24373:24374,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_ARMOR) + getequiprefinerycnt(EQI_SHADOW_ACC_SHOES) + getequiprefinerycnt(EQI_SHADOW_ACC_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L);  if (.@r >= 54) { bonus2 bIgnoreDefRaceRate,RC_All,20; } }
+24434:24166:24167,{ bonus bAtk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L);  if (.@r >= 25) { bonus2 bIgnoreDefRaceRate,RC_DemiHuman,100; bonus2 bIgnoreDefRaceRate,RC_Undead,100; } }
+24435:24166:24167,{ bonus bAtk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L);  if (.@r >= 25) { bonus2 bIgnoreDefRaceRate,RC_Fish,100; bonus2 bIgnoreDefRaceRate,RC_Insect,100; } }
+24436:24166:24167,{ bonus bAtk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L);  if (.@r >= 25) { bonus2 bIgnoreDefRaceRate,RC_Beast,100; bonus2 bIgnoreDefRaceRate,RC_Plant,100; } }
+24437:24166:24167,{ bonus bAtk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L);  if (.@r >= 25) { bonus2 bIgnoreDefRaceRate,RC_Formless,100; bonus2 bIgnoreDefRaceRate,RC_Dragon,100; } }
+24438:24166:24167,{ bonus bAtk,5; .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L);  if (.@r >= 25) { bonus2 bIgnoreDefRaceRate,RC_Demon,100; bonus2 bIgnoreDefRaceRate,RC_Angel,100; } }
+24440:24441:24442,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus2 bSkillAtk,"RK_SONICWAVE",.@r; }
+24441:24288,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24443:24444:24445,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus2 bSkillAtk,"RK_IGNITIONBREAK",.@r; }
+24443:24301,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24447:24446:24448,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bDelayrate,-(.@r/2); }
+24447:24288,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",@r; }
+24449:24450:24451,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r>=2) { bonus bMaxHPrate,.@r/2; bonus bMaxSPrate,.@r/2; } }
+24449:24301,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus2 bSkillAtk,"RK_DRAGONBREATH",@r; }
+24452:24453:24454,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus2 bSkillAtk,"RA_CLUSTERBOMB",.@r; }
+24452:24298,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24455:24456:24457,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus2 bSkillAtk,"RA_AIMEDBOLT",.@r; }
+24455:24311,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24459:24458:24460,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus2 bSkillAtk,"RA_ARROWSTORM",.@r; }
+24459:24298,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24461:24462:24463,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bCritAtkRate,.@r/2; }
+24461:24311,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24465:24464:24466,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bDelayrate,-.@r; }
+24465:24290,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24467:24468:24469,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus2 bSkillAtk,"NC_AXEBOOMERANG",.@r; }
+24465:24290,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24471:24470:24472,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus2 bSkillAtk,"NC_VULCANARM",.@r; }
+24471:24290,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus2 bIgnoreDefRaceRate,RC_All,40+.@r; bonus2 bIgnoreDefRaceRate,RC_Player,-40+.@r; }
+24473:24474:24475,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r>=2) bonus2 bSkillAtk,"NC_ARMSCANNON",.@r/2; }
+24473:24303,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_SHIELD); if (.@r>=2) bonus2 bVariableCastrate,"NC_ARMSCANNON",.@r/2; }
+25069:25070:25071,{ bonus bDelayrate,-2; }
+25171:25141:25015,{ bonus2 bExpAddClass,Class_All,3; }
+25172:25173:25174,{ bonus bVariableCastrate,-6; }
+25303:25304:25305,{ bonus bCritical,10; }
+25304:25305,{ bonus bCritAtkRate,6; }
+25306:25172:25173:25174,{ bonus bVariableCastrate,-5; }
+25412:25409,{ bonus2 bSkillAtk,"SR_RAMPAGEBLASTER",10; }
+25412:25410,{ bonus2 bFixedCastrate,"CH_SOULCOLLECT",-40; }
+25412:25411,{ bonus4 bAutoSpellOnSkill,"SR_RAMPAGEBLASTER",300,1,"CH_SOULCOLLECT"; }
+25416:25413,{ bonus2 bSkillAtk,"RA_ARROWSTORM",15; }
+25416:25414,{ bonus bVariableCastrate,-10; }
+25416:25415,{ autobonus3 "{ bonus bLongAtkRate,5; }",1000,60000,"SN_WINDWALK"; }
+25420:25417,{ bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",15; }
+25420:25418,{ bonus2 bSkillCooldown,"SO_WARMER",-15000; }
+25420:25419,{ bonus2 bSkillCooldown,"SO_PSYCHIC_WAVE",-2000; }
+25448:25445,{ bonus2 bSkillAtk,"RK_DRAGONBREATH",10; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",10; }
+25448:25446,{ bonus2 bSkillUseSPrate,"RK_DRAGONBREATH",10; bonus2 bSkillUseSPrate,"RK_DRAGONBREATH_WATER",10; }
+25448:25447,{ bonus bDelayrate,-5; }
+25449:25450,{ bonus2 bSkillAtk,"GN_CARTCANNON",15; }
+25449:25451,{ bonus2 bSkillCooldown,"GN_MANDRAGORA",-3000; }
+25449:25452,{ bonus bLongAtkRate,5; }
+25456:25453,{ bonus2 bSkillAtk,"WL_CRIMSONROCK",15; }
+25456:25454,{ bonus bFixedCast,-100*getskilllv("HW_SOULDRAIN")/2; }
+25456:25455,{ bonus2 bMagicAtkEle,ELE_FIRE,5; }
+25493:25490,{ bonus2 bSkillAtk,"SC_TRIANGLESHOT",15; }
+25493:25491,{ bonus bLongAtkRate,10; }
+25493:25492,{ bonus2 bSkillUseSPrate,"SC_TRIANGLESHOT",10; }
+25497:25494,{ bonus2 bSPDrainRate,20,1; }
+25497:25495,{ bonus2 bSkillCooldown,"NC_AXETORNADO",-1000; }
+25497:25496,{ bonus2 bSkillAtk,"NC_AXETORNADO",15; }
+25501:25498,{ bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",15; }
+25501:25499,{ bonus2 bSkillCooldown,"WM_SEVERE_RAINSTORM",-1000; }
+25501:25500,{ bonus2 bSkillFixedCast,"WM_SEVERE_RAINSTORM",-500; }
+25709:25706,{ bonus2 bSkillAtk,"AB_ADORAMUS",15; }
+25709:25707,{ bonus2 bSkillCooldown,"AB_ADORAMUS",-1000; }
+25709:25708,{ bonus bFixedCast,-500; }
+25713:25710,{ bonus2 bSPDrainRate,20,1; }
+25713:25711,{ bonus2 bSkillCooldown,"LG_CANNONSPEAR",-500; }
+25713:25712,{ bonus2 bSkillAtk,"LG_BANISHINGPOINT",15; }
+25717:25714,{ bonus2 bSPDrainRate,20,1; }
+25717:25715,{ bonus2 bSkillAtk,"GC_CROSSRIPPERSLASHER",15; }
+25717:25716,{ bonus2 bSkillAtk,"GC_ROLLINGCUTTER",15; }
+25797:25798,{ bonus2 bSkillAtk,"SR_TIGERCANNON",15; }
+25797:25799,{ bonus bMaxHPrate,10; }
+25797:25800,{ bonus2 bSkillAtk,"SR_TIGERCANNON",15; }
+25801:25802,{ bonus2 bSkillCooldown,"SO_VARETYR_SPEAR",-1000; }
+25801:25803,{ bonus2 bSkillAtk,"SO_EARTHGRAVE",20; }
+25801:25804,{ bonus2 bSkillAtk,"SO_DIAMONDDUST",10; }
+25805:25806,{ bonus2 bSPDrainRate,10,1; }
+25805:25807,{ bonus2 bSkillUseSPrate,"SC_FATALMENACE",10; }
+25805:25808,{ bonus2 bSkillAtk,"SC_FATALMENACE",15; }
+25842:25843,{ bonus bFixedCast,-500; }
+25842:25844,{ bonus2 bSkillAtk,"SP_SPA",20; }
+25842:25845,{ bonus2 bSkillAtk,"SP_SWHOO",20; }
+25849:25846,{ bonus2 bSkillAtk,"SJ_SOLARBURST",15; }
+25849:25847,{ bonus2 bSkillAtk,"SJ_FALLINGSTAR",15; }
+25849:25848,{ bonus2 bSPDrainRate,10,1; }
+25853:25850,{ bonus2 bSkillAtk,"KO_JYUMONJIKIRI",25; }
+25853:25851,{ bonus2 bSkillAtk,"KO_BAKURETSU",25; }
+25853:25852,{ bonus2 bSPDrainRate,10,1; }
+25854:25850,{ bonus2 bSkillAtk,"NJ_BAKUENRYU",30; bonus2 bSkillAtk,"NJ_HYOUSYOURAKU",30; bonus2 bSkillAtk,"NJ_KAMAITACHI",30; }
+25854:25851,{ bonus2 bSkillAtk,"NJ_HYOUSENSOU",20; bonus2 bSkillAtk,"NJ_HUUJIN",20; }
+25854:25852,{ bonus bVariableCastrate,-15; }
+25858:25855,{ bonus2 bSkillAtk,"RL_R_TRIP",15;}
+25858:25856,{ bonus2 bSkillAtk,"RL_HAMMER_OF_GOD",20; }
+25858:25857,{ bonus2 bSkillAtk,"RL_BANISHING_BUSTER",25; }
+25862:25859,{ bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",20; bonus2 bSkillAtk,"SU_SV_STEMSPEAR",20; }
+25862:25860,{ bonus2 bSkillCooldown,"SU_SVG_SPIRIT",-1000; }
+25862:25861,{ bonus2 bSkillCooldown,"SU_CN_METEOR",-1000; }
 27101:28510,{ bonus bMatkRate,(getrefine()/3); }
 27102:28510,{ bonus bFlee2,5; }
 27103:28510,{ bonus2 bAddClass,Class_All,(getrefine()/3); }
@@ -1169,3 +1301,49 @@
 32222:15095,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus5 bAutoSpell,"PR_KYRIE",10,-(50+.@r),BF_SHORT,0; bonus2 bSkillAtk,"AB_JUDEX",5*.@r; bonus2 bSkillAtk,"AB_ADORAMUS",5*.@r; bonus2 bSkillAtk,"SR_DRAGONCOMBO",5*.@r; bonus2 bSkillAtk,"SR_SKYNETBLOW",5*.@r; bonus2 bSkillAtk,"SR_EARTHSHAKER",5*.@r; }
 32222:15096,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bAllStats,2*.@r; bonus3 bAddEff,Eff_Stun,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Curse,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Poison,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Silence,.@r*50,ATF_SHORT; /* Unknow rates */ }
 32238:32239,{ bonus bVariableCastrate,-10; bonus bMatkRate,10;  }
+
+//500001:450001:470000:480000:490004,{ bonus bAspd,2; bonus2 bAddSize,Size_All,10; bonus2 bSkillAtk,"GN_CART_TORNADO",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"GN_CART_TORNADO\",20; }",1000,60000,"GN_CARTBOOST"; }
+//500001:450004:470003:480003:490007,{ bonus bMaxHPrate,10; bonus bVariableCastrate,-10; bonus2 bSkillAtk,"GN_CARTCANNON",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"GN_CARTCANNON\",20; }",1000,60000,"GN_CARTBOOST"; }
+//510001:450002:470001:480001:490005,{ bonus bMatk,20; bonus2 bMagicAddSize,Size_All,10; bonus2 bSkillAtk,"WZ_METEORSTORM",min(BaseLevel/15)*2; autobonus3 "{ bonus2 bSkillAtk,\"WZ_METEORSTORM\",35; }",1000,60000,"ST_PRESERVE"; }
+//510001:450001:470000:480000:490004,{ bonus2 bAddClass,Class_All,5; bonus bDelayrate,-15; bonus2 bSkillAtk,"SC_FATALMENACE",min(BaseLevel/15)*2; autobonus3 "{ bonus2 bSkillAtk,\"SC_FATALMENACE\",35; }",1000,60000,"ST_PRESERVE"; }
+//510002:450002:470001:480001:490005,{ bonus bMatk,20; bonus bVariableCastrate,-10; .@i = min(BaseLevel,180)/15*2; bonus2 bSkillAtk,"NJ_KOUENKA",.@i; bonus2 bSkillAtk,"NJ_HYOUSENSOU",.@i; bonus2 bSkillAtk,"NJ_HUUJIN",.@i; autobonus3 "{ bonus2 bSkillAtk,\"NJ_KOUENKA\",35; bonus2 bSkillAtk,\"NJ_HYOUSENSOU\",35; bonus2 bSkillAtk,\"NJ_HUUJIN\",35; }",1000,60000,"NJ_NEN"; }
+//510002:450004:470003:480003:490007,{ bonus bAtk,20; bonus2 bSkillCooldown,"KO_JYUMONJIKIRI",-1000; bonus2 bSkillAtk,"KO_HAPPOKUNAI",min(BaseLevel/15); autobonus3 "{ bonus2 bSkillAtk,\"KO_HAPPOKUNAI\",20; }",1000,60000,"NJ_NEN"; }
+//520000:450001:470000:480000:490004,{ bonus bDelayrate,-10; bonus2 bSkillCooldown,"NC_AXETORNADO",-1000; bonus2 bSkillAtk,"NC_AXETORNADO",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"NC_AXETORNADO\",20; }",1000,60000,"BS_WEAPONPERFECT"; }
+//520000:450004:470003:480003:490007,{ bonus bVariableCastrate,-10; bonus bDelayrate,-10; bonus2 bSkillAtk,"NC_ARMSCANNON",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"NC_ARMSCANNON\",20; }",1000,60000,"BS_WEAPONPERFECT"; }
+//530000:450003:470002:480002:490006,{ bonus bMatk,20; bonus bDelayrate,-10; bonus2 bSkillAtk,"LG_RAYOFGENESIS",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"LG_RAYOFGENESIS\",20; }",1000,60000,"AL_CURE"; }
+//530000:450004:470003:480003:490007,{ bonus bAspd,2; bonus bLongAtkRate,10; bonus2 bSkillAtk,"LG_BANISHINGPOINT",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"LG_BANISHINGPOINT\",35; }",1000,60000,"CR_SPEARQUICKEN"; }
+//540000:450002:470001:480001:490005,{ bonus bMatk,20; bonus2 bMagicAddSize,Size_All,10; bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",min(BaseLevel/15)*2; autobonus3 "{ bonus2 bSkillAtk,\"SO_PSYCHIC_WAVE\",20; }",1000,60000,"PF_MEMORIZE"; }
+//540000:450003:470002:480002:490006,{ bonus bMatk,20; bonus bAspd,2; .@i = min(BaseLevel,180)/15; bonus2 bSkillAtk,"MG_FIREBOLT",.@i; bonus2 bSkillAtk,"MG_COLDBOLT",.@i; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@i; autobonus3 "{ bonus2 bSkillAtk,\"MG_FIREBOLT\",35; bonus2 bSkillAtk,\"MG_COLDBOLT\",35; bonus2 bSkillAtk,\"MG_LIGHTNINGBOLT\",35; }",1000,60000,"PF_DOUBLECASTING"; }
+//540001:450001:470000:480000:490004,{ bonus bAtk,20; bonus2 bAddSize,Size_All,10; bonus2 bSkillAtk,"SJ_FULLMOONKICK",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"SJ_FULLMOONKICK\",20; }",1000,60000,"SJ_NEWMOONKICK"; }
+//540001:450004:470003:480003:490007,{ bonus bAtk,20; bonus bAspd,2; bonus2 bSkillAtk,"SJ_FALLINGSTAR",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"SJ_FALLINGSTAR\",20; }",1000,60000,"SJ_FLASHKICK"; }
+//550001:450002:470001:480001:490005,{ bonus bMatk,20; bonus2 bMagicAddSize,Size_All,10; bonus2 bSkillAtk,"SP_SWHOO",min(BaseLevel/15)*2; autobonus3 "{ bonus2 bSkillAtk,\"SP_SWHOO\",60; }",1000,60000,"SP_SPA"; }
+//550001:450003:470002:480002:490006,{ bonus bMatk,20; bonus bVariableCastrate,-10; bonus2 bSkillAtk,"SP_CURSEEXPLOSION",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"SP_CURSEEXPLOSION\",20; }",1000,60000,"SP_SOULCURSE"; }
+//550002:450002:470001:480001:490005,{ bonus bMatk,20; bonus2 bMagicAddSize,Size_All,10; bonus2 bSkillAtk,"SU_CN_METEOR",min(BaseLevel/15)*2; autobonus3 "{ bonus2 bSkillAtk,\"SU_CN_METEOR\",35; }",1000,60000,"SU_SV_STEMSPEAR"; }
+//550002:450004:470003:480003:490007,{ bonus bAtk,20; bonus bDelayrate,-10; bonus2 bSkillAtk,"SU_PICKYPECK",min(BaseLevel,180)/15*2; autobonus3 "{ bonus2 bSkillAtk,\"SU_PICKYPECK\",35; }",1000,60000,"SU_ARCLOUSEDASH"; }
+//560000:450001:470000:480000:490004,{ bonus bMaxHPrate,10; bonus2 bMagicAddSize,Size_All,10; bonus2 bSkillAtk,"SR_TIGERCANNON",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"SR_TIGERCANNON\",20; }",1000,60000,"CH_SOULCOLLECT"; }
+//560000:450004:470003:480003:490007,{ bonus bMaxSPrate,10; bonus bDelayrate,-15; bonus2 bSkillAtk,"SR_KNUCKLEARROW",min(BaseLevel,180)/15*2; autobonus3 "{ bonus2 bSkillAtk,\"SR_KNUCKLEARROW\",35; }",1000,60000,"CH_SOULCOLLECT"; }
+//570000:450002:470001:480001:490005,{ bonus bMatk,20; bonus bDelayrate,-10; bonus2 bSkillAtk,"WM_REVERBERATION",min(BaseLevel/15); autobonus3 "{ bonus2 bSkillAtk,\"WM_REVERBERATION\",20; }",1000,60000,"AC_CONCENTRATION"; }
+//570000:450004:470003:480003:490007,{ bonus bAtk,20; bonus2 bSkillCooldown,"WM_SEVERE_RAINSTORM",-2000; bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"WM_SEVERE_RAINSTORM\",20; }",1000,60000,"AC_CONCENTRATION"; }
+//580000:450002:470001:480001:490005,{ bonus bMatk,20; bonus bDelayrate,-10; bonus2 bSkillAtk,"WM_REVERBERATION",min(BaseLevel/15)*2; autobonus3 "{ bonus2 bSkillAtk,\"WM_REVERBERATION\",35; }",1000,60000,"AC_CONCENTRATION"; }
+//580000:450004:470003:480003:490007,{ bonus bAtk,20; bonus2 bSkillCooldown,"WM_SEVERE_RAINSTORM",-2000; bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"WM_SEVERE_RAINSTORM\",20; }",1000,60000,"AC_CONCENTRATION"; }
+//590000:450003:470002:480002:490006,{ bonus bMatk,20; bonus2 bSkillAtk,"AB_JUDEX",30; bonus2 bSkillAtk,"AB_ADORAMUS",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"AB_ADORAMUS\",20; }",1000,60000,"PR_MAGNIFICAT"; }
+//590000:450004:470003:480003:490007,{ bonus bAspd,2; bonus bCritAtkRate,10; bonus2 bSkillAtk,"AB_DUPLELIGHT",min(BaseLevel,180)/15*2; autobonus3 "{ bonus2 bSkillAtk,\"AB_DUPLELIGHT\",20; }",1000,60000,"PR_MAGNIFICAT"; }
+//600001:450001:470000:480000:490004,{ bonus bAspd,2; bonus bCritAtkRate,10; bonus2 bSkillAtk,"RK_SONICWAVE",min(BaseLevel,180)/15*2; autobonus3 "{ bonus2 bSkillAtk,\"RK_SONICWAVE\",35; }",1000,60000,"LK_CONCENTRATION"; }
+//600001:450004:470003:480003:490007,{ bonus bMaxHPrate,10; bonus bDelayrate,-15; .@i = min(BaseLevel,180)/15; bonus2 bSkillAtk,"RK_DRAGONBREATH",.@i; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",.@i; autobonus3 "{ bonus2 bSkillAtk,\"RK_DRAGONBREATH\",20; bonus2 bSkillAtk,\"RK_DRAGONBREATH_WATER\",20; }",1000,60000,"LK_CONCENTRATION"; }
+//610000:450001:470000:480000:490004,{ bonus bAspd,2; bonus bCritAtkRate,10; bonus2 bAddEle,Ele_All,min(BaseLevel,180)/15; autobonus3 "{ bonus2 bAddEle,Ele_All,60; }",1000,60000,"ASC_EDP"; }
+//610000:450004:470003:480003:490007,{ bonus2 bAddClass,Class_All,10; bonus bDelayrate,-15; bonus2 bSkillAtk,"GC_ROLLINGCUTTER",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"GC_ROLLINGCUTTER\",20; }",1000,60000,"ASC_EDP"; }
+//640000:450002:470001:480001:490005,{ bonus bMatk,20; bonus2 bMagicAddSize,Size_All,10; bonus2 bSkillAtk,"WL_CRIMSONROCK",min(BaseLevel/15)*2; autobonus3 "{ bonus2 bSkillAtk,\"WL_CRIMSONROCK\",20; }",1000,60000,"HW_MAGICPOWER"; }
+//640000:450003:470002:480002:490006,{ bonus bMatk,20; bonus bDelayrate,-10; bonus2 bSkillAtk,"WL_SOULEXPANSION",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"WL_SOULEXPANSION\",20; }",1000,60000,"HW_MAGICPOWER"; }
+//700001:450001:470000:480000:490004,{ bonus bAspd,2; bonus bCritAtkRate,10; bonus2 bSkillAtk,"SN_SHARPSHOOTING",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"SN_SHARPSHOOTING\",20; }",1000,60000,"SN_SIGHT"; }
+//700001:450004:470003:480003:490007,{ bonus bMaxHPrate,10; bonus bDelayrate,-15; bonus2 bSkillAtk,"RA_AIMEDBOLT",min(BaseLevel,180)/15*2; autobonus3 "{ bonus2 bSkillAtk,\"RA_AIMEDBOLT\",35; }",1000,60000,"SN_SIGHT"; }
+//830000:450001:470000:480000:490004,{ bonus bAtk,20; bonus2 bAddSize,Size_All,10; bonus2 bSkillAtk,"RL_R_TRIP",min(BaseLevel,180)/15; autobonus3 "{ bonus2 bSkillAtk,\"RL_R_TRIP\",20; }",1000,60000,"RL_RICHS_COIN"; }
+//830000:450004:470003:480003:490007,{ bonus bAtk,20; bonus2 bSkillCooldown,"RL_FIRE_RAIN",-1000; bonus2 bSkillAtk,"RL_FIRE_RAIN",min(BaseLevel,180)/15*2; autobonus3 "{ bonus2 bSkillAtk,\"RL_FIRE_RAIN\",35; }",1000,60000,"RL_RICHS_COIN"; }
+//1000011:1000008,{ bonus2 bSkillAtk,"RA_AIMEDBOLT",15; }
+//1000011:1000009,{ bonus2 bSkillVariableCast,"RA_AIMEDBOLT",-1000; }
+//1000011:1000010,{ bonus2 bSkillCooldown,"RA_UNLIMIT",-45000; }
+//1000015:1000012,{ bonus bLongAtkRate,10; }
+//1000015:1000013,{ bonus2 bSkillAtk,"NC_VULCANARM",20; }
+//1000015:1000014,{ bonus2 bSkillAtk,"NC_BOOSTKNUCKLE",20; }
+//1000019:1000016,{ bonus2 bSkillAtk,"AB_JUDEX",15; }
+//1000019:1000017,{ bonus2 bSkillUseSPrate,"AB_JUDEX",10; }
+//1000019:1000018,{ bonus2 bMagicAtkEle,Ele_Holy,10; }

+ 519 - 5
db/re/item_db.txt

@@ -1176,6 +1176,7 @@
 1840,Requiem_Knuckle,Requiem Knuckle,5,20,,500,150:100,,1,0,0x00008100,63,2,2,4,100,1,12,{ .@r = getrefine(); .@b = 40; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b; },{},{}
 1841,Claw_Of_Flash_,Claw of Flash,5,60000,,400,140,,1,3,0x00008100,63,2,2,4,105,1,12,{ bonus bAspd,1; bonus bAspdRate,getrefine(); bonus2 bAddSize,Size_Medium,getrefine(); },{},{}
 1846,Illusion_Combo_Battle_Glove,Illusion Combo Battle Glove,5,0,,500,250,,1,2,0x00008000,56,2,2,4,120,1,12,{ .@r = getrefine(); bonus2 bSkillAtk,"SR_SKYNETBLOW",(10+5*(.@r/2)); bonus2 bSkillAtk,"SR_DRAGONCOMBO",(10+5*(.@r/2)); bonus2 bSkillAtk,"SR_TIGERCANNON",(5*(.@r/3)); },{},{}
+1847,Iron_Nail_,Iron Nail,5,,,1000,180,,1,2,0x00008000,56,2,2,4,100,1,12,{ .@r = getrefine(); if (.@r >= 2) bonus bAtk,.@r/2; if (.@r >= 3) bonus bLongAtkRate,.@r/3*4; if (.@r >= 9) bonus2 bSkillAtk,"SR_RAMPAGEBLASTER",5; if (.@r >= 11) bonus2 bSkillCooldown,"SR_RAMPAGEBLASTER",-1000; },{},{}
 1862,Burning_Knuckle-OS,Burning Knuckle-OS,5,20,,900,175,,1,2,0x00008000,63,2,2,4,130,1,12,{ .@r = getrefine(); bonus2 bAddClass,Class_All,3; if (.@r >= 7) { bonus bAspdRate,7; if (.@r >= 9) { bonus2 bSkillAtk,"SR_RAMPAGEBLASTER",15; if (.@r >= 11) { bonus2 bAddSize,Size_Medium,20; bonus2 bAddSize,Size_Large,20; } } } },{},{}
 //===================================================================
 // Instruments
@@ -1308,6 +1309,7 @@
 2030,Unity_Two-Handed_Staff,Unity Two-Handed Staff,5,20,,500,95:135,,1,1,0x800200,63,2,34,3,1,1,23,{ bonus bMatk,pow(getrefine(),2)*125/100; },{},{}
 2032,Requiem_Wizardry_Staff,Requiem Wizardry Staff,5,20,,500,100:230,,1,,0xFFFFFFFF,63,2,2,4,100,1,10,{ .@r = getrefine(); .@b = 40; .@c = 5; if(.@r>=5){ .@b += (.@r-5)*15+20; .@c += .@r-5; } bonus2 bMagicAddRace2,RC2_BioLab,.@b; bonus2 bSubRace2,RC2_BioLab,.@c; bonus2 bIgnoreMdefRace2Rate,RC2_BioLab,(.@r-5)*10; },{},{}
 2039,Illusion_Wizardry_Staff,Illusion Wizardry Staff,5,0,,2400,150:250,,1,2,0x00810204,58,2,34,4,100,1,23,{ .@val = min(getrefine(),10)/2; bonus bInt,(6+.@val); bonus bDex,(2+.@val); },{},{}
+2048,Aeon_Staff,Aeon Staff,5,,,800,100:200,,1,2,0x00000200,56,2,34,4,100,1,23,{ bonus bMatk,200; bonus bUnbreakableWeapon; .@r = getrefine(); if (.@r >= 2) bonus bMatk,.@r/2*10; if (.@r >= 3) bonus2 bSkillAtk,"WL_EARTHSTRAIN",.@r/3*12; if (.@r >= 2) { bonus bVariableCastrate,-10; } if (.@r >= 2) { bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-1000; } },{},{}
 2049,Blue_Flame_Cane,Blue Flame Cane,5,20,,800,110:300,,1,2,0x00818314,63,2,34,4,175,1,23,{ .@r = getrefine; bonus bInt,7; bonus bMatkRate,.@r/2; bonus bUnbreakableWeapon; if (.@r>=9) .@val = 15; else if (.@r>=7) .@val = 5; if (.@r>=11) bonus2 bSubSize,Size_All,20; if (.@r>=13) bonus bDelayrate,-15; bonus2 bMagicAtkEle,Ele_Fire,.@val; bonus2 bMagicAtkEle,Ele_Earth,.@val; bonus2 bMagicAtkEle,Ele_Water,.@val; bonus2 bMagicAtkEle,Ele_Holy,.@val; },{},{}
 2051,Illusion_Survivor's_Staff,Illusion Survivor's Staff,5,0,,1200,100:240,,1,2,0x00818314,63,2,34,4,120,1,23,{ .@r = getrefine(); bonus bDex,2; bonus bInt,2; bonus bMaxHP,600; bonus bUnbreakableWeapon; bonus bMatkRate,(.@r/2); if (.@r >= 7) { bonus2 bMagicAddSize,Size_Small,15; bonus2 bMagicAddSize,Size_Medium,15; if (.@r >= 9) { bonus2 bSubSize,Size_Small,15; bonus2 bSubSize,Size_Medium,15; if (.@r >= 11) { bonus2 bSubDefEle,Ele_Water,15; bonus2 bSubDefEle,Ele_Wind,15; bonus2 bSubDefEle,Ele_Earth,15; bonus2 bSubDefEle,Ele_Fire,15; } } } },{},{}
 //===================================================================
@@ -4088,6 +4090,7 @@
 5979,C_Angel_Fluttering,C Angel Fluttering,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1380,{ hateffect HAT_EF_ANGEL_FLUTTERING,true; },{},{ hateffect HAT_EF_ANGEL_FLUTTERING,false; }
 5980,C_Classical_Fhat,C Classical Fhat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1381,{},{},{}
 5985,Noble_Mask,Noble Mask,4,0,,200,,,,0,0xFFFFFFFF,63,2,512,,30,1,1409,{ bonus2 bSkillAtk,"PA_SACRIFICE",BaseLevel*2; bonus2 bSkillVariableCast,"PA_PRESSURE",-2000; bonus2 bSkillVariableCast,"CR_DEVOTION",-2000; if (BaseLevel > 149) { bonus bMaxHPrate,3; bonus bAspdRate,3; } else if (BaseLevel > 99) { bonus bMaxHPrate,2; bonus bAspdRate,2; } else { bonus bMaxHPrate,1; bonus bAspdRate,1; } },{},{}
+5909,C_Valkyrie_Circlet,Costume Valkyrie Circlet,4,0,,0,,0,,0,0xFFFFFFFF,63,2,1024,0,,,940,{},{},{}
 //===================================================================
 // More Etc Items
 //===================================================================
@@ -4953,7 +4956,8 @@
 6960,Key_Air_Fortress,Key Air Fortress,3,10,,10,,,,,,,,,,,,,{},{},{}
 6961,Huge_Metal_Scrap,Huge Metal Scrap,3,10,0,1000,,,,,,,,,,,,,{},{},{}
 6962,Old_Fuel,Old Fuel,3,10,0,100,,,,,,,,,,,,,{},{},{}
-
+6963,HPdrainStone_Robe,HP Absorption Stone(Garment),6,10,,,,,,,,,,,,,,,{ bonus2 bHPDrainRate,10,1; },{},{}
+6964,SPdrainStone_Robe,SP Absorption Stone(Garment),6,10,,,,,,,,,,,,,,,{ bonus2 bSPDrainRate,10,1; },{},{}
 6965,Fire_Property_Reactor_Blueprint,Fire Property Reactor Blueprint,3,0,,10,,,,,,,,,,,,,{},{},{}
 6966,Water_Property_Reactor_Blueprint,Water Property Reactor Blueprint,3,0,,10,,,,,,,,,,,,,{},{},{}
 6967,Earth_Property_Reactor_Blueprint,Earth Property Reactor Blueprint,3,0,,10,,,,,,,,,,,,,{},{},{}
@@ -4976,6 +4980,7 @@
 6984,SP_Reactor_Blueprint,SP Reactor Blueprint,3,0,,10,,,,,,,,,,,,,{},{},{}
 6985,Frozen_Reactor_Blueprint,Frozen Reactor Blueprint,3,0,,10,,,,,,,,,,,,,{},{},{}
 6986,ASPD_Reactor_Blueprint,ASPD Reactor Blueprint,3,0,,10,,,,,,,,,,,,,{},{},{}
+6999,HPdrainStone_Top,HP Absorption Stone(Upper),6,10,,,,,,,,,,,,,,,{ bonus2 bHPDrainRate,10,3; },{},{}
 
 //
 7001,Mould_Powder,Mould Powder,3,466,,10,,,,,,,,,,,,,{},{},{}
@@ -6060,6 +6065,12 @@
 9119,Alicel_Egg,Alicel Egg,7,20,,0,,,,,,,,,,,,,{},{},{}
 9120,Aliza_Egg,Aliza Egg,7,20,,0,,,,,,,,,,,,,{},{},{}
 9121,Orc_Hero_Egg_,Orc Hero Egg,7,20,,0,,,,,,,,,,,,,{},{},{}
+
+9510,Costume_Enchant_Stone_Box17,Costume Enchant Stone Box17,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box17);*/ },{},{}
+9523,Metal_Smelting_Ticket,Metal Refining Ticket,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 9523; },{},{}
+9550,Gemstone_Of_Time,Gemstone of Time,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 9550; },{},{}
+9551,Time_Unseal_Key,Time Unseal Key,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 9551; },{},{}
+
 //===================================================================
 // Pet Accessories
 //===================================================================
@@ -7630,6 +7641,7 @@
 13461,Sealed_Evil_Sword,Sealed Evil Sword,5,0,,1500,100,,1,2,0x00065480,58,2,2,4,100,1,2,{ .@r = getrefine(); .@def = -50; .@mdef = -10; bonus3 bAutoSpell,"WZ_FROSTNOVA",5,100; if (.@r >= 7) { .@crit = 30; .@mdef += 10; if (.@r >= 10) { bonus bAspd,1; .@crit += 20; .@def += 50; } bonus bCritical,.@crit; } bonus bDef,.@def; bonus bMdef,.@mdef; },{},{}
 13462,Sealed_Maximum_Sword,Sealed Maximum Sword,5,0,,1500,100,,1,2,0x00065480,58,2,2,4,100,1,2,{ .@r = getrefine(); .@hp = -1000; bonus3 bAutoSpell,"MG_COLDBOLT",5,100; if (.@r >= 7) { .@atk = 65; .@hp += 500; if (.@r >= 10) { bonus bAspd,1; .@atk += 45; .@hp += 500; } bonus bBaseAtk,.@atk; } if (.@hp) { bonus bMaxHP,.@hp; } },{},{}
 13469,Illusion_Immaterial_Sword,Illusion Immaterial Sword,5,0,,900,180,,1,2,0x000654E2,63,2,2,4,120,1,2,{ .@r = getrefine(); bonus bSPDrainValue,-1; bonus bUnbreakableWeapon; if (.@r >= 12) { .@val = 20; } bonus2 bSPVanishRate,(80+(20*.@r)),(30+.@val); },{},{}
+13485,Red_Lotus_Sword,Red Lotus Sword,5,,,800,180,,1,2,0x00040000,56,2,2,4,100,1,2,{ .@r = getrefine(); bonus bAtk,.@r/2; bonus bLongAtkRate,.@r/3*4; if (.@r > 8) {bonus2 bSkillUseSPrate,"GN_CARTCANNON",10;} if (.@r > 10) {bonus2 bSkillAtk,"GN_CARTCANNON",15;} },{},{}
 13493,Cannon_Rapier-OS,Cannon Rapier-OS,5,20,,800,160:150,,1,2,0x000654E3,63,2,2,4,130,1,2,{ .@r = getrefine(); bonus3 bAutoSpell,"MG_FIREBALL",min(.@r,10),1; /* unknown rate */ if (.@r >= 7) { bonus bAspdRate,7; if (.@r >= 9) { bonus2 bSkillAtk,"MG_FIREBALL",30; if (.@r >= 11) { bonus3 bAutoSpell,"WL_HELLINFERNO",3,1; /* unknown rate */ } } } },{},{}
 //===================================================================
 // More Cash Shop Items
@@ -8847,10 +8859,16 @@
 15205,Medical_Scrubs,Medical Scrubs,4,20,,1000,,50,,1,0xFFFFFFFF,63,2,16,,100,1,,{ .@r = getrefine(); bonus bMdef,10; bonus bDelayrate,-10; .@val = 1; if (.@r >= 7) { .@def = 50; bonus bUnbreakableArmor,1; .@val += 2; if (.@r >= 8) { .@def += 100; .@val += 3; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7; if (.@r >= 9) { .@def += 150; .@val += 4; bonus2 bResEff,Eff_Stone,5000; } } bonus bDef,.@def; } bonus bHealPower,2*.@val; bonus bHealPower2,.@val; bonus bAddItemHealRate,.@val; },{},{}
 15209,Drake_Coat,Drake Coat,4,20,,1200,,60,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bMaxHP,500; bonus bMaxSP,50; bonus bMdef,10; bonus2 bAddClass,Class_All,3; if (.@r>=7) { bonus bMaxHP,1000; bonus bMaxSP,100; bonus2 bAddClass,Class_All,3; } if (.@r>=9) { bonus bMaxHP,1500; bonus bMaxSP,150; bonus2 bAddClass,Class_All,4; bonus bNoSizeFix; } },{},{}
 15212,YSF01_Plate,YSF01 Plate,4,0,,2100,,78,,1,0xFFFFFFFF,63,2,16,,170,1,0,{ .@r = getrefine(); if (.@r >= 13) { .@val = 11; } else if (.@r >= 11) { .@val = 7; } else if (.@r >= 8) { .@val = 5; } if (readparam(bStr) >= 125) { .@val += .@r; } if (.@val) { bonus2 bAddClass,Class_All,.@val; } },{},{}
+15278,Overwhelm_Str_Armor,Soaring Physical Armor,4,,,2000,,120,,1,0xFFFFFFFF,63,2,2,1,,1,,{ .@r = getrefine(); bonus bAtk,50; if (.@r > 2) bonus2 bAddClass,Class_All,.@r/3*2; if (.@r > 6) { bonus2 bIgnoreDefRaceRate,RC_Brute,30; bonus2 bIgnoreDefRaceRate,RC_Demon,30; } if (.@r > 8) { bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Demon,10; } if (.@r > 10) { bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; } },{},{}
+15279,Overwhelm_Int_Armor,Robust Magical Armor,4,,,900,,60,,1,0xFFFFFFFF,63,2,2,1,,1,,{ .@r = getrefine(); bonus bMatk,50; if (.@r > 2) bonus bMatkRate,.@r/3*2; if (.@r > 6) { bonus2 bIgnoreMdefRaceRate,RC_Brute,30; bonus2 bIgnoreMdefRaceRate,RC_Demon,30; } if (.@r > 8) { bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Demon,10; } if (.@r > 10) { bonus2 bMagicAddEle,Ele_Earth,10; bonus2 bMagicAddEle,Ele_Wind,10; } },{},{}
 15280,S_Cri_Hit_Armor,Critical Hit Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); .@val = 7; bonus bBaseAtk,15; if (.@r > 1) { bonus bCritAtkRate,(.@r/2); if (.@r >= 7) { .@val += 7; } } bonus bCritical,.@val; },{},{}
 15283,Mighty_Black_Threaded_Armor,Mighty Black Threaded Armor,4,20,,800,,60,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bBaseAtk,10; bonus2 bIgnoreDefClassRate,Class_All,10; if (.@r>=7) { bonus bBaseAtk,20; bonus2 bIgnoreDefClassRate,Class_All,20; } if (.@r>=8) { bonus bBaseAtk,20; bonus2 bIgnoreDefClassRate,Class_All,20; bonus bUnbreakableArmor; } if (.@r>=9) { bonus bBaseAtk,30; bonus2 bIgnoreDefClassRate,Class_All,20; } },{},{}
+15346,Overwhelm_Luk_Armor,Unexpected Fortune Armor,4,,,2000,,120,,1,0xFFFFFFFF,63,2,2,1,,1,,{ .@r = getrefine(); bonus bAtk,50; if (.@r > 2) bonus bCritAtkRate,.@r/3*2; if (.@r > 6) { bonus2 bIgnoreDefRaceRate,RC_Brute,30; bonus2 bIgnoreDefRaceRate,RC_Demon,30; } if (.@r > 8) { bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Demon,10; } if (.@r > 10) { bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; } },{},{}
+15347,Overwhelm_Vit_Armor,Strong Healthy Armor,4,,,2000,,120,,1,0xFFFFFFFF,63,2,2,1,,1,,{ .@r = getrefine(); bonus bAtk,50; if (.@r > 2) bonus bMaxHPrate,.@r/3*2; if (.@r > 6) { bonus2 bIgnoreDefRaceRate,RC_Brute,30; bonus2 bIgnoreDefRaceRate,RC_Demon,30; } if (.@r > 8) { bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Demon,10; } if (.@r > 10) { bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; } },{},{}
 15348,Illusion_Goibne_Armor,Illusion Goibne Armor,4,0,,3500,,158,,1,0xFFFFFFFE,63,2,16,,130,1,0,{ bonus bMaxHPrate,10; .@r = getrefine(); if (.@r >= 9) { bonus bDef,150; } else if (.@r >= 7) { bonus bDef,50; } },{},{}
 15352,Nature_Dress,Nature Dress,4,10,,400,,120,,0,0xFFFFFFFF,63,2,16,,90,1,0,{ .@r = getrefine(); bonus bNoKnockback; bonus bUnbreakableArmor; bonus bDefEle,Ele_Earth; if (.@r>8) .@a = 40; else if (.@r>6) .@a = 25; else if (.@r>=5) .@a = 10; bonus2 bAddEle,Ele_Earth,.@a; bonus2 bAddEle,Ele_Wind,.@a; bonus2 bMagicAddEle,Ele_Earth,.@a; bonus2 bMagicAddEle,Ele_Wind,.@a; bonus2 bAddRace,RC_Demihuman,.@a; bonus2 bAddRace,RC_Brute,.@a; bonus2 bMagicAddRace,RC_Demihuman,.@a; bonus2 bMagicAddRace,RC_Brute,.@a; bonus2 bAddRace,RC_Player,.@a; bonus2 bMagicAddRace,RC_Player,.@a; },{},{}
+15353,Overwhelm_Agi_Armor,Splendid Swift Armor,4,,,2000,,120,,1,0xFFFFFFFF,63,2,2,1,,1,,{ .@r = getrefine(); bonus bAtk,50; if (.@r > 2) bonus bAspdRate,.@r/3*2; if (.@r > 6) { bonus2 bIgnoreDefRaceRate,RC_Brute,30; bonus2 bIgnoreDefRaceRate,RC_Demon,30; } if (.@r > 8) { bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Demon,10; } if (.@r > 10) { bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; } },{},{}
+15354,Overwhelm_Dex_Armor,Excellent Dexterous Armor,4,,,2000,,120,,1,0xFFFFFFFF,63,2,2,1,,1,,{ .@r = getrefine(); bonus bAtk,50; if (.@r > 2) bonus bLongAtkRate,.@r/3*2; if (.@r > 6) { bonus2 bIgnoreDefRaceRate,RC_Brute,30; bonus2 bIgnoreDefRaceRate,RC_Demon,30; } if (.@r > 8) { bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Demon,10; } if (.@r > 10) { bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; } },{},{}
 15376,Illusion_Armor_A-type,Illusion Armor A-type,4,0,,1000,,105,,1,0xFFFFFFFF,63,2,16,,130,1,0,{ .@r = getrefine(); bonus bBaseAtk,(100+10*(.@r/2)); if (.@r >= 7) { bonus bAspdRate,10; } },{},{}
 15377,Illusion_Armor_B-type,Illusion Armor B-type,4,0,,1000,,105,,1,0xFFFFFFFF,63,2,16,,130,1,0,{ .@r = getrefine(); bonus bMatk,(100+10*(.@r/2)); if (.@r >= 7) { bonus bVariableCastrate,-10; } },{},{}
 15378,Lava_Leather_Armor,Lava Leather Armor,4,20,,1500,,85,,1,0xFFFFFFFF,63,2,16,,175,1,0,{ .@r = getrefine(); bonus bBaseAtk,100; if (.@r>=7) bonus bDef,100; if (.@r>=9) bonus bDef,50; },{},{}
@@ -9652,6 +9670,8 @@
 18140,Gust_Bow_,Gust Bow,5,20,,1400,95,,5,2,0x000A0808,63,2,34,3,55,1,11,{},{},{}
 18145,Vigilante_Bow,Vigilante Bow,5,0,,1000,140,,5,2,0x00020000,56,2,34,3,100,1,11,{ .@r = getrefine(); .@bonus = 5*(readparam(bDex)/20); if (.@r>=7) { .@bonus += 10; } if (.@r>=9) { bonus2 bSkillAtk,"AC_DOUBLE",50; } bonus bLongAtkRate,.@bonus; },{},{}
 18149,Illusion_Ballista,Illusion Ballista,5,0,,3500,200,,5,2,0x00080800,58,2,34,4,100,1,11,{ bonus bLongAtkRate,getrefine(); },{},{}
+18164,Royal_Bow_,Royal Bow,5,,,1000,180,,5,2,0x00020800,56,2,34,4,100,1,11,{ .@r = getrefine(); if (.@r>=2)bonus bAtk,.@r/2*10; if (.@r>=3) bonus2 bSkillAtk,"RA_ARROWSTORM",.@r/3*12; if (.@r>=9) bonus bAspdRate,10; if (.@r>=11) bonus bLongAtkRate,5; },{},{}
+18170,Neev_Bow_Of_Rogue,Narcissus Bow,5,,,1000,180,,5,2,0x00020800,56,2,34,4,,1,11,{ .@r = getrefine(); if (.@r>=2)bonus bAtk,.@r/2*10; if (.@r>=3) bonus bLongAtkRate,.@r/3*4; if (.@r>=9) bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",.@r/3*10; if (.@r>=11) bonus2 bSkillCooldown,"WM_SEVERE_RAINSTORM",-2000; },{},{}
 18174,Illusion_Hunter_Bow,Illusion Hunter Bow,5,0,,1500,165,,5,2,0x00000800,56,2,34,4,120,1,11,{ .@r = getrefine(); bonus bCritical,.@r; if (.@r >= 7) { bonus bAspdRate,10; if (.@r >= 9) { bonus bCritAtkRate,15; if (.@r >= 11) { bonus2 bAddRace,RC_Insect,30; bonus2 bAddRace,RC_Brute,30; } } } },{},{}
 18178,Virtual_Bow-OS,Virtual Bow-OS,5,20,,1200,200,,5,2,0x00000800,56,2,34,4,130,1,11,{ .@r = getrefine(); bonus2 bAddClass,Class_All,3; if (.@r >= 7) { bonus bLongAtkRate,7; if (.@r >= 9) { .@dmg = 30; if (.@r >= 11) { .@dmg += 20; } bonus2 bSkillAtk,"RA_ARROWSTORM",.@dmg; } } },{},{}
 18179,MH-P89-OS,MH-P89-OS,5,20,,1200,170,,5,2,0x00080000,56,2,34,4,130,1,11,{ .@r = getrefine(); bonus2 bAddClass,Class_All,3; if (.@r >= 7) { bonus bLongAtkRate,7; if (.@r >= 9) { bonus2 bSkillCooldown,"WM_SEVERE_RAINSTORM",-2000; if (.@r >= 11) { bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",15; } } } },{},{}
@@ -10143,12 +10163,19 @@
 19223,Illusion_Cap,Illusion Cap,4,0,,400,,15,,1,0x000654E3,63,2,256,,120,1,14,{ bonus2 bAddClass,Class_All,1; bonus bBaseAtk,(2*getrefine()); },{},{}
 19247,Illusion_Fancy_Flower,Illusion Fancy Flower,4,0,,100,,0,,1,0xFFFFFFFF,63,2,256,,120,0,4,{ bonus bMatkRate,1; bonus bMatk,(2*getrefine()); },{},{}
 //
+19241,C_Magical_Booster_,Costume Magical Booster,4,,,30,,10,,1,0xFFFFFFFF,63,2,2048,0,,,873,{},{},{}
+19242,C_Neko_Headress,Costume Neko Headress,4,,,10,,20,,1,0xFFFFFFFF,63,2,1024,0,,,816,{},{},{}
 19246,Royal_Guard_Necklace,Royal Guard Necklace,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,80,0,1629,{ bonus bAspd,1; },{},{}
+19266,Survival_Circlet,Survival Circlet,4,,,500,,10,,0,0xFFFFFFFF,63,2,256,,1,1,1220,{},{},{}
+19267,Survival_Orb,Survival Orb,4,,,300,,2,,0,0xFFFFFFFF,63,2,1,,1,1,1488,{},{},{}
 19269,Happy_Flapping_Wings,Happy Flapping Angel Wings,4,20,,500,,2,,1,0xFFFFFFFF,63,2,256,,30,1,1251,{ .@r = getrefine(); .@a = 15; if (.@r >= 7) .@a += 15; if (.@r>=8) bonus2 bResEff,Eff_Stone,10000; if (.@r>=9) .@a += 20; bonus2 bAddRace2,RC2_CLOCKTOWER,.@a; bonus2 bMagicAddRace2,RC2_CLOCKTOWER,.@a; bonus2 bSubRace2,RC2_CLOCKTOWER,.@a; bonus2 bAddMonsterDropItem,1061,500; /* Unofficial rates, info get from bRO itemdescription */ },{},{}
 19272,Garden_of_Eden,Garden of Eden,4,20,,400,,5,,1,0xFFFFFFFF,63,2,256,,100,1,1653,{ .@r = getrefine(); bonus bInt,5; bonus bDex,5; bonus2 bIgnoreMdefRaceRate,RC_All,20; bonus2 bMagicAtkEle,Ele_All,10; if (.@r>=7) { bonus2 bIgnoreMdefRaceRate,RC_All,30; bonus2 bMagicAtkEle,Ele_All,15; } if (.@r>=9) { bonus2 bIgnoreMdefRaceRate,RC_All,50; bonus bVariableCastrate,-15; } },{},{ sc_end SC_TELEKINESIS_INTENSE; }
 19273,Gemini_Red_Eyes,Gemini Red Eyes,4,20,,100,,0,,0,0xFFFFFFFF,63,2,512,,100,0,1654,{ .@val = 100*(readparam(bVit)>89?50:10); bonus2 bResEff,Eff_Sleep,.@val; bonus2 bResEff,Eff_Stone,.@val; },{},{}
 19274,Open_Air_Headset,Open Air Headset,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,90,0,1655,{ bonus bDelayrate,-5; bonus bUseSPrate,-5; bonus bSPGainValue,5; bonus bMagicSPGainValue,5; bonus bLongSPGainValue,5; },{},{}
 19285,Siegfried's_Helmet,Siegfried's Helmet,4,20,,500,,0,,1,0xFFFFFFFF,63,2,256,,100,1,1055,{ .@r = getrefine(); bonus2 bSubClass,Class_Boss,5; bonus bUnbreakableHelm; if (.@r>=6) { bonus bFlee2,5; bonus2 bSubClass,Class_Boss,5; } if (.@r>=8) { bonus bFlee2,5; bonus2 bSubClass,Class_Boss,10; bonus bNoKnockback; } },{},{}
+19289,C_Moon_Eyepatch,Costume Moon Eyepatch,4,,,0,,0,,1,0xFFFFFFFF,63,2,2048,0,,,1370,{},{},{}
+19291,C_Shiba_Inu,Costume Shiba Inu,4,,,0,,0,,1,0xFFFFFFFF,63,2,2048,0,,,1669,{},{},{}
+19294,C_CatEars_Cyber_HeadP_R,Costume Cyber Cat Ear Headphones (Red),4,,,0,,0,,1,0xFFFFFFFF,63,2,1024,0,,,1668,{},{},{}
 19299,Tree_Sprout,Tree Sprout,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,80,0,848,{ bonus bVariableCastrate,-5; },{},{}
 19306,Gambler_Card,Heart Card in Mouth,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,80,0,1679,{ bonus bCritAtkRate,5; },{},{}
 19326,Book_of_Soyga,Book of Soyga,4,20,,1000,,0,,1,0xFFFFFFFF,63,2,256,,90,1,423,{},{},{}
@@ -10964,6 +10991,7 @@
 20392,C_Sniper_Google,Costume Sniper Google,4,0,,0,,,,0,0xFFFFFFFF,63,2,3072,,1,0,625,{},{},{}
 20393,C_Schmitz_Helm,Costume Schmitz Helm,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,634,{},{},{}
 20394,C_Pumpkin_Toque,Costume Pumpkin Toque,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1411,{},{},{}
+20395,C_Black_Witch_Hat,Costume Black Witch Hat,4,,,0,,0,,0,0xFFFFFFFF,63,2,34,0,,,1006,{},{},{}
 20396,C_Green_Hat,Costume Green Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,939,{},{},{}
 20397,C_Jakk,Costume Jack,4,0,,0,,,,0,0xFFFFFFFF,63,2,6144,,1,0,1415,{ autobonus2 "{}",31,10000,BF_WEAPON|BF_MAGIC,"{ active_transform 1130,10000; specialeffect2 372; /*Confirm Special Effect*/ }"; },{},{}
 20398,C_Niffleheim_Bunny_Hat,Costume Niffleheim Bunny Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1285,{},{},{}
@@ -11027,7 +11055,11 @@
 20467,C_Elemental_Crown,Costume Elemental Crown,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1219,{},{},{}
 20468,C_Youinone_Mask,You in ONE,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,0,1462,{},{},{}
 20470,C_SweetChocolate_Hat,Costume Sweet Chocolate Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1469,{},{},{}
-20487,C_Waltz_of_Flowers,Costume Waltz of Flowers,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1473,{ hateffect(HAT_EF_FLORAL_WALTZ,true); },{},{ hateffect(HAT_EF_FLORAL_WALTZ,false); }
+20482,C_Heaven_Cage,Costume Heaven Cage,4,,,0,,0,,0,0xFFFFFFFF,63,2,1024,0,,,1286,{},{},{}
+20486,C_Twin_Margaret,Costume Twin Margaret,4,,,0,,0,,0,0xFFFFFFFF,63,2,2048,0,,,1472,{},{},{}
+20487,C_Floral_Waltz,Costume Floral Waltz,4,,,0,,0,,0,0xFFFFFFFF,63,2,4096,0,,,1473,{ hateffect(HAT_EF_FLORAL_WALTZ,true); },{},{ hateffect(HAT_EF_FLORAL_WALTZ,false); }
+20488,C_Pope_Ribbon,Costume Pope Ribbon,4,,,0,,0,,0,0xFFFFFFFF,63,2,2048,0,,,1474,{},{},{}
+20489,C_Pope_Crown,Costume Pope Crown,4,,,0,,0,,0,0xFFFFFFFF,63,2,1024,0,,,1475,{},{},{}
 20490,C_Full_Blossom_Sakura_Hairpin_Blue,Costume Full Blossom Sakura Hairpin Blue,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1476,{},{},{}
 20491,C_Laser_of_Eagle,Costume Laser of Eagle,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1424,{},{},{}
 20492,C_Unidentified_Flying_Poring,Costume Unidentified Flying Poring,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1017,{},{},{}
@@ -11052,15 +11084,20 @@
 20514,C_Thanatos_Sword,Costume Thanatos Sword,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,23,{},{},{}
 20515,Costume_Magic_Circle,Costume Magic Circle,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_MAGICCIRCLE,true); },{},{ hateffect(HAT_EF_MAGICCIRCLE,false); }
 20516,C_Wings_of_Michael,Costume Wings of Michael,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,24,{},{},{}
+20517,C_GiantCatBag_TW,Costume Giant Cat Bag,4,,,0,,0,,0,0xFFFFFFFF,63,2,8192,0,,,25,{},{},{}
 20519,C_Full_Bloom_Cherry_Tree,Costume Full Bloom Cherry Tree,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_FULL_BLOOMCHERRY_TREE,true); },{},{ hateffect(HAT_EF_FULL_BLOOMCHERRY_TREE,false); }
 20522,C_Blessings_Of_Soul,Costume Blessings Of Soul,4,0,,0,,0,,0,0xFFFFFFFF,63,2,4096,,1,0,0,{ hateffect(HAT_EF_C_BLESSINGS_OF_SOUL,true); },{},{ hateffect(HAT_EF_C_BLESSINGS_OF_SOUL,false); }
 20524,C_Shining_Angel_Wings,Costume Shining Angel Wings,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_C_SHINING_ANGEL_WING,true); },{},{ hateffect(HAT_EF_C_SHINING_ANGEL_WING,false); }
+20533,C_PinkButterfly_Wing_T,Costume Pink Butterfly Wing,4,,,0,,0,,0,0xFFFFFFFF,63,2,8192,0,,,38,{},{},{}
 20535,C_Digital_Space,Costume Digital Space,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_DIGITAL_SPACE,true); },{},{ hateffect(HAT_EF_DIGITAL_SPACE,false); }
 20537,C_Falling_Red_Foliage,Costume Falling Red Foliage,4,0,,0,,,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_C_MAPLE_WHICH_FALLS_RD,true); },{},{ hateffect(HAT_EF_C_MAPLE_WHICH_FALLS_RD,false); }
 20538,Costume_Magic_Circle_Rainbow,Costume Magic Circle Rainbow,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_MAGICCIRCLERAINBOW,true); },{},{ hateffect(HAT_EF_MAGICCIRCLERAINBOW,false); }
+20543,C_Halloween_Poring_Bag,Costume Halloween Poring Bag,4,,,0,,0,,0,0xFFFFFFFF,63,2,8192,0,,,44,{},{},{}
 20546,C_Giant_Ribbon_Bell,Costume Giant Ribbon Bell,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,46,{},{},{}
 20547,C_Ghost_Effect,Costume Ghost Effect,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_C_GHOST_EFFECT,true); },{},{ hateffect(HAT_EF_C_GHOST_EFFECT,false); }
 20548,Costume_Popping_Poring_Aura,Costume Popping Poring Aura,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ hateffect(HAT_EF_C_POPPING_PORING_AURA,true); },{},{ hateffect(HAT_EF_C_POPPING_PORING_AURA,false); }
+20570,C_Heart_Choco_Bag,Costume Heart Choco Bag,4,,,0,,0,,0,0xFFFFFFFF,63,2,8192,0,,,47,{},{},{}
+20572,C_Heart_Wings,Costume Heart Wings,4,,,0,,0,,0,0xFFFFFFFF,63,2,8192,0,,,50,{},{},{}
 20600,Fantastic_Aura,Fantastic Aura,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ /*TODO: View ID*/ bonus bUnbreakableHelm; },{},{}
 20700,Egir_Manteau,Egir Manteau,4,200000,,300,,10,,1,0xFFFFFFFF,63,2,4,,110,1,0,{ bonus bUnbreakableGarment; .@r = getrefine(); if (.@r > 10) .@r = 10; if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) { bonus bFlee2,5+(.@r*2); } else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) { bonus bShortWeaponDamageReturn,5+(.@r*2); } },{},{}
 20701,Sol_Manteau,Sol Manteau,4,0,,700,,20,,1,0xFFFFFFFF,63,2,4,,65,1,0,{ bonus2 bSubEle,Ele_Earth,5; bonus2 bSubRace,RC_Fish,-5; },{},{}
@@ -11097,6 +11134,7 @@
 20762,C_GreatDevilWing,Costume Great Devil Wings,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,10,{},{},{}
 20763,C_Amistr_Bag,Costume Amistr Bag,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,4,{},{},{}
 20764,C_Fallen_Angel_Wing,Costume Fallen Angel Wing,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,3,{},{},{}
+20765,C_Archangel_Wing,Costume Archangel Wing,4,,,0,,0,,0,0xFFFFFFFF,63,2,8192,0,,,49,{},{},{}
 20773,Excelion_Wing,Excelion Wing,4,20,,900,,40,,0,0xFFFFFFFF,63,2,4,,99,1,,{ bonus bFlee,getrefine() * 2; bonus bFlee2,8 + (BaseLevel > 129 ? 2 : 0); },{},{}
 20778,Red_Lotus_Stole,Red Lotus Stole,4,20,,700,,8,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); bonus bMaxSPrate,10; bonus bMdef,3; bonus bUseSPrate,-1*(1+(2*.@r/3)); if (.@r>=10) { bonus bSPGainValue,20; } },{},{}
 20779,Rift_Manteau,Rift Manteau,4,20,,500,,16,,1,0xFFFFFFFF,63,2,4,,100,1,,{ .@r = getrefine(); bonus bMaxHP,(.@r >= 9 ? 1300 : .@r >= 7 ? 700 : 300); bonus bMaxSP,-50; },{},{}
@@ -11126,10 +11164,14 @@
 20830,Wings_of_Seraph,Wings of Seraph,4,0,,200,,18,,1,0xFFFFFFFF,63,2,4,,1,1,8,{},{},{}
 20831,Adventurer's_Spirit,Adventurer's Spirit,4,1000,,400,,40,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bInt,5; if (.@r>=5) bonus bMatk,5*(readparam(bInt)/60); if (.@r>=7) bonus bMatk,5*(readparam(bInt)/10); },{},{}
 20834,Drifter's_Cape,Drifter's Cape,4,0,,400,,0,,0,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); .@bonus = 20; if (.@r>=7) { .@bonus += 5; } if (.@r>=9) { .@bonus += 5; } bonus2 bSubEle,Ele_Neutral,.@bonus; },{},{}
+20835,Fallen_Angel_Wings_,[Katsuya] Fallen Angel Wings,4,0,,200,,18,,1,0xFFFFFFFF,63,2,4,99,,1,3,{ bonus bAllStats,1; bonus bAtk,readparam(bStr)/20; bonus bMatk,readparam(bInt)/20; bonus2 bSubEle,Ele_Neutral,readparam(bVit)/20; bonus bLongAtkRate,readparam(bDex)/20; bonus bCritAtkRate,readparam(bLuk)/20; },{},{}
 20836,Skin_of_Lindwyrm,Skin of Lindwyrm,4,1000,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bAgi,5; bonus bVit,5; bonus bMdef,10; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubRace,RC_Dragon,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; .@r = getrefine(); .@val = (readparam(bAgi)+readparam(bVit))/20; if (.@r>=7) { skill "TF_HIDING",1; if (.@r>=8) { bonus bMaxHPrate,.@val; bonus bVariableCastrate,-1*.@val; if (.@r>=9) { skill "AS_CLOAKING",1; } } } },{},{}
 20837,Skin_of_Gwiber,Skin of Gwiber,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bInt,5; bonus bDex,5; bonus bMdef,10; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Undead,5; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,5; .@r = getrefine(); .@val = (readparam(bInt)+readparam(bDex))/20; if (.@r>=7) { bonus bSPGainValue,10; if (.@r>=8) { bonus bBaseAtk,5*.@val; bonus bDelayrate,-2*.@val; if (.@r>=9) { bonus bSPGainValue,10; } } } },{},{}
 20838,Illusion_Muffler,Illusion Muffler,4,20,,400,,8,,1,0xFFFFFFFE,63,2,4,,99,1,0,{ .@r = getrefine(); bonus bMaxHP,(100+(100*.@r)); bonus bMaxSP,(10+(5*.@r)); },{},{}
 20840,Illusion_Ancient_Cape,Illusion Ancient Cape,4,0,,600,,18,,1,0xFFFFFFFE,63,2,4,,100,1,0,{ .@val = min(getrefine(),10)/2; bonus bAgi,(2+.@val); },{},{}
+20842,Bag_Of_Antonio_P,Candy Pouch Bag (Physical),4,,,200,,30,,1,0xFFFFFFFF,56,2,4,,1,1,,{ .@r = getrefine(); if (.@r >= 2) bonus2 bAddClass,Class_All,.@r/2; if (.@r >= 9) bonus bAspdRate,10; if (.@r >= 12) bonus bDelayrate,-7; if (BaseLevel <= 100) { bonus2 bExpAddClass,Class_All,10; } else { bonus2 bExpAddClass,Class_All,4; } },{},{}
+20843,Bag_Of_Antonio_S,Candy Pouch Bag (Range),4,,,200,,30,,1,0xFFFFFFFF,56,2,4,,1,1,,{ .@r = getrefine(); if (.@r >= 2) bonus bLongAtkRate,.@r/2; if (.@r >= 9) bonus bAspdRate,10; if (.@r >= 12) bonus bDelayrate,-7; if (BaseLevel <= 100) { bonus2 bExpAddClass,Class_All,10; } else { bonus2 bExpAddClass,Class_All,4; } },{},{}
+20844,Bag_Of_Antonio_,Candy Pouch Bag (Magic),4,,,200,,30,,1,0xFFFFFFFF,56,2,4,,1,1,,{ .@r = getrefine(); if (.@r >= 2) bonus bMatkRate,.@r/2; if (.@r >= 9) bonus bVariableCastrate,-10; if (.@r >= 12) bonus bDelayrate,-7; if (BaseLevel <= 100) { bonus2 bExpAddClass,Class_All,10; } else { bonus2 bExpAddClass,Class_All,4; } },{},{}
 20845,Maracco_Skin,Malach's Skin,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bStr,5; bonus bLuk,5; bonus bMdef,10; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubRace,RC_Angel,5; bonus2 bSubRace,RC_Formless,5; .@r = getrefine(); .@s = (readparam(bStr)+readparam(bLuk))/20; if (.@r>=7) { bonus bCritAtkRate,5; if (.@r>=8) { bonus bAspdRate,.@s; bonus bCritical,.@s; if (.@r>=9) { bonus bCritAtkRate,5; } } } },{},{}
 20846,Temporal_Manteau,Temporal Manteau,4,20,,400,,38,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
 20847,Illusion_Survivor_Manteau,Illusion Survivor Manteau,4,0,,550,,30,,1,0x00810204,63,2,4,,130,1,0,{ bonus bVit,15; },{},{}
@@ -11155,6 +11197,12 @@
 20949,Ladon_Skin,Ladon's Skin,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus2 bSubRace,RC_Player,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Brute,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Earth,5; bonus bAgi,5; bonus bVit,5; bonus bMdef,10; .@r = getrefine(); if (.@r>=7) { .@val = 10; bonus bSPGainValue,10; bonus bLongSPGainValue,10; if (.@r>=8) { .@s = (readparam(bAgi)+readparam(bVit))/20; bonus bBaseAtk,15*.@s; bonus bHit,5*.@s; if (.@r>=9) { .@val += 10; } } bonus bSPGainValue,.@val; bonus bLongSPGainValue,.@val; } },{},{}
 20952,Nameless_Assassin_Muffler,Nameless Assassin's Muffler,4,20,,100,,10,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r= getrefine(); bonus bMdef,5; bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus2 bSubRace,RC_Player,5; if (.@r>=7) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bAspd,1; bonus bHPGainValue,5; bonus bLongHPGainValue,5; } if (.@r>=8) bonus bSpeedRate,40; if (.@r>=9) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bAspd,1; bonus bHPGainValue,5; bonus bLongHPGainValue,5; } if (.@r>=10) skill "AS_CLOAKING",3; },{},{}
 20962,Typhon_Skin,Typhon's Skin,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus2 bSubRace,RC_Player,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Fish,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Poison,5; bonus bAgi,5; bonus bVit,5; bonus bMdef,10; .@r = getrefine(); if (.@r>=7) { .@sp = 10; if (.@r>=8) { .@s = (readparam(bAgi)+readparam(bVit))/20; bonus bMatk,15*.@s; bonus bDef,20*.@s; if (.@r>=9) { .@sp += 10; } } bonus bMagicSPGainValue,.@sp; } },{},{}
+20963,Temporal_M_Str,Temporal Str Manteau,4,,,400,,38,,1,0xFFFFFFFF,56,2,4,,100,1,,{ .@r = getrefine(); bonus bAtk,10; if (.@r >= 2) { bonus2 bAddClass,Class_All,.@r/2; } if (.@r >= 4) { bonus2 bAddSize,Size_All,.@r/4*5; } if (.@r >= 7) { bonus2 bAddClass,Class_All,7; } if (.@r >= 9) { bonus2 bIgnoreDefRaceRate,RC_Brute,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; bonus2 bIgnoreMdefRaceRate,RC_Brute,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } if (.@r >= 11) { bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Demon,10; bonus2 bIgnoreMdefRaceRate,RC_Brute,10; bonus2 bIgnoreMdefRaceRate,RC_Demon,10; } },{},{}
+20964,Temporal_M_Agi,Temporal Agi Manteau,4,,,400,,38,,1,0xFFFFFFFF,56,2,4,,100,1,,{ .@r = getrefine(); bonus bAtk,10; if (.@r >= 2) { bonus bCritAtkRate,.@r/2*3; } if (.@r >= 4) { bonus2 bAddSize,Size_All,.@r/4*5; } if (.@r >= 7) { bonus2 bAddClass,Class_All,7; } if (.@r >= 9) { bonus2 bIgnoreDefRaceRate,RC_Brute,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; bonus2 bIgnoreMdefRaceRate,RC_Brute,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } if (.@r >= 11) { bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Demon,10; bonus2 bIgnoreMdefRaceRate,RC_Brute,10; bonus2 bIgnoreMdefRaceRate,RC_Demon,10; } },{},{}
+20965,Temporal_M_Vit,Temporal Vit Manteau,4,,,400,,38,,1,0xFFFFFFFF,56,2,4,,100,1,,{ .@r = getrefine(); bonus bAtk,10; if (.@r >= 2) { bonus bMaxHP,.@r/2*400; } if (.@r >= 4) { bonus bMaxHPrate,.@r/4*3; } if (.@r >= 7) { bonus2 bAddClass,Class_All,7; } if (.@r >= 9) { bonus2 bIgnoreDefRaceRate,RC_Brute,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; bonus2 bIgnoreMdefRaceRate,RC_Brute,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } if (.@r >= 11) { bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Demon,10; bonus2 bIgnoreMdefRaceRate,RC_Brute,10; bonus2 bIgnoreMdefRaceRate,RC_Demon,10; } },{},{}
+20966,Temporal_M_Int,Temporal Int Manteau,4,,,400,,38,,1,0xFFFFFFFF,56,2,4,,100,1,,{ .@r = getrefine(); bonus bMatk,10; if (.@r >= 2) { bonus bMatkRate,.@r/2; } if (.@r >= 4) { bonus2 bMagicAddClass,Class_All,.@r/4*3; } if (.@r >= 7) { bonus2 bMagicAddClass,Class_All,7; } if (.@r >= 9) { bonus2 bIgnoreDefRaceRate,RC_Brute,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; bonus2 bIgnoreMdefRaceRate,RC_Brute,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } if (.@r >= 11) { bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Demon,10; bonus2 bIgnoreMdefRaceRate,RC_Brute,10; bonus2 bIgnoreMdefRaceRate,RC_Demon,10; } },{},{}
+20967,Temporal_M_Dex,Temporal Dex Manteau,4,,,400,,38,,1,0xFFFFFFFF,56,2,4,,100,1,,{ .@r = getrefine(); bonus bAtk,10; if (.@r >= 2) { bonus bLongAtkRate,.@r/2; } if (.@r >= 4) { bonus bCritAtkRate,.@r/4*3; } if (.@r >= 7) { bonus2 bAddClass,Class_All,7; } if (.@r >= 9) { bonus2 bIgnoreDefRaceRate,RC_Brute,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; bonus2 bIgnoreMdefRaceRate,RC_Brute,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } if (.@r >= 11) { bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Demon,10; bonus2 bIgnoreMdefRaceRate,RC_Brute,10; bonus2 bIgnoreMdefRaceRate,RC_Demon,10; } },{},{}
+20968,Temporal_M_Luk,Temporal Luk Manteau,4,,,400,,38,,1,0xFFFFFFFF,56,2,4,,100,1,,{ .@r = getrefine(); bonus bCritical,3; if (.@r >= 2) { bonus bCritAtkRate,.@r/2*3; } if (.@r >= 4) { bonus bAspdRate,.@r/4*5; } if (.@r >= 7) { bonus2 bAddClass,Class_All,7; } if (.@r >= 9) { bonus2 bIgnoreDefRaceRate,RC_Brute,20; bonus2 bIgnoreDefRaceRate,RC_Demon,20; bonus2 bIgnoreMdefRaceRate,RC_Brute,20; bonus2 bIgnoreMdefRaceRate,RC_Demon,20; } if (.@r >= 11) { bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Demon,10; bonus2 bIgnoreMdefRaceRate,RC_Brute,10; bonus2 bIgnoreMdefRaceRate,RC_Demon,10; } },{},{}
 20969,Rainbow_Muffler,Rainbow Muffler,4,20,,300,,12,,0,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); .@lvl = getskilllv("WM_GLOOMYDAY"); if (.@r >= 7) { .@val = 10; } else if (.@r >= 5) { .@val = 5; } else { .@val = 2; } bonus bMaxHPrate,.@val; bonus bMaxSPrate,.@val; bonus bMatkRate,.@val+(4*.@lvl); bonus2 bSubRace,RC_Player,5; bonus2 bSkillAtk,"WM_METALICSOUND",4*.@lvl; if (getskilllv("WM_FRIGG_SONG") == 5) { bonus2 bSkillCooldown,"WM_METALICSOUND",-200; bonus bAspdRate,10; } if (getskilllv("WM_LULLABY_DEEPSLEEP") == 5) { skill "AL_HEAL",10; bonus bMagicHPGainValue,200; bonus bMagicSPGainValue,20; } },{},{}
 //===================================================================
 // More 2-Handed Swords
@@ -11178,6 +11226,7 @@
 21016,Two_Handed_Sword_of_Vicious_Mind,Two-Handed Sword of Vicious Mind,5,20,,2200,220,,1,1,0x00004082,63,2,34,4,160,1,3,{ bonus bAtk,pow(min(getrefine(),15),2); },{},{}
 21018,Lindy_Hop,Lindy Hop,5,20,,3400,340,,1,2,0x00004082,56,2,34,4,170,1,3,{ .@r = getrefine(); bonus2 bAddClass,Class_All,.@r/2; bonus bAspdRate,.@r; bonus bUnbreakableWeapon; },{},{}
 21019,Onimaru,Onimaru,5,0,,4200,75,,1,2,0x00000080,56,2,34,4,130,1,3,{ .@bStr = readparam(bStr); .@r = getrefine(); bonus bBaseAtk,(min(120,.@bStr)); if (.@bStr > 119) bonus bBaseAtk,160; else if (.@bStr > 107) bonus bBaseAtk,80; else if (.@bStr > 94) bonus bBaseAtk,40; if (.@r > 6) bonus bUnbreakableWeapon; bonus4 bAutoSpell,"NPC_WIDECURSE",4,100,0; if (.@r > 8) bonus4 bAutoSpellOnSkill,"LK_BERSERK","BS_OVERTHRUST",5,100; },{},{}
+21038,Oriental_Sword,Oriental Sword,5,,,1000,0,0,,2,0xFFFFFFFF,63,2,2,4,,,2,{ .@r = getrefine(); if (.@r >= 2) { bonus bAtk,.@r/2; } if (.@r >= 3) { bonus2 bSkillAtk,"RK_SONICWAVE",.@r/3*10; } if (.@r >= 9) { bonus5 bAutoSpell,"RK_SONICWAVE",2,.@r/3*10,BF_SHORT|BF_WEAPON,1; } if (.@r >= 11) { bonus bUnbreakableWeapon; } },{},{}
 21039,Royal_Knight's_Broadsword,Royal Knight's Broadsword,5,20,,4000,280,,1,2,0x00004082,56,2,34,4,175,1,3,{ .@r = getrefine(); bonus bBaseAtk,20*(.@r/2); if (.@r>=7) bonus bCritAtkRate,10; if (.@r>=9) bonus bUnbreakableWeapon; },{},{}
 21047,Beam_Claymor-OS,Beam Claymor-OS,5,20,,1800,250,,1,2,0x00004082,56,2,34,4,130,1,3,{ .@r = getrefine(); bonus bUnbreakableWeapon; bonus bCritical,5; if (.@r >= 7) { bonus bAspdRate,7; if (.@r >= 9) { bonus bCritAtkRate,15; if (.@r >= 11) { bonus2 bAddSize,Size_Small,20; bonus2 bAddSize,Size_Medium,20; } } } },{},{}
 21050,Illusion_Tae_Goo_Lyeon,Illusion Tae Goo Lyeon,5,20,,2000,250,,1,2,0x00004082,56,2,34,4,120,1,3,{ .@r = getrefine(); bonus bFlee2,10; bonus bLongAtkRate,.@r*2; if (.@r >= 7) { bonus bUseSPrate,-20; if (.@r >= 9) { bonus bDelayrate,-20; if (.@r >= 11) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } } } },{},{}
@@ -11298,6 +11347,7 @@
 22526,Level_Up_Box150,Level Up Box(150),18,10,,0,,,,0,0xFFFFFFFF,63,2,,,150,,,{ getgroupitem(IG_Level_Up_Box150); },{},{}
 22527,Level_Up_Box160,Level Up Box(160),18,10,,0,,,,0,0xFFFFFFFF,63,2,,,160,,,{ getgroupitem(IG_Level_Up_Box160); },{},{}
 22528,Pet_Exchange_Ticket_Box,Pet Exchange Ticket Box,18,10,,20,,,,,,,,,,,,,{ /*TODO*/ },{},{}
+22529,Shadow_Exchange_Box,Shadow Exchange SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 22529; },{},{}
 22530,Christmas_Box,Christmas Box,18,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Christmas_Box); },{},{}
 22531,Special_Christmas_Box,Special Christmas Box,18,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Special_Christmas_Box); },{},{}
 22532,Santa_Gift,Santa Gift,18,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Santa_Gift); },{},{}
@@ -11502,9 +11552,12 @@
 22899,Parchment_City,Parchment City,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "AL_INCAGI",1; heal -15,0; },{},{}
 22901,Question_Old_Blue_Box,Mysterious Blue Box,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc("F_Mysterious_box"); },{},{}
 22902,Sealed_Card_Album_Scroll_II,Sealed Card Album Scroll II,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem callfunc("F_Rand",6238,6239,17474,22829,24243,24244,24245),1; },{},{}
+22905,Costume_Enchant_Stone_Box6,Costume Enchant Stone Box6,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box6);*/ },{},{}
+22953,Costume_Enchant_Stone_Box7,Costume Enchant Stone Box7,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box7);*/ },{},{}
 22984,Kahluna_Milk,Kahluna Milk,0,6,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_DORAM_BUF_01, 180000, 0; },{},{}
 22985,Basil,Basil,0,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_DORAM_BUF_02, 180000, 0; },{},{}
 //
+23001,Costume_Enchant_Stone_Box8,Costume Enchant Stone Box8,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box8);*/ },{},{}
 23012,S_Small_Mana_Potion,[Sale] Small Mana Potion,2,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "bonus2 bRegenPercentSP,5,5000;",600,9; /* fix me: unknown flag and specialeffect ; disabled when LK_BERSERK */ },{},{}
 23016,Cursed_Fragment,Cursed Fragment,2,1,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc("F_Cursed_Fragment"); },{},{}
 23038,S_Slim_White_Box,[Sale] Slim White Potion Box,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 11573,200; },{},{}
@@ -11513,16 +11566,26 @@
 23046,S_Mystic_Powder,[Sale] Mystic Powder,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "bonus bFlee,20; bonus bLuk,10;",300,9; /* fix me: unknown flag and specialeffect */ },{},{}
 23047,S_Blessing_Tyr,[Sale] Blessing of Tyr,2,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_FLEEFOOD,300000,30; sc_start SC_HITFOOD,300000,30; sc_start SC_ATKPOTION,300000,20; sc_start SC_MATKPOTION,300000,20; },{},{}
 23048,S_Resilience_Potion,[Sale] Resilience Enhancement Potion,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "bonus bAddItemHealRate,20;",1800,9; /* fix me: unknown flag and specialeffect */ },{},{}
+23058,Costume_Enchant_Stone_Box9,Costume Enchant Stone Box9,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box9);*/ },{},{}
 23076,Build_Up_Potion_SS,Build Up Potion SS,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ if (strcharinfo(3) == "slabw01") { bonus_script "{ bonus bAspd,10; }",10; } },{},{}
 23077,Build_Up_Potion_SC,Build Up Potion SC,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ if (strcharinfo(3) == "slabw01") { bonus_script "{ bonus bCritical,30; }",10; } },{},{}
 23078,Build_Up_Potion_AC,Build Up Potion AC,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ if (strcharinfo(3) == "slabw01") { bonus_script "{ bonus bVariableCastrate,-80; }",10; } },{},{}
 23080,Cursed_Crystal,Cursed Crystal,2,1,,500,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc("F_Cursed_Crystal"); },{},{}
+23086,Costume_Enchant_Stone_Box10,Costume Enchant Stone Box10,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box10);*/ },{},{}
 23087,Small_Leather_Bag,Small Leather Bag,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 25180,1; getitem 25181,1; getitem 25182,1; getitem 25183,1; getitem 25184,1; getitem 25185,1; },{},{}
+23100,Drooping_Gunslinger_Scroll,Drooping Gunslinger Scroll,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23100; },{},{}
 23123,Bullet_Case_Flare,Flare Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13228,500; },{},{}
 23124,Bullet_Case_Lighting,Lightning Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13229,500; },{},{}
 23125,Bullet_Case_Ice,Ice Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13230,500; },{},{}
 23126,Bullet_Case_Poison,Poison Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13231,500; },{},{}
 23127,Bullet_Case_Blind,Blind Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13232,500; },{},{}
+23151,EnchantStone_Recipe,Enchant Stone Recipe,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23151; },{},{}
+23152,Collectibles_Box,Collectibles SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23152; },{},{}
+23153,Pet_Egg_Box,Pet Egg SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23153; },{},{}
+23154,Costume_Exchange_Box,Costume Exchange SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23154; },{},{}
+23170,Fan_Modification_Kit,Fan Modification Kit,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23170; },{},{}
+23174,Costume_Enchant_Stone_Box11,Costume Enchant Stone Box11,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box11);*/ },{},{}
+23175,Uniform_Repair_Kit,Uniform Repair Kit,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23175; },{},{}
 23177,Kafra_Card_,Kafra Card,2,2,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc "F_CashStore"; },{},{}
 23188,Unprocessed_Parts,Unprocessed Parts,2,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ pet 1632; },{},{}
 23189,Small_Needle_Kit,Small Needle Kit,2,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ pet 1622; },{},{}
@@ -11534,14 +11597,139 @@
 23196,Agust_Lucky_Scroll,Shining Blue Lucky Egg,18,10,,10,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Agust_Lucky_Scroll); },{},{}
 //
 23228,Hazy_Mooncake,Hazy Mooncake,0,768,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ /* unknown */ },{},{}
-//
+23229,Scroll_of_Fallen_Angel_Wings,Scroll of Fallen Angel Wings,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23229; },{},{}
+23236,Class_Shadow_Box_Weapon,Class Shadow Box (Weapon),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23236; },{},{}
+23237,Class_Shadow_Box_Armor,Class Shadow Box (Armor),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23237; },{},{}
+23238,Class_Shadow_Box_Shoes,Class Shadow Box (Shoes),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23238; },{},{}
+23239,Class_Shadow_Box_Shield,Class Shadow Box (Shield),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23239; },{},{}
+23240,Class_Shadow_Box_Pendant,Class Shadow Box (Pendant),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23240; },{},{}
+23241,Class_Shadow_Box_Earring,Class Shadow Box (Earring),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23241; },{},{}
+23247,StatusShadow_Mix,StatusShadow Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23247; },{},{}
+23248,GemstoneShadow_Mix,GemstoneShadow Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23248; },{},{}
+23249,BearersShadow_Mix,BearerShadow Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23249; },{},{}
+23250,ComposeShadow_Mix,ComposerShadow Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23250; },{},{}
 23256,Elixir_Bandages,Elixir Bandages,2,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ pet 1041; },{},{}
 23277,Mado_Box,Emergency Magic Gear,2,10000,,3000,,,,,0x00000400,56,2,,,100,,,{ setmadogear 1; },{},{}
 23280,N_Fly_Wing_,Novice Fly Wing,11,10,,0,,,,,0xFFFFFFFF,63,2,,,1:98,,,{ itemskill "AL_TELEPORT",1; },{},{}
+23281,RaceShadow_Mix,RaceShadow Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23281; },{},{}
 23288,Compressed_Wing_Of_Fly,Compressed Fly Wing,11,1000,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "AL_TELEPORT",1; },{},{}
+23289,Candy_Pouch_Blessing_Scroll_Melee,Candy Pouch Blessing Scroll(Physical),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23289; },{},{}
+23290,Candy_Pouch_Blessing_Scroll_Range,Candy Pouch Blessing Scroll(Ranged),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23290; },{},{}
+23291,Candy_Pouch_Blessing_Scroll_Macgi,Candy Pouch Blessing Scroll(Magic),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23291; },{},{}
+23299,Costume_Enchant_Stone_Box12,Costume Enchant Stone Box12,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box12);*/ },{},{}
 //
 23307,S_Shining_Def_Scroll,[Sale] Shining Defense Scroll,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "bonus bDef,500; bonus bMdef,200;",600; /* fix me: unknown flag and specialeffect */ },{},{}
+23308,Magical_Booster_Amplifier,Magical Booster Amplifier,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23308; },{},{}
+23311,Magic_Cat_hand_Scroll,Magic Cat Hand Scroll,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23311; },{},{}
+23324,StabilityShadow_Mix,StabilityShadow Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23324; },{},{}
 23340,S_Megaphone,[Sale] Megaphone,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ input .@megaphone$; announce strcharinfo(0) + ": " + .@megaphone$,bc_all,0xFF0000; },{},{}
+23436,Shadow_Refine_Hammer,Shadow Refine Hammer,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23436; },{},{}
+23474,InfinityShadow_Mix,InfinityShadow Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23474; },{},{}
+23524,Costume_Enchant_Stone_Box13,Costume Enchant Stone Box13,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box13);*/ },{},{}
+23545,Silver_Statue,Silver Statue,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23545; },{},{}
+23546,Cursed_Blood,Cursed Blood,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23546; },{},{}
+23547,Gold_Statue,Gold Statue,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23547; },{},{}
+23629,Costume_Enchant_Stone_Box14,Costume Enchant Stone Box14,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box14);*/ },{},{}
+23665,PhysicalMagical_Mix,PhysicalMagical Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23665; },{},{}
+23666,ImmunedAthena_Mix,ImmunedAthena Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23666; },{},{}
+23667,HardChamption_Mix,HardChampion Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23667; },{},{}
+23668,KingbirdAncient_Mix,KingbirdAncient Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23668; },{},{}
+23669,CriticalHit_Mix,CriticalHit Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23669; },{},{}
+23675,Geffen_Magic_Scroll,Geffen Magic Armor Order Form,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23675; },{},{}
+23676,Gray_Charcoal_Melee,Grey Abrasive (physical),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23676; },{},{}
+23677,Gray_Charcoal_Magic,Grey Abrasive (magical),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23677; },{},{}
+23678,Gray_Charcoal_Range,Grey Abrasive (distance),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23678; },{},{}
+23679,Geffen_Magic_Scroll2,Geffen Magic Accessory Order Form,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23679; },{},{}
+23682,Costume_Enchant_Stone_Box15,Costume Enchant Stone Box15,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box15);*/ },{},{}
+23706,Charleston_Parts_W,Charleston Upgrade Parts (Physical),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23706; },{},{}
+23707,Charleston_Parts_R,Charleston Upgrade Parts (Ranged),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23707; },{},{}
+23720,Shadow_Random_Mix,Shadow Random Mix,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23720; },{},{}
+23770,Costume_Enchant_Stone_Box16,Costume Enchant Stone Box16,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box16);*/ },{},{}
+23776,EP17_1_SPC05,Weapon Modifier (Physical),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23776; },{},{}
+23777,EP17_1_SPC06,Advanced Weapon Modifier (Physical),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23777; },{},{}
+23778,EP17_1_SPC07,Super Weapon Modifier (Physical),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23778; },{},{}
+23779,EP17_1_SPC08,Weapon Modifier (Magic),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23779; },{},{}
+23780,EP17_1_SPC09,Advanced Weapon Modifier (Magic),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23720; },{},{}
+23781,EP17_1_SPC10,Super Weapon Modifier (Magic),11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23781; },{},{}
+23815,Magma_Essence,Lava Essence,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23815; },{},{}
+23818,Bs_Item_M_S_2,Giant Orc Helm Combination SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23818; },{},{}
+23819,Bs_Item_M_S_8,Crimson Rose SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23819; },{},{}
+23820,Bs_Item_M_S_10,Grand Peco Hairband SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23820; },{},{}
+23821,Bs_Item_M_S_11,Moonflower Hair Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23821; },{},{}
+23822,Bs_Item_M_S_34,Wings of 8 Purgatories SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23822; },{},{}
+23823,Bs_Item_M_S_41,Tare Neko Cru SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23823; },{},{}
+23824,Bs_Item_M_S_42,Glory Soccer Ball Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23824; },{},{}
+23825,Bs_Item_M_S_43,Wicket marching Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23825; },{},{}
+23826,Bs_Item_M_S_44,Wandering Wolf Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23826; },{},{}
+23827,Bs_Sha_M_S_1,Status Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23827; },{},{}
+23828,Bs_Sha_M_S_17,Elegant Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23828; },{},{}
+23829,Bs_Sha_M_S_18,Tension Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23829; },{},{}
+23830,Bs_Sha_M_S_19,Restore Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23830; },{},{}
+23831,Bs_Sha_M_S_20,Healing Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23831; },{},{}
+23832,Bs_Item_M_S_4,Amistr Cap SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23832; },{},{}
+23833,Bs_Item_M_S_6,Tiger King Doll Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23833; },{},{}
+23834,Bs_Item_M_S_7,Bacsojin Doll SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23834; },{},{}
+23835,Bs_Item_M_S_12,Candy Pouch Bag SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23835; },{},{}
+23836,Bs_Item_M_S_13,Gold Fish Head Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23836; },{},{}
+23837,Bs_Item_M_S_15,Survival SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23837; },{},{}
+23838,Bs_Item_M_S_28,Toy Sringe SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23838; },{},{}
+23839,Bs_Item_M_S_29,Indigor Rear Ribbon SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23839; },{},{}
+23840,Bs_Item_M_S_31,Magical Booster SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23840; },{},{}
+23841,Bs_Item_M_S_32,Rosario's Necklace SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23841; },{},{}
+23842,Bs_Item_M_S_33,Spirit Crown SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23842; },{},{}
+23843,Bs_Item_M_S_36,Guard's Cap SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23843; },{},{}
+23844,Bs_Item_M_S_37,Bandit's Hood SynthesisBox,3,,,1,,0,,0,0xFFFFFFFF,63,2,,0,,,,{ synthesisui 23844; },{},{}
+23845,Bs_Item_M_S_38,Angel's Blessing SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23845; },{},{}
+23846,Bs_Item_M_S_39,Rabbit Magic Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23846; },{},{}
+23847,Bs_Item_M_S_40,Anubis Helm SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23847; },{},{}
+23848,Bs_Item_M_S_45,Imp Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23848; },{},{}
+23849,Bs_Item_M_S_46,Red Marching Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23849; },{},{}
+23850,Bs_Item_M_S_47,Ifrit Mask SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23850; },{},{}
+23851,Bs_Item_M_S_48,Incarnation Of Morocc Doll SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23851; },{},{}
+23852,Bs_Item_M_S_49,Samambaia SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23852; },{},{}
+23853,Bs_Item_M_S_50,Chick Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23853; },{},{}
+23854,Bs_Sha_M_S_2,Class Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23854; },{},{}
+23855,Bs_Sha_M_S_5,Spell Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23855; },{},{}
+23856,Bs_Sha_M_S_6,Size Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23856; },{},{}
+23857,Bs_Sha_M_S_7,Race Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23857; },{},{}
+23858,Bs_Sha_M_S_8,Stability Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23858; },{},{}
+23859,Bs_Sha_M_S_13,Special Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23859; },{},{}
+23860,Bs_Sha_M_S_15,Physical Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23860; },{},{}
+23861,Bs_Sha_M_S_16,Magical Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23861; },{},{}
+23862,Bs_Sha_M_S_23,EXP Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23862; },{},{}
+23863,Bs_Item_M_S_5,Mad Bunny SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23863; },{},{}
+23864,Bs_Item_M_S_9,Archangel's Wings SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23864; },{},{}
+23865,Bs_Item_M_S_14,Smokie's Transformation Leaf SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23865; },{},{}
+23866,Bs_Item_M_S_16,Ifrit's Ear SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23866; },{},{}
+23867,Bs_Item_M_S_17,Heartwing Band SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23867; },{},{}
+23868,Bs_Item_M_S_19,Sigrun's Wings SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23868; },{},{}
+23869,Bs_Item_M_S_27,Cat Headdress SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23869; },{},{}
+23870,Bs_Item_M_S_35,Noble Mask SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23870; },{},{}
+23871,Bs_Sha_M_S_9,Gemstone Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23871; },{},{}
+23872,Bs_Sha_M_S_10,Bearers Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23872; },{},{}
+23873,Bs_Sha_M_S_11,Hasty Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23873; },{},{}
+23874,Bs_Sha_M_S_21,Critical Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23874; },{},{}
+23875,Bs_Sha_M_S_22,Mortal Blow Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23875; },{},{}
+23876,Bs_Item_M_S_1,Fallen Angel Wings SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23876; },{},{}
+23877,Bs_Item_M_S_3,Adventurer's Backpack SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23877; },{},{}
+23879,Bs_Item_M_S_18,Spell Circuit SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23879; },{},{}
+23880,Bs_Item_M_S_20,New Wave Sunglasses SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23880; },{},{}
+23881,Bs_Item_M_S_21,Giant Snake Breath SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23881; },{},{}
+23882,Bs_Item_M_S_22,Judge Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23882; },{},{}
+23883,Bs_Item_M_S_23,Dog Officer SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23883; },{},{}
+23884,Bs_Item_M_S_24,Fancy Feather Hat SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23884; },{},{}
+23885,Bs_Item_M_S_25,Amistr Beret SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23885; },{},{}
+23886,Bs_Item_M_S_26,General Helm SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23886; },{},{}
+23887,Bs_Item_M_S_30,Cursed Knight's Shield SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23887; },{},{}
+23888,Bs_Sha_M_S_3,Penetration Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23888; },{},{}
+23889,Bs_Sha_M_S_4,Tempest Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23889; },{},{}
+23890,Bs_Sha_M_S_12,Blitz Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23890; },{},{}
+23891,Bs_Sha_M_S_14,Reload Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23891; },{},{}
+23892,Bs_Sha_M_S_24,Force and Spirit Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23892; },{},{}
+23893,Bs_Sha_M_S_25,Infinity Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23893; },{},{}
+23894,Bs_Item_M_S_51,Wickebine's Black Cat's Ear SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23894; },{},{}
+23926,Shadow_9_Refine_Hammer,Shadow 9 Refine Hammer,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 23926; },{},{}
+23967,EnchantStone_Recipe_9m,Enchant Stone Recipe 9m,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 23967; },{},{}
 //===================================================================
 // Shadow Equipments
 //===================================================================
@@ -11969,9 +12157,78 @@
 24421,S_Temporal_Transcendent_Pendant,Temporal Transcendent Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bBaseAtk,15; },{},{}
 24423,S_Tempest_Weapon,Tempest Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefClassRate,Class_Normal,5+(getrefine()/2); },{},{}
 24424,S_Tempest_Armor,Tempest Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus2 bIgnoreDefClassRate,Class_Normal,5+(getrefine()/2); },{},{}
+24425,S_Perfect_Size_Weapon,Perfect Size Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ bonus2 bAddSize,Size_All,2; bonus2 bMagicAddSize,Size_All,2; .@r = getrefine(); bonus bAtk,.@r*3; if (.@r >= 7) { bonus2 bAddSize,Size_All,2; bonus2 bMagicAddSize,Size_All,2; } if (.@r >= 9) { bonus2 bAddSize,Size_All,3; bonus2 bMagicAddSize,Size_All,3; } },{},{}
+24426,S_Perfect_Size_Armor,Perfect Size Shadow Armor,12,,,0,,0,,0,0xFFFFFFFF,63,2,65536,,,1,,{ bonus2 bSubSize,Size_All,2; /*bonus2 bMagicSubSize,Size_All,2;*/ .@r = getrefine(); bonus bDef,.@r; if (.@r >= 7) { bonus2 bSubSize,Size_All,2; /*bonus2 bMagicSubSize,Size_All,2;*/ } if (.@r >= 9) { bonus2 bSubSize,Size_All,3; /*bonus2 bMagicSubSize,Size_All,3;*/ } },{},{}
+24427,S_Magic_Exorcist_Current_Weapon,Magic Exorcist Current Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,5; bonus2 bIgnoreMdefRaceRate,RC_Angel,5; .@r = getrefine(); if (.@r >= 2) { bonus2 bIgnoreMdefRaceRate,RC_Demon,.@r/2; bonus2 bIgnoreMdefRaceRate,RC_Angel,.@r/2; } },{},{}
+24428,S_Magic_Vibration_Dragon_Killer_Weapon,Magic Vibration Dragon Killer Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,5; bonus2 bIgnoreMdefRaceRate,RC_Dragon,5; .@r = getrefine(); if (.@r >= 2) { bonus2 bIgnoreMdefRaceRate,RC_Formless,.@r/2; bonus2 bIgnoreMdefRaceRate,RC_Dragon,.@r/2; } },{},{}
+24429,S_Magic_Caesars_Hunting_Weapon,Magic Caesars Hunting Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Beast,5; bonus2 bIgnoreMdefRaceRate,RC_Plant,5; .@r = getrefine(); if (.@r >= 2) { bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,.@r/2; bonus2 bIgnoreMdefRaceRate,RC_Plant,.@r/2; } },{},{}
+24430,S_Magic_Fishing_Insect_Weapon,Magic Fishing Insect Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,5; bonus2 bIgnoreMdefRaceRate,RC_Insect,5; .@r = getrefine(); if (.@r >= 2) { bonus2 bIgnoreMdefRaceRate,RC_Fish,.@r/2; bonus2 bIgnoreMdefRaceRate,RC_Insect,.@r/2; }  },{},{}
+24431,S_Magic_Executioner_Holy_Water,Magic Executioner Holy Water Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreMdefRaceRate,RC_Undead,5; .@r = getrefine(); if (.@r >= 2) { bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,.@r/2; bonus2 bIgnoreMdefRaceRate,RC_Undead,.@r/2; } },{},{}
+24432,S_Penetration_Shadow_Weapon,Penetration Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+.@r/2; },{},{}
+24433,S_Penetration_Shadow_Armor,Penetration Shadow Armor,12,,,0,,0,,0,0xFFFFFFFF,63,2,65536,,,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+.@r/2; },{},{}
+24434,S_Executioner_Holy_Water_Shadow_Weapon,Executioner Holy Water Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5+.@r/2; bonus2 bIgnoreDefRaceRate,RC_Undead,5+.@r/2; },{},{}
+24435,S_Fishing_Insect_Shadow_Weapon,Fishing Insect Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_Fish,5+.@r/2; bonus2 bIgnoreDefRaceRate,RC_Insect,5+.@r/2; },{},{}
+24436,S_Scissors_Hunting_Shadow_Weapon,Scissors Hunting Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_Beast,5+.@r/2; bonus2 bIgnoreDefRaceRate,RC_Plant,5+.@r/2; },{},{}
+24437,S_Vibration_Dragon_Killer_Shadow_Weapon,Vibration Dragon Killer Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_Formless,5+.@r/2; bonus2 bIgnoreDefRaceRate,RC_Dragon,5+.@r/2; },{},{}
+24438,S_Exorcist_Corrupt_Shadow_Weapon,Exorcist Corrupt Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_Demon,5+.@r/2; bonus2 bIgnoreDefRaceRate,RC_Angel,5+.@r/2; },{},{}
+24439,S_Hasty_Shadow_Weapon,Hasty Shadow Weapon,12,,,0,,0,,0,0xFFFFFFFF,63,2,131072,,99,1,,{ bonus2 bAddClass,Class_All,1; bonus bMatkRate,1; .@r = getrefine(); if (.@r >= 2) { bonus2 bAddClass,Class_All,.@r/2; bonus bMatkRate,.@r/2; if (.@r >= 7) { bonus bDef,15; bonus bFlee,15; if (.@r >= 9) { bonus bSpeedRate,25; } } } },{},{}
+24440,S_Sonic_Shadow_Armor,Sonic Shadow Armor,12,,,0,,0,,0,0x00000080,56,2,65536,,99,1,,{ bonus2 bSkillAtk,"RK_SONICWAVE",5; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillAtk,"RK_SONICWAVE",.@r/2*2; } },{},{}
+24441,S_Sonic_Shadow_Shield,Sonic Shadow Shield,12,,,0,,0,,0,0x00000080,56,2,262144,,99,1,,{ bonus bLongAtkRate,3; .@r = getrefine(); if (.@r >= 7) { bonus bLongAtkRate,3; } if (.@r >= 9) { bonus bLongAtkRate,4; } },{},{}
+24442,S_Sonic_Shadow_Shoes,Sonic Shadow Shoes,12,,,0,,0,,0,0x00000080,56,2,524288,,99,1,,{ bonus2 bSkillUseSPrate,"RK_SONICWAVE",2; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillUseSPrate,"RK_SONICWAVE",.@r/2*2; } },{},{}
+24443,S_Ignition_Shadow_Weapon,Ignition Shadow Weapon,12,,,0,,0,,0,0x00000080,56,2,131072,,99,1,,{ .@r = getrefine(); bonus3 bAutoSpell,"RK_IGNITIONBREAK",3,10+(.@r>=7?1:0)+(.@r>=9?2:0); },{},{}
+24444,S_Ignition_Shadow_Pendant,Ignition Shadow Pendant,12,,,0,,0,,0,0x00000080,56,2,2097152,,99,1,,{ bonus2 bSkillAtk,"RK_IGNITIONBREAK",5; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillAtk,"RK_IGNITIONBREAK",.@r/2*2; } },{},{}
+24445,S_Ignition_Shadow_Earring,Ignition Shadow Earring,12,,,0,,0,,0,0x00000080,56,2,1048576,,99,1,,{ bonus2 bSkillCooldown,"RK_IGNITIONBREAK",-200; .@r = getrefine(); if (.@r>=3) { bonus2 bSkillCooldown,"RK_IGNITIONBREAK",.@r/3*(-100); } },{},{}
+24446,S_Cold_Breath_Shadow_Armor,Cold Breath Shadow Armor,12,,,0,,0,,0,0x00000080,56,2,65536,,99,1,,{ bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",5; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",.@r/2*2; } },{},{}
+24447,S_Cold_Breath_Shadow_Shield,Cold Breath Shadow Shield,12,,,0,,0,,0,0x00000080,56,2,262144,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24448,S_Cold_Breath_Shadow_Shoes,Cold Breath Shadow Shoes,12,,,0,,0,,0,0x00000080,56,2,524288,,99,1,,{ .@r = getrefine(); bonus2 bSkillUseSPrate,"RK_DRAGONBREATH_WATER",-2-(.@r/2); },{},{}
+24449,S_Fire_Breath_Shadow_Weapon,Fire Breath Shadow Weapon,12,,,0,,0,,0,0x00000080,56,2,131072,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24450,S_Fire_Breath_Shadow_Pendant,Fire Breath Shadow Pendant,12,,,0,,0,,0,0x00000080,56,2,2097152,,99,1,,{ bonus2 bSkillAtk,"RK_DRAGONBREATH",5; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillAtk,"RK_DRAGONBREATH",.@r/2*2; } },{},{}
+24451,S_Fire_Breath_Shadow_Earring,Fire Breath Shadow Earring,12,,,0,,0,,0,0x00000080,56,2,1048576,,99,1,,{ .@r = getrefine(); bonus2 bSkillUseSPrate,"RK_DRAGONBREATH",-2-(.@r/2); },{},{}
+24452,S_Cluster_Shadow_Armor,Cluster Shadow Armor,12,,,0,,0,,0,0x00000800,56,2,65536,,99,1,,{ bonus2 bSkillAtk,"RA_CLUSTERBOMB",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"RA_CLUSTERBOMB",.@r/2*2; } },{},{}
+24453,S_Cluster_Shadow_Shield,Cluster Shadow Shield,12,,,0,,0,,0,0x00000800,56,2,262144,,99,1,,{ bonus2 bSkillAtk,"RA_CLUSTERBOMB",3; .@r = getrefine(); if (.@r>=7) { bonus2 bSkillAtk,"RA_CLUSTERBOMB",3; } if (.@r>=9) { bonus2 bSkillAtk,"RA_CLUSTERBOMB",4; } },{},{}
+24454,S_Cluster_Shadow_Shoes,Cluster Shadow Shoes,12,,,0,,0,,0,0x00000800,56,2,524288,,99,1,,{ bonus2 bSkillAtk,"RA_CLUSTERBOMB",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"RA_CLUSTERBOMB",.@r/2*3; } },{},{}
+24455,S_Aimed_Shadow_Weapon,Aimed Shadow Weapon,12,,,0,,0,,0,0x00000800,56,2,131072,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24456,S_Aimed_Shadow_Pendant,Aimed Shadow Pendant,12,,,0,,0,,0,0x00000800,56,2,2097152,,99,1,,{ bonus2 bSkillAtk,"RA_AIMEDBOLT",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"RA_AIMEDBOLT",.@r/2*2; } },{},{}
+24457,S_Aimed_Shadow_Earring,Aimed Shadow Earring,12,,,0,,0,,0,0x00000800,56,2,1048576,,99,1,,{ bonus2 bAddSize,Size_All,3; .@r = getrefine(); if (.@r>=2) { bonus2 bAddSize,Size_All,.@r/3*2; } },{},{}
+24458,S_Arrow_Shadow_Armor,Arrow Shadow Armor,12,,,0,,0,,0,0x00000800,56,2,65536,,99,1,,{ bonus2 bSkillAtk,"RA_ARROWSTORM",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"RA_ARROWSTORM",.@r/2*2; } },{},{}
+24459,S_Arrow_Shadow_Shield,Arrow Shadow Shield,12,,,0,,0,,0,0x00000800,56,2,262144,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24460,S_Arrow_Shadow_Shoes,Arrow Shadow Shoes,12,,,0,,0,,0,0x00000800,56,2,524288,,99,1,,{ bonus2 bSkillUseSPrate,"RA_ARROWSTORM",2; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillUseSPrate,"RA_ARROWSTORM",.@r/2*2; } },{},{}
+24461,S_Shooting_Shadow_Weapon,Shooting Shadow Weapon,12,,,0,,0,,0,0x00000800,56,2,131072,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24462,S_Shooting_Shadow_Pendant,Shooting Shadow Pendant,12,,,0,,0,,0,0x00000800,56,2,2097152,,99,1,,{ bonus2 bSkillAtk,"SN_SHARPSHOOTING",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"SN_SHARPSHOOTING",.@r/2*2; } },{},{}
+24463,S_Shooting_Shadow_Earring,Shooting Shadow Earring,12,,,0,,0,,0,0x00000800,56,2,1048576,,99,1,,{ bonus2 bSkillUseSPrate,"SN_SHARPSHOOTING",2; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillUseSPrate,"SN_SHARPSHOOTING",.@r/2*2; } },{},{}
+24464,S_Tornado_Shadow_Armor,Tornado Shadow Armor,12,,,0,,0,,0,0x00000400,56,2,65536,,99,1,,{ bonus2 bSkillAtk,"NC_AXETORNADO",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"NC_AXETORNADO",.@r/2*2; } },{},{}
+24465,S_Tornado_Shadow_Shield,Tornado Shadow Shield,12,,,0,,0,,0,0x00000400,56,2,262144,,99,1,,{ bonus2 bAddSize,Size_All,3; .@r = getrefine(); if (.@r>=7) { bonus2 bAddSize,Size_All,3; } if (.@r>=9) { bonus2 bAddSize,Size_All,4; } },{},{}
+24466,S_Tornado_Shadow_Shoes,Tornado Shadow Shoes,12,,,0,,0,,0,0x00000400,56,2,524288,,99,1,,{ bonus2 bSkillUseSPrate,"NC_AXETORNADO",2; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillUseSPrate,"NC_AXETORNADO",.@r/2*2; } },{},{}
+24467,S_Boomerang_Shadow_Weapon,Boomerang Shadow Weapon,12,,,0,,0,,0,0x00000400,56,2,131072,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24468,S_Boomerang_Shadow_Pendant,Boomerang Shadow Pendant,12,,,0,,0,,0,0x00000400,56,2,2097152,,99,1,,{ bonus2 bSkillAtk,"NC_AXEBOOMERANG",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"NC_AXEBOOMERANG",.@r/2*2; } },{},{}
+24469,S_Boomerang_Shadow_Earring,Boomerang Shadow Earring,12,,,0,,0,,0,0x00000400,56,2,1048576,,99,1,,{ bonus2 bSkillCooldown,"NC_AXEBOOMERANG",-100; .@r = getrefine(); if (.@r >= 4) { bonus2 bSkillCooldown,"NC_AXEBOOMERANG",.@r/4*(-100); } },{},{}
+24470,S_Vulcan_Shadow_Armor,Vulcan Shadow Armor,12,,,0,,0,,0,0x00000400,56,2,65536,,99,1,,{ bonus2 bSkillAtk,"NC_VULCANARM",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"NC_VULCANARM",.@r/2*2; } },{},{}
+24471,S_Vulcan_Shadow_Shield,Vulcan Shadow Shield,12,,,0,,0,,0,0x00000400,56,2,262144,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24472,S_Vulcan_Shadow_Shoes,Vulcan Shadow Shoes,12,,,0,,0,,0,0x00000400,56,2,524288,,99,1,,{ bonus2 bSkillUseSPrate,"NC_VULCANARM",2; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillUseSPrate,"NC_VULCANARM",.@r/2*2; } },{},{}
+24473,S_Arm_Shadow_Weapon,Arm Shadow Weapon,12,,,0,,0,,0,0x00000400,56,2,131072,,99,1,,{ .@r = getrefine(); bonus bLongAtkRate,3+(.@r>=7?3:0)+(.@r>=9?4:0); },{},{}
+24474,S_Arm_Shadow_Pendant,Arm Shadow Pendant,12,,,0,,0,,0,0x00000400,56,2,2097152,,99,1,,{ bonus2 bSkillAtk,"NC_ARMSCANNON",5; .@r = getrefine(); if (.@r>=2) { bonus2 bSkillAtk,"NC_ARMSCANNON",.@r/2*2; } },{},{}
+24475,S_Arm_Shadow_Earring,Arm Shadow Earring,12,,,0,,0,,0,0x00000400,56,2,1048576,,99,1,,{ bonus2 bSkillUseSPrate,"NC_ARMSCANNON",2; .@r = getrefine(); if (.@r >= 2) { bonus2 bSkillUseSPrate,"NC_ARMSCANNON",.@r/2*2; } },{},{}
 //===================================================================
 // New etc.
 //===================================================================
+25000,SPdrainStone_Top,SP Absorption Stone(Upper),6,0,,10,,,,,,,,,,,,,{ bonus2 bSPDrainRate,10,1; },{},{}
+25001,DEFStone_Middle,Def Stone(Middle),6,0,,10,,,,,,,,,,,,,{ bonus bDef,20; },{},{}
+25002,ChangeLUK_Middle,LUK Exchange Stone(Middle),6,0,,10,,,,,,,,,,,,,{ bonus bLuk,3; bonus bStr,-3; },{},{}
+25003,ChangeSTR_Middle,STR Exchange Stone(Middle),6,0,,10,,,,,,,,,,,,,{ bonus bStr,3; bonus bInt,-3; },{},{}
+25004,ChangeAGI_Middle,AGI Exchange Stone(Middle),6,0,,10,,,,,,,,,,,,,{ bonus bAgi,3; bonus bLuk,-3; },{},{}
+25005,ChangeINT_Middle,INT Exchange Stone(Middle),6,0,,10,,,,,,,,,,,,,{ bonus bInt,3; bonus bDex,-3; },{},{}
+25006,ChangeVIT_Middle,VIT Exchange Stone(Middle),6,0,,10,,,,,,,,,,,,,{ bonus bVit,3; bonus bAgi,-3; },{},{}
+25007,ChangeDEX_Middle,DEX Exchange Stone(Middle),6,0,,10,,,,,,,,,,,,,{ bonus bDex,3; bonus bVit,-3; },{},{}
+25008,ChangeVIT_Bottom,VIT Exchange Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bVit,3; bonus bLuk,-3; },{},{}
+25009,ChangeAGI_Bottom,AGI Exchange Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bAgi,3; bonus bStr,-3; },{},{}
+25010,ChangeDEX_Bottom,DEX Exchange Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bDex,3; bonus bAgi,-3; },{},{}
+25011,ChangeLUK_Bottom,LUK Exchange Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bLuk,3; bonus bInt,-3; },{},{}
+25012,ChangeSTR_Bottom,STR Exchange Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bStr,3; bonus bDex,-3; },{},{}
+25013,ChangeINT_Bottom,INT Exchange Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bInt,3; bonus bVit,-3; },{},{}
+25014,MDEFStone_Bottom,Mdef Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bMdef,4; },{},{}
+25015,EXPStone_Bottom,EXP Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus2 bExpAddClass,Class_All,2; },{},{}
+25016,ATKStone_Bottom,ATK Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,1; },{},{}
+25017,MATKStone_Bottom,MATK Stone(Lower),6,0,,10,,,,,,,,,,,,,{ bonus bMatkRate,1; },{},{}
 25043,Thorny_Vine_Flute,Thorny Vine Flute,3,0,,0,,,,,,,,,,,,,{},{},{}
 25044,Hard_Thorny_Vine,Hard Thorny Vine,3,0,,10,,,,,,,,,,,,,{},{},{}
 25045,Luxurious_Cloth,Luxurious Cloth,3,0,,0,,,,,,,,,,,,,{},{},{}
@@ -11979,6 +12236,21 @@
 25047,Kahlunac,Kahlunac,3,0,,0,,,,,,,,,,,,,{},{},{}
 25048,Hearty_Lunchbox,Hearty Lunchbox,3,0,,0,,,,,,,,,,,,,{},{},{}
 25049,Basilac_Clam,Basilac Clam,3,0,,0,,,,,,,,,,,,,{},{},{}
+25058,TwinkleEffect_Top,TwinkleEffect (Upper),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25059,GhostEffect_Middle,GhostEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25060,Critical_Stone,Critical Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bCritAtkRate,3; },{},{}
+25061,Range_Stone,Range Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,3; },{},{}
+25062,Greed_Stone,Greed Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "BS_GREED",1; },{},{}
+25063,MaxHP2_Stone,MaxHP2 Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus bMaxHP,100; if (BaseLevel >= 120) bonus bMaxHPrate,2; },{},{}
+25064,MaxSP2_Stone,MaxSP2 Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus bMaxSP,50; if (BaseLevel >= 120) bonus bMaxHPrate,2; },{},{}
+25065,Detoxify_Stone,Detoxify Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "TF_DETOXIFY",1; },{},{}
+25066,Recovery_Stone,Recovery Stoen (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "PR_STRECOVER",1; },{},{}
+25067,CastingStone_Robe,CastingStone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus bFixedCast,-500; },{},{}
+25068,ASPDStone_Top,ASPDStone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bAspd,1; },{},{}
+25069,ReloadStone_Top,ReloadStone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bDelayrate,-1; },{},{}
+25070,ReloadStone_Middle,ReloadStone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bDelayrate,-1; },{},{}
+25071,ReloadStone_Bottom,ReloadStone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus bDelayrate,-1; },{},{}
+25072,Kyrie_Stone,Kyrie Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "PR_KYRIE",1; },{},{}
 25127,Silent_Energy_Particle,Silent Energy Particle,3,0,,0,,,,,,,,,,,,,{},{},{}
 25128,Weak_Energy_Particle,Weak Energy Particle,3,0,,0,,,,,,,,,,,,,{},{},{}
 25129,Unstable_Energy_Particle,Unstable Energy Particle,3,0,,0,,,,,,,,,,,,,{},{},{}
@@ -11986,6 +12258,11 @@
 25131,Fallen_Energy_Particle,Fallen Energy Particle,3,0,,0,,,,,,,,,,,,,{},{},{}
 25132,Pumpkin_Deco,Pumpkin Deco,3,0,,0,,,,,,,,,,,,,{},{},{}
 25133,Dried_White_Stem,Dried White Stem,3,0,,0,,,,,,,,,,,,,{},{},{}
+25136,ElectricEffect_Middle,ElectricEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25137,GreenFloor_Bottom,GreenFloor (Bottom),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25138,ShrinkEffect_Middle,ShrinkEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25139,Identify_Stone,Identify Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "MC_IDENTIFY",1; },{},{}
+25141,EXPStone_Middle,EXPStone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus2 bExpAddClass,Class_All,2; },{},{}
 25142,Doram_Token,Doram Token,3,,0,0,,,,,,,,,,,,,{},{},{}
 25143,Gift_Stuffed_Doll,Gift Stuffed Doll,3,0,,0,,,,,,,,,,,,,{},{},{}
 25144,Bridge_Postured_Doll,Bridge Postured Doll,3,0,,0,,,,,,,,,,,,,{},{},{}
@@ -12012,6 +12289,15 @@
 25165,High_Class_Tea,High Class Tea,3,0,,0,,,,,,,,,,,,,{},{},{}
 25166,Very_Shining_Ring,Very Shining Ring,3,0,,0,,,,,,,,,,,,,{},{},{}
 25167,Old_Letter,Old Letter,3,0,,0,,,,,,,,,,,,,{},{},{}
+25170,MinorCastingStone_Robe,MinorCastingStone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus bFixedCast,-300; },{},{}
+25171,EXPStone_Top,EXPStone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus2 bExpAddClass,Class_All,2; },{},{}
+25172,CastingStone_Top,CastingStone (Upper),6,0,,0,,,,,,,,,,,,,{ bonus bVariableCastrate,-3; },{},{}
+25173,CastingStone_Middle,CastingStone (Middle),6,0,,0,,,,,,,,,,,,,{ bonus bVariableCastrate,-3; },{},{}
+25174,CastingStone_Bottom,CastingStone (Bottom),6,0,,0,,,,,,,,,,,,,{ bonus bVariableCastrate,-3; },{},{}
+25175,LexAeternaStone_Middle,LexAeternaStone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus4 bAutoSpell,"PR_LEXAETERNA",1,10,1; },{},{}
+25176,BlueAuraEffect_Middle,BlueAuraEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25177,ShadowEffect_Middle,ShadowEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25178,PinkGlowEffect_Middle,PinkGlowEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
 25179,Blessing_Star,Blessing Star,3,0,,0,,,,,,,,,,,,,{},{},{}
 25180,Old_Rings,Old Rings,3,0,,0,,,,,,,,,,,,,{},{},{}
 25181,Wood_Rosary,Wood Rosary,3,0,,0,,,,,,,,,,,,,{},{},{}
@@ -12020,7 +12306,19 @@
 25184,Portable_Sewingbox,Portable Sewingbox,3,0,,0,,,,,,,,,,,,,{},{},{}
 25185,Locket_Pendant,Locket Pendant,3,0,,0,,,,,,,,,,,,,{},{},{}
 25187,Slug_Bullet,Slug Bullet,3,1200,,1200,,,,,,,,,,,,,{},{},{}
+25205,ShrinkEffect_Bottom,ShrinkEffect (Bottom),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25206,ElectricEffect_Top,ElectricEffect (Upper),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25207,SPAbsorb_Stone_Top,SPAbsorb Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus2 bSPDrainRate,20,1; },{},{}
+25208,SPAbsorb_Stone_Robe,SPAbsorb Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSPDrainRate,20,1; },{},{}
+25209,HPAbsorb_Stone_Robe,HPAbsorb Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bHPDrainRate,20,3; },{},{}
+25210,HPAbsorb_Stone_Top,HPAbsorb Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus2 bHPDrainRate,20,3; },{},{}
 25223,Para_Team_Coin,Eden Group Coin,3,0,,0,,,,,,,,,,,,,{},{},{}
+25224,WhiteBodyEffect_Middle,WhiteBodyEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25225,ExplodingEffect_Middle,ExplodingEffect (Middle),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25226,WaterFieldEffect_Bottom,WaterFieldEffect (Bottom),6,0,,10,,,,,,,,,,,,,{/*TODO*/},{},{}
+25227,Heal_Stone_Bottom,Heal Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "AL_HEAL",1; },{},{}
+25228,Teleport_Stone_Bottom,Teleport Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "AL_TELEPORT",1; },{},{}
+25229,Steal_Stone_Bottom,Steal Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ skill "TF_STEAL",1; },{},{}
 25231,Suspicious_Bottle,Suspicious Bottle,3,1000,,10,,,,,,,,,,,,,{},{},{}
 25232,Cheap_Lubricant,Cheap Lubricant,3,1000,,10,,,,,,,,,,,,,{},{},{}
 25233,Cotton_Tufts,Cotton Tufts,3,1000,,10,,,,,,,,,,,,,{},{},{}
@@ -12034,7 +12332,15 @@
 25256,Hazy_Dream_Fragment,Hazy Dream Fragment,3,0,,10,,,,,,,,,,,,,{},{},{}
 25257,Bloody_Love_Letter,Bloody Love Letter,3,780,,10,,,,,,,,,,,,,{},{},{}
 25258,Broken_Arrow,Broken Arrow,3,550,,10,,,,,,,,,,,,,{},{},{}
+25259,Recruitment_Leaflet,Recruitment Leaflet,3,778,,1,,,,,,,,,,,,,{},{},{}
 25260,Fragment_of_Purple_Ore,Fragment of Purple Ore,3,0,,0,,,,,,,,,,,,,{},{},{}
+25261,Torn_Paper_,Torn Paper,3,0,,1,,,,,,,,,,,,,{},{},{}
+25262,Well-dried_Clover,Well-dried Clover,3,0,,1,,,,,,,,,,,,,{},{},{}
+25263,Short_Bat_Hair,Short Bat Hair,3,0,,1,,,,,,,,,,,,,{},{},{}
+25264,Cluster_of_Nightmares,Cluster of Nightmares,3,0,,1,,,,,,,,,,,,,{},{},{}
+25265,Shining_Spore,Shining Spore,3,0,,1,,,,,,,,,,,,,{},{},{}
+25266,Dried_Leaf_Of_Ygg,Dried Yggdrasil Leaf,3,0,,1,,,,,,,,,,,,,{},{},{}
+25267,Suspicious_Pentacle,Suspicious Pentacle,3,0,,1,,,,,,,,,,,,,{},{},{}
 25271,Illusion_Stone,Illusion Stone,3,10,,0,,,,,,,,,,,,,{},{},{}
 25272,Illusion_Gemstone,Illusion Gemstone,3,0,,10,,,,,,,,,,,,,{},{},{}
 25276,Clean_Bone,Clean Bone,3,248,,10,,,,,,,,,,,,,{},{},{}
@@ -12048,11 +12354,62 @@
 25284,Swamp_Bug_Shell,Swamp Bug Shell,3,0,,10,,,,,,,,,,,,,{},{},{}
 25285,Brown_Rat_Tail,Brown Rat Tail,3,0,,10,,,,,,,,,,,,,{},{},{}
 25290,Sweets_Festival_Coin,Sweets Festival Coin,3,0,,0,,,,,,,,,,,,,{},{},{}
+25297,Frozen_Stone_Fragment,Frozen Stone Fragment,3,0,,1,,,,,,,,,,,,,{},{},{}
+25298,Spirit_Jewel,Spirit Jewel,3,0,,1,,,,,,,,,,,,,{},{},{}
+25299,Snowball,Snowball,3,0,,1,,,,,,,,,,,,,{},{},{}
+25300,Ktullanux_Eye,Ktullanux Eye,3,0,,1,,,,,,,,,,,,,{},{},{}
+25302,Double_Attack_Stone_Robe,Double Attack Stone (Garment),6,0,,10,,,,,,,,,,,,,{ skill "TF_DOUBLE",3; },{},{}
+25303,Critical_Stone_Robe,Critical Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus bCritAtkRate,20; },{},{}
+25304,Critical_Stone_Top,Critical Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bCritAtkRate,3; },{},{}
+25305,Critical_Stone_Bottom,Critical Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus bCritAtkRate,3; },{},{}
+25306,Variable_Casting_Stone,Variable Casting Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus bVariableCastrate,-10; },{},{}
+25311,Piece_of_Black_Horn,Piece of Black Horn,3,0,,1,,,,,,,,,,,,,{},{},{}
+25312,Fine_Old_Doll,Fine Old Doll,3,0,,1,,,,,,,,,,,,,{},{},{}
+25313,Old_Shell,Old Shell,3,0,,1,,,,,,,,,,,,,{},{},{}
 25375,Powerful_Soul_Essence,Powerful Soul Essence,3,0,,0,,,,,,,,,,,,,{},{},{}
 25377,Luxurious_Pet_Food,Luxurious Pet Food,3,0,,10,,,,,,,,,,,,,{},{},{}
 //
+25409,SuraStone_Top,SuraStone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("MO_IRONHAND")*2; },{},{}
+25410,SuraStone_Middle,SuraStone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("MO_DODGE")*2; },{},{}
+25411,SuraStone_Bottom,SuraStone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"MO_CHAINCOMBO",20; },{},{}
+25412,SuraStone_Robe,SuraStone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SR_RAMPAGEBLASTER",15; },{},{}
+25413,RangerStone_Top,RangerStone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("HT_STEELCROW")*2; },{},{}
+25414,RangerStone_Middle,RangerStone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillFixedCast,"SN_SHARPSHOOTING",-500; },{},{}
+25415,RangerStone_Bottom,RangerStone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"AC_SHOWER",20; },{},{}
+25416,RangerStone_Robe,RangerStone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"RA_ARROWSTORM",10; },{},{}
+25417,SorcererStone_Top,SorcererStone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bDelayrate,getskilllv("SA_ADVANCEDBOOK"); },{},{}
+25418,SorcererStone_Middle,SorcererStone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillFixedCast,"PF_DOUBLECASTING",-400; },{},{}
+25419,SorcererStone_Bottom,SorcererStone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"MG_FIREBOLT",20; bonus2 bSkillAtk,"MG_COLDBOLT",20; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",20; },{},{}
+25420,SorcererStone_Robe,SorcererStone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10; },{},{}
+25445,RuneknightStone_Top,Lord Knight Stone (Top),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("KN_SPEARMASTERY")*2; },{},{}
+25446,RuneknightStone_Middle,Lord Knight Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"LK_SPIRALPIERCE",15; },{},{}
+25447,RuneknightStone_Bottom,Lord Knight Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus bAspdRate,"KN_CAVALIERMASTERY"; },{},{}
+25448,RuneknightStone_Robe,Rune Knight Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"RK_DRAGONBREATH",10; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",10; },{},{}
+25449,GeneticStone_Robe,Genetic Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"GN_CARTCANNON",10; },{},{}
+25450,GeneticStone_Top,Creator Stone (Top),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("AM_LEARNINGPOTION")*2; },{},{}
+25451,GeneticStone_Middle,Creator Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bHealPower,getskilllv("AM_POTIONPITCHER")*2; },{},{}
+25452,GeneticStone_Bottom,Creator Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"AM_ACIDTERROR",20; },{},{}
+25453,WarlockStone_Top,High Wizard Stone (Top),6,0,,10,,,,,,,,,,,,,{ bonus bMatkRate,getskilllv("HW_MAGICPOWER")*2; },{},{}
+25454,WarlockStone_Middle,High Wizard Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"WZ_METEOR",20; },{},{}
+25455,WarlockStone_Bottom,High Wizard Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"WZ_FIREPILLAR",20; },{},{}
+25456,WarlockStone_Robe,Warlock Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"WL_CRIMSONROCK",10; },{},{}
 25464,World_Moving_Rights,World Moving Rights,3,20,,0,,,,,,,,,,,,,{},{},{}
+25490,ShadowchaserStone_Top,Shadow Chaser Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("RG_PLAGIARISM")*2; },{},{}
+25491,ShadowchaseStone_Middle,Shadow Chaser Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bHit,getskilllv("AC_VULTURE")*2; },{},{}
+25492,ShadowchaseStone_Bottom,Shadow Chaser Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"RG_RAID",20; },{},{}
+25493,ShadowchaserStone_Robe,Shadow Chaser Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SC_TRIANGLESHOT",15; },{},{}
+25494,MechanicStone_Top,Mechanic Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("BS_WEAPONRESEARCH")*2; },{},{}
+25495,MechanicStone_Middle,Mechanic Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bHit,getskilllv("BS_SKINTEMPER")*3; },{},{}
+25496,MechanicStone_Bottom,Mechanic Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"WS_CARTTERMINATION",20; },{},{}
+25497,MechanicStone_Robe,Mechanic Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"NC_AXETORNADO",15; },{},{}
+25498,WanderMinstrelStone_Top,Wanderer Minstrel Stone (Upper),6,0,,10,,,,,,,,,,,,,{ if (Sex == SEX_FEMALE) bonus bAtk,getskilllv("DC_DANCINGLESSON")*2; else bonus bAtk,getskilllv("BA_MUSICALLESSON")*2; },{},{}
+25499,WanderMinstrelStone_Middle,Wanderer Minstrel Stone (Middle),6,0,,10,,,,,,,,,,,,,{ if (Sex == SEX_FEMALE) bonus2 bSkillAtk,"DC_THROWARROW",20; else bonus2 bSkillAtk,"BA_MUSICALSTRIKE",20; },{},{}
+25500,WanderMinstrelStone_Bottom,Wanderer Minstrel Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",20; },{},{}
+25501,WanderMinstrelStone_Robe,Wanderer Minstrel Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",15; },{},{}
+25508,Token_of_OrcGeneral,Orc Warlord Token,3,,,1,,,,,,,,,,,,,{},{},{}
 //
+25622,White_Snake_Tear,White Snake's Tear,3,,,1,,,,,,,,,,,,,{},{},{}
+25629,Konts_Letter,Knotted Letter,3,,,1,,,,,,,,,,,,,{},{},{}
 25670,M_M_Defense,Modification Module (Defense),6,20,,10,,,,,,,,,,,,,{ .@r = getrefine(); .@def = 25; if (.@r >= 9) { .@def += 20; } else if (.@r >= 7) { .@def += 10; } bonus bDef,.@def; },{},{}
 25671,M_M_Magic_Defense,Modification Module (Magic Defense),6,20,,10,,,,,,,,,,,,,{ .@r = getrefine(); .@mdef = 2; if (.@r >= 9) { .@mdef += 6; } else if (.@r >= 7) { .@mdef += 3; } bonus bMDef,.@mdef; },{},{}
 25672,M_M_Vit,Modification Module (Vit),6,20,,10,,,,,,,,,,,,,{ bonus bVit,3; },{},{}
@@ -12089,6 +12446,56 @@
 25703,M_M_Overpower,Modification Module (Overpower),6,20,,10,,,,,,,,,,,,,{ autobonus "{ bonus bStr,50; bonus2 bAddClass,Class_All,15; bonus bMatkRate,-15; }",20,10000,BF_WEAPON; /* unknown rate */ },{},{}
 25704,M_M_Fatal_Flash,Modification Module (Fatal Flash),6,20,,10,,,,,,,,,,,,,{ autobonus "{ bonus bStr,50; bonus bCritAtkRate,10; bonus2 bHPLossRate,300,1000; }",20,10000,BF_WEAPON; /* unknown rate */ },{},{}
 25705,M_M_Lucky_Strike,Modification Module (Lucky Strike),6,20,,10,,,,,,,,,,,,,{ autobonus "{ bonus bLuk,50; bonus2 bMagicAtkEle,Ele_All,10; bonus2 bHPLossRate,300,1000; }",20,10000,BF_MAGIC; /* unknown rate */ },{},{}
+25706,HighpriestStone_Top,High Priest Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bHealPower,getskilllv("HP_MEDITATIO"); },{},{}
+25707,HighpriestStone_Middle,High Priest Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bCritAtkRate,getskilllv("BS_MACE")*2; },{},{}
+25708,HighpriestStone_Bottom,High Priest Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"PR_MAGNUS",20; },{},{}
+25709,ArchbishopStone_Robe,Archbishop Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"AB_ADORAMUS",15; },{},{}
+25710,PaladinStone_Top,Paladin Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,getskilllv("CR_TRUST")/2; },{},{}
+25711,PaladinStone_Middle,Paladin Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,getskilllv("KN_SPEARMASTERY")/2; },{},{}
+25712,PaladinStone_Bottom,Paladin Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"CR_HOLYCROSS",20; },{},{}
+25713,RoyalguardStone_Robe,Royal Guard Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"LG_BANISHINGPOINT",15; },{},{}
+25714,AssacrossStone_Top,Assassin Cross Stone (Upper),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("AS_KATAR")*2; },{},{}
+25715,AssacrossStone_Middle,Assassin Cross Stone (Middle),6,0,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("AS_LEFT")*2; },{},{}
+25716,AssacrossStone_Bottom,Assassin Cross Stone (Bottom),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"AS_SONICBLOW",20; },{},{}
+25717,GuillcrossStone_Robe,Assassin Cross Stone (Garment),6,0,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"GC_ROLLINGCUTTER",15; },{},{}
+//
+25729,Shadowdecon,Shadowdecon,3,,,2,,,,,,,,,,,,,{},{},{}
+25731,Zelunium,Zelunium,3,,,2,,,,,,,,,,,,,{},{},{}
+//
+25797,SuraStone_Robe2,Sura Stone II (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SR_KNUCKLEARROW",15; },{},{}
+25798,SuraStone_Bottom2,Sura Stone II (Bottom),6,,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("AL_DP")*2; },{},{}
+25799,SuraStone_Middle2,Sura Stone II (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"MO_COMBOFINISH",15; },{},{}
+25800,SuraStone_Top2,Sura Stone II (Upper),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"CH_CHAINCRUSH",15; },{},{}
+25801,SorcererStone_Robe2,Sorcerer Stone II (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SO_DIAMONDDUST",15; },{},{}
+25802,SorcererStone_Bottom2,Sorcerer Stone II (Bottom),6,,,10,,,,,,,,,,,,,{ bonus bMatk,getskilllv("SA_AUTOSPELL")*2; },{},{}
+25803,SorcererStone_Middle2,Sorcerer Stone II (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"MG_FIREBOLT",20; bonus2 bSkillAtk,"MG_COLDBOLT",20; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",20; },{},{}
+25804,SorcererStone_Top2,Sorcerer Stone II (Upper),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"WZ_EARTHSPIKE",20; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",20; },{},{}
+25805,ShadowchaserStone_Robe2,Shadow Chaser Stone II (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SC_FATALMENACE",15; },{},{}
+25806,ShadowchasStone_Bottom2,Shadow Chaser Stone II (Bottom),6,,,10,,,,,,,,,,,,,{ bonus bHit,getskilllv("TF_MISS"); },{},{}
+25807,ShadowchasStone_Middle2,Shadow Chaser Stone II (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"RG_BACKSTAP",15; },{},{}
+25808,ShadowchaserStone_Top2,Shadow Chaser Stone II (Upper),6,,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("RG_SNATCHER")*2; },{},{}
+//
+25842,SoulLinkerStone_Robe,Soul Linker Stone (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SP_SWHOO",20; },{},{}
+25843,SoulLinkerStone_Top,Soul Linker Stone (Upper),6,,,10,,,,,,,,,,,,,{ bonus bMatk,getskilllv("TK_SPTIME")*2; },{},{}
+25844,SoulLinkerStone_Middle,Soul Linker Stone (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SL_SMA",20; },{},{}
+25845,SoulLinkerStone_Bottom,Soul Linker Stone (Bottom),6,,,10,,,,,,,,,,,,,{ bonus bVariableCastrate,getskilllv("SL_KAAHI")*2; },{},{}
+25846,StarGladiatorStone_Top,Star Gladiator Stone (Upper),6,,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("TK_HPTIME")*2; },{},{}
+25847,StarGladiatorStone_Middle,Star Gladiator Stone (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bFixedCastrate,"SG_FEEL",-50; },{},{}
+25848,StarGladiatorStone_Bottom,Star Gladiator Stone (Bottom),6,,,10,,,,,,,,,,,,,{ bonus bAspdRate,getskilllv("SG_KNOWLEDGE"); },{},{}
+25849,StarGladiatorStone_Garment,Star Gladiator Stone (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SJ_FALLINGSTAR",20; bonus2 bSkillAtk,"SJ_SOLARBURST",20; bonus2 bSkillAtk,"SJ_FULLMOONKICK",20; },{},{}
+25850,NinjaStone_Top,Ninja Stone (Upper),6,,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("NJ_NINPOU")*2; bonus bMatk,getskilllv("NJ_NINPOU")*2; },{},{}
+25851,NinjaStone_Middle,Ninja Stone (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"KO_HUUMARANKA",20; },{},{}
+25852,NinjaStone_Bottom,Ninja Stone (Bottom),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"NJ_BAKUENRYU",20; bonus2 bSkillAtk,"NJ_HYOUSYOURAKU",20; bonus2 bSkillAtk,"NJ_KAMAITACHI",20;},{},{}
+25853,KagerouStone_Robe,Kagerou Stone (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"KO_HUUMARANKA",25; },{},{}
+25854,OboroStone_Robe,Oboro Stone (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"NJ_KOUENKA",20; },{},{}
+25855,GunslingerStone_Top,Gunslinger Stone (Upper),6,,,10,,,,,,,,,,,,,{ bonus bAtk,getskilllv("GS_SNAKEEYE")*2; },{},{}
+25856,GunslingerStone_Middle,Gunslinger Stone (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"GS_DESPERADO",20; },{},{}
+25857,GunslingerStone_Bottom,Gunslinger Stone (Bottom),6,,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,getskilllv("GS_CHAINACTION")/2; },{},{}
+25858,GunslingerStone_Robe,Gunslinger Stone (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"RL_HAMMER_OF_GOD",20; bonus2 bSkillAtk,"RL_R_TRIP",20; },{},{}
+25859,DoramStone_Top,Doram Stone (Upper),6,,,10,,,,,,,,,,,,,{ .@lv = getskilllv("SU_SCRATCH"); bonus bAtk,.@lv; bonus bMatk,.@lv; },{},{}
+25860,DoramStone_Middle,Doram Stone (Middle),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",20; },{},{}
+25861,DoramStone_Bottom,Doram Stone (Bottom),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SU_SV_STEMSPEAR",20; },{},{}
+25862,DoramStone_Robe,Doram Stone (Garment),6,,,10,,,,,,,,,,,,,{ bonus2 bSkillAtk,"SU_PICKYPECK",20; bonus2 bSkillAtk,"SU_CN_METEOR",20; },{},{}
 //===================================================================
 // New Spears
 //===================================================================
@@ -12102,11 +12509,14 @@
 26107,Elder_Staff,Elder Staff,5,0,,500,60:150,,1,3,0x00008110,63,2,2,3,100,1,10,{ .@r = getrefine(); .@bonus = 10; if (.@r>=7) { .@bonus += 5; } if (.@r>=9) { .@bonus += 10; } bonus bHealPower,.@bonus; },{},{}
 26109,Illusion_Staff_of_Bordeaux,Illusion Staff of Bordeaux,5,20,,500,60:180,,1,2,0x00010200,58,2,2,4,99,1,10,{ bonus bInt,3; bonus bDex,2; if (getskilllv("SA_DRAGONOLOGY") == 5) { .@val = getrefine()/3; bonus bMatkRate,(5+.@val); bonus bUseSPrate,(-15-(5*.@val)); } },{},{}
 26110,CandyCaneRod,Candy Cane Rod,5,20,,500,10:140,,1,2,0x00818315,63,2,2,4,99,1,10,{ bonus bInt,2; bonus bFlee,2*getrefine(); if(getrefine()>= 10) { bonus bFlee2,10; } },{},{}
+26111,Metal_Foxtail,Metal Foxtail,5,,,0,120:120,,1,1,0x80000000,63,2,2,3,1,1,10,{ .@r = getrefine() * 3; bonus bAtk,.@r; bonus bMatk,.@r; if (BaseLevel >= 20) { .@r = min(BaseLevel,120)/10*3; bonus bAtk,.@r; bonus bMatk,.@r; } bonus bUnbreakableWeapon; },{},{}
+26118,Shadow_Staff_,Shadow Staff,5,,,500,40:155,,1,2,0x00010000,56,2,2,4,100,1,10,{ .@r = getrefine(); bonus bMatk,.@r*10; if (.@r>=3) bonus2 bSkillAtk,"SO_EARTHGRAVE",.@r/3; if (.@r>=9) bonus bVariableCastrate,-10; if (.@r>=11) bonus2 bSkillCooldown,"SO_PSYCHIC_WAVE",-1000; },{},{}
 26138,Hellfire_Staff,Hellfire Staff,5,20,,800,110:180,,1,2,0x00818314,63,2,2,4,175,1,23,{ .@r = getrefine; bonus bInt,5; bonus bMatk,15*(.@r/2); bonus bUnbreakableWeapon; if (.@r>=9) .@val = 15; else if (.@r>=7) .@val = 5; bonus2 bMagicAtkEle,Ele_Fire,.@val; bonus2 bMagicAtkEle,Ele_Earth,.@val; },{},{}
 26139,Icicle_Staff,Icicle Staff,5,20,,800,110:180,,1,2,0x00818314,63,2,2,4,175,1,23,{ .@r = getrefine; bonus bInt,5; bonus bMatk,15*(.@r/2); bonus bUnbreakableWeapon; if (.@r>=9) .@val = 15; else if (.@r>=7) .@val = 5; bonus2 bMagicAtkEle,Ele_Water,.@val; bonus2 bMagicAtkEle,Ele_Holy,.@val; },{},{}
 26151,Rutilus_Stick-OS,Rutilus Stick-OS,5,20,,900,80:175,,1,2,0x00818315,63,2,2,4,130,1,10,{ .@r = getrefine(); bonus bUnbreakableWeapon; bonus2 bMagicAddEle,Ele_Neutral,5; bonus2 bMagicAddEle,Ele_Earth,5; if (.@r >= 7) { bonus bVariableCastrate,-7; if (.@r >= 9) { autobonus "{ bonus2 bMagicAtkEle,Ele_Fire,30; }",5,10000,BF_MAGIC; /* unknown rate */ if (.@r >= 11) { bonus bDelayrate,-10; } } } },{},{}
-// 26154,Spirit_Plumb,Spirit Plumb,5,20,,1100,70:160,,1,2,0x00000000,63,2,2,4,100,1,10,{ .@r = getrefine(); bonus bMatk,10*(.@r/2); bonus bMaxSPrate,2*(.@r/3); if (.@r >= 7) { bonus2 bSkillAtk,"SP_SPA",15; if (.@r >= 9) { bonus bVariableCastrate,-10; if (.@r >= 11) { bonus2 bSkillAtk,"SP_SWHOO",20; } } } },{},{}
+26154,Spirit_Pendulum_,Spirit Pendulum,5,,,1100,70:160,,1,2,0x00800000,56,2,2,4,100,1,10,{ .@r = getrefine(); bonus bMatk,.@r*10; if (.@r>=3) bonus bMaxHPrate,.@r/3*2; if (.@r>=7) bonus2 bSkillAtk,"SP_SPA",15; if (.@r>=9) bonus bVariableCastrate,-10; if (.@r>=11) bonus2 bSkillAtk,"SP_SWHOO",20; },{},{}
 26155,Meowmeow_Foxtail,Meowmeow Foxtail,5,20,,1100,300:300,,1,2,0x80000000,7,2,2,4,100,1,10,{ .@r = getrefine(); bonus bMatk,10*(.@r/2); bonus bBaseAtk,10*(.@r/2); bonus2 bAddClass,Class_All,2*(.@r/3); bonus bMatkRate,2*(.@r/3); if (.@r >= 7) { bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",15; bonus2 bSkillAtk,"SU_SV_STEMSPEAR",15; if (.@r >= 9) { bonus bVariableCastrate,-10; bonus bAspdRate,10; if (.@r >= 11) { bonus2 bSkillAtk,"SU_PICKYPECK",15; bonus2 bSkillAtk,"SU_CN_METEOR",15; } } } },{},{}
+26164,Electric_Fox-OS_,Electric Fox-OS,5,,,1200,250:350,,1,2,0x80000000,63,2,2,4,130,1,10,{ bonus bMatkRate,5; .@r = getrefine(); if (.@r>=7) { bonus2 bSkillAtk,"SU_SV_STEMSPEAR",20; } if (.@r>=9) { bonus bVariableCastrate,-10; bonus2 bMagicAtkEle,Ele_Earth,15; bonus2 bMagicAtkEle,Ele_Water,15; bonus2 bMagicAtkEle,Ele_Wind,15; bonus2 bMagicAtkEle,Ele_Fire,15; bonus2 bMagicAtkEle,Ele_Ghost,15; bonus2 bMagicAtkEle,Ele_Neutral,15; } if (.@r>=11) { bonus2 bSkillAtk,"SU_CN_METEOR",20; } },{},{}
 //
 26200,Hippie_Rope,Hippie Rope,5,0,,1000,140,,2,2,0x00080000,56,0,2,3,100,1,14,{ .@r = getrefine(); .@lvl = getskilllv("DC_DANCINGLESSON"); bonus bAspdRate,.@lvl; if (.@r>=7) bonus bBaseAtk,(5*.@lvl); if (.@r>=9) bonus bAspd,1; },{},{}
 //===================================================================
@@ -12301,6 +12711,7 @@
 28022,Illusion_Infiltrator,Illusion Infiltrator,5,0,,1500,200,,1,2,0x00001000,58,2,34,4,100,1,16,{ bonus2 bAddRace,RC_DemiHuman,60; bonus2 bAddRace,RC_Player,60; bonus bDef,3; .@flee = 5; .@flee2 = 2; if (getrefine() >= 9) { .@flee += 5; .@flee2 += 2; bonus2 bAddClass,Class_All,5; } bonus bFlee,.@flee; bonus bFlee2,.@flee2; },{},{}
 28023,Illusion_Sharpened_Legbone_of_Ghoul,Illusion Sharpened Legbone of Ghoul,5,0,,1700,220,,1,2,0x00001000,58,2,34,3,100,1,16,{ autobonus "{ bonus bDefEle,Ele_Undead; sc_start SC_ENDURE,6000,1; }",40,6000,BF_WEAPON|BF_SHORT,"{ active_transform 1036,6000; }"; },{},{}
 28038,Meuchler-OS,Meuchler-OS,5,20,,1300,190,,1,2,0x00001000,63,2,34,4,130,1,16,{ .@r = getrefine(); bonus2 bAddClass,Class_All,3; if (.@r >= 7) { bonus bAspdRate,7; if (.@r >= 9) { bonus2 bSkillAtk,"GC_CROSSRIPPERSLASHER",15; if (.@r >= 11) { bonus2 bAddSize,Size_Small,20; bonus2 bAddSize,Size_Medium,20; } } } },{},{}
+28039,Katar_of_Shiver,Katar of Shiver,5,,,1200,185,,1,2,0x00001000,56,2,34,4,100,1,16,{ .@r = getrefine(); if (.@r>=2) { bonus bAtk,.@r/2*10; } if (.@r>=3) { bonus bCritAtkRate,.@r/3*4; } if (.@r>=9) { bonus bAspdRate,10; } if (.@r>=11) { bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; bonus2 bAddRace,RC_Beast,20; } },{},{}
 //===================================================================
 // New Axes
 //===================================================================
@@ -12314,6 +12725,7 @@
 28107,Two_Handed_Axe_of_Vicious_Mind,Two Handed Axe of Vicious Mind,5,20,,2500,250,,1,1,0x000444A2,63,2,34,4,160,1,7,{ bonus bAtk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon; },{},{}
 28110,Unity_Two-Handed_Axe,Unity Two-Handed Axe,5,20,,1000,190,,1,1,0x000444A2,63,2,34,3,1,1,7,{ bonus bBaseAtk,pow(getrefine(),2)*125/100; },{},{}
 28116,Mine_Worker's_Pickaxe,Mine Worker's Pickaxe,5,10,,4000,300,,1,2,0x00000400,56,2,34,3,100,1,7,{ bonus bUnbreakableWeapon; autobonus "{ bonus bCritical,20; }",5,7000,BF_SHORT,"{ specialeffect2 EF_ENCHANCE; }"; .@r = getrefine(); if (.@r>=9) { bonus bCritAtkRate,15; } else if (.@r>=7) { bonus bCritAtkRate,5; } },{},{}
+28130,Avenger_,Avenger,5,,,6000,270,,1,2,0x00000400,56,2,2,4,100,1,6,{ .@r = getrefine(); if (.@r>=2) { bonus bAtk,.@r/2*10; } if (.@r>=3) { bonus2 bSkillAtk,"NC_AXETORNADO",.@r/3*10; } if (.@r>=9) { bonus2 bSkillAtk,"NC_AXEBOOMERANG",40; } if (.@r>=11) { bonus2 bAddSize,Size_All,15; } },{},{}
 28136,Blasti-OS,Blasti-OS,5,20,,4500,400,,1,2,0x00000400,56,2,34,4,130,1,7,{ .@r = getrefine(); .@red = 10; bonus bUnbreakableWeapon; if (.@r >= 7) { .@red += 15; if (.@r >= 9) { bonus bLongAtkRate,15; if (.@r >= 11) { bonus bDelayrate,-10; } } } bonus2 bSubSize,Size_Medium,.@red; bonus2 bSubSize,Size_Large,.@red; },{},{}
 //===================================================================
 // New Guns
@@ -12400,6 +12812,7 @@
 28434,Fist_Fighter_Glove,Fist Fighter's Glove,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bStr,2; bonus bMaxSP,100; bonus2 bAddClass,Class_All,2; skill "MO_ABSORBSPIRITS",1; if (readparam(bStr)>99) bonus2 bAddClass,Class_All,5; },{},{}
 28437,Hibram's_Gloves,Hibram's Gloves,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ skill "AL_HEAL",3; bonus bInt,2; bonus bMatkRate,2; bonus bUseSPrate,-5; if (readparam(bInt)>=110) bonus bMatkRate,5; },{},{}
 28438,Fairy_Leaf_Powder,Fairy Leaf Powder,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bDex,2; bonus bDelayrate,-5; bonus bLongAtkRate,2; skill "SM_MAGNUM",3; if (readparam(bDex)>=100) bonus bLongAtkRate,5; },{},{}
+28439,Sea_Otter_Mini_Fan,Sea Otter Mini Fan,4,,,100,,0,,1,0xFFFFFFFF,63,2,136,,,0,,{ bonus bAllStats,1; bonus2 bExpAddClass,Class_All,5; },{},{}
 28441,Vigilante_Badge,Vigilante Badge,4,0,,200,,0,,0,0x00020000,56,2,136,,100,0,0,{ bonus bFlee,10; bonus bLongAtkRate,5; },{},{}
 28442,Hippie_Feather,Hippie Feather,4,0,,200,,0,,1,0x00080000,56,2,136,,100,0,0,{ bonus bHit,5; bonus bFlee,5; },{},{}
 28443,Para_Team_Str_Ring100,Awakened Eden Group Ring of Strength I,4,0,,0,,0,,0,0xFFFFFFFF,63,2,136,,100,,,{ bonus2 bAddClass,Class_All,2; },{},{}
@@ -12477,7 +12890,8 @@
 28619,Prisoner_Diary,Prisoner's Diary,5,20,,800,210,,1,2,0x00410100,63,2,2,3,175,1,15,{ .@r = getrefine(); bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus bBaseAtk,20*(.@r/2); if (.@r>=9) .@val = 25; else if (.@r>=7) .@val = 10; if (.@r>=11) { bonus2 bAddEle,Ele_Dark,15; bonus2 bMagicAddEle,Ele_Dark,15; bonus2 bAddEle,Ele_Undead,15; bonus2 bMagicAddEle,Ele_Undead,15; } bonus2 bAddRace,RC_Demon,.@val; bonus2 bAddRace,RC_Undead,.@val; bonus2 bMagicAddRace,RC_Demon,.@val; bonus2 bMagicAddRace,RC_Undead,.@val; },{},{}
 28626,Illusion_Tablet,Illusion Tablet,5,0,,800,170,,1,2,0x00410100,63,2,2,4,100,1,15,{ .@val = 10 + 10*(min(getrefine(),10)/3); bonus2 bAddEle,Ele_Dark,.@val; bonus2 bAddEle,Ele_Undead,.@val; bonus2 bAddEle,Ele_Poison,.@val; bonus2 bAddEle,Ele_Ghost,.@val; bonus2 bSubDefEle,Ele_Dark,-30; },{},{}
 28629,Circuit_Board-OS,Circuit Board-OS,5,20,,1200,180,,1,2,0x00410100,63,2,2,4,130,1,15,{ .@r = getrefine(); bonus2 bAddClass,Class_All,3; if (.@r >= 7) { bonus bAspdRate,7; if (.@r >= 9) { bonus2 bAddSize,Size_Small,20; bonus2 bAddSize,Size_Medium,20; if (.@r >= 11) { bonus bCritAtkRate,20; } } } },{},{}
-// 28631,Thousand_Sun,Thousand Sun,5,20,,900,160,,1,2,0x00000000,63,2,2,4,100,1,15,{ .@r = getrefine(); bonus bBaseAtk,10*(.@r/2); bonus bMaxSPrate,2*(.@r/3); if (.@r >= 7) { bonus2 bSkillAtk,"SJ_PROMINENCEKICK",15; if (.@r >= 9) { bonus bAspdRate,10; if (.@r >= 11) { bonus2 bSkillAtk,"SJ_SOLARBURST",20; } } } },{},{}
+28630,Exoricists_Bible_,Exoricist's Bible,5,,,500,165:160,0,1,2,0x00000100,56,2,2,4,100,1,15,{ .@r = getrefine(); if (.@r>=2) { bonus bMatk,.@r/2*10; } if (.@r>=3) { bonus2 bSkillAtk,"AB_DUPLELIGHT",.@r/3*25; } if (.@r>=9) { bonus bAspdRate,10; } if (.@r>=11) { bonus2 bSkillAtk,"AB_DUPLELIGHT",30; } },{},{}
+28631,Thousand_Sun,Thousand Sun,5,,,900,160,0,1,2,0x00400000,56,2,2,4,100,1,15,{.@r = getrefine(); if (.@r>=2) { bonus bAtk,.@r/2*10; } if (.@r>=3) { bonus bMaxSPrate,.@r/3*2; } if (.@r>=9) { bonus2 bSkillAtk,"SJ_PROMINENCEKICK",15; } if (.@r>=11) { bonus2 bSkillAtk,"SJ_SOLARBURST",20; } },{},{}
 //===================================================================
 // More daggers
 //===================================================================
@@ -12490,6 +12904,7 @@
 28717,Valkyrie_Knife,Valkyrie Knife,5,50,,100,50:50,,1,4,0x228F5EEF,63,2,2,4,70,1,1,{ .@r = getrefine(); .@b = readparam(bDex)/10; if (.@r>7) { .@c = .@r-7; if (BaseClass==Job_Novice||BaseJob==Job_Mage) { bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; } } if (BaseClass==Job_Novice) { bonus bMaxHP,300+(200*.@c); bonus bMaxSP,300+(20*.@c); bonus bBaseAtk,100; bonus bMatk,150+(15*.@c); bonus bUseSPrate,-5; bonus bUnbreakableWeapon; bonus bInt,2*.@c; bonus bDex,(2*.@c)-(.@c*.@b); bonus bCritical,7*.@c; bonus bAspdRate,10*.@c; bonus bCritAtkRate,1*.@c; } if (BaseClass==Job_Thief) { bonus bMaxSP,100; bonus bMatk,150; bonus bCritAtkRate,.@r; } if (BaseClass==Job_Mage && .@c) { bonus bMaxHP,200*.@c; bonus bMaxSP,20*.@c; } if (BaseJob==Job_Hunter) { bonus bMaxHP,200; bonus bUseSPrate,-5; bonus bInt,2*.@r; bonus bDex,2*.@r; } if (BaseJob==Job_Bard||BaseJob==Job_Dancer) { bonus bBaseAtk,100; bonus bAspdRate,10*.@r; bonus bUnbreakableWeapon; bonus bDex,-1*(.@c*.@b); } },{},{}
 28721,Monokage,Monokage,5,10,,800,100,,1,2,0x20000000,63,2,2,3,100,1,1,{ .@r = getrefine(); bonus2 bSkillAtk,"KO_BAKURETSU",getskilllv("NJ_TOBIDOUGU"); if (.@r>=9) { bonus bLongAtkRate,5; } else if (.@r>=7) { bonus bLongAtkRate,2; } },{},{}
 28725,Illusion_Moonlight_Dagger,Illusion Moonlight Dagger,5,20,,700,150,,1,1,0x028F5EEE,63,2,2,4,99,1,1,{ bonus bMaxSPrate,10; .@val = 3; if (getrefine() >= 10) { .@val += 4; } bonus bSPDrainValue,.@val; },{},{}
+28744,Madogum,Madogum,5,,,800,150:150,0,1,2,0x00020000,56,2,2,4,100,1,1,{.@r = getrefine(); if (.@r>=2) { bonus bMatk,.@r/2*10; } if (.@r>=3) { bonus bAspdRate,.@r/3*2; } if (.@r>=9) { bonus2 bMagicAddEle,Ele_All,10; } if (.@r>=11) { bonus5 bAutoSpell,"SO_PSYCHIC_WAVE",3,50,BF_WEAPON|BF_SHORT,1; } },{},{}
 28745,Illusion_Counter_Dagger,Illusion Counter Dagger,5,0,,900,170,,1,2,0x00810204,63,2,2,4,120,0,1,{ .@r = getrefine(); bonus bCritical,90; bonus bCritAtkRate,(3*(.@r/2)); if (.@r >= 7) { bonus2 bAddClass,Class_All,5; if (.@r >= 9) { bonus2 bAddSize,Size_All,20; if (.@r >= 11) { bonus2 bAddEle,Ele_All,20; } } } },{},{}
 28755,Kuroiro-OS,Kuroiro-OS,5,20,,900,150:150,,1,2,0x22000000,63,2,2,4,130,1,1,{ .@r = getrefine(); .@dmg = 5; if (.@r >= 7) { .@dmg += 10; if (.@r >= 9) { bonus2 bSkillAtk,"KO_HAPPOKUNAI",20; if (.@r >= 11) { bonus2 bAddRace,RC_Demon,10; bonus2 bMagicAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; bonus2 bMagicAddRace,RC_Undead,10; } } } bonus2 bAddEle,Ele_Undead,.@dmg; bonus2 bMagicAddEle,Ele_Undead,.@dmg; bonus2 bAddEle,Ele_Dark,.@dmg; bonus2 bMagicAddEle,Ele_Dark,.@dmg; },{},{}
 28762,Illusion_Bazerald,Illusion Bazerald,5,20,,500,120:170,,1,2,0x228F5EEE,63,2,2,4,120,1,1,{ bonus bAtkEle,Ele_Fire; bonus bInt,5; .@r = getrefine(); bonus bMatkRate,(.@r/2); if (.@r >= 7) { bonus2 bMagicAtkEle,Ele_Fire,10; if (.@r >= 9) { bonus2 bSkillAtk,"MG_FIREBOLT",40; bonus2 bSkillAtk,"MG_FIREBALL",40; if (.@r >= 11) { bonus2 bSkillAtk,"WZ_METEOR",30; bonus2 bSkillAtk,"WL_CRIMSONROCK",30; } } } },{},{}
@@ -12518,6 +12933,9 @@
 28922,Illusion_Sacred_Mission,Illusion Sacred Mission,4,0,,1600,,190,,1,0x00004000,56,2,32,,120,1,4,{ bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield; bonus2 bSkillAtk,"LG_EARTHDRIVE",(7*getrefine()); },{},{}
 28929,Happy_Shield,Happy Shield,4,10,,3500,,150,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus bMdef,10; },{},{}
 28941,Excelion_Shield,Excelion Shield,4,20,,1200,,95,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ .@r = getrefine(); bonus bMdef,5; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus bBaseAtk,30*(.@r/3); bonus bMatk,30*(.@r/3); if (readparam(Baselevel>=130)) { bonus bMaxHPrate,5; bonus bMaxSPrate,5; } },{},{}
+28942,Bloody_Knight_Shield,Cursed Knight's Shield,4,,,800,,0,,1,0xFFFFFFFF,63,2,32,,1,1,,{ bonus bAspdRate,10; bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; bonus2 bSubEle,Ele_All,7; autobonus2 "{ bonus2 bSPRegenRate,25,1000; }",50,5000; autobonus "{ bonus2 bHPRegenRate,150,1000; }",50,5000; .@r = getrefine(); if (.@r>=7) { bonus bAtk,10; bonus bMatk,10; } if (.@r>=9) { bonus bAspd,1; } if (.@r>=12) { bonus bDelayrate,-3; } },{},{}
+28945,Bloody_Knight_Shield_,Bloody Knight's Shield,4,,,800,,0,,1,0xFFFFFFFF,63,2,32,,1,1,,{ bonus bAspdRate,10; bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; bonus2 bSubEle,Ele_All,7; autobonus2 "{ bonus2 bSPRegenRate,25,1000; }",50,5000; autobonus "{ bonus2 bHPRegenRate,150,1000; }",50,5000; .@r = getrefine(); if (.@r>=7) { bonus bAtk,10; bonus bMatk,10; } if (.@r>=9) { bonus bAspd,1; } if (.@r>=12) { bonus bDelayrate,-3; } },{},{}
+28946,Bloody_Knight_Shield__,Purified Knight's Shield,4,,,800,,0,,1,0xFFFFFFFF,63,2,32,,1,1,,{ bonus bAspdRate,10; bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus2 bSubEle,Ele_All,10; autobonus2 "{ bonus2 bSPRegenRate,50,1000; }",50,5000; autobonus "{ bonus2 bHPRegenRate,300,1000; }",50,5000; .@r = getrefine(); if (.@r>=7) { bonus bAtk,20; bonus bMatk,20; } if (.@r>=9) { bonus bAspd,2; } if (.@r>=12) { bonus bDelayrate,-5; } },{},{}
 28951,Nero_Shield,Nero Shield,4,20,,500,,80,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ .@r = getrefine(); bonus bUnbreakableShield; bonus bMdef,5; bonus2 bSubEle,Ele_Water,10; bonus2 bAddEle,Ele_Water,5; bonus2 bMagicAddEle,Ele_Water,5; if (.@r>=6) { bonus2 bSubEle,Ele_Water,15; bonus2 bAddEle,Ele_Water,10; bonus2 bMagicAddEle,Ele_Water,10; } if (.@r>=8) { if (readparam(bStr)>=90) bonus bBaseAtk,50; if (readparam(bAgi)>=90) bonus bAspdRate,5; if (readparam(bInt)>=90) bonus bMatk,30; if (readparam(bVit)>=90) bonus bAddItemHealRate,10; if (readparam(bDex)>=90) bonus bVariableCastrate,-5; if (readparam(bLuk)>=90) bonus bCritAtkRate,5; } },{},{}
 28955,Fotia_Shield,Fotia Shield,4,20,,1000,,120,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ .@r = getrefine(); bonus bUnbreakableShield; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Fire,5; if (.@r>=6) { bonus2 bSubEle,Ele_Fire,15; bonus2 bAddEle,Ele_Fire,10; bonus2 bMagicAddEle,Ele_Fire,10; } if (.@r>=8) { if (readparam(bStr)>=90) bonus bBaseAtk,50; if (readparam(bAgi)>=90) bonus bAspdRate,5; if (readparam(bInt)>=90) bonus bMatk,30; if (readparam(bVit)>=90) bonus bAddItemHealRate,10; if (readparam(bDex)>=90) bonus bVariableCastrate,-5; if (readparam(bLuk)>=90) bonus bCritAtkRate,5; } },{},{}
 //===================================================================
@@ -13121,10 +13539,17 @@
 31610,C_Yellow_Wizardry_Hat,C Yellow Wizardry Hat,4,0,,,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,286,{},{},{}
 31611,C_Snake_Lord_Stole,C Snake Lord Stole,4,0,,,,0,,0,0xFFFFFFFF,63,2,4096,,1,0,1810,{},{},{}
 31612,C_Large_Sorcerer_Crown,C Large Sorcerer Crown,4,0,,,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,1811,{},{},{}
+31614,C_Fox,Costume Fox,4,,,0,,0,,0,0xFFFFFFFF,63,2,2048,,,,1812,{},{},{}
+31616,C_Counting_Sheep,Costume Counting Sheep,4,,,0,,0,,0,0xFFFFFFFF,63,2,4096,,,,1814,{},{},{}
+31624,C_Cat_Heart,Costume Cat Heart,4,,,0,,0,,0,0xFFFFFFFF,63,2,1024,,,,1822,{},{},{}
+31625,C_Protect_Cloth,Coostume Protect Cloth,4,,,0,,0,,0,0xFFFFFFFF,63,2,4096,,,,1761,{},{},{}
+31693,C_Lunatic_Muffler,Costume Lunatic Muffler,4,,,0,,0,,0,0xFFFFFFFF,63,2,4196,,,,1732,{},{},{}
+31699,C_Smiling_Eyes,Costume Smiling Eyes,4,,,0,,0,,0,0xFFFFFFFF,63,2,2048,,,,1880,{},{},{}
 //
 32005,Illusion_Pole_Axe,Illusion Pole Axe,5,0,,1500,190,,3,2,0x00004082,63,2,2,4,120,1,4,{ .@r = getrefine(); bonus bStr,3; bonus bInt,2; bonus bDex,2; if (.@r >= 13) { .@val = -2000; } else if (.@r >= 9) { .@val = -1000; } bonus2 bSkillCooldown,"RK_HUNDREDSPEAR",.@val; },{},{}
 32013,Metal_Stick,Metal Stick,5,0,0,2000,180,,3,3,0x00004080,56,2,2,4,150,1,4,{ .@r = getrefine(); bonus2 bSkillAtk,"LG_CANNONSPEAR",10; if(.@r > 6){ bonus2 bSkillAtk,"LG_OVERBRAND",10 + (.@r > 8 ? 15 : 0); } if(.@r > 11){ bonus bDelayrate,-15; } },{},{}
 32014,Brute_Spear,Brute Spear,5,0,0,,150,,3,0,0x00004080,56,2,2,4,100,1,4,{ .@r = getrefine(); bonus bUnbreakableWeapon; bonus2 bIgnoreDefRaceRate,RC_All,5*.@r; bonus2 bAddRace,RC_Player,80 + (.@r > 8 ? 20 : 0) + (.@r > 7 ? 35 : 0); if(.@r > 9){ bonus bMaxHPrate,15; bonus bMaxSPrate,15; } },{},{}
+32018,Aquatic_Spear_,Aquatic Spear,5,,,1200,180,,3,2,0x00004000,56,2,34,4,100,1,3,{ .@r = getrefine(); if (.@r>=2) { bonus bAtk,.@r/2*10; } if (.@r>=3) { bonus bLongAtkRate,.@r/3*4; } if (.@r>=9) { bonus bAspdRate,10; } if (.@r>=11) { bonus2 bSkillAtk,"LG_CANNONSPEAR",20; bonus2 bSkillAtk,"LG_BANISHINGPOINT",20; } },{},{}
 32019,Boost_Lance-OS,Boost Lance-OS,5,20,,1000,190,,3,2,0x00004000,56,2,2,4,130,1,4,{ .@r = getrefine(); .@aspd = 3; if (.@r >= 7) { .@aspd += 7; if (.@r >= 9) { .@dmg = 20; if (.@r >= 11) { .@dmg += 15; } bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@dmg; } } bonus bAspdRate,.@aspd; },{},{}
 //
 32203,Accelerator_Chip,Accelerator Chip,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus bAspdRate,5; /* Combo with Riot Chip not implemented yet. */ },{},{}
@@ -13154,3 +13579,92 @@
 //===================================================================
 32301,Illusion_Gold_Lux,Illusion Gold Lux,5,20,,1800,160,,7,2,0x41000000,63,2,34,4,120,1,17,{ .@r = getrefine(); bonus bHit,10; bonus bLongAtkRate,3*(.@r/2); if (.@r >= 7) { bonus2 bSkillAtk,"GS_DESPERADO",40; if (.@r >= 9) { bonus2 bSkillCooldown,"RL_HEAT_BARREL",-2000; if (.@r >= 11) { bonus2 bSkillAtk,"RL_FIREDANCE",30; } } } },{},{}
 32302,Crimson_Rose,Crimson Rose,5,20,,700,150,,7,2,0x40000000,63,2,34,4,100,1,17,{ .@r = getrefine(); bonus bBaseAtk,10*(.@r/2); bonus bAspdRate,3*(.@r/3); if (.@r >= 7) { bonus bAspd,1; bonus2 bAddClass,Class_All,5; if (.@r >= 9) { bonus bCritAtkRate,20; if (.@r >= 11) { autobonus3 "{ bonus bCritical,20; bonus bLongAtkRate,15; }",1000,60000,"RL_HEAT_BARREL"; } } } },{},{}
+
+//===================================================================
+// INT32 Item IDs
+//===================================================================
+//100000,IDTest_Special,IDTest Special,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 100000; },{},{}
+//100003,ILL_Piece_A,Red Phantom Resonance Stone,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 100003; },{},{}
+//100004,ILL_Piece_B,Azure Mirage Resonance Stone,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 100004; },{},{}
+//100010,ShadowPerfectSize_Mix,Perfect Size Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 100010; },{},{}
+//100011,ShadowMagicPiercing_Mix,Magic Piercing Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 100011; },{},{}
+//100019,Costume_Enchant_Stone_Box18,Costume Enchant Stone Box18,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box18);*/ },{},{}
+//100023,Ancient_Hero_Bravery,Ancient Hero Bravery,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 100023; },{},{}
+//100025,Ancient_Hero_Wisdom,Ancient Hero Wisdom,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 100025; },{},{}
+//100043,Boost_Up_1,Booster Armor UpgradeBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 100043; },{},{}
+//100044,Boost_Up_2,Booster Weapon UpgradeBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ upgradeui 100044; },{},{}
+//100052,Costume_Enchant_Stone_Box19,Costume Enchant Stone Box19,18,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*getgroupitem(IG_Costume_Enchant_Stone_Box19);*/ },{},{}
+//100053,ShadowPiercing_Mix,Piercing Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 100053; },{},{}
+//100058,ShadowHasty_Mix,Hasty Shadow SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 100058; },{},{}
+//100060,EnchantStone_Recipe_4m,4m Enchant Stone Recipe SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 100060; },{},{}
+//
+//450001,Attacker_Booster_Plate_,Attacker Booster Plate,4,,,0,,120,,1,0xFFFFFFFF,63,2,16,,100,1,,{ bonus bAtk,100; bonus bDelayrate,-5; .@r = getrefine(); if (.@r>=2) { bonus2 bAddClass,Class_All,.@r/2; } if (.@r>=3) { bonus bCritAtkRate,.@r/3; } if (.@r>=7) { bonus bAtk,50; } if (.@r>=9) { bonus bDelayrate,-5; } },{},{}
+//450002,Elemental_Booster_Robe_,Elemental Booster Robe,4,,,0,,80,,1,0xFFFFFFFF,63,2,16,,100,1,,{ bonus bMatk,100; bonus bVariableCastrate,-5; .@r = getrefine(); if (.@r>=2) { bonus bMatkRate,.@r/2; } if (.@r>=3) { bonus bVariableCastrate,.@r/3*-1; } if (.@r>=7) { bonus bMatk,50; } if (.@r>=9) { bonus bVariableCastrate,-5; } },{},{}
+//450003,Defender_Booster_Robe_,Defender Booster Robe,4,,,0,,90,,1,0xFFFFFFFF,63,2,16,,100,1,,{ bonus bMatk,100; bonus bVariableCastrate,-5; .@r = getrefine(); if (.@r>=2) { bonus bMatkRate,.@r/2; } if (.@r>=3) { bonus bVariableCastrate,.@r/3*-1; } if (.@r>=7) { bonus bMatk,50; } if (.@r>=9) { bonus bVariableCastrate,-5; } },{},{}
+//450004,Ranger_Booster_Suits_,Ranger Booster Suits,4,,,0,,100,,1,0xFFFFFFFF,56,2,16,,100,1,,{ bonus bAtk,100; bonus bDelayrate,-5; .@r = getrefine(); if (.@r>=2) { bonus bAspdRate,.@r/2; } if (.@r>=3) { bonus bLongAtkRate,.@r/3; } if (.@r>=7) { bonus bAtk,50; } if (.@r>=9) { bonus bDelayrate,-5; } },{},{}
+//
+//470000,Attacker_Booster_Greaves_,Attacker Booster Greaves,4,,,0,,20,,1,0xFFFFFFFF,63,2,64,,100,1,,{ bonus bAtk,20; bonus bFlee,20; .@r = getrefine(); if (.@r>=3) { bonus bMaxHPrate,.@r/3; } if (.@r>=7) { bonus bMaxHPrate,5; } if (.@r>=9) { bonus bFixedCast,-500; } },{},{}
+//470001,Elemental_Booster_Shoes_,Elemental Booster Shoes,4,,,0,,15,,1,0xFFFFFFFF,63,2,64,,100,1,,{ bonus bMatk,20; bonus bFlee,20; .@r = getrefine(); if (.@r>=3) { bonus bMaxHP,.@r/3*400; } if (.@r>=7) { bonus bMaxHP,1800; } if (.@r>=9) { bonus bFixedCast,-500; } },{},{}
+//470002,Defender_Booster_Shoes_,Defender Booster Shoes,4,,,0,,18,,1,0xFFFFFFFF,63,2,64,,100,1,,{ bonus bMatk,20; bonus bFlee,20; .@r = getrefine(); if (.@r>=3) { bonus bMaxHP,.@r/3*400; } if (.@r>=7) { bonus bMaxHP,1800; } if (.@r>=9) { bonus bFixedCast,-500; } },{},{}
+//470003,Ranger_Booster_Boots_,Ranger Booster Boots,4,,,0,,18,,1,0xFFFFFFFF,63,2,64,,100,1,,{ bonus bAtk,20; bonus bHit,15; .@r = getrefine(); if (.@r>=3) { bonus bMaxSP,.@r/3*50; } if (.@r>=7) { bonus bMaxSP,300; } if (.@r>=9) { bonus bFixedCast,-500; } },{},{}
+//
+//480000,Attacker_Booster_Manteau_,Attacker Booster Manteau,4,,,0,,30,,1,0xFFFFFFFF,63,2,4,,100,1,,{ bonus bAspdRate,5; .@r = getrefine(); if (.@r>=3) { bonus bCritical,.@r/3*2; } if (.@r>=7) { bonus bCritAtkRate,5; } if (.@r>=9) { bonus bDelayrate,-10; } },{},{}
+//480001,Elemental_Booster_Muffler_,Elemental Booster Muffler,4,,,0,,20,,1,0xFFFFFFFF,63,2,4,,100,1,,{ bonus bVariableCastrate,-5; .@r = getrefine(); if (.@r>=3) { bonus bMatk,.@r/3*4; } if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Fire,5; bonus2 bMagicAtkEle,Ele_Wind,5; bonus2 bMagicAtkEle,Ele_Water,5; bonus2 bMagicAtkEle,Ele_Ground,5; bonus2 bMagicAtkEle,Ele_Neutral,5; } if (.@r>=9) { bonus bDelayrate,-10; } },{},{}
+//480002,Defender_Booster_Muffler_,Defender Booster Muffler,4,,,0,,25,,1,0xFFFFFFFF,63,2,4,,100,1,,{ bonus bVariableCastrate,-5; .@r = getrefine(); if (.@r>=3) { bonus bMatk,.@r/3*4; } if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Undead,5; bonus2 bMagicAtkEle,Ele_Poison,5; bonus2 bMagicAtkEle,Ele_Dark,5; bonus2 bMagicAtkEle,Ele_Ghost,5; bonus2 bMagicAtkEle,Ele_Holy,5; } if (.@r>=9) { bonus bDelayrate,-10; } },{},{}
+//480003,Ranger_Booster_Manteau_,Ranger Booster Manteau,4,,,0,,30,,1,0xFFFFFFFF,63,2,4,,100,1,,{ bonus bVariableCastrate,-5; .@r = getrefine(); if (.@r>=3) { bonus bAtk,.@r/3*2; } if (.@r>=7) { bonus bLongAtkRate,5; } if (.@r>=9) { bonus bDelayrate,-10; } },{},{}
+//490004,Attacker_Booster_Ring,Attacker Booster Ring,4,,,0,,0,,1,0xFFFFFFFF,63,2,136,,100,,,{ bonus bAspdRate,10; bonus bVariableCastrate,-10; bonus bMaxHPrate,3; bonus bCritAtkRate,5; },{},{}
+//490005,Elemental_Booster_Earring,Elemental Booster Earrings,4,,,0,,0,,1,0xFFFFFFFF,63,2,136,,100,,,{ bonus bAspdRate,10; bonus bVariableCastrate,-10; bonus bMaxSPrate,3; bonus2 bMagicAtkEle,Ele_Fire,5; bonus2 bMagicAtkEle,Ele_Wind,5; bonus2 bMagicAtkEle,Ele_Water,5; bonus2 bMagicAtkEle,Ele_Ground,5; bonus2 bMagicAtkEle,Ele_Neutral,5; },{},{}
+//490006,Defender_Booster_Earring,Defender Booster Earrings,4,,,0,,0,,1,0xFFFFFFFF,63,2,136,,100,,,{ bonus bAspdRate,10; bonus bVariableCastrate,-10; bonus bMaxSPrate,3; bonus2 bMagicAtkEle,Ele_Undead,5; bonus2 bMagicAtkEle,Ele_Poison,5; bonus2 bMagicAtkEle,Ele_Dark,5; bonus2 bMagicAtkEle,Ele_Ghost,5; bonus2 bMagicAtkEle,Ele_Holy,5; },{},{}
+//490007,Range_Booster_Brooch,Range Booster Brooches,4,,,0,,0,,1,0xFFFFFFFF,63,2,136,,100,,,{ bonus bAspdRate,10; bonus bVariableCastrate,-10; bonus bMaxHPrate,3; bonus bLongAtkRate,2; },{},{}
+//
+//500001,Booster_Sword_,Booster Sword,5,,,0,160,,1,2,0x00040000,56,2,2,4,100,1,1,{ bonus2 bAddClass,Class_All,2; bonus bVariableCastrate,-3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) bonus bVariableCastrate,-1*getskilllv("AM_LEARNINGPOTION"); if (.@r>=9) bonus bLongAtkRate,10; },{},{}
+//500003,Light_Blade_,Light Blade,5,,,1000,130:170,,1,2,0x00004000,56,2,2,4,100,1,1,{ .@r = getrefine(); if (.@r>=2) { bonus bMatk,.@r/2*10; } if (.@r>=3) { bonus2 bSkillAtk,"LG_RAYOFGENESIS",.@r/3*5; } if (.@r>=9) { bonus bVariableCastrate,-10; } if (.@r>=11) { bonus2 bMagicAtkEle,Ele_Holy,15; } },{},{}
+//500004,Slate_Sword_,Slate Sword,5,,,1000,190,,1,2,0x00040000,56,2,2,4,100,1,1,{ .@r = getrefine(); if (.@r>=2) { bonus bAtk,.@r/2*10; } if (.@r>=3) { bonus2 bSkillAtk,"GN_CART_TORNADO",.@r/3*10; } if (.@r>=9) { bonus2 bSkillAtk,"GN_CART_TORNADO",20; } if (.@r>=11) { bonus bDelayrate,-10; } },{},{}
+//
+//510001,Booster_Dagger_,Booster Dagger,5,,,0,150:160,,1,2,0x00020000,56,2,2,4,100,1,1,{ bonus2 bMagicAtkEle,Ele_Fire,15; bonus2 bAddClass,Class_All,3; .@r = getrefine(); if (.@r) { bonus bAtk,.@r*2; bonus bMatk,.@r*2; } .@i = min(BaseLevel,180)/15*3; bonus bAtk,.@i; bonus bMatk,.@i; if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Fire,getskilllv("RG_PLAGIARISM"); } if (.@r>=9) { bonus2 bAddSize,Size_All,10; bonus2 bMagicAddSize,Size_All,10; } },{},{}
+//510002,Booster_Nindo_,Booster Nindo,5,,,0,150:160,,1,2,0x20000000,63,2,2,4,100,1,1,{ bonus2 bMagicAtkEle,Ele_Fire,3; bonus2 bMagicAtkEle,Ele_Wind,3; bonus2 bMagicAtkEle,Ele_Water,3; bonus2 bAddClass,Class_All,3; .@r = getrefine(); if (.@r) { bonus bAtk,.@r*2; bonus bMatk,.@r*2; } .@i = min(BaseLevel,180)/15*3; bonus bAtk,.@i; bonus bMatk,.@i; if (.@r>=7) { bonus bVariableCastrate,-1*getskilllv("NJ_NINPOU"); } if (.@r>=9) { bonus2 bAddSize,Size_All,10; bonus2 bMagicAddSize,Size_All,10; } },{},{}
+//
+//520000,Booster_Axe_,Booster Axe,5,,,0,200,,1,2,0x00000400,56,2,34,4,100,1,5,{ bonus bUnbreakableWeapon; bonus2 bAddClass,Class_All,5; .@r = getrefine(); bonus bAtk,.@r*3; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) bonus bAtk,getskilllv("BS_WEAPONRESEARCH")*3; if (.@r>=9) bonus2 bAddSize,Size_All,15; },{},{}
+//
+//530000,Booster_Spear_,Booster Spear,5,,,0,160:160,,3,2,0x00004080,56,2,34,4,100,1,3,{ bonus bMatkRate,3; bonus2 bAddClass,Class_All,3; .@r = getrefine(); if (.@r) { bonus bAtk,.@r*2; bonus bMatk,.@r*2; } .@i = min(BaseLevel,180)/15*3; bonus bAtk,.@i; bonus bMatk,.@i; if (.@r>=7) { bonus bMatkRate,getskilllv("CR_TRUST"); } if (.@r>=9) { bonus bLongAtkRate,10; } },{},{}
+//
+//540000,Booster_Spellbook_,Booster Spellbook,5,,,0,165:165,,1,2,0x00010000,56,2,2,4,100,1,15,{ bonus bMatkRate,2; bonus2 bMagicAddEle,Ele_Neutral,3; .@r = getrefine(); bonus bMatk,.@r; bonus bMatk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bMatkRate,getskilllv("PF_HPCONVERSION"); } if (.@r>=9) { bonus2 bAddSize,Size_All,10; } },{},{}
+//540001,Booster_Book_,Booster Book,5,,,0,160,,1,2,0x00400000,56,2,2,4,100,1,15,{ bonus2 bAddClass,Class_All,3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bAspdRate,getskilllv("TK_RUN"); } if (.@r>=9) { bonus2 bAddClass,Class_All,10; } },{},{}
+//
+//550001,Booster_Rod_,Booster Rod,5,,,700,120:170,,1,2,0x00800000,56,2,2,4,100,1,10,{ bonus bUnbreakableWeapon; bonus bMatkRate,2; bonus2 bMagicAtkEle,Ele_Dark,3; .@r = getrefine(); bonus bMatk,.@r*3; bonus bMatk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Dark,getskilllv("TK_RUN"); } if (.@r>=9) { bonus2 bMagicAddSize,Size_All,10; } },{},{}
+//550002,Booster_Foxtail_,Booster Foxtail,5,,,700,250:260,,1,2,0x80000000,63,2,2,4,100,1,10,{ bonus bUnbreakableWeapon; .@r = getrefine(); bonus bAtk,.@r*2; bonus bMatk,.@r*2; .@i = min(BaseLevel,180)/15*3; bonus bAtk,.@i; bonus bMatk,.@i; if (.@r>=7) { bonus bVariableCastrate,getskilllv("SU_NYANGGRASS")*-2; bonus bLongAtkRate,getskilllv("SU_SVG_SPIRIT")*2; } if (.@r>=9) { bonus2 bAddSize,Size_All,10; bonus2 bMagicAddSize,Size_All,10; } },{},{}
+//
+//560000,Booster_Knuckles_,Booster Knuckles,5,,,0,150,,1,2,0x00008000,56,2,2,4,100,1,12,{ bonus bMaxHPrate,3; bonus2 bAddClass,Class_All,3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bMaxHPrate,getskilllv("MO_EXPLOSIONSPIRITS")*2; } if (.@r>=9) { bonus2 bAddClass,Class_All,10; } },{},{}
+//
+//570000,Booster_Guitar_,Booster Guitar,5,,,0,150:160,,1,2,0x00080000,56,1,2,4,100,1,13,{ bonus2 bMagicAtkEle,Ele_Neutral,3; bonus2 bAddClass,Class_All,3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bMatk,.@r*3; .@i = min(BaseLevel,180)/15*3; bonus bAtk,.@i; bonus bMatk,.@i; if (.@r>=7) { bonus bVariableCastrate,getskilllv("BA_MUSICALLESSON")*-1; } if (.@r>=9) { bonus2 bAddClass,Class_All,10; } },{},{}
+//570002,Trumpet_Shell_,Trumpet Shell,5,,,700,160:190,,1,2,0x00080000,56,1,2,4,100,1,13,{ .@r = getrefine(); if (.@r>=2) { bonus bMatk,.@r/2*10; } if (.@r>=3) { bonus2 bMagicAtkEle,Ele_Neutral,.@r/3*4; } if (.@r>=9) { bonus2 bSkillAtk,"WM_REVERBERATION",10; bonus2 bSkillAtk,"WM_METALICSOUND",10; } if (.@r>=11) { bonus2 bSkillFixedCast,"WM_REVERBERATION",-5000; } },{},{}
+//
+//580000,Booster_Whip_,Booster Whip,5,,,0,150:160,,1,2,0x00080000,56,0,2,4,100,1,14,{ bonus2 bMagicAtkEle,Ele_Neutral,3; bonus2 bAddClass,Class_All,3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bMatk,.@r*3; .@i = min(BaseLevel,180)/15*3; bonus bAtk,.@i; bonus bMatk,.@i; if (.@r>=7) { bonus bVariableCastrate,getskilllv("DC_DANCINGLESSON")*-1; } if (.@r>=9) { bonus2 bAddClass,Class_All,10; bonus2 bMagicAddClass,Class_All,10; } },{},{}
+//580002,Barbed_Wire_Whip_,Barbed Wire Whip,5,,,700,160:190,,1,2,0x00080000,56,0,2,4,100,1,14,{ .@r = getrefine(); if (.@r>=2) { bonus bMatk,.@r/2*10; } if (.@r>=3) { bonus2 bMagicAtkEle,Ele_Neutral,.@r/3*4; } if (.@r>=9) { bonus2 bSkillAtk,"WM_REVERBERATION",10; bonus2 bSkillAtk,"WM_METALICSOUND",10; } if (.@r>=11) { bonus2 bSkillFixedCast,"WM_REVERBERATION",-5000; } },{},{}
+//
+//590000,Booster_Mace_,Booster Mace,5,,,0,160:160,,1,2,0x00000100,56,2,56,4,100,1,7,{ bonus bUnbreakableWeapon; bonus2 bMagicAtkEle,Ele_Neutral,3; bonus2 bAddClass,Class_All,3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bMatk,.@r*3; .@i = min(BaseLevel,180)/15*3; bonus bAtk,.@i; bonus bMatk,.@i; if (.@r>=7) { bonus bMatkRate,getskilllv("HP_MEDITATIO"); } if (.@r>=9) { bonus2 bAddClass,Class_All,10; bonus2 bMagicAddClass,Class_All,10; } },{},{}
+//590002,Meteor_Striker_,Meteor Striker,5,,,3000,300,,1,2,0x00000400,56,2,34,4,,,7,{ .@r = getrefine(); if (.@r>=2) { bonus bAtk,.@r/2*10; } if (.@r>=3) { bonus2 bSkillAtk,"NC_VULCANARM",.@r/3*10; } if (.@r>=9) { bonus2 bSkillAtk,"NC_VULCANARM",10; bonus2 bSkillAtk,"NC_ARMSCANNON",10; } if (.@r>=11) { bonus bVariableCastrate,-15; } },{},{}
+//
+//600001,Booster_Twohanded_sword_,Booster Two-handed Sword,5,,,0,250,,1,2,0x00000080,56,2,34,4,100,1,2,{ bonus bCritical,10; bonus bMaxHPrate,3; .@r = getrefine(); bonus bAtk,.@r; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bAspdRate,getskilllv("KN_TWOHANDQUICKEN"); } if (.@r>=9) { bonus bCritAtkRate,10; } },{},{}
+//600004,Dragonic_Slayer_,Dragonic Slayer,5,,,1000,180,,1,2,0x00000080,56,2,34,4,,,2,{ .@r = getrefine(); if (.@r>=2) { bonus bMaxHPrate,.@r/2*3; bonus bMaxSPrate,.@r/2*3; } if (.@r>=3) { bonus2 bSkillAtk,"RK_DRAGONBREATH",.@r/3*5; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",.@r/3*5; } if (.@r>=9) { bonus bDelayrate,-10; } if (.@r>=11) { bonus2 bAddClass,Class_All,10; } },{},{}
+//
+//610000,Booster_Katar_,Booster Katar,5,,,0,150,,1,2,0x00001000,56,2,34,4,100,1,16,{ bonus2 bAddClass,Class_All,2; bonus bCritAtkRate,3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bCritAtkRate,getskilllv("AS_KATAR"); } if (.@r>=9) { bonus2 bAddClass,Class_All,10; } },{},{}
+//
+//640000,Booster_Staff_,Booster Staff,5,,,0,100:200,,1,2,0x00000200,56,2,2,4,100,1,10,{ bonus bUnbreakableWeapon; bonus bMatkRate,2; bonus2 bMagicAtkEle,Ele_Fire,3; .@r = getrefine(); bonus bMatk,.@r*3; bonus bMatk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bMatkRate,getskilllv("HW_MAGICPOWER"); } if (.@r>=9) { bonus2 bMagicAtkEle,Ele_Fire,10; bonus2 bMagicAtkEle,Ele_Wind,10; bonus2 bMagicAtkEle,Ele_Water,10; } },{},{}
+//
+//700001,Booster_Bow_,Booster Bow,5,,,0,160,,5,2,0x00000800,56,2,34,4,100,1,11,{ bonus bCritical,10; bonus bMaxHPrate,3; .@r = getrefine(); bonus bAtk,.@r*3; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bAspdRate,getskilllv("SN_WINDWALK"); } if (.@r>=9) { bonus bLongAtkRate,10; } },{},{}
+//
+//830000,Booster_Gatling_,Booster Gatling,5,,,0,170,,9,2,0x40000000,63,2,34,4,100,1,19,{ bonus2 bAddClass,Class_All,5; .@r = getrefine(); bonus bAtk,.@r*3; bonus bAtk,min(BaseLevel,180)/15*3; if (.@r>=7) { bonus bLongAtkRate,getskilllv("GS_SINGLEACTION"); } if (.@r>=9) { bonus bLongAtkRate,10; } },{},{}
+//
+//1000008,Sniper_Stone_II_Top,Sniper Stone II (Top),6,,,100,,,,,,,,,,,,,{ bonus bAspdRate,getskilllv("SN_WINDWALK")/2; },{},{}
+//1000009,Sniper_Stone_II_Middle,Sniper Stone II (Middle),6,,,100,,,,,,,,,,,,,{ bonus bLongAtkRate,getskilllv("HT_BEASTBANE")*2; },{},{}
+//1000010,Sniper_Stone_II_Bottom,Sniper Stone II (Bottom),6,,,100,,,,,,,,,,,,,{ bonus bAtk,getskilllv("SN_SIGHT")*2;},{},{}
+//1000011,Ranger_Stone_II_Garment,Ranger Stone II (Garment),6,,,100,,,,,,,,,,,,,{ bonus2 bSkillAtk,"RA_AIMEDBOLT",15; },{},{}
+//1000012,Mastersmith_Stone_II_Top,Mastersmith Stone II (Top),6,,,100,,,,,,,,,,,,,{ bonus2 bSkillCooldown,"NC_AXEBOOMERANG",getskilllv("BS_OVERTHRUST")*-100; },{},{}
+//1000013,Mastersmith_Stone_II_Middle,Mastersmith Stone II (Middle),6,,,100,,,,,,,,,,,,,{ bonus2 bSkillAtk,"WS_CARTTERMINATION",15; },{},{}
+//1000014,Mastersmith_Stone_II_Bottom,Mastersmith Stone II (Bottom),6,,,100,,,,,,,,,,,,,{ bonus bLongAtkRate,getskilllv("BS_MAXIMIZE"); },{},{}
+//1000015,Mechanic_Stone_II_Garment,Mechanic Stone II (Garment),6,,,100,,,,,,,,,,,,,{ bonus2 bSkillAtk,"NC_ARMSCANNON",15; },{},{}
+//1000016,High_Priest_Stone_II_Top,High Priest Stone II (Top),6,,,100,,,,,,,,,,,,,{ bonus2 bSkillAtk,"PR_MAGNUS",15; },{},{}
+//1000017,High_Priest_Stone_II_Middle,High Priest Stone II (Middle),6,,,100,,,,,,,,,,,,,{ bonus bMatkRate,getskilllv("HP_ASSUMPTIO"); },{},{}
+//1000018,High_Priest_Stone_II_Bottom,High Priest Stone II (Bottom),6,,,100,,,,,,,,,,,,,{ bonus bVariableCastrate,getskilllv("PR_KYRIE")/2*-1; },{},{}
+//1000019,Archbishop_Stone_II_Garment,Archbishop Stone II (Garment),6,,,100,,,,,,,,,,,,,{ bonus2 bSkillAtk,"AB_JUDEX",15; },{},{}

+ 1060 - 0
db/re/item_package.txt

@@ -4675,3 +4675,1063 @@ IG_Santa_Gift,14586,500,5,1,0,0,0	// 5x Spark_Candy
 IG_Santa_Gift,12350,500,5,1,0,0,0	// 5x Angeling_Potion
 IG_Santa_Gift,12710,500,5,1,0,0,0	// 5x Guyak_Pudding
 IG_Santa_Gift,12259,500,2,1,0,0,0	// 2x Miracle_Medicine
+
+IG_Bs_Sha_M_S_1,24038,1,1,1,0,0,0 // 바이탈 슈즈 쉐도우
+IG_Bs_Sha_M_S_1,24044,1,1,1,0,0,0 // 바이탈 쉴드 쉐도우
+IG_Bs_Sha_M_S_1,24041,1,1,1,0,0,0 // 파워 펜던트 쉐도우
+IG_Bs_Sha_M_S_1,24035,1,1,1,0,0,0 // 파워 이어링 쉐도우
+IG_Bs_Sha_M_S_1,24036,1,1,1,0,0,0 // 인트 펜던트 쉐도우
+IG_Bs_Sha_M_S_1,24042,1,1,1,0,0,0 // 인트 이어링 쉐도우
+IG_Bs_Sha_M_S_1,24043,1,1,1,0,0,0 // 덱스터러스 웨폰 쉐도우
+IG_Bs_Sha_M_S_1,24037,1,1,1,0,0,0 // 덱스터러스 아머 쉐도우
+IG_Bs_Sha_M_S_1,24045,1,1,1,0,0,0 // 어틀레틱 슈즈 쉐도우
+IG_Bs_Sha_M_S_1,24039,1,1,1,0,0,0 // 어틀레틱 쉴드 쉐도우
+IG_Bs_Sha_M_S_1,24034,1,1,1,0,0,0 // 럭키 웨폰 쉐도우
+IG_Bs_Sha_M_S_1,24040,1,1,1,0,0,0 // 럭키 아머 쉐도우
+
+IG_Bs_Sha_M_S_17,24365,1,1,1,0,0,0 // 엘레강트 펜던트 쉐도우
+IG_Bs_Sha_M_S_17,24364,1,1,1,0,0,0 // 엘레강트 이어링 쉐도우
+IG_Bs_Sha_M_S_17,24363,1,1,1,0,0,0 // 엘레강트 웨폰 쉐도우
+
+IG_Bs_Sha_M_S_18,24362,1,1,1,0,0,0 // 텐션 펜던트 쉐도우
+IG_Bs_Sha_M_S_18,24361,1,1,1,0,0,0 // 텐션 이어링 쉐도우
+IG_Bs_Sha_M_S_18,24360,1,1,1,0,0,0 // 텐션 웨폰 쉐도우
+
+IG_Bs_Sha_M_S_19,24369,1,1,1,0,0,0 // 리스토어 펜던트 쉐도우
+IG_Bs_Sha_M_S_19,24368,1,1,1,0,0,0 // 리스토어 이어링 쉐도우
+
+IG_Bs_Sha_M_S_20,24366,1,1,1,0,0,0 // 힐링 쉴드 쉐도우
+IG_Bs_Sha_M_S_20,24367,1,1,1,0,0,0 // 힐링 슈즈 쉐도우
+IG_Bs_Sha_M_S_20,24033,1,1,1,0,0,0 // 힐링 웨폰 쉐도우
+
+IG_Bs_Item_M_S_12,20844,1,1,1,0,0,0 // 사탕 주머니 가방(마법)
+IG_Bs_Item_M_S_12,20843,1,1,1,0,0,0 // 사탕 주머니 가방(원거리)
+IG_Bs_Item_M_S_12,20842,1,1,1,0,0,0 // 사탕 주머니 가방(물리)
+
+IG_Bs_Item_M_S_15,19267,1,1,1,0,0,0 // 서바이벌 오브
+IG_Bs_Item_M_S_15,19266,1,1,1,0,0,0 // 서바이벌 서클릿
+
+IG_Bs_Sha_M_S_5,24112,1,1,1,0,0,0 // 스펠플로우 아머 쉐도우
+IG_Bs_Sha_M_S_5,24111,1,1,1,0,0,0 // 스펠플로우 슈즈 쉐도우
+IG_Bs_Sha_M_S_5,24113,1,1,1,0,0,0 // 스펠플로우 쉴드 쉐도우
+IG_Bs_Sha_M_S_5,24110,1,1,1,0,0,0 // 캐스터 웨폰 쉐도우
+IG_Bs_Sha_M_S_5,24048,1,1,1,0,0,0 // 캐스터 펜던트 쉐도우
+IG_Bs_Sha_M_S_5,24109,1,1,1,0,0,0 // 캐스터 이어링 쉐도우
+IG_Bs_Sha_M_S_5,24242,1,1,1,0,0,0 // 캐스터 아머 쉐도우
+IG_Bs_Sha_M_S_5,24240,1,1,1,0,0,0 // 캐스터 슈즈 쉐도우
+IG_Bs_Sha_M_S_5,24241,1,1,1,0,0,0 // 캐스터 쉴드 쉐도우
+
+IG_Bs_Sha_M_S_6,24072,1,1,1,0,0,0 // 빅 아머 쉐도우
+IG_Bs_Sha_M_S_6,24073,1,1,1,0,0,0 // 미디움 아머 쉐도우
+IG_Bs_Sha_M_S_6,24074,1,1,1,0,0,0 // 스몰 아머 쉐도우
+IG_Bs_Sha_M_S_6,24075,1,1,1,0,0,0 // 빅 웨폰 쉐도우
+IG_Bs_Sha_M_S_6,24076,1,1,1,0,0,0 // 미디움 웨폰 쉐도우
+IG_Bs_Sha_M_S_6,24077,1,1,1,0,0,0 // 스몰 웨폰 쉐도우
+IG_Bs_Sha_M_S_6,24235,1,1,1,0,0,0 // 타이탄 펜던트 쉐도우
+IG_Bs_Sha_M_S_6,24234,1,1,1,0,0,0 // 타이탄 이어링 쉐도우
+IG_Bs_Sha_M_S_6,24237,1,1,1,0,0,0 // 보운드 펜던트 쉐도우
+IG_Bs_Sha_M_S_6,24236,1,1,1,0,0,0 // 보운드 이어링 쉐도우
+IG_Bs_Sha_M_S_6,24239,1,1,1,0,0,0 // 기간틱 펜던트 쉐도우
+IG_Bs_Sha_M_S_6,24238,1,1,1,0,0,0 // 기간틱 이어링 쉐도우
+
+IG_Bs_Sha_M_S_7,24056,1,1,1,0,0,0 // 호머즈 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24055,1,1,1,0,0,0 // 가간츄어 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24053,1,1,1,0,0,0 // 세이프가드 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24054,1,1,1,0,0,0 // 브루털 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24052,1,1,1,0,0,0 // 크레이니얼 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24057,1,1,1,0,0,0 // 드라군 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24058,1,1,1,0,0,0 // 사타닉 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24059,1,1,1,0,0,0 // 프레임가드 쉴드쉐도우
+IG_Bs_Sha_M_S_7,24060,1,1,1,0,0,0 // 레퀴엠 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24061,1,1,1,0,0,0 // 카디 쉴드 쉐도우
+IG_Bs_Sha_M_S_7,24071,1,1,1,0,0,0 // 드라군 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24064,1,1,1,0,0,0 // 케미컬 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24068,1,1,1,0,0,0 // 세라핌 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24069,1,1,1,0,0,0 // 비홀더 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24070,1,1,1,0,0,0 // 디바인 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24062,1,1,1,0,0,0 // 블러디 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24063,1,1,1,0,0,0 // 리버레이션 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24065,1,1,1,0,0,0 // 클래머러스 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24066,1,1,1,0,0,0 // 인섹티사이드 슈즈 쉐도우
+IG_Bs_Sha_M_S_7,24067,1,1,1,0,0,0 // 피셔 슈즈 쉐도우
+
+IG_Bs_Sha_M_S_8,24090,1,1,1,0,0,0 // 스테빌리티 쉴드 쉐도우
+IG_Bs_Sha_M_S_8,24091,1,1,1,0,0,0 // 플라스터러즈 아머 쉐도우
+IG_Bs_Sha_M_S_8,24092,1,1,1,0,0,0 // 플라스터러즈 슈즈 쉐도우
+IG_Bs_Sha_M_S_8,24093,1,1,1,0,0,0 // 인솜니악 아머 쉐도우
+IG_Bs_Sha_M_S_8,24094,1,1,1,0,0,0 // 인솜니악 슈즈 쉐도우
+IG_Bs_Sha_M_S_8,24095,1,1,1,0,0,0 // 피어리스 아머 쉐도우
+IG_Bs_Sha_M_S_8,24096,1,1,1,0,0,0 // 피어리스 슈즈 쉐도우
+IG_Bs_Sha_M_S_8,24097,1,1,1,0,0,0 // 애듀레이트 아머 쉐도우
+IG_Bs_Sha_M_S_8,24098,1,1,1,0,0,0 // 애듀레이트 슈즈 쉐도우
+IG_Bs_Sha_M_S_8,24099,1,1,1,0,0,0 // 언프리징 웨폰 쉐도우
+IG_Bs_Sha_M_S_8,24100,1,1,1,0,0,0 // 언프리징 이어링 쉐도우
+IG_Bs_Sha_M_S_8,24101,1,1,1,0,0,0 // 언프리징 펜던트 쉐도우
+IG_Bs_Sha_M_S_8,24104,1,1,1,0,0,0 // 뉴트럴 웨폰 쉐도우
+IG_Bs_Sha_M_S_8,24105,1,1,1,0,0,0 // 뉴트럴 이어링 쉐도우
+IG_Bs_Sha_M_S_8,24106,1,1,1,0,0,0 // 뉴트럴 펜던트 쉐도우
+IG_Bs_Sha_M_S_8,24107,1,1,1,0,0,0 // 언커즈 이어링 쉐도우
+IG_Bs_Sha_M_S_8,24108,1,1,1,0,0,0 // 언커즈 펜던트 쉐도우
+IG_Bs_Sha_M_S_8,24102,1,1,1,0,0,0 // 바이탈리티 이어링 쉐도우
+IG_Bs_Sha_M_S_8,24103,1,1,1,0,0,0 // 바이탈리티 펜던트 쉐도우
+
+IG_Bs_Sha_M_S_13,24031,1,1,1,0,0,0 // 킹버드 웨폰 쉐도우
+IG_Bs_Sha_M_S_13,24032,1,1,1,0,0,0 // 크리히트 웨폰 쉐도우
+IG_Bs_Sha_M_S_13,24033,1,1,1,0,0,0 // 힐링 웨폰 쉐도우
+IG_Bs_Sha_M_S_13,24029,1,1,1,0,0,0 // 에이션트 아머 쉐도우
+IG_Bs_Sha_M_S_13,24030,1,1,1,0,0,0 // 크리티컬 아머 쉐도우
+IG_Bs_Sha_M_S_13,24027,1,1,1,0,0,0 // 이뮨드 아머 쉐도우
+IG_Bs_Sha_M_S_13,24028,1,1,1,0,0,0 // 하드 아머 쉐도우
+IG_Bs_Sha_M_S_13,24049,1,1,1,0,0,0 // 하드 이어링 쉐도우
+IG_Bs_Sha_M_S_13,24026,1,1,1,0,0,0 // 아테나쉴드 쉐도우
+IG_Bs_Sha_M_S_13,24080,1,1,1,0,0,0 // 스피리츄얼 펜던트 쉐도우
+IG_Bs_Sha_M_S_13,24079,1,1,1,0,0,0 // 스피리츄얼 이어링 쉐도우
+IG_Bs_Sha_M_S_13,24078,1,1,1,0,0,0 // 스피리츄얼 웨폰 쉐도우
+IG_Bs_Sha_M_S_13,24051,1,1,1,0,0,0 // 아테나 이어링 쉐도우
+IG_Bs_Sha_M_S_13,24046,1,1,1,0,0,0 // 레지스트 스펠파워 펜던트 쉐도우
+IG_Bs_Sha_M_S_13,24155,1,1,1,0,0,0 // 임모털 펜던트 쉐도우
+IG_Bs_Sha_M_S_13,24383,1,1,1,0,0,0 // 임모털 웨폰 쉐도우
+IG_Bs_Sha_M_S_13,24152,1,1,1,0,0,0 // 솔리드 웨폰 쉐도우
+IG_Bs_Sha_M_S_13,24153,1,1,1,0,0,0 // 솔리드 이어링 쉐도우
+IG_Bs_Sha_M_S_13,24047,1,1,1,0,0,0 // 래피드 펜던트 쉐도우
+IG_Bs_Sha_M_S_13,24050,1,1,1,0,0,0 // 와이즈 이어링 쉐도우
+IG_Bs_Sha_M_S_13,24024,1,1,1,0,0,0 // 브리즈 아머 쉐도우
+IG_Bs_Sha_M_S_13,24025,1,1,1,0,0,0 // 챔피언 슈즈 쉐도우
+IG_Bs_Sha_M_S_13,24081,1,1,1,0,0,0 // 매리셔스 아머 쉐도우
+IG_Bs_Sha_M_S_13,24082,1,1,1,0,0,0 // 매리셔스 슈즈 쉐도우
+IG_Bs_Sha_M_S_13,24083,1,1,1,0,0,0 // 매리셔스 쉴드 쉐도우
+
+IG_Bs_Sha_M_S_15,24018,1,1,1,0,0,0 // 피지컬 이어링 쉐도우
+IG_Bs_Sha_M_S_15,24019,1,1,1,0,0,0 // 피지컬 웨폰 쉐도우
+IG_Bs_Sha_M_S_15,24020,1,1,1,0,0,0 // 피지컬 펜던트 쉐도우
+
+IG_Bs_Sha_M_S_16,24021,1,1,1,0,0,0 // 매지컬 이어링 쉐도우
+IG_Bs_Sha_M_S_16,24022,1,1,1,0,0,0 // 매지컬 웨폰 쉐도우
+IG_Bs_Sha_M_S_16,24023,1,1,1,0,0,0 // 매지컬 펜던트 쉐도우
+
+IG_Bs_Sha_M_S_23,24210,1,1,1,0,0,0 // 비기너 슈즈 쉐도우
+IG_Bs_Sha_M_S_23,24211,1,1,1,0,0,0 // 비기너 쉴드 쉐도우
+IG_Bs_Sha_M_S_23,24212,1,1,1,0,0,0 // 루키 슈즈 쉐도우
+IG_Bs_Sha_M_S_23,24213,1,1,1,0,0,0 // 루키 쉴드 쉐도우
+IG_Bs_Sha_M_S_23,24214,1,1,1,0,0,0 // 어드벤스드 슈즈 쉐도우
+IG_Bs_Sha_M_S_23,24215,1,1,1,0,0,0 // 어드벤스드 쉴드 쉐도우
+IG_Bs_Sha_M_S_23,24209,1,1,1,0,0,0 // 익스퍼트 쉴드 쉐도우
+IG_Bs_Sha_M_S_23,24210,1,1,1,0,0,0 // 익스퍼트 슈즈 쉐도우
+
+IG_Bs_Item_M_S_5,28901,1,1,1,0,0,0 // 저주받은 매드바니
+IG_Bs_Item_M_S_5,28902,1,1,1,0,0,0 // 매드바니
+
+IG_Bs_Sha_M_S_9,24084,1,1,1,0,0,0 // 젬스톤 아머 쉐도우
+IG_Bs_Sha_M_S_9,24086,1,1,1,0,0,0 // 젬스톤 쉴드 쉐도우
+IG_Bs_Sha_M_S_9,24087,1,1,1,0,0,0 // 젬스톤 웨폰 쉐도우
+IG_Bs_Sha_M_S_9,24085,1,1,1,0,0,0 // 젬스톤 슈즈 쉐도우
+IG_Bs_Sha_M_S_9,24088,1,1,1,0,0,0 // 젬스톤 이어링 쉐도우
+IG_Bs_Sha_M_S_9,24089,1,1,1,0,0,0 // 젬스톤 펜던트 쉐도우
+
+IG_Bs_Sha_M_S_10,24180,1,1,1,0,0,0 // 베어러즈 아머 쉐도우
+IG_Bs_Sha_M_S_10,24182,1,1,1,0,0,0 // 베어러즈 쉴드 쉐도우
+IG_Bs_Sha_M_S_10,24183,1,1,1,0,0,0 // 베어러즈 웨폰 쉐도우
+IG_Bs_Sha_M_S_10,24181,1,1,1,0,0,0 // 베어러즈 슈즈 쉐도우
+IG_Bs_Sha_M_S_10,24184,1,1,1,0,0,0 // 베어러즈 이어링 쉐도우
+IG_Bs_Sha_M_S_10,24185,1,1,1,0,0,0 // 베어러즈 펜던트 쉐도우
+
+IG_IG_Bs_Sha_M_S_11,24197,1,1,1,0,0,0 // 헤이스티 아머 쉐도우
+IG_IG_Bs_Sha_M_S_11,24196,1,1,1,0,0,0 // 헤이스티 슈즈 쉐도우
+
+IG_Bs_Sha_M_S_21,24030,1,1,1,0,0,0 // 크리티컬 아머 쉐도우
+IG_Bs_Sha_M_S_21,24333,1,1,1,0,0,0 // 크리티컬 슈즈 쉐도우
+IG_Bs_Sha_M_S_21,24332,1,1,1,0,0,0 // 크리티컬 쉴드 쉐도우
+
+IG_Bs_Sha_M_S_20,24371,1,1,1,0,0,0 // 모탈 블로우 이어링 쉐도우
+IG_Bs_Sha_M_S_20,24372,1,1,1,0,0,0 // 모탈 블로우 펜던트 쉐도우
+IG_Bs_Sha_M_S_20,24370,1,1,1,0,0,0 // 모탈 블로우 웨폰 쉐도우
+
+IG_Bs_Sha_M_S_3,24373,1,1,1,0,0,0 // 페니트레이션 슈즈 쉐도우
+IG_Bs_Sha_M_S_3,24374,1,1,1,0,0,0 // 페니트레이션 쉴드 쉐도우
+IG_Bs_Sha_M_S_3,24375,1,1,1,0,0,0 // 액서큐서너 홀리워터 아머 쉐도우
+IG_Bs_Sha_M_S_3,24376,1,1,1,0,0,0 // 엑소시스트 커럽트 아머 쉐도우
+IG_Bs_Sha_M_S_3,24377,1,1,1,0,0,0 // 바이브레이션 드래곤킬러 아머 쉐도우
+IG_Bs_Sha_M_S_3,24378,1,1,1,0,0,0 // 시저스 헌팅 아머 쉐도우
+IG_Bs_Sha_M_S_3,24379,1,1,1,0,0,0 // 피싱 인섹트 넷 아머 쉐도우
+IG_Bs_Sha_M_S_3,24166,1,1,1,0,0,0 // 페니트레이션 이어링 쉐도우
+IG_Bs_Sha_M_S_3,24167,1,1,1,0,0,0 // 페니트레이션 펜던트 쉐도우
+IG_Bs_Sha_M_S_3,24156,1,1,1,0,0,0 // 액서큐서너 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24157,1,1,1,0,0,0 // 엑소시스트 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24158,1,1,1,0,0,0 // 헌팅 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24159,1,1,1,0,0,0 // 인섹트 넷 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24160,1,1,1,0,0,0 // 피싱 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24161,1,1,1,0,0,0 // 드래곤 킬러 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24162,1,1,1,0,0,0 // 커럽트 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24163,1,1,1,0,0,0 // 바이브레이션 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24164,1,1,1,0,0,0 // 홀리 워터 웨폰 쉐도우
+IG_Bs_Sha_M_S_3,24165,1,1,1,0,0,0 // 시저스 웨폰 쉐도우
+
+IG_Bs_Sha_M_S_4,24346,1,1,1,0,0,0 // 템페스트 슈즈 쉐도우
+IG_Bs_Sha_M_S_4,24345,1,1,1,0,0,0 // 템페스트 쉴드 쉐도우
+IG_Bs_Sha_M_S_4,24347,1,1,1,0,0,0 // 매직 액서큐서너 홀리워터 아머 쉐도우
+IG_Bs_Sha_M_S_4,24348,1,1,1,0,0,0 // 매직 엑소시스트 커럽트 아머 쉐도우
+IG_Bs_Sha_M_S_4,24349,1,1,1,0,0,0 // 매직 바이브레이션 드래곤킬러 아머 쉐도우
+IG_Bs_Sha_M_S_4,24350,1,1,1,0,0,0 // 매직 시저스 헌팅 아머 쉐도우
+IG_Bs_Sha_M_S_4,24351,1,1,1,0,0,0 // 매직 피싱 인섹트 넷 아머 쉐도우
+IG_Bs_Sha_M_S_4,24168,1,1,1,0,0,0 // 템페스트 이어링 쉐도우
+IG_Bs_Sha_M_S_4,24169,1,1,1,0,0,0 // 템페스트 펜던트 쉐도우
+IG_Bs_Sha_M_S_4,24170,1,1,1,0,0,0 // 매직 액서큐서너 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24171,1,1,1,0,0,0 // 매직 엑소시스트 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24172,1,1,1,0,0,0 // 매직 헌팅 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24173,1,1,1,0,0,0 // 매직 인섹트 넷 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24174,1,1,1,0,0,0 // 매직 피싱 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24175,1,1,1,0,0,0 // 매직 드래곤 킬러 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24176,1,1,1,0,0,0 // 매직 커럽트 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24177,1,1,1,0,0,0 // 매직 바이브레이션 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24178,1,1,1,0,0,0 // 매직 홀리 워터 웨폰 쉐도우
+IG_Bs_Sha_M_S_4,24179,1,1,1,0,0,0 // 매직 시저스 웨폰 쉐도우
+
+IG_Bs_Sha_M_S_12,24344,1,1,1,0,0,0 // 블리츠 아머 쉐도우
+IG_Bs_Sha_M_S_12,24343,1,1,1,0,0,0 // 블리츠 웨폰 쉐도우
+IG_Bs_Sha_M_S_12,24232,1,1,1,0,0,0 // 블리츠 쉴드 쉐도우
+IG_Bs_Sha_M_S_12,24231,1,1,1,0,0,0 // 블리츠 슈즈 쉐도우
+IG_Bs_Sha_M_S_12,24218,1,1,1,0,0,0 // 블리츠 펜던트 쉐도우
+IG_Bs_Sha_M_S_12,24217,1,1,1,0,0,0 // 블리츠 이어링 쉐도우
+
+IG_Bs_Sha_M_S_14,24245,1,1,1,0,0,0 // 리로드 아머 쉐도우
+IG_Bs_Sha_M_S_14,24243,1,1,1,0,0,0 // 리로드 슈즈 쉐도우
+IG_Bs_Sha_M_S_14,24244,1,1,1,0,0,0 // 리로드 쉴드 쉐도우
+
+IG_Bs_Sha_M_S_24,24224,1,1,1,0,0,0 // 포스 웨폰 쉐도우
+IG_Bs_Sha_M_S_24,24225,1,1,1,0,0,0 // 포스 이어링 쉐도우
+IG_Bs_Sha_M_S_24,24226,1,1,1,0,0,0 // 포스 펜던트 쉐도우
+IG_Bs_Sha_M_S_24,24223,1,1,1,0,0,0 // 인핸스 포스 웨폰 쉐도우
+IG_Bs_Sha_M_S_24,24228,1,1,1,0,0,0 // 스피릿 웨폰
+IG_Bs_Sha_M_S_24,24229,1,1,1,0,0,0 // 스피릿 이어링 쉐도우
+IG_Bs_Sha_M_S_24,24230,1,1,1,0,0,0 // 스피릿 펜던트 쉐도우
+IG_Bs_Sha_M_S_24,24227,1,1,1,0,0,0 // 인핸스 스피릿 웨폰 쉐도우
+
+IG_Bs_Sha_M_S_25,24151,1,1,1,0,0,0 // 인피니티 펜던트 쉐도우
+IG_Bs_Sha_M_S_25,24150,1,1,1,0,0,0 // 인피니티 이어링 쉐도우
+
+IG_PhysicalMagical_Mix,24395,1,1,1,0,0,0 // 피지컬 아머 쉐도우
+IG_PhysicalMagical_Mix,24393,1,1,1,0,0,0 // 피지컬 슈즈 쉐도우
+IG_PhysicalMagical_Mix,24394,1,1,1,0,0,0 // 피지컬 쉴드 쉐도우
+IG_PhysicalMagical_Mix,24398,1,1,1,0,0,0 // 매지컬 아머 쉐도우
+IG_PhysicalMagical_Mix,24396,1,1,1,0,0,0 // 매지컬 슈즈 쉐도우
+IG_PhysicalMagical_Mix,24397,1,1,1,0,0,0 // 매지컬 쉴드 쉐도우
+
+IG_Silver_Statue,28945,1,1,1,0,0,0 // 피빛의 기사의 방패
+IG_Silver_Statue,28946,1,1,1,0,0,0 // 정화된 기사의 방패
+
+IG_Stability_Shadow_Box,24352,1,1,1,0,0,0 // S_Plasterer's_Armor_II
+IG_Stability_Shadow_Box,24353,1,1,1,0,0,0 // S_Insomniac_Shoes_II
+IG_Stability_Shadow_Box,24354,1,1,1,0,0,0 // S_Peerless_Armor_II
+IG_Stability_Shadow_Box,24355,1,1,1,0,0,0 // S_Adulate_Shoes_II
+IG_Stability_Shadow_Box,24356,1,1,1,0,0,0 // S_Unfreezing_Weapon_II
+IG_Stability_Shadow_Box,24357,1,1,1,0,0,0 // S_Vitality_Earring_II
+IG_Stability_Shadow_Box,24358,1,1,1,0,0,0 // S_Neutral_Weapon_II
+IG_Stability_Shadow_Box,24359,1,1,1,0,0,0 // S_Uncursed_Pendant_II
+
+IG_Race_Shadow_Box,24341,1,1,1,0,0,0 // 올 레이스 슈즈 쉐도우
+IG_Race_Shadow_Box,24342,1,1,1,0,0,0 // 올 레이스 쉴드 쉐도우
+
+IG_Bearers_S_Conversion_Box,24337,1,1,1,0,0,0 // 베어러즈 아머 쉐도우 II
+IG_Bearers_S_Conversion_Box,24338,1,1,1,0,0,0 // 베어러즈 슈즈 쉐도우 II
+
+IG_Gemstone_S_Conversion_Box,24335,1,1,1,0,0,0 // 젬스톤 웨폰 쉐도우 II
+IG_Gemstone_S_Conversion_Box,24336,1,1,1,0,0,0 // 젬스톤 쉴드 쉐도우 II
+
+IG_Status_S_Conversion_Box,24339,1,1,1,0,0,0 // 올마이티 이어링 쉐도우
+IG_Status_S_Conversion_Box,24340,1,1,1,0,0,0 // 올마이티 펜던트 쉐도우
+
+// TODO: Need 'yellow' shadow equipment as seen on https://ro.gnjoy.com.tw/notice/notice_view.aspx?id=1154
+IG_Shadow_Exchange_Box,24018,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24019,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24020,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24021,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24022,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24023,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24024,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24025,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24026,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24027,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24028,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24029,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24030,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24031,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24032,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24033,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24034,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24035,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24036,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24037,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24038,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24039,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24040,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24041,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24042,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24043,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24044,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24045,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24046,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24047,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24048,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24049,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24050,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24051,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24052,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24053,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24054,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24055,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24056,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24057,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24058,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24059,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24060,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24061,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24062,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24063,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24064,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24065,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24066,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24067,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24068,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24069,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24070,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24071,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24072,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24073,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24074,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24075,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24076,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24077,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24078,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24079,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24080,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24081,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24082,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24083,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24084,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24085,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24086,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24087,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24088,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24089,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24090,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24091,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24092,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24093,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24094,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24095,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24096,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24097,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24098,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24099,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24100,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24101,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24102,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24103,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24104,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24105,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24106,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24107,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24108,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24109,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24110,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24111,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24112,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24113,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24114,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24115,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24116,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24117,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24118,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24119,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24120,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24121,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24122,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24123,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24124,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24125,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24126,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24127,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24128,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24129,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24130,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24131,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24132,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24133,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24134,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24135,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24136,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24137,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24138,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24139,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24140,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24141,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24142,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24143,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24144,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24145,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24146,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24147,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24148,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24149,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24150,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24151,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24152,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24153,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24154,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24155,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24156,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24157,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24158,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24159,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24160,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24161,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24162,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24163,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24164,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24165,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24166,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24167,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24168,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24169,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24170,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24171,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24172,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24173,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24174,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24175,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24176,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24177,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24178,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24179,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24180,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24181,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24182,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24183,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24184,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24185,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24186,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24187,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24188,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24189,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24190,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24191,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24192,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24193,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24194,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24195,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24196,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24197,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24198,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24199,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24200,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24201,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24202,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24203,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24204,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24205,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24206,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24207,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24208,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24209,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24210,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24211,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24212,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24213,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24214,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24215,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24216,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24217,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24218,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24219,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24220,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24221,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24222,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24223,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24224,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24225,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24226,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24227,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24228,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24229,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24230,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24231,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24232,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24233,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24234,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24235,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24236,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24237,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24238,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24239,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24240,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24241,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24242,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24243,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24244,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24245,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24246,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24247,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24248,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24249,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24250,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24251,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24252,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24253,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24254,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24255,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24256,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24257,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24258,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24259,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24260,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24261,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24262,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24263,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24264,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24265,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24266,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24267,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24268,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24269,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24270,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24271,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24272,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24273,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24274,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24275,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24276,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24277,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24278,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24279,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24280,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24281,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24282,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24283,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24284,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24285,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24286,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24287,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24288,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24289,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24290,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24291,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24292,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24293,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24294,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24295,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24296,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24297,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24298,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24299,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24300,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24301,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24302,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24303,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24304,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24305,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24306,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24307,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24308,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24309,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24310,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24311,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24312,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24313,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24314,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24315,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24316,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24317,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24318,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24319,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,28391,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,28392,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24320,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24321,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24322,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24323,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24324,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24325,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24326,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24327,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24332,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24333,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24334,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24335,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24336,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24337,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24338,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24339,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24340,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24345,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24346,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24347,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24348,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24349,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24350,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24351,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24352,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24353,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24354,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24355,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24356,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24357,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24358,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24359,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24360,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24361,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24362,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24363,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24364,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24365,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24366,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24367,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24368,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24369,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24370,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24371,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24372,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24373,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24374,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24375,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24376,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24377,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24378,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24379,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24380,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24381,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24382,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24383,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24384,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24385,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24386,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24393,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24394,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24395,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24396,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24397,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24398,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24399,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24400,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24401,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,15280,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24402,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24403,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24404,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24405,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24406,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24407,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24408,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24409,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24410,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24411,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24412,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24413,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24414,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24415,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24423,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24424,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24425,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24426,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24427,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24428,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24429,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24430,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24431,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24432,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24433,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24434,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24435,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24436,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24437,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24438,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24439,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24440,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24441,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24442,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24443,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24444,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24445,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24446,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24447,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24448,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24449,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24450,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24451,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24452,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24453,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24454,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24455,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24456,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24457,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24458,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24459,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24460,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24461,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24462,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24463,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24464,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24465,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24466,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24467,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24468,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24469,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24470,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24471,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24472,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24473,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24474,1,1,1,0,0,0
+IG_Shadow_Exchange_Box,24475,1,1,1,0,0,0
+
+//!TODO : as item directly or boxes?
+//http://www.inven.co.kr/board/ro/1951/4571
+IG_Costume_Enchant_Stone_Box,22826,1,1,1,0,0,0 // 의상 인챈트 스톤 상자4
+IG_Costume_Enchant_Stone_Box,22868,1,1,1,0,0,0 // 의상 인챈트 스톤 상자5
+IG_Costume_Enchant_Stone_Box,22905,1,1,1,0,0,0 // 의상 인챈트 스톤 상자6
+IG_Costume_Enchant_Stone_Box,22953,1,1,1,0,0,0 // 의상 인챈트 스톤 상자7
+IG_Costume_Enchant_Stone_Box,23001,1,1,1,0,0,0 // 의상 인챈트 스톤 상자8
+IG_Costume_Enchant_Stone_Box,23058,1,1,1,0,0,0 // 의상 인챈트 스톤 상자9
+IG_Costume_Enchant_Stone_Box,23086,1,1,1,0,0,0 // 의상 인챈트 스톤 상자10
+IG_Costume_Enchant_Stone_Box,23174,1,1,1,0,0,0 // 의상 인챈트 스톤 상자11
+IG_Costume_Enchant_Stone_Box,23299,1,1,1,0,0,0 // 의상 인챈트 스톤 상자12
+IG_Costume_Enchant_Stone_Box,23524,1,1,1,0,0,0 // 의상 인챈트 스톤 상자13
+IG_Costume_Enchant_Stone_Box,23629,1,1,1,0,0,0 // 의상 인챈트 스톤 상자14
+IG_Costume_Enchant_Stone_Box,23682,1,1,1,0,0,0 // 의상 인챈트 스톤 상자15
+IG_Costume_Enchant_Stone_Box,23770,1,1,1,0,0,0 // 의상 인챈트 스톤 상자16
+IG_Costume_Enchant_Stone_Box,9510,1,1,1,0,0,0 // 의상 인챈트 스톤 상자17
+//IG_Costume_Enchant_Stone_Box,100019,1,1,1,0,0,0 // 의상 인챈트 스톤 상자18
+//IG_Costume_Enchant_Stone_Box,100052,1,1,1,0,0,0 // 의상 인챈트 스톤 상자19
+
+IG_Piercing_Shadow_Box,24434,1,1,1,0,0,0 // 액서큐서너 홀리워터 웨폰 쉐도우
+IG_Piercing_Shadow_Box,24437,1,1,1,0,0,0 // 바이브레이션 드래곤킬러 웨폰 쉐도우
+IG_Piercing_Shadow_Box,24436,1,1,1,0,0,0 // 시저스 헌팅 웨폰 쉐도우
+IG_Piercing_Shadow_Box,24435,1,1,1,0,0,0 // 피싱 인섹트 웨폰 쉐도우
+IG_Piercing_Shadow_Box,24438,1,1,1,0,0,0 // 엑소시스트 커럽트 웨폰 쉐도우
+
+IG_EnchantStone_Recipe_4m,23524,1,1,1,0,0,0 // 의상 인챈트 스톤 상자13
+IG_EnchantStone_Recipe_4m,23629,1,1,1,0,0,0 // 의상 인챈트 스톤 상자14
+IG_EnchantStone_Recipe_4m,23682,1,1,1,0,0,0 // 의상 인챈트 스톤 상자15
+IG_EnchantStone_Recipe_4m,23770,1,1,1,0,0,0 // 의상 인챈트 스톤 상자16
+IG_EnchantStone_Recipe_4m,9510,1,1,1,0,0,0 // 의상 인챈트 스톤 상자17
+//IG_EnchantStone_Recipe_4m,100019,1,1,1,0,0,0 // 의상 인챈트 스톤 상자18
+//IG_EnchantStone_Recipe_4m,100052,1,1,1,0,0,0 // 의상 인챈트 스톤 상자19
+
+IG_EnchantStone_Recipe_9m,23524,1,1,1,0,0,0 // 의상 인챈트 스톤 상자13
+IG_EnchantStone_Recipe_9m,23629,1,1,1,0,0,0 // 의상 인챈트 스톤 상자14
+IG_EnchantStone_Recipe_9m,23682,1,1,1,0,0,0 // 의상 인챈트 스톤 상자15
+IG_EnchantStone_Recipe_9m,23770,1,1,1,0,0,0 // 의상 인챈트 스톤 상자16
+
+// http://ro.gnjoy.com/news/probability/View.asp?category=6&seq=3955672
+IG_Class_Shadow_Pendant,24250,1,1,1,0,0,0
+IG_Class_Shadow_Pendant,24251,1,1,1,0,0,0
+IG_Class_Shadow_Pendant,24252,1,1,1,0,0,0
+IG_Class_Shadow_Pendant,24253,1,1,1,0,0,0
+IG_Class_Shadow_Pendant,24254,1,1,1,0,0,0
+IG_Class_Shadow_Pendant,24255,1,1,1,0,0,0
+
+// http://ro.gnjoy.com/news/probability/View.asp?category=6&seq=3955674
+IG_Class_Shadow_Earring,24246,1,1,1,0,0,0
+IG_Class_Shadow_Earring,24247,1,1,1,0,0,0
+IG_Class_Shadow_Earring,24248,1,1,1,0,0,0
+IG_Class_Shadow_Earring,24249,1,1,1,0,0,0
+IG_Class_Shadow_Earring,28391,1,1,1,0,0,0
+IG_Class_Shadow_Earring,28392,1,1,1,0,0,0
+
+// http://ro.gnjoy.com/news/probability/View.asp?category=6&seq=3955671
+IG_Class_Shadow_Shield,24301,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24302,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24303,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24304,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24305,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24306,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24307,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24308,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24309,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24310,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24311,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24312,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24313,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24314,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24315,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24316,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24317,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24318,1,1,1,0,0,0
+IG_Class_Shadow_Shield,24319,1,1,1,0,0,0
+
+// http://ro.gnjoy.com/news/probability/View.asp?category=6&seq=3955669
+IG_Class_Shadow_Shoes,24256,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24257,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24258,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24259,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24260,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24261,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24262,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24263,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24264,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24265,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24266,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24267,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24268,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24405,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24406,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24407,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24409,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24411,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24413,1,1,1,0,0,0
+IG_Class_Shadow_Shoes,24415,1,1,1,0,0,0
+
+// http://ro.gnjoy.com/news/probability/View.asp?category=6&seq=3955664
+IG_Class_Shadow_Armor,24269,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24270,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24271,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24272,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24273,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24274,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24275,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24276,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24277,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24278,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24279,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24280,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24281,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24402,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24403,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24404,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24408,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24410,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24412,1,1,1,0,0,0
+IG_Class_Shadow_Armor,24414,1,1,1,0,0,0
+
+// http://ro.gnjoy.com/news/probability/View.asp?category=6&seq=3955662
+IG_Class_Shadow_Weapon,24282,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24283,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24284,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24285,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24286,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24287,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24288,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24289,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24290,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24291,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24292,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24293,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24294,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24295,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24296,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24297,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24298,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24299,1,1,1,0,0,0
+IG_Class_Shadow_Weapon,24300,1,1,1,0,0,0
+
+IG_Costume_Exchange_Box,19876,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19654,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19608,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19712,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20145,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19721,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20146,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19823,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20036,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20147,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20746,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19643,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20199,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20200,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20201,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20202,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20761,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20132,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20130,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20133,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20230,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20231,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20232,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20233,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20273,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20242,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20762,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20239,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20071,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19954,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19815,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20268,1,1,1,0,0,0
+IG_Costume_Exchange_Box,18740,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20266,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20255,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20329,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20330,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20286,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20349,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20299,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20300,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20315,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20350,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20351,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20352,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20353,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20354,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20355,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20356,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20341,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20357,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20358,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20359,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20360,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20361,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20362,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20363,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20340,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20364,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20365,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20366,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20367,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20368,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20369,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20370,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20342,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20504,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19816,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20396,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20325,1,1,1,0,0,0
+IG_Costume_Exchange_Box,5979 ,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20398,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20399,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20172,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20405,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20404,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19761,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20447,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20458,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20459,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20433,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20507,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20430,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20464,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20432,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20491,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20502,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20440,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31087,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31088,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20448,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20487,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19158,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20489,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20318,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20509,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31029,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20499,1,1,1,0,0,0
+IG_Costume_Exchange_Box,5909 ,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31057,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31062,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31125,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31118,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31120,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31123,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31040,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20381,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31055,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20510,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31063,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31064,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31065,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31066,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31067,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31068,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31069,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31070,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31071,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31072,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31073,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31074,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31075,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31076,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31077,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31078,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31079,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31080,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31081,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31082,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31083,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31084,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31085,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31086,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31165,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31160,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31162,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20511,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31186,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20449,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20263,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20195,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20514,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31300,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31136,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31134,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31178,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31166,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31168,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31164,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31397,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31031,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31033,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20488,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31329,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31332,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31415,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20516,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31180,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19294,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19289,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19291,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20515,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19992,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19959,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19960,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31396,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31437,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31439,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20765,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20517,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31432,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31314,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31460,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31398,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31489,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31490,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31529,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20533,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20171,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20482,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20033,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20535,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31139,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31606,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31249,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20543,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20174,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20098,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20395,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20175,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31565,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31586,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31625,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20546,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20764,1,1,1,0,0,0
+IG_Costume_Exchange_Box,19990,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31440,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31693,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31616,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20570,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31382,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31481,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31624,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20486,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20257,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31699,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20572,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31600,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31512,1,1,1,0,0,0
+IG_Costume_Exchange_Box,20519,1,1,1,0,0,0
+IG_Costume_Exchange_Box,31614,1,1,1,0,0,0
+
+// TODO: IG_Collectibles_Exchange_Box

+ 3731 - 0
db/re/item_synthesis.yml

@@ -0,0 +1,3731 @@
+###########################################################################
+# 
+# Item Synthesis Database
+#
+# This feature need a sync client file: LapineDdukDDakBox.lub
+#
+###########################################################################
+# - Id:                 # (int) Item ID of synthesis box
+#   NeedRefine:         # (int) Minimum refine level for source item
+#   SourceNeeded:       # (int) Number of item sets (in SourceItem) must be selected
+#   SourceItem:         # List of item required
+#     - Item:           # (int) Item ID for source
+#     - Amount:         # (int) Item amount will be consumed
+#   Reward:             # (string) Script on synthesis success
+###########################################################################
+
+Header:
+  Type: ITEM_SYNTHESIS_DB
+  Version: 1
+
+Body:
+- Id: 100060 # EnchantStone_Recipe_4m
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 31139
+    Amount: 1
+  - Item: 31606
+    Amount: 1
+  - Item: 31249
+    Amount: 1
+  - Item: 20174
+    Amount: 1
+  - Item: 20098
+    Amount: 1
+  - Item: 20395
+    Amount: 1
+  - Item: 20175
+    Amount: 1
+  - Item: 31586
+    Amount: 1
+  - Item: 31565
+    Amount: 1
+  - Item: 31693
+    Amount: 1
+  - Item: 19990
+    Amount: 1
+  - Item: 31440
+    Amount: 1
+  - Item: 31481
+    Amount: 1
+  - Item: 31382
+    Amount: 1
+  - Item: 31624
+    Amount: 1
+  - Item: 20486
+    Amount: 1
+  - Item: 20257
+    Amount: 1
+  - Item: 31600
+    Amount: 1
+  - Item: 31512
+    Amount: 1
+  - Item: 31614
+    Amount: 1
+  - Item: 20519
+    Amount: 1
+  Reward: getgroupitem(IG_EnchantStone_Recipe_4m);
+- Id: 100053 # Piercing_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24156
+    Amount: 1
+  - Item: 24157
+    Amount: 1
+  - Item: 24158
+    Amount: 1
+  - Item: 24159
+    Amount: 1
+  - Item: 24160
+    Amount: 1
+  - Item: 24161
+    Amount: 1
+  - Item: 24162
+    Amount: 1
+  - Item: 24163
+    Amount: 1
+  - Item: 24164
+    Amount: 1
+  - Item: 24165
+    Amount: 1
+  Reward: getgroupitem(IG_Piercing_Shadow_Box);
+- Id: 100058 # Hasty_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24320
+    Amount: 1
+  - Item: 24197
+    Amount: 1
+  - Item: 24196
+    Amount: 1
+  Reward: getitem(24386,1);
+- Id: 100010 # PerfectSize_Mix
+  SourceNeeded: 3
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24075
+    Amount: 1
+  - Item: 24076
+    Amount: 1
+  - Item: 24077
+    Amount: 1
+  - Item: 24072
+    Amount: 1
+  - Item: 24073
+    Amount: 1
+  - Item: 24074
+    Amount: 1
+  Reward: getitem(24426,1);
+- Id: 100011 # MagicPiercing_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24170
+    Amount: 1
+  - Item: 24171
+    Amount: 1
+  - Item: 24172
+    Amount: 1
+  - Item: 24173
+    Amount: 1
+  - Item: 24174
+    Amount: 1
+  - Item: 24175
+    Amount: 1
+  - Item: 24176
+    Amount: 1
+  - Item: 24177
+    Amount: 1
+  - Item: 24178
+    Amount: 1
+  - Item: 24179
+    Amount: 1
+  Reward: getitem(24436,1);
+- Id: 100000 # IDTest_Special
+  SourceNeeded: 3
+  NeedRefine: 0
+  SourceItem:
+  - Item: 909
+    Amount: 1
+  - Item: 914
+    Amount: 1
+  - Item: 935
+    Amount: 1
+  Reward: getitem(1750,10);
+- Id: 23967 # EnchantStone_Recipe_9m
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 19960
+    Amount: 1
+  - Item: 19959
+    Amount: 1
+  - Item: 31437
+    Amount: 1
+  - Item: 31396
+    Amount: 1
+  - Item: 31439
+    Amount: 1
+  - Item: 31432
+    Amount: 1
+  - Item: 31314
+    Amount: 1
+  - Item: 31460
+    Amount: 1
+  - Item: 31433
+    Amount: 1
+  - Item: 31498
+    Amount: 1
+  - Item: 31463
+    Amount: 1
+  - Item: 31489
+    Amount: 1
+  - Item: 31490
+    Amount: 1
+  - Item: 31529
+    Amount: 1
+  - Item: 20171
+    Amount: 1
+  - Item: 20482
+    Amount: 1
+  - Item: 20033
+    Amount: 1
+  - Item: 31139
+    Amount: 1
+  - Item: 31606
+    Amount: 1
+  - Item: 31249
+    Amount: 1
+  Reward: getgroupitem(IG_EnchantStone_Recipe_9m);
+- Id: 23818 # Bs_Item_M_S_2
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 25508
+    Amount: 150
+  Reward: getitem(5375,1); // Orc Hero Headdress
+- Id: 23819 # Bs_Item_M_S_8
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 7510
+    Amount: 150
+  Reward: getitem(5548,1); // Crimson Rose
+- Id: 23820 # Bs_Item_M_S_10
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 7754
+    Amount: 150
+  Reward: getitem(5476,1); // Grand Peco Headdress
+- Id: 23821 # Bs_Item_M_S_11
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 7020
+    Amount: 150
+  Reward: getitem(5214,1); // Moonlight Flower Hat
+- Id: 23822 # Bs_Item_M_S_34
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 7450
+    Amount: 150
+  Reward: getitem(5936,1); // 8 Forms Purgatory Wing
+- Id: 23823 # Bs_Item_M_S_41
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 7020
+    Amount: 150
+  Reward: getitem(18528,1); // Tare Neko Cru [1]
+- Id: 23824 # Bs_Item_M_S_42
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 7109
+    Amount: 50
+  Reward: getitem(5859,1); // Worldcup Hat of Honor [1]
+- Id: 23825 # Bs_Item_M_S_43
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 751
+    Amount: 30
+  Reward: getitem(18522,1); // Evil Marching Hat [1]
+- Id: 23826 # Bs_Item_M_S_44
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 10
+  - Item: 7036
+    Amount: 120
+  Reward: getitem(5498,1); // Vagabond Wolf Hat [1]
+- Id: 23827 # Bs_Sha_M_S_1
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 10
+  - Item: 7513
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_1);
+- Id: 23828 # Bs_Sha_M_S_17
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 10
+  - Item: 751
+    Amount: 10
+  Reward: getgroupitem(IG_Bs_Sha_M_S_17);
+- Id: 23829 # Bs_Sha_M_S_18
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 10
+  - Item: 750
+    Amount: 10
+  Reward: getgroupitem(IG_Bs_Sha_M_S_18);
+- Id: 23830 # Bs_Sha_M_S_19
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 10
+  - Item: 7109
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_19);
+- Id: 23831 # Bs_Sha_M_S_20
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 10
+  - Item: 7019
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_20);
+- Id: 23832 # Bs_Item_M_S_4
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 750
+    Amount: 30
+  Reward: getitem(19827,1); // 아미스트르캡(1)
+- Id: 23833 # Bs_Item_M_S_6
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 1030
+    Amount: 150
+  Reward: getitem(5497,1); // 호랑이 왕 인형모자(1)
+- Id: 23834 # Bs_Item_M_S_7
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 25622
+    Amount: 150
+  Reward: getitem(5464,1); // 백소진 인형모자(1)
+- Id: 23835 # Bs_Item_M_S_12
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7300
+    Amount: 150
+  Reward: getgroupitem(IG_Bs_Item_M_S_12); // 획득 가능한 아이템
+- Id: 23836 # Bs_Item_M_S_13
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7018
+    Amount: 150
+  Reward: getitem(19264,1); // 황금 물고기 머리 모자(1)
+- Id: 23837 # Bs_Item_M_S_15
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7169
+    Amount: 150
+  Reward: getgroupitem(IG_Bs_Item_M_S_15);
+- Id: 23838 # Bs_Item_M_S_28
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7562
+    Amount: 150
+  Reward: getitem(19240,1); // 장난감 주사기
+- Id: 23839 # Bs_Item_M_S_29
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7300
+    Amount: 150
+  Reward: getitem(19243,1); // 쪽빛 리어 리본
+- Id: 23840 # Bs_Item_M_S_31
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 6091
+    Amount: 150
+  Reward: getitem(19241,1); // 매지컬 부스터(1)
+- Id: 23841 # Bs_Item_M_S_32
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7020
+    Amount: 150
+  Reward: getitem(19244,1); // 로자리오의 목걸이
+- Id: 23842 # Bs_Item_M_S_33
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7754
+    Amount: 150
+  Reward: getitem(19177,1); // 정령의 왕관
+- Id: 23843 # Bs_Item_M_S_36
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 1030
+    Amount: 150
+  Reward: getitem(18878,1); // 근위병의 모자(1)
+- Id: 23844 # Bs_Item_M_S_37
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7019
+    Amount: 150
+  Reward: getitem(5944,1); // 도적의 두건(1)
+- Id: 23845 # Bs_Item_M_S_38
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7513
+    Amount: 150
+  Reward: getitem(19031,1); // 타천사의 축복(1)
+- Id: 23846 # Bs_Item_M_S_39
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7114
+    Amount: 150
+  Reward: getitem(19179,1); // 토끼 마술 모자(1)
+- Id: 23847 # Bs_Item_M_S_40
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7113
+    Amount: 150
+  Reward: getitem(19180,1); // 아누비스 투구(1)
+- Id: 23848 # Bs_Item_M_S_45
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 6091
+    Amount: 150
+  Reward: getitem(5658,1); // 임프 모자(1)
+- Id: 23849 # Bs_Item_M_S_46
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7451
+    Amount: 150
+  Reward: getitem(5654,1); // 빨간 마칭햇(1)
+- Id: 23850 # Bs_Item_M_S_47
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 25629
+    Amount: 150
+  Reward: getitem(5420, 1); // 이프리트 가면(1)
+- Id: 23851 # Bs_Item_M_S_48
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 751
+    Amount: 30
+  Reward: getitem(5671,1); // 늘어진 모로크의 현신(1)
+- Id: 23852 # Bs_Item_M_S_49
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 25508
+    Amount: 150
+  Reward: getitem(5511,1); // 사만바이아(1)
+- Id: 23853 # Bs_Item_M_S_50
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 7018
+    Amount: 150
+  Reward: getitem(19129,1); // 병아리 모자
+- Id: 23894 # Bs_Item_M_S_51
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 20
+  - Item: 6326
+    Amount: 150
+  Reward: getitem(19134,1); // 휘케바인의 검은 고양이귀
+- Id: 23854 # Bs_Sha_M_S_2
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 7451
+    Amount: 50
+  Reward: getitem(rand(24246,24319),1); /*getgroupitem(IG_Bs_Sha_M_S_2);*/ # TODO Class Shadow equipment: 24246-24255 or 24256-24319?
+- Id: 23855 # Bs_Sha_M_S_5
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 6326
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_5);
+- Id: 23856 # Bs_Sha_M_S_6
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 1030
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_6);
+- Id: 23857 # Bs_Sha_M_S_7
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 7108
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_7);
+- Id: 23858 # Bs_Sha_M_S_8
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 7566
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_8);
+- Id: 23859 # Bs_Sha_M_S_13
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 968
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_13);
+- Id: 23860 # Bs_Sha_M_S_15
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 25508
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_15);
+- Id: 23861 # Bs_Sha_M_S_16
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 7020
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_16);
+- Id: 23862 # Bs_Sha_M_S_23
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 20
+  - Item: 6649
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_23);
+- Id: 23863 # Bs_Item_M_S_5
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 751
+    Amount: 30
+  Reward: getgroupitem(IG_Bs_Item_M_S_5);
+- Id: 23864 # Bs_Item_M_S_9
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 7510
+    Amount: 150
+  Reward: getitem(2573,1); // 대천사의 날개(1)
+- Id: 23865 # Bs_Item_M_S_14
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 6091
+    Amount: 150
+  Reward: getitem(19265,1); // 스모키의 변신 나뭇잎(1)
+- Id: 23866 # Bs_Item_M_S_16
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 7566
+    Amount: 150
+  Reward: getitem(19128,1); // 이프리트의 귀
+- Id: 23867 # Bs_Item_M_S_17
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 7020
+    Amount: 150
+  Reward: getitem(18563,1); // 하트날개 헤어밴드(1)
+- Id: 23868 # Bs_Item_M_S_19
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 7562
+    Amount: 150
+  Reward: getitem(19085,1); // 사이그룬의 날개
+- Id: 23869 # Bs_Item_M_S_27
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 7754
+    Amount: 150
+  Reward: getitem(19242,1); // 새끼 고양이 헤드드레스(1)
+- Id: 23870 # Bs_Item_M_S_35
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 25
+  - Item: 7566
+    Amount: 150
+  Reward: getitem(5985,1); // 귀족의 가면
+- Id: 23871 # Bs_Sha_M_S_9
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 25
+  - Item: 7018
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_9);
+- Id: 23872 # Bs_Sha_M_S_10
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 25
+  - Item: 1030
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_10);
+- Id: 23873 # Bs_Sha_M_S_11
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 25
+  - Item: 7566
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_11);
+- Id: 23874 # Bs_Sha_M_S_21
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 25
+  - Item: 7109
+    Amount: 10
+  Reward: getgroupitem(IG_Bs_Sha_M_S_21);
+- Id: 23875 # Bs_Sha_M_S_22
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 25
+  - Item: 7036
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_22);
+- Id: 23876 # Bs_Item_M_S_1
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7510
+    Amount: 300
+  Reward: getitem(2589,1); // 타락천사의 날개(1)
+- Id: 23877 # Bs_Item_M_S_3
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7754
+    Amount: 150
+  Reward: getitem(2576,1); // 모험가 배낭(1)
+- Id: 23879 # Bs_Item_M_S_18
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7211
+    Amount: 150
+  Reward: getitem(19249,1); // 스펠 서킷(1)
+- Id: 23880 # Bs_Item_M_S_20
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7019
+    Amount: 200
+  Reward: getitem(19181,1); // 뉴웨이브 선글라스
+- Id: 23881 # Bs_Item_M_S_21
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 6649
+    Amount: 150
+  Reward: getitem(19268,1); // 거신뱀의 숨결
+- Id: 23882 # Bs_Item_M_S_22
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7169
+    Amount: 150
+  Reward: getitem(5371,1); // 판관모자(1)
+- Id: 23883 # Bs_Item_M_S_23
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7036
+    Amount: 150
+  Reward: getitem(19300,1); // 멍멍장교(1)
+- Id: 23884 # Bs_Item_M_S_24
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7300
+    Amount: 150
+  Reward: getitem(19296,1); // 멋진 패더 햇(1)
+- Id: 23885 # Bs_Item_M_S_25
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7018
+    Amount: 150
+  Reward: getitem(19308,1); // 아미스트르 베레모(1)
+- Id: 23886 # Bs_Item_M_S_26
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7108
+    Amount: 150
+  Reward: getitem(19263,1); // 장군의 투구(1)
+- Id: 23887 # Bs_Item_M_S_30
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25731
+    Amount: 30
+  - Item: 7109
+    Amount: 50
+  Reward: getitem(28942,1); // 저주받은 기사의 방패(1)
+- Id: 23888 # Bs_Sha_M_S_3
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 30
+  - Item: 7450
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_3);
+- Id: 23889 # Bs_Sha_M_S_4
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 30
+  - Item: 25629
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_4);
+- Id: 23890 # Bs_Sha_M_S_12
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 30
+  - Item: 7169
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_12);
+- Id: 23891 # Bs_Sha_M_S_14
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 30
+  - Item: 7019
+    Amount: 50
+  Reward: getgroupitem(IG_Bs_Sha_M_S_14);
+- Id: 23892 # Bs_Sha_M_S_24
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 25
+  - Item: 7513
+    Amount: 150
+  Reward: getgroupitem(IG_Bs_Sha_M_S_24);
+- Id: 23893 # Bs_Sha_M_S_25
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 25729
+    Amount: 25
+  - Item: 7300
+    Amount: 150
+  Reward: getgroupitem(IG_Bs_Sha_M_S_25);
+- Id: 23665 # PhysicalMagical_Mix
+  SourceNeeded: 3
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24019
+    Amount: 1
+  - Item: 24018
+    Amount: 1
+  - Item: 24020
+    Amount: 1
+  - Item: 24022
+    Amount: 1
+  - Item: 24021
+    Amount: 1
+  - Item: 24023
+    Amount: 1
+  Reward: getgroupitem(IG_PhysicalMagical_Mix);
+- Id: 23666 # ImmunedAthena_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24027
+    Amount: 1
+  - Item: 24026
+    Amount: 1
+  - Item: 24051
+    Amount: 1
+  Reward: getitem(24399,1); // 이뮨드 아테나 쉴드 쉐도우
+- Id: 23667 # HardChamption_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24028
+    Amount: 1
+  - Item: 24049
+    Amount: 1
+  - Item: 24025
+    Amount: 1
+  Reward: getitem(24400,1); // 하드 챔피언 슈즈 쉐도우
+- Id: 23668 # KingbirdAncient_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24031
+    Amount: 1
+  - Item: 24029
+    Amount: 1
+  Reward: getitem(24401,1); // 킹버드 에이션트 아머 쉐도우
+- Id: 23669 # CriticalHit_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24333
+    Amount: 1
+  - Item: 24332
+    Amount: 1
+  - Item: 24032
+    Amount: 1
+  - Item: 24030
+    Amount: 1
+  Reward: getitem(15280,1); // 크리티컬 히트 아머 쉐도우
+- Id: 23545 # Silver_Statue
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 28942
+    Amount: 1
+  Reward: getgroupitem(IG_Silver_Statue);
+- Id: 23474 # InfinityShadow_Mix
+  SourceNeeded: 2
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24150
+    Amount: 1
+  - Item: 24151
+    Amount: 1
+  Reward: getitem(24386,1); // 인피니티 웨폰 쉐도우
+- Id: 23324 # Stability Shadow Box // 스테빌리티S변환상자
+  SourceNeeded: 3
+  NeedRefine: 5
+  SourceItem:
+  - Item: 24091
+    Amount: 1
+  - Item: 24092
+    Amount: 1
+  - Item: 24093
+    Amount: 1
+  - Item: 24094
+    Amount: 1
+  - Item: 24095
+    Amount: 1
+  - Item: 24096
+    Amount: 1
+  - Item: 24097
+    Amount: 1
+  - Item: 24098
+    Amount: 1
+  - Item: 24099
+    Amount: 1
+  - Item: 24100
+    Amount: 1
+  - Item: 24101
+    Amount: 1
+  - Item: 24102
+    Amount: 1
+  - Item: 24103
+    Amount: 1
+  - Item: 24104
+    Amount: 1
+  - Item: 24105
+    Amount: 1
+  - Item: 24106
+    Amount: 1
+  - Item: 24107
+    Amount: 1
+  - Item: 24108
+    Amount: 1
+  Reward: getgroupitem(IG_Stability_Shadow_Box);
+- Id: 23308 # 부스터증폭기
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 19241
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    if (rand(2) == 0) {
+        getitem(19245,1); // chance to become Crimson Booster
+    } else {
+        // Magical Booster Enchant (19241)
+        callfunc("F_Lapine_Magical_Booster_Enchant", .@opts[0], .@vals[0]);
+        .@params[0] = 0;
+        getitem3(19241,1,1,0,0,0,0,0,0,.@opts,.@vals,@params);
+    }
+- Id: 23311 # 마법고양이손
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 19242
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    callfunc("F_Lapine_Magic_Cat_Hand", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(19242,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23289 # 사탕축복스크롤_물리
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 20842
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_W", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(20842,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23290 # 사탕축복스크롤_원거리
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 20843
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_R", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(20843,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23291 # 사탕축복스크롤_마법
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 20844
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_M", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(20844,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23281 # 레이스S변환상자
+  SourceNeeded: 4
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24056
+    Amount: 1
+  - Item: 24061
+    Amount: 1
+  - Item: 24060
+    Amount: 1
+  - Item: 24059
+    Amount: 1
+  - Item: 24058
+    Amount: 1
+  - Item: 24057
+    Amount: 1
+  - Item: 24055
+    Amount: 1
+  - Item: 24054
+    Amount: 1
+  - Item: 24052
+    Amount: 1
+  - Item: 24070
+    Amount: 1
+  - Item: 24069
+    Amount: 1
+  - Item: 24068
+    Amount: 1
+  - Item: 24067
+    Amount: 1
+  - Item: 24066
+    Amount: 1
+  - Item: 24065
+    Amount: 1
+  - Item: 24064
+    Amount: 1
+  - Item: 24062
+    Amount: 1
+  - Item: 24071
+    Amount: 1
+  Reward: getgroupitem(IG_Race_Shadow_Box);
+- Id: 23250 # 컴포즈S변환상자
+  SourceNeeded: 4
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24219
+    Amount: 1
+  - Item: 24220
+    Amount: 1
+  - Item: 24221
+    Amount: 1
+  - Item: 24222
+    Amount: 1
+  Reward: getitem(24334,1); // 매직 컴포즈 아머 쉐도우
+- Id: 23249 # 베어러즈S변환상자
+  SourceNeeded: 3
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24181
+    Amount: 1
+  - Item: 24180
+    Amount: 1
+  - Item: 24182
+    Amount: 1
+  - Item: 24184
+    Amount: 1
+  - Item: 24183
+    Amount: 1
+  - Item: 24185
+    Amount: 1
+  Reward: getgroupitem(IG_Bearers_S_Conversion_Box);
+- Id: 23248 # 젬스톤S변환상자
+  SourceNeeded: 3
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24089
+    Amount: 1
+  - Item: 24084
+    Amount: 1
+  - Item: 24085
+    Amount: 1
+  - Item: 24086
+    Amount: 1
+  - Item: 24088
+    Amount: 1
+  - Item: 24087
+    Amount: 1
+  Reward: getgroupitem(IG_Gemstone_S_Conversion_Box);
+- Id: 23247 # 스테이터스S변환상자
+  SourceNeeded: 5
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24034
+    Amount: 1
+  - Item: 24035
+    Amount: 1
+  - Item: 24036
+    Amount: 1
+  - Item: 24037
+    Amount: 1
+  - Item: 24038
+    Amount: 1
+  - Item: 24039
+    Amount: 1
+  - Item: 24040
+    Amount: 1
+  - Item: 24041
+    Amount: 1
+  - Item: 24042
+    Amount: 1
+  - Item: 24043
+    Amount: 1
+  - Item: 24044
+    Amount: 1
+  - Item: 24045
+    Amount: 1
+  Reward: getgroupitem(IG_Status_S_Conversion_Box);
+- Id: 23236 # 직업S변환상자_웨폰
+  SourceNeeded: 1
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24282
+    Amount: 1
+  - Item: 24283
+    Amount: 1
+  - Item: 24284
+    Amount: 1
+  - Item: 24285
+    Amount: 1
+  - Item: 24286
+    Amount: 1
+  - Item: 24287
+    Amount: 1
+  - Item: 24288
+    Amount: 1
+  - Item: 24289
+    Amount: 1
+  - Item: 24290
+    Amount: 1
+  - Item: 24291
+    Amount: 1
+  - Item: 24292
+    Amount: 1
+  - Item: 24293
+    Amount: 1
+  - Item: 24294
+    Amount: 1
+  - Item: 24295
+    Amount: 1
+  - Item: 24296
+    Amount: 1
+  - Item: 24297
+    Amount: 1
+  - Item: 24298
+    Amount: 1
+  - Item: 24299
+    Amount: 1
+  - Item: 24300
+    Amount: 1
+  Reward: |
+    .@itemid = groupranditem(IG_Class_Shadow_Weapon);
+    callfunc("F_Lapine_Class_Shadow_Weapon_Options", .@refine, .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(.@itemid,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23237 # 직업S변환상자_아머
+  SourceNeeded: 1
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24269
+    Amount: 1
+  - Item: 24270
+    Amount: 1
+  - Item: 24271
+    Amount: 1
+  - Item: 24272
+    Amount: 1
+  - Item: 24273
+    Amount: 1
+  - Item: 24274
+    Amount: 1
+  - Item: 24275
+    Amount: 1
+  - Item: 24276
+    Amount: 1
+  - Item: 24277
+    Amount: 1
+  - Item: 24278
+    Amount: 1
+  - Item: 24279
+    Amount: 1
+  - Item: 24280
+    Amount: 1
+  - Item: 24281
+    Amount: 1
+  - Item: 24402
+    Amount: 1
+  - Item: 24403
+    Amount: 1
+  - Item: 24404
+    Amount: 1
+  - Item: 24408
+    Amount: 1
+  - Item: 24410
+    Amount: 1
+  - Item: 24412
+    Amount: 1
+  - Item: 24414
+    Amount: 1
+  Reward: |
+    .@itemid = groupranditem(IG_Class_Shadow_Armor);
+    callfunc("F_Lapine_Class_Shadow_Armor_Options", .@refine, .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(.@itemid,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23238 # 직업S변환상자_슈즈
+  SourceNeeded: 1
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24256
+    Amount: 1
+  - Item: 24257
+    Amount: 1
+  - Item: 24258
+    Amount: 1
+  - Item: 24259
+    Amount: 1
+  - Item: 24260
+    Amount: 1
+  - Item: 24261
+    Amount: 1
+  - Item: 24262
+    Amount: 1
+  - Item: 24263
+    Amount: 1
+  - Item: 24264
+    Amount: 1
+  - Item: 24265
+    Amount: 1
+  - Item: 24266
+    Amount: 1
+  - Item: 24267
+    Amount: 1
+  - Item: 24268
+    Amount: 1
+  - Item: 24405
+    Amount: 1
+  - Item: 24406
+    Amount: 1
+  - Item: 24407
+    Amount: 1
+  - Item: 24409
+    Amount: 1
+  - Item: 24411
+    Amount: 1
+  - Item: 24413
+    Amount: 1
+  - Item: 24415
+    Amount: 1
+  Reward: |
+    .@itemid = groupranditem(IG_Class_Shadow_Shoes);
+    callfunc("F_Lapine_Class_Shadow_Shoes_Options", .@refine, .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(.@itemid,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23239 # 직업S변환상자_쉴드
+  SourceNeeded: 1
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24301
+    Amount: 1
+  - Item: 24302
+    Amount: 1
+  - Item: 24303
+    Amount: 1
+  - Item: 24304
+    Amount: 1
+  - Item: 24305
+    Amount: 1
+  - Item: 24306
+    Amount: 1
+  - Item: 24307
+    Amount: 1
+  - Item: 24308
+    Amount: 1
+  - Item: 24309
+    Amount: 1
+  - Item: 24310
+    Amount: 1
+  - Item: 24311
+    Amount: 1
+  - Item: 24312
+    Amount: 1
+  - Item: 24313
+    Amount: 1
+  - Item: 24314
+    Amount: 1
+  - Item: 24315
+    Amount: 1
+  - Item: 24316
+    Amount: 1
+  - Item: 24317
+    Amount: 1
+  - Item: 24318
+    Amount: 1
+  - Item: 24319
+    Amount: 1
+  Reward: |
+    .@itemid = groupranditem(IG_Class_Shadow_Shield);
+    callfunc("F_Lapine_Class_Shadow_Shield_Options", .@refine, .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(.@itemid,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23240 # 직업S변환상자_펜던트
+  SourceNeeded: 1
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24250
+    Amount: 1
+  - Item: 24251
+    Amount: 1
+  - Item: 24252
+    Amount: 1
+  - Item: 24253
+    Amount: 1
+  - Item: 24254
+    Amount: 1
+  - Item: 24255
+    Amount: 1
+  Reward: |
+    .@itemid = groupranditem(IG_Class_Shadow_Pendant);
+    callfunc("F_Lapine_Class_Shadow_Pendant_Options", .@refine, .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(.@itemid,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23241 # 직업S변환상자_이어링
+  SourceNeeded: 1
+  NeedRefine: 7
+  SourceItem:
+  - Item: 24246
+    Amount: 1
+  - Item: 24247
+    Amount: 1
+  - Item: 24248
+    Amount: 1
+  - Item: 24249
+    Amount: 1
+  - Item: 28391
+    Amount: 1
+  - Item: 28392
+    Amount: 1
+  Reward: |
+    .@itemid = groupranditem(IG_Class_Shadow_Earring);
+    callfunc("F_Lapine_Class_Shadow_Earring_Options", .@refine, .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(.@itemid,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23229 # 타락천사날개초기화권
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 20835
+    Amount: 1
+  - Item: 2589
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    getitem(2589,1);
+- Id: 22529 # 쉐도우뚝딱상자
+  SourceNeeded: 3
+  NeedRefine: 0
+  SourceItem:
+  - Item: 24018
+    Amount: 1
+  - Item: 24019
+    Amount: 1
+  - Item: 24020
+    Amount: 1
+  - Item: 24021
+    Amount: 1
+  - Item: 24022
+    Amount: 1
+  - Item: 24023
+    Amount: 1
+  - Item: 24024
+    Amount: 1
+  - Item: 24025
+    Amount: 1
+  - Item: 24026
+    Amount: 1
+  - Item: 24027
+    Amount: 1
+  - Item: 24028
+    Amount: 1
+  - Item: 24029
+    Amount: 1
+  - Item: 24030
+    Amount: 1
+  - Item: 24031
+    Amount: 1
+  - Item: 24032
+    Amount: 1
+  - Item: 24033
+    Amount: 1
+  - Item: 24034
+    Amount: 1
+  - Item: 24035
+    Amount: 1
+  - Item: 24036
+    Amount: 1
+  - Item: 24037
+    Amount: 1
+  - Item: 24038
+    Amount: 1
+  - Item: 24039
+    Amount: 1
+  - Item: 24040
+    Amount: 1
+  - Item: 24041
+    Amount: 1
+  - Item: 24042
+    Amount: 1
+  - Item: 24043
+    Amount: 1
+  - Item: 24044
+    Amount: 1
+  - Item: 24045
+    Amount: 1
+  - Item: 24046
+    Amount: 1
+  - Item: 24047
+    Amount: 1
+  - Item: 24048
+    Amount: 1
+  - Item: 24049
+    Amount: 1
+  - Item: 24050
+    Amount: 1
+  - Item: 24051
+    Amount: 1
+  - Item: 24052
+    Amount: 1
+  - Item: 24053
+    Amount: 1
+  - Item: 24054
+    Amount: 1
+  - Item: 24055
+    Amount: 1
+  - Item: 24056
+    Amount: 1
+  - Item: 24057
+    Amount: 1
+  - Item: 24058
+    Amount: 1
+  - Item: 24059
+    Amount: 1
+  - Item: 24060
+    Amount: 1
+  - Item: 24061
+    Amount: 1
+  - Item: 24062
+    Amount: 1
+  - Item: 24063
+    Amount: 1
+  - Item: 24064
+    Amount: 1
+  - Item: 24065
+    Amount: 1
+  - Item: 24066
+    Amount: 1
+  - Item: 24067
+    Amount: 1
+  - Item: 24068
+    Amount: 1
+  - Item: 24069
+    Amount: 1
+  - Item: 24070
+    Amount: 1
+  - Item: 24071
+    Amount: 1
+  - Item: 24072
+    Amount: 1
+  - Item: 24073
+    Amount: 1
+  - Item: 24074
+    Amount: 1
+  - Item: 24075
+    Amount: 1
+  - Item: 24076
+    Amount: 1
+  - Item: 24077
+    Amount: 1
+  - Item: 24078
+    Amount: 1
+  - Item: 24079
+    Amount: 1
+  - Item: 24080
+    Amount: 1
+  - Item: 24081
+    Amount: 1
+  - Item: 24082
+    Amount: 1
+  - Item: 24083
+    Amount: 1
+  - Item: 24084
+    Amount: 1
+  - Item: 24085
+    Amount: 1
+  - Item: 24086
+    Amount: 1
+  - Item: 24087
+    Amount: 1
+  - Item: 24088
+    Amount: 1
+  - Item: 24089
+    Amount: 1
+  - Item: 24090
+    Amount: 1
+  - Item: 24091
+    Amount: 1
+  - Item: 24092
+    Amount: 1
+  - Item: 24093
+    Amount: 1
+  - Item: 24094
+    Amount: 1
+  - Item: 24095
+    Amount: 1
+  - Item: 24096
+    Amount: 1
+  - Item: 24097
+    Amount: 1
+  - Item: 24098
+    Amount: 1
+  - Item: 24099
+    Amount: 1
+  - Item: 24100
+    Amount: 1
+  - Item: 24101
+    Amount: 1
+  - Item: 24102
+    Amount: 1
+  - Item: 24103
+    Amount: 1
+  - Item: 24104
+    Amount: 1
+  - Item: 24105
+    Amount: 1
+  - Item: 24106
+    Amount: 1
+  - Item: 24107
+    Amount: 1
+  - Item: 24108
+    Amount: 1
+  - Item: 24109
+    Amount: 1
+  - Item: 24110
+    Amount: 1
+  - Item: 24111
+    Amount: 1
+  - Item: 24112
+    Amount: 1
+  - Item: 24113
+    Amount: 1
+  - Item: 24114
+    Amount: 1
+  - Item: 24115
+    Amount: 1
+  - Item: 24116
+    Amount: 1
+  - Item: 24117
+    Amount: 1
+  - Item: 24118
+    Amount: 1
+  - Item: 24119
+    Amount: 1
+  - Item: 24120
+    Amount: 1
+  - Item: 24121
+    Amount: 1
+  - Item: 24122
+    Amount: 1
+  - Item: 24123
+    Amount: 1
+  - Item: 24124
+    Amount: 1
+  - Item: 24125
+    Amount: 1
+  - Item: 24126
+    Amount: 1
+  - Item: 24127
+    Amount: 1
+  - Item: 24128
+    Amount: 1
+  - Item: 24129
+    Amount: 1
+  - Item: 24130
+    Amount: 1
+  - Item: 24131
+    Amount: 1
+  - Item: 24132
+    Amount: 1
+  - Item: 24133
+    Amount: 1
+  - Item: 24134
+    Amount: 1
+  - Item: 24135
+    Amount: 1
+  - Item: 24136
+    Amount: 1
+  - Item: 24137
+    Amount: 1
+  - Item: 24138
+    Amount: 1
+  - Item: 24139
+    Amount: 1
+  - Item: 24140
+    Amount: 1
+  - Item: 24141
+    Amount: 1
+  - Item: 24142
+    Amount: 1
+  - Item: 24143
+    Amount: 1
+  - Item: 24144
+    Amount: 1
+  - Item: 24145
+    Amount: 1
+  - Item: 24146
+    Amount: 1
+  - Item: 24147
+    Amount: 1
+  - Item: 24148
+    Amount: 1
+  - Item: 24149
+    Amount: 1
+  - Item: 24150
+    Amount: 1
+  - Item: 24151
+    Amount: 1
+  - Item: 24152
+    Amount: 1
+  - Item: 24153
+    Amount: 1
+  - Item: 24154
+    Amount: 1
+  - Item: 24155
+    Amount: 1
+  - Item: 24156
+    Amount: 1
+  - Item: 24157
+    Amount: 1
+  - Item: 24158
+    Amount: 1
+  - Item: 24159
+    Amount: 1
+  - Item: 24160
+    Amount: 1
+  - Item: 24161
+    Amount: 1
+  - Item: 24162
+    Amount: 1
+  - Item: 24163
+    Amount: 1
+  - Item: 24164
+    Amount: 1
+  - Item: 24165
+    Amount: 1
+  - Item: 24166
+    Amount: 1
+  - Item: 24167
+    Amount: 1
+  - Item: 24168
+    Amount: 1
+  - Item: 24169
+    Amount: 1
+  - Item: 24170
+    Amount: 1
+  - Item: 24171
+    Amount: 1
+  - Item: 24172
+    Amount: 1
+  - Item: 24173
+    Amount: 1
+  - Item: 24174
+    Amount: 1
+  - Item: 24175
+    Amount: 1
+  - Item: 24176
+    Amount: 1
+  - Item: 24177
+    Amount: 1
+  - Item: 24178
+    Amount: 1
+  - Item: 24179
+    Amount: 1
+  - Item: 24180
+    Amount: 1
+  - Item: 24181
+    Amount: 1
+  - Item: 24182
+    Amount: 1
+  - Item: 24183
+    Amount: 1
+  - Item: 24184
+    Amount: 1
+  - Item: 24185
+    Amount: 1
+  - Item: 24186
+    Amount: 1
+  - Item: 24187
+    Amount: 1
+  - Item: 24188
+    Amount: 1
+  - Item: 24189
+    Amount: 1
+  - Item: 24190
+    Amount: 1
+  - Item: 24191
+    Amount: 1
+  - Item: 24192
+    Amount: 1
+  - Item: 24193
+    Amount: 1
+  - Item: 24194
+    Amount: 1
+  - Item: 24195
+    Amount: 1
+  - Item: 24196
+    Amount: 1
+  - Item: 24197
+    Amount: 1
+  - Item: 24198
+    Amount: 1
+  - Item: 24199
+    Amount: 1
+  - Item: 24200
+    Amount: 1
+  - Item: 24201
+    Amount: 1
+  - Item: 24202
+    Amount: 1
+  - Item: 24203
+    Amount: 1
+  - Item: 24204
+    Amount: 1
+  - Item: 24205
+    Amount: 1
+  - Item: 24206
+    Amount: 1
+  - Item: 24207
+    Amount: 1
+  - Item: 24208
+    Amount: 1
+  - Item: 24209
+    Amount: 1
+  - Item: 24210
+    Amount: 1
+  - Item: 24211
+    Amount: 1
+  - Item: 24212
+    Amount: 1
+  - Item: 24213
+    Amount: 1
+  - Item: 24214
+    Amount: 1
+  - Item: 24215
+    Amount: 1
+  - Item: 24216
+    Amount: 1
+  - Item: 24217
+    Amount: 1
+  - Item: 24218
+    Amount: 1
+  - Item: 24219
+    Amount: 1
+  - Item: 24220
+    Amount: 1
+  - Item: 24221
+    Amount: 1
+  - Item: 24222
+    Amount: 1
+  - Item: 24223
+    Amount: 1
+  - Item: 24224
+    Amount: 1
+  - Item: 24225
+    Amount: 1
+  - Item: 24226
+    Amount: 1
+  - Item: 24227
+    Amount: 1
+  - Item: 24228
+    Amount: 1
+  - Item: 24229
+    Amount: 1
+  - Item: 24230
+    Amount: 1
+  - Item: 24231
+    Amount: 1
+  - Item: 24232
+    Amount: 1
+  - Item: 24233
+    Amount: 1
+  - Item: 24234
+    Amount: 1
+  - Item: 24235
+    Amount: 1
+  - Item: 24236
+    Amount: 1
+  - Item: 24237
+    Amount: 1
+  - Item: 24238
+    Amount: 1
+  - Item: 24239
+    Amount: 1
+  - Item: 24240
+    Amount: 1
+  - Item: 24241
+    Amount: 1
+  - Item: 24242
+    Amount: 1
+  - Item: 24243
+    Amount: 1
+  - Item: 24244
+    Amount: 1
+  - Item: 24245
+    Amount: 1
+  - Item: 24246
+    Amount: 1
+  - Item: 24247
+    Amount: 1
+  - Item: 24248
+    Amount: 1
+  - Item: 24249
+    Amount: 1
+  - Item: 24250
+    Amount: 1
+  - Item: 24251
+    Amount: 1
+  - Item: 24252
+    Amount: 1
+  - Item: 24253
+    Amount: 1
+  - Item: 24254
+    Amount: 1
+  - Item: 24255
+    Amount: 1
+  - Item: 24256
+    Amount: 1
+  - Item: 24257
+    Amount: 1
+  - Item: 24258
+    Amount: 1
+  - Item: 24259
+    Amount: 1
+  - Item: 24260
+    Amount: 1
+  - Item: 24261
+    Amount: 1
+  - Item: 24262
+    Amount: 1
+  - Item: 24263
+    Amount: 1
+  - Item: 24264
+    Amount: 1
+  - Item: 24265
+    Amount: 1
+  - Item: 24266
+    Amount: 1
+  - Item: 24267
+    Amount: 1
+  - Item: 24268
+    Amount: 1
+  - Item: 24269
+    Amount: 1
+  - Item: 24270
+    Amount: 1
+  - Item: 24271
+    Amount: 1
+  - Item: 24272
+    Amount: 1
+  - Item: 24273
+    Amount: 1
+  - Item: 24274
+    Amount: 1
+  - Item: 24275
+    Amount: 1
+  - Item: 24276
+    Amount: 1
+  - Item: 24277
+    Amount: 1
+  - Item: 24278
+    Amount: 1
+  - Item: 24279
+    Amount: 1
+  - Item: 24280
+    Amount: 1
+  - Item: 24281
+    Amount: 1
+  - Item: 24282
+    Amount: 1
+  - Item: 24283
+    Amount: 1
+  - Item: 24284
+    Amount: 1
+  - Item: 24285
+    Amount: 1
+  - Item: 24286
+    Amount: 1
+  - Item: 24287
+    Amount: 1
+  - Item: 24288
+    Amount: 1
+  - Item: 24289
+    Amount: 1
+  - Item: 24290
+    Amount: 1
+  - Item: 24291
+    Amount: 1
+  - Item: 24292
+    Amount: 1
+  - Item: 24293
+    Amount: 1
+  - Item: 24294
+    Amount: 1
+  - Item: 24295
+    Amount: 1
+  - Item: 24296
+    Amount: 1
+  - Item: 24297
+    Amount: 1
+  - Item: 24298
+    Amount: 1
+  - Item: 24299
+    Amount: 1
+  - Item: 24300
+    Amount: 1
+  - Item: 24301
+    Amount: 1
+  - Item: 24302
+    Amount: 1
+  - Item: 24303
+    Amount: 1
+  - Item: 24304
+    Amount: 1
+  - Item: 24305
+    Amount: 1
+  - Item: 24306
+    Amount: 1
+  - Item: 24307
+    Amount: 1
+  - Item: 24308
+    Amount: 1
+  - Item: 24309
+    Amount: 1
+  - Item: 24310
+    Amount: 1
+  - Item: 24311
+    Amount: 1
+  - Item: 24312
+    Amount: 1
+  - Item: 24313
+    Amount: 1
+  - Item: 24314
+    Amount: 1
+  - Item: 24315
+    Amount: 1
+  - Item: 24316
+    Amount: 1
+  - Item: 24317
+    Amount: 1
+  - Item: 24318
+    Amount: 1
+  - Item: 24319
+    Amount: 1
+  - Item: 28391
+    Amount: 1
+  - Item: 28392
+    Amount: 1
+  - Item: 24320
+    Amount: 1
+  - Item: 24321
+    Amount: 1
+  - Item: 24322
+    Amount: 1
+  - Item: 24323
+    Amount: 1
+  - Item: 24324
+    Amount: 1
+  - Item: 24325
+    Amount: 1
+  - Item: 24326
+    Amount: 1
+  - Item: 24327
+    Amount: 1
+  - Item: 24332
+    Amount: 1
+  - Item: 24333
+    Amount: 1
+  - Item: 24334
+    Amount: 1
+  - Item: 24335
+    Amount: 1
+  - Item: 24336
+    Amount: 1
+  - Item: 24337
+    Amount: 1
+  - Item: 24338
+    Amount: 1
+  - Item: 24339
+    Amount: 1
+  - Item: 24340
+    Amount: 1
+  - Item: 24345
+    Amount: 1
+  - Item: 24346
+    Amount: 1
+  - Item: 24347
+    Amount: 1
+  - Item: 24348
+    Amount: 1
+  - Item: 24349
+    Amount: 1
+  - Item: 24350
+    Amount: 1
+  - Item: 24351
+    Amount: 1
+  - Item: 24352
+    Amount: 1
+  - Item: 24353
+    Amount: 1
+  - Item: 24354
+    Amount: 1
+  - Item: 24355
+    Amount: 1
+  - Item: 24356
+    Amount: 1
+  - Item: 24357
+    Amount: 1
+  - Item: 24358
+    Amount: 1
+  - Item: 24359
+    Amount: 1
+  - Item: 24360
+    Amount: 1
+  - Item: 24361
+    Amount: 1
+  - Item: 24362
+    Amount: 1
+  - Item: 24363
+    Amount: 1
+  - Item: 24364
+    Amount: 1
+  - Item: 24365
+    Amount: 1
+  - Item: 24366
+    Amount: 1
+  - Item: 24367
+    Amount: 1
+  - Item: 24368
+    Amount: 1
+  - Item: 24369
+    Amount: 1
+  - Item: 24370
+    Amount: 1
+  - Item: 24371
+    Amount: 1
+  - Item: 24372
+    Amount: 1
+  - Item: 24373
+    Amount: 1
+  - Item: 24374
+    Amount: 1
+  - Item: 24375
+    Amount: 1
+  - Item: 24376
+    Amount: 1
+  - Item: 24377
+    Amount: 1
+  - Item: 24378
+    Amount: 1
+  - Item: 24379
+    Amount: 1
+  - Item: 24380
+    Amount: 1
+  - Item: 24381
+    Amount: 1
+  - Item: 24382
+    Amount: 1
+  - Item: 24383
+    Amount: 1
+  - Item: 24384
+    Amount: 1
+  - Item: 24385
+    Amount: 1
+  - Item: 24386
+    Amount: 1
+  - Item: 24393
+    Amount: 1
+  - Item: 24394
+    Amount: 1
+  - Item: 24395
+    Amount: 1
+  - Item: 24396
+    Amount: 1
+  - Item: 24397
+    Amount: 1
+  - Item: 24398
+    Amount: 1
+  - Item: 24399
+    Amount: 1
+  - Item: 24400
+    Amount: 1
+  - Item: 24401
+    Amount: 1
+  - Item: 15280
+    Amount: 1
+  - Item: 24402
+    Amount: 1
+  - Item: 24403
+    Amount: 1
+  - Item: 24404
+    Amount: 1
+  - Item: 24405
+    Amount: 1
+  - Item: 24406
+    Amount: 1
+  - Item: 24407
+    Amount: 1
+  - Item: 24408
+    Amount: 1
+  - Item: 24409
+    Amount: 1
+  - Item: 24410
+    Amount: 1
+  - Item: 24411
+    Amount: 1
+  - Item: 24412
+    Amount: 1
+  - Item: 24413
+    Amount: 1
+  - Item: 24414
+    Amount: 1
+  - Item: 24415
+    Amount: 1
+  - Item: 24423
+    Amount: 1
+  - Item: 24424
+    Amount: 1
+  - Item: 24425
+    Amount: 1
+  - Item: 24426
+    Amount: 1
+  - Item: 24427
+    Amount: 1
+  - Item: 24428
+    Amount: 1
+  - Item: 24429
+    Amount: 1
+  - Item: 24430
+    Amount: 1
+  - Item: 24431
+    Amount: 1
+  - Item: 24432
+    Amount: 1
+  - Item: 24433
+    Amount: 1
+  - Item: 24434
+    Amount: 1
+  - Item: 24435
+    Amount: 1
+  - Item: 24436
+    Amount: 1
+  - Item: 24437
+    Amount: 1
+  - Item: 24438
+    Amount: 1
+  - Item: 24439
+    Amount: 1
+  - Item: 24440
+    Amount: 1
+  - Item: 24441
+    Amount: 1
+  - Item: 24442
+    Amount: 1
+  - Item: 24443
+    Amount: 1
+  - Item: 24444
+    Amount: 1
+  - Item: 24445
+    Amount: 1
+  - Item: 24446
+    Amount: 1
+  - Item: 24447
+    Amount: 1
+  - Item: 24448
+    Amount: 1
+  - Item: 24449
+    Amount: 1
+  - Item: 24450
+    Amount: 1
+  - Item: 24451
+    Amount: 1
+  - Item: 24452
+    Amount: 1
+  - Item: 24453
+    Amount: 1
+  - Item: 24454
+    Amount: 1
+  - Item: 24455
+    Amount: 1
+  - Item: 24456
+    Amount: 1
+  - Item: 24457
+    Amount: 1
+  - Item: 24458
+    Amount: 1
+  - Item: 24459
+    Amount: 1
+  - Item: 24460
+    Amount: 1
+  - Item: 24461
+    Amount: 1
+  - Item: 24462
+    Amount: 1
+  - Item: 24463
+    Amount: 1
+  - Item: 24464
+    Amount: 1
+  - Item: 24465
+    Amount: 1
+  - Item: 24466
+    Amount: 1
+  - Item: 24467
+    Amount: 1
+  - Item: 24468
+    Amount: 1
+  - Item: 24469
+    Amount: 1
+  - Item: 24470
+    Amount: 1
+  - Item: 24471
+    Amount: 1
+  - Item: 24472
+    Amount: 1
+  - Item: 24473
+    Amount: 1
+  - Item: 24474
+    Amount: 1
+  - Item: 24475
+    Amount: 1
+  Reward: getgroupitem(IG_Shadow_Exchange_Box);
+- Id: 23100 # 건슬링거두루마리
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 19157
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    callfunc("F_Lapine_Grown_Gunslinger", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(19157,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23170 # 선풍기개조키트
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 28439
+    Amount: 1
+  Reward: |
+    callfunc("F_Lapine_Fan_Modification_Kits", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(28439,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23175 # 제복수선키트
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 15186
+    Amount: 1
+  Reward: |
+    // Duplicate on item upgrade
+    callfunc("F_Lapine_Uniform_Repair_Kits", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(15186,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23151 # 의상스톤뚝딱상자
+  SourceNeeded: 3
+  NeedRefine: 0
+  SourceItem:
+  - Item: 6740
+    Amount: 1
+  - Item: 6741
+    Amount: 1
+  - Item: 6742
+    Amount: 1
+  - Item: 6743
+    Amount: 1
+  - Item: 6744
+    Amount: 1
+  - Item: 6745
+    Amount: 1
+  - Item: 6636
+    Amount: 1
+  - Item: 6637
+    Amount: 1
+  - Item: 6638
+    Amount: 1
+  - Item: 6639
+    Amount: 1
+  - Item: 6640
+    Amount: 1
+  - Item: 6641
+    Amount: 1
+  - Item: 6642
+    Amount: 1
+  - Item: 6643
+    Amount: 1
+  - Item: 6644
+    Amount: 1
+  - Item: 6645
+    Amount: 1
+  - Item: 6790
+    Amount: 1
+  - Item: 6791
+    Amount: 1
+  - Item: 6792
+    Amount: 1
+  - Item: 6908
+    Amount: 1
+  - Item: 6943
+    Amount: 1
+  - Item: 6944
+    Amount: 1
+  - Item: 6945
+    Amount: 1
+  - Item: 6946
+    Amount: 1
+  - Item: 6947
+    Amount: 1
+  - Item: 6948
+    Amount: 1
+  - Item: 6949
+    Amount: 1
+  - Item: 6950
+    Amount: 1
+  - Item: 6963
+    Amount: 1
+  - Item: 6964
+    Amount: 1
+  - Item: 6999
+    Amount: 1
+  - Item: 25000
+    Amount: 1
+  - Item: 25016
+    Amount: 1
+  - Item: 25017
+    Amount: 1
+  - Item: 25012
+    Amount: 1
+  - Item: 25003
+    Amount: 1
+  - Item: 25013
+    Amount: 1
+  - Item: 25005
+    Amount: 1
+  - Item: 25010
+    Amount: 1
+  - Item: 25007
+    Amount: 1
+  - Item: 25008
+    Amount: 1
+  - Item: 25006
+    Amount: 1
+  - Item: 25009
+    Amount: 1
+  - Item: 25004
+    Amount: 1
+  - Item: 25011
+    Amount: 1
+  - Item: 25002
+    Amount: 1
+  - Item: 25001
+    Amount: 1
+  - Item: 25014
+    Amount: 1
+  - Item: 25015
+    Amount: 1
+  - Item: 25067
+    Amount: 1
+  - Item: 25072
+    Amount: 1
+  - Item: 25068
+    Amount: 1
+  - Item: 25062
+    Amount: 1
+  - Item: 25069
+    Amount: 1
+  - Item: 25070
+    Amount: 1
+  - Item: 25071
+    Amount: 1
+  - Item: 25060
+    Amount: 1
+  - Item: 25061
+    Amount: 1
+  - Item: 25058
+    Amount: 1
+  - Item: 25059
+    Amount: 1
+  - Item: 25063
+    Amount: 1
+  - Item: 25064
+    Amount: 1
+  - Item: 25065
+    Amount: 1
+  - Item: 25066
+    Amount: 1
+  - Item: 25138
+    Amount: 1
+  - Item: 25136
+    Amount: 1
+  - Item: 25137
+    Amount: 1
+  - Item: 25139
+    Amount: 1
+  - Item: 25141
+    Amount: 1
+  - Item: 25177
+    Amount: 1
+  - Item: 25170
+    Amount: 1
+  - Item: 25175
+    Amount: 1
+  - Item: 25178
+    Amount: 1
+  - Item: 25176
+    Amount: 1
+  - Item: 25172
+    Amount: 1
+  - Item: 25173
+    Amount: 1
+  - Item: 25174
+    Amount: 1
+  - Item: 25171
+    Amount: 1
+  - Item: 6716
+    Amount: 1
+  - Item: 6718
+    Amount: 1
+  - Item: 6717
+    Amount: 1
+  - Item: 25205
+    Amount: 1
+  - Item: 25206
+    Amount: 1
+  - Item: 25207
+    Amount: 1
+  - Item: 25210
+    Amount: 1
+  - Item: 25208
+    Amount: 1
+  - Item: 25209
+    Amount: 1
+  - Item: 25226
+    Amount: 1
+  - Item: 25225
+    Amount: 1
+  - Item: 25224
+    Amount: 1
+  - Item: 25229
+    Amount: 1
+  - Item: 25228
+    Amount: 1
+  - Item: 25227
+    Amount: 1
+  - Item: 25409
+    Amount: 1
+  - Item: 25410
+    Amount: 1
+  - Item: 25411
+    Amount: 1
+  - Item: 25412
+    Amount: 1
+  - Item: 25413
+    Amount: 1
+  - Item: 25414
+    Amount: 1
+  - Item: 25415
+    Amount: 1
+  - Item: 25416
+    Amount: 1
+  - Item: 25417
+    Amount: 1
+  - Item: 25418
+    Amount: 1
+  - Item: 25419
+    Amount: 1
+  - Item: 25420
+    Amount: 1
+  - Item: 25445
+    Amount: 1
+  - Item: 25446
+    Amount: 1
+  - Item: 25447
+    Amount: 1
+  - Item: 25448
+    Amount: 1
+  - Item: 25449
+    Amount: 1
+  - Item: 25450
+    Amount: 1
+  - Item: 25451
+    Amount: 1
+  - Item: 25452
+    Amount: 1
+  - Item: 25453
+    Amount: 1
+  - Item: 25454
+    Amount: 1
+  - Item: 25455
+    Amount: 1
+  - Item: 25456
+    Amount: 1
+  - Item: 25490
+    Amount: 1
+  - Item: 25491
+    Amount: 1
+  - Item: 25492
+    Amount: 1
+  - Item: 25493
+    Amount: 1
+  - Item: 25494
+    Amount: 1
+  - Item: 25495
+    Amount: 1
+  - Item: 25496
+    Amount: 1
+  - Item: 25497
+    Amount: 1
+  - Item: 25498
+    Amount: 1
+  - Item: 25499
+    Amount: 1
+  - Item: 25500
+    Amount: 1
+  - Item: 25501
+    Amount: 1
+  - Item: 6951
+    Amount: 1
+  - Item: 25302
+    Amount: 1
+  - Item: 25303
+    Amount: 1
+  - Item: 25304
+    Amount: 1
+  - Item: 25305
+    Amount: 1
+  - Item: 25306
+    Amount: 1
+  - Item: 25706
+    Amount: 1
+  - Item: 25707
+    Amount: 1
+  - Item: 25708
+    Amount: 1
+  - Item: 25709
+    Amount: 1
+  - Item: 25710
+    Amount: 1
+  - Item: 25711
+    Amount: 1
+  - Item: 25712
+    Amount: 1
+  - Item: 25713
+    Amount: 1
+  - Item: 25714
+    Amount: 1
+  - Item: 25715
+    Amount: 1
+  - Item: 25716
+    Amount: 1
+  - Item: 25717
+    Amount: 1
+  - Item: 25797
+    Amount: 1
+  - Item: 25798
+    Amount: 1
+  - Item: 25799
+    Amount: 1
+  - Item: 25800
+    Amount: 1
+  - Item: 25801
+    Amount: 1
+  - Item: 25802
+    Amount: 1
+  - Item: 25803
+    Amount: 1
+  - Item: 25804
+    Amount: 1
+  - Item: 25805
+    Amount: 1
+  - Item: 25806
+    Amount: 1
+  - Item: 25807
+    Amount: 1
+  - Item: 25808
+    Amount: 1
+  - Item: 25842
+    Amount: 1
+  - Item: 25843
+    Amount: 1
+  - Item: 25844
+    Amount: 1
+  - Item: 25845
+    Amount: 1
+  - Item: 25846
+    Amount: 1
+  - Item: 25847
+    Amount: 1
+  - Item: 25848
+    Amount: 1
+  - Item: 25849
+    Amount: 1
+  - Item: 25850
+    Amount: 1
+  - Item: 25851
+    Amount: 1
+  - Item: 25852
+    Amount: 1
+  - Item: 25853
+    Amount: 1
+  - Item: 25854
+    Amount: 1
+  - Item: 25855
+    Amount: 1
+  - Item: 25856
+    Amount: 1
+  - Item: 25857
+    Amount: 1
+  - Item: 25858
+    Amount: 1
+  - Item: 25859
+    Amount: 1
+  - Item: 25860
+    Amount: 1
+  - Item: 25861
+    Amount: 1
+  - Item: 25862
+    Amount: 1
+  - Item: 1000008
+    Amount: 1
+  - Item: 1000009
+    Amount: 1
+  - Item: 1000010
+    Amount: 1
+  - Item: 1000011
+    Amount: 1
+  - Item: 1000012
+    Amount: 1
+  - Item: 1000013
+    Amount: 1
+  - Item: 1000014
+    Amount: 1
+  - Item: 1000015
+    Amount: 1
+  - Item: 1000016
+    Amount: 1
+  - Item: 1000017
+    Amount: 1
+  - Item: 1000018
+    Amount: 1
+  - Item: 1000019
+    Amount: 1
+  Reward: getgroupitem(IG_Costume_Enchant_Stone_Box);
+- Id: 23152 # 수집품뚝딱상자
+  SourceNeeded: 10
+  NeedRefine: 0
+  SourceItem:
+  - Item: 901
+    Amount: 10
+  - Item: 902
+    Amount: 10
+  - Item: 903
+    Amount: 10
+  - Item: 904
+    Amount: 10
+  - Item: 905
+    Amount: 10
+  - Item: 906
+    Amount: 10
+  - Item: 907
+    Amount: 10
+  - Item: 908
+    Amount: 10
+  - Item: 909
+    Amount: 10
+  - Item: 910
+    Amount: 10
+  - Item: 911
+    Amount: 10
+  - Item: 912
+    Amount: 10
+  - Item: 913
+    Amount: 10
+  - Item: 914
+    Amount: 10
+  - Item: 915
+    Amount: 10
+  - Item: 916
+    Amount: 10
+  - Item: 917
+    Amount: 10
+  - Item: 918
+    Amount: 10
+  - Item: 919
+    Amount: 10
+  - Item: 920
+    Amount: 10
+  - Item: 921
+    Amount: 10
+  - Item: 922
+    Amount: 10
+  - Item: 923
+    Amount: 10
+  - Item: 924
+    Amount: 10
+  - Item: 925
+    Amount: 10
+  - Item: 926
+    Amount: 10
+  - Item: 928
+    Amount: 10
+  - Item: 929
+    Amount: 10
+  - Item: 930
+    Amount: 10
+  - Item: 931
+    Amount: 10
+  - Item: 932
+    Amount: 10
+  - Item: 935
+    Amount: 10
+  - Item: 936
+    Amount: 10
+  - Item: 937
+    Amount: 10
+  - Item: 938
+    Amount: 10
+  - Item: 939
+    Amount: 10
+  - Item: 940
+    Amount: 10
+  - Item: 941
+    Amount: 10
+  - Item: 942
+    Amount: 10
+  - Item: 943
+    Amount: 10
+  - Item: 944
+    Amount: 10
+  - Item: 945
+    Amount: 10
+  - Item: 946
+    Amount: 10
+  - Item: 947
+    Amount: 10
+  - Item: 948
+    Amount: 10
+  - Item: 949
+    Amount: 10
+  - Item: 950
+    Amount: 10
+  - Item: 951
+    Amount: 10
+  - Item: 952
+    Amount: 10
+  - Item: 953
+    Amount: 10
+  - Item: 954
+    Amount: 10
+  - Item: 955
+    Amount: 10
+  - Item: 956
+    Amount: 10
+  - Item: 957
+    Amount: 10
+  - Item: 958
+    Amount: 10
+  - Item: 959
+    Amount: 10
+  - Item: 960
+    Amount: 10
+  - Item: 961
+    Amount: 10
+  - Item: 962
+    Amount: 10
+  - Item: 963
+    Amount: 10
+  - Item: 964
+    Amount: 10
+  - Item: 965
+    Amount: 10
+  - Item: 966
+    Amount: 10
+  - Item: 967
+    Amount: 10
+  - Item: 968
+    Amount: 10
+  - Item: 969
+    Amount: 10
+  - Item: 1012
+    Amount: 10
+  - Item: 1013
+    Amount: 10
+  - Item: 1014
+    Amount: 10
+  - Item: 1015
+    Amount: 10
+  - Item: 1016
+    Amount: 10
+  - Item: 1017
+    Amount: 10
+  - Item: 1018
+    Amount: 10
+  - Item: 1019
+    Amount: 10
+  - Item: 1020
+    Amount: 10
+  - Item: 1021
+    Amount: 10
+  - Item: 1022
+    Amount: 10
+  - Item: 1023
+    Amount: 10
+  - Item: 1024
+    Amount: 10
+  - Item: 1025
+    Amount: 10
+  - Item: 1026
+    Amount: 10
+  - Item: 1027
+    Amount: 10
+  - Item: 1028
+    Amount: 10
+  - Item: 1029
+    Amount: 10
+  - Item: 1030
+    Amount: 10
+  - Item: 1031
+    Amount: 10
+  - Item: 1032
+    Amount: 10
+  - Item: 1033
+    Amount: 10
+  - Item: 1034
+    Amount: 10
+  - Item: 1035
+    Amount: 10
+  - Item: 1036
+    Amount: 10
+  - Item: 1037
+    Amount: 10
+  - Item: 1038
+    Amount: 10
+  - Item: 1039
+    Amount: 10
+  - Item: 1040
+    Amount: 10
+  - Item: 1041
+    Amount: 10
+  - Item: 1042
+    Amount: 10
+  - Item: 1043
+    Amount: 10
+  - Item: 1044
+    Amount: 10
+  - Item: 1045
+    Amount: 10
+  - Item: 1046
+    Amount: 10
+  - Item: 1047
+    Amount: 10
+  - Item: 1048
+    Amount: 10
+  - Item: 1049
+    Amount: 10
+  - Item: 1050
+    Amount: 10
+  - Item: 1051
+    Amount: 10
+  - Item: 1052
+    Amount: 10
+  - Item: 1053
+    Amount: 10
+  - Item: 1054
+    Amount: 10
+  - Item: 1055
+    Amount: 10
+  - Item: 1056
+    Amount: 10
+  - Item: 1057
+    Amount: 10
+  - Item: 1058
+    Amount: 10
+  - Item: 1059
+    Amount: 10
+  - Item: 1060
+    Amount: 10
+  - Item: 1061
+    Amount: 10
+  - Item: 1062
+    Amount: 10
+  - Item: 1063
+    Amount: 10
+  - Item: 1064
+    Amount: 10
+  - Item: 1066
+    Amount: 10
+  - Item: 1067
+    Amount: 10
+  - Item: 1068
+    Amount: 10
+  - Item: 1094
+    Amount: 10
+  - Item: 1095
+    Amount: 10
+  - Item: 1096
+    Amount: 10
+  - Item: 1097
+    Amount: 10
+  - Item: 1098
+    Amount: 10
+  - Item: 1099
+    Amount: 10
+  - Item: 4454
+    Amount: 10
+  - Item: 4455
+    Amount: 10
+  - Item: 4478
+    Amount: 10
+  - Item: 4479
+    Amount: 10
+  - Item: 6020
+    Amount: 10
+  - Item: 6021
+    Amount: 10
+  - Item: 6022
+    Amount: 10
+  - Item: 6023
+    Amount: 10
+  - Item: 6321
+    Amount: 10
+  - Item: 6322
+    Amount: 10
+  - Item: 6323
+    Amount: 10
+  - Item: 6324
+    Amount: 10
+  - Item: 6325
+    Amount: 10
+  - Item: 6357
+    Amount: 10
+  - Item: 6496
+    Amount: 10
+  - Item: 7001
+    Amount: 10
+  - Item: 7002
+    Amount: 10
+  - Item: 7003
+    Amount: 10
+  - Item: 7004
+    Amount: 10
+  - Item: 7005
+    Amount: 10
+  - Item: 7006
+    Amount: 10
+  - Item: 7007
+    Amount: 10
+  - Item: 7008
+    Amount: 10
+  - Item: 7009
+    Amount: 10
+  - Item: 7010
+    Amount: 10
+  - Item: 7011
+    Amount: 10
+  - Item: 7012
+    Amount: 10
+  - Item: 7013
+    Amount: 10
+  - Item: 7017
+    Amount: 10
+  - Item: 7030
+    Amount: 10
+  - Item: 7031
+    Amount: 10
+  - Item: 7032
+    Amount: 10
+  - Item: 7033
+    Amount: 10
+  - Item: 7047
+    Amount: 10
+  - Item: 7048
+    Amount: 10
+  - Item: 7053
+    Amount: 10
+  - Item: 7054
+    Amount: 10
+  - Item: 7444
+    Amount: 10
+  - Item: 7751
+    Amount: 10
+  - Item: 7752
+    Amount: 10
+  - Item: 7753
+    Amount: 10
+  - Item: 7754
+    Amount: 10
+  - Item: 6609
+    Amount: 10
+  - Item: 6610
+    Amount: 10
+  - Item: 6648
+    Amount: 10
+  - Item: 6936
+    Amount: 10
+  - Item: 6937
+    Amount: 10
+  - Item: 6938
+    Amount: 10
+  - Item: 6939
+    Amount: 10
+  - Item: 6940
+    Amount: 10
+  - Item: 6941
+    Amount: 10
+  - Item: 6942
+    Amount: 10
+  - Item: 25156
+    Amount: 10
+  - Item: 25157
+    Amount: 10
+  - Item: 25158
+    Amount: 10
+  - Item: 25276
+    Amount: 10
+  - Item: 25277
+    Amount: 10
+  - Item: 25278
+    Amount: 10
+  - Item: 25279
+    Amount: 10
+  - Item: 25280
+    Amount: 10
+  - Item: 25281
+    Amount: 10
+  - Item: 25282
+    Amount: 10
+  - Item: 25283
+    Amount: 10
+  - Item: 25284
+    Amount: 10
+  - Item: 25285
+    Amount: 10
+  - Item: 25297
+    Amount: 10
+  - Item: 25298
+    Amount: 10
+  - Item: 25299
+    Amount: 10
+  - Item: 25300
+    Amount: 10
+  - Item: 25256
+    Amount: 10
+  - Item: 25258
+    Amount: 10
+  - Item: 25259
+    Amount: 10
+  - Item: 25272
+    Amount: 10
+  - Item: 25261
+    Amount: 10
+  - Item: 25262
+    Amount: 10
+  - Item: 25263
+    Amount: 10
+  - Item: 25264
+    Amount: 10
+  - Item: 25265
+    Amount: 10
+  - Item: 25266
+    Amount: 10
+  - Item: 25267
+    Amount: 10
+  - Item: 25311
+    Amount: 10
+  - Item: 25312
+    Amount: 10
+  - Item: 25313
+    Amount: 10
+  Reward: getgroupitem(IG_VioletBox); # TODO
+- Id: 23153 # 펫알뚝딱상자
+  SourceNeeded: 2
+  NeedRefine: 0
+  SourceItem:
+  - Item: 9001
+    Amount: 1
+  - Item: 9002
+    Amount: 1
+  - Item: 9003
+    Amount: 1
+  - Item: 9004
+    Amount: 1
+  - Item: 9005
+    Amount: 1
+  - Item: 9006
+    Amount: 1
+  - Item: 9007
+    Amount: 1
+  - Item: 9008
+    Amount: 1
+  - Item: 9009
+    Amount: 1
+  - Item: 9010
+    Amount: 1
+  - Item: 9011
+    Amount: 1
+  - Item: 9012
+    Amount: 1
+  - Item: 9013
+    Amount: 1
+  - Item: 9014
+    Amount: 1
+  - Item: 9015
+    Amount: 1
+  - Item: 9016
+    Amount: 1
+  - Item: 9017
+    Amount: 1
+  - Item: 9018
+    Amount: 1
+  - Item: 9019
+    Amount: 1
+  - Item: 9020
+    Amount: 1
+  - Item: 9021
+    Amount: 1
+  - Item: 9022
+    Amount: 1
+  - Item: 9023
+    Amount: 1
+  - Item: 9024
+    Amount: 1
+  - Item: 9025
+    Amount: 1
+  - Item: 9026
+    Amount: 1
+  - Item: 9027
+    Amount: 1
+  - Item: 9028
+    Amount: 1
+  - Item: 9029
+    Amount: 1
+  - Item: 9030
+    Amount: 1
+  - Item: 9031
+    Amount: 1
+  - Item: 9032
+    Amount: 1
+  - Item: 9033
+    Amount: 1
+  - Item: 9034
+    Amount: 1
+  - Item: 9035
+    Amount: 1
+  - Item: 9036
+    Amount: 1
+  - Item: 9037
+    Amount: 1
+  - Item: 9038
+    Amount: 1
+  - Item: 9039
+    Amount: 1
+  - Item: 9040
+    Amount: 1
+  - Item: 9042
+    Amount: 1
+  - Item: 9043
+    Amount: 1
+  - Item: 9044
+    Amount: 1
+  - Item: 9045
+    Amount: 1
+  - Item: 9046
+    Amount: 1
+  - Item: 9047
+    Amount: 1
+  - Item: 9049
+    Amount: 1
+  - Item: 9050
+    Amount: 1
+  - Item: 9051
+    Amount: 1
+  - Item: 9052
+    Amount: 1
+  - Item: 9053
+    Amount: 1
+  - Item: 9054
+    Amount: 1
+  - Item: 9055
+    Amount: 1
+  - Item: 9056
+    Amount: 1
+  - Item: 9057
+    Amount: 1
+  - Item: 9058
+    Amount: 1
+  - Item: 9059
+    Amount: 1
+  - Item: 9060
+    Amount: 1
+  - Item: 9061
+    Amount: 1
+  - Item: 9063
+    Amount: 1
+  - Item: 9068
+    Amount: 1
+  - Item: 9095
+    Amount: 1
+  - Item: 9099
+    Amount: 1
+  - Item: 9104
+    Amount: 1
+  - Item: 9103
+    Amount: 1
+  - Item: 9100
+    Amount: 1
+  - Item: 9102
+    Amount: 1
+  - Item: 9101
+    Amount: 1
+  - Item: 9048
+    Amount: 1
+  - Item: 9041
+    Amount: 1
+  Reward: getitem(12105,1);
+- Id: 23154 # 냥다래의상뚝딱상자
+  SourceNeeded: 1
+  NeedRefine: 0
+  SourceItem:
+  - Item: 19876
+    Amount: 1
+  - Item: 19654
+    Amount: 1
+  - Item: 19608
+    Amount: 1
+  - Item: 19712
+    Amount: 1
+  - Item: 20145
+    Amount: 1
+  - Item: 19721
+    Amount: 1
+  - Item: 20146
+    Amount: 1
+  - Item: 19823
+    Amount: 1
+  - Item: 20036
+    Amount: 1
+  - Item: 20147
+    Amount: 1
+  - Item: 20746
+    Amount: 1
+  - Item: 19643
+    Amount: 1
+  - Item: 20199
+    Amount: 1
+  - Item: 20200
+    Amount: 1
+  - Item: 20201
+    Amount: 1
+  - Item: 20202
+    Amount: 1
+  - Item: 20761
+    Amount: 1
+  - Item: 20132
+    Amount: 1
+  - Item: 20130
+    Amount: 1
+  - Item: 20133
+    Amount: 1
+  - Item: 20230
+    Amount: 1
+  - Item: 20231
+    Amount: 1
+  - Item: 20232
+    Amount: 1
+  - Item: 20233
+    Amount: 1
+  - Item: 20273
+    Amount: 1
+  - Item: 20242
+    Amount: 1
+  - Item: 20762
+    Amount: 1
+  - Item: 20239
+    Amount: 1
+  - Item: 20071
+    Amount: 1
+  - Item: 19954
+    Amount: 1
+  - Item: 19815
+    Amount: 1
+  - Item: 20268
+    Amount: 1
+  - Item: 18740
+    Amount: 1
+  - Item: 20266
+    Amount: 1
+  - Item: 20255
+    Amount: 1
+  - Item: 20329
+    Amount: 1
+  - Item: 20330
+    Amount: 1
+  - Item: 20286
+    Amount: 1
+  - Item: 20349
+    Amount: 1
+  - Item: 20299
+    Amount: 1
+  - Item: 20300
+    Amount: 1
+  - Item: 20315
+    Amount: 1
+  - Item: 20350
+    Amount: 1
+  - Item: 20351
+    Amount: 1
+  - Item: 20352
+    Amount: 1
+  - Item: 20353
+    Amount: 1
+  - Item: 20354
+    Amount: 1
+  - Item: 20355
+    Amount: 1
+  - Item: 20356
+    Amount: 1
+  - Item: 20341
+    Amount: 1
+  - Item: 20357
+    Amount: 1
+  - Item: 20358
+    Amount: 1
+  - Item: 20359
+    Amount: 1
+  - Item: 20360
+    Amount: 1
+  - Item: 20361
+    Amount: 1
+  - Item: 20362
+    Amount: 1
+  - Item: 20363
+    Amount: 1
+  - Item: 20340
+    Amount: 1
+  - Item: 20364
+    Amount: 1
+  - Item: 20365
+    Amount: 1
+  - Item: 20366
+    Amount: 1
+  - Item: 20367
+    Amount: 1
+  - Item: 20368
+    Amount: 1
+  - Item: 20369
+    Amount: 1
+  - Item: 20370
+    Amount: 1
+  - Item: 20342
+    Amount: 1
+  - Item: 20504
+    Amount: 1
+  - Item: 19816
+    Amount: 1
+  - Item: 20396
+    Amount: 1
+  - Item: 20325
+    Amount: 1
+  - Item: 5979
+    Amount: 1
+  - Item: 20398
+    Amount: 1
+  - Item: 20399
+    Amount: 1
+  - Item: 20172
+    Amount: 1
+  - Item: 20405
+    Amount: 1
+  - Item: 20404
+    Amount: 1
+  - Item: 19761
+    Amount: 1
+  - Item: 20447
+    Amount: 1
+  - Item: 20458
+    Amount: 1
+  - Item: 20459
+    Amount: 1
+  - Item: 20433
+    Amount: 1
+  - Item: 20507
+    Amount: 1
+  - Item: 20430
+    Amount: 1
+  - Item: 20464
+    Amount: 1
+  - Item: 20432
+    Amount: 1
+  - Item: 20491
+    Amount: 1
+  - Item: 20502
+    Amount: 1
+  - Item: 20440
+    Amount: 1
+  - Item: 31087
+    Amount: 1
+  - Item: 31088
+    Amount: 1
+  - Item: 20448
+    Amount: 1
+  - Item: 20487
+    Amount: 1
+  - Item: 19158
+    Amount: 1
+  - Item: 20489
+    Amount: 1
+  - Item: 20318
+    Amount: 1
+  - Item: 20509
+    Amount: 1
+  - Item: 31029
+    Amount: 1
+  - Item: 20499
+    Amount: 1
+  - Item: 5909
+    Amount: 1
+  - Item: 31057
+    Amount: 1
+  - Item: 31062
+    Amount: 1
+  - Item: 31125
+    Amount: 1
+  - Item: 31118
+    Amount: 1
+  - Item: 31120
+    Amount: 1
+  - Item: 31123
+    Amount: 1
+  - Item: 31040
+    Amount: 1
+  - Item: 20381
+    Amount: 1
+  - Item: 31055
+    Amount: 1
+  - Item: 20510
+    Amount: 1
+  - Item: 31063
+    Amount: 1
+  - Item: 31064
+    Amount: 1
+  - Item: 31065
+    Amount: 1
+  - Item: 31066
+    Amount: 1
+  - Item: 31067
+    Amount: 1
+  - Item: 31068
+    Amount: 1
+  - Item: 31069
+    Amount: 1
+  - Item: 31070
+    Amount: 1
+  - Item: 31071
+    Amount: 1
+  - Item: 31072
+    Amount: 1
+  - Item: 31073
+    Amount: 1
+  - Item: 31074
+    Amount: 1
+  - Item: 31075
+    Amount: 1
+  - Item: 31076
+    Amount: 1
+  - Item: 31077
+    Amount: 1
+  - Item: 31078
+    Amount: 1
+  - Item: 31079
+    Amount: 1
+  - Item: 31080
+    Amount: 1
+  - Item: 31081
+    Amount: 1
+  - Item: 31082
+    Amount: 1
+  - Item: 31083
+    Amount: 1
+  - Item: 31084
+    Amount: 1
+  - Item: 31085
+    Amount: 1
+  - Item: 31086
+    Amount: 1
+  - Item: 31165
+    Amount: 1
+  - Item: 31160
+    Amount: 1
+  - Item: 31162
+    Amount: 1
+  - Item: 20511
+    Amount: 1
+  - Item: 31186
+    Amount: 1
+  - Item: 20449
+    Amount: 1
+  - Item: 20263
+    Amount: 1
+  - Item: 20195
+    Amount: 1
+  - Item: 20514
+    Amount: 1
+  - Item: 31300
+    Amount: 1
+  - Item: 31136
+    Amount: 1
+  - Item: 31134
+    Amount: 1
+  - Item: 31178
+    Amount: 1
+  - Item: 31166
+    Amount: 1
+  - Item: 31168
+    Amount: 1
+  - Item: 31164
+    Amount: 1
+  - Item: 31397
+    Amount: 1
+  - Item: 31031
+    Amount: 1
+  - Item: 31033
+    Amount: 1
+  - Item: 20488
+    Amount: 1
+  - Item: 31329
+    Amount: 1
+  - Item: 31332
+    Amount: 1
+  - Item: 31415
+    Amount: 1
+  - Item: 20516
+    Amount: 1
+  - Item: 31180
+    Amount: 1
+  - Item: 19294
+    Amount: 1
+  - Item: 19289
+    Amount: 1
+  - Item: 19291
+    Amount: 1
+  - Item: 20515
+    Amount: 1
+  - Item: 19992
+    Amount: 1
+  - Item: 19959
+    Amount: 1
+  - Item: 19960
+    Amount: 1
+  - Item: 31396
+    Amount: 1
+  - Item: 31437
+    Amount: 1
+  - Item: 31439
+    Amount: 1
+  - Item: 20765
+    Amount: 1
+  - Item: 20517
+    Amount: 1
+  - Item: 31432
+    Amount: 1
+  - Item: 31314
+    Amount: 1
+  - Item: 31460
+    Amount: 1
+  - Item: 31398
+    Amount: 1
+  - Item: 31489
+    Amount: 1
+  - Item: 31490
+    Amount: 1
+  - Item: 31529
+    Amount: 1
+  - Item: 20533
+    Amount: 1
+  - Item: 20171
+    Amount: 1
+  - Item: 20482
+    Amount: 1
+  - Item: 20033
+    Amount: 1
+  - Item: 20535
+    Amount: 1
+  - Item: 31139
+    Amount: 1
+  - Item: 31606
+    Amount: 1
+  - Item: 31249
+    Amount: 1
+  - Item: 20543
+    Amount: 1
+  - Item: 20174
+    Amount: 1
+  - Item: 20098
+    Amount: 1
+  - Item: 20395
+    Amount: 1
+  - Item: 20175
+    Amount: 1
+  - Item: 31565
+    Amount: 1
+  - Item: 31586
+    Amount: 1
+  - Item: 31625
+    Amount: 1
+  - Item: 20546
+    Amount: 1
+  - Item: 20764
+    Amount: 1
+  - Item: 19990
+    Amount: 1
+  - Item: 31440
+    Amount: 1
+  - Item: 31693
+    Amount: 1
+  - Item: 31616
+    Amount: 1
+  - Item: 20570
+    Amount: 1
+  - Item: 31382
+    Amount: 1
+  - Item: 31481
+    Amount: 1
+  - Item: 31624
+    Amount: 1
+  - Item: 20486
+    Amount: 1
+  - Item: 20257
+    Amount: 1
+  - Item: 31699
+    Amount: 1
+  - Item: 20572
+    Amount: 1
+  - Item: 31600
+    Amount: 1
+  - Item: 31512
+    Amount: 1
+  - Item: 20519
+    Amount: 1
+  - Item: 31614
+    Amount: 1
+  Reward: getgroupitem(IG_Costume_Exchange_Box);

+ 2436 - 0
db/re/item_upgrade.yml

@@ -0,0 +1,2436 @@
+###########################################################################
+# 
+# Item Upgrade Database
+#
+# This feature need a sync client file: LapineUpgradeBox.lub
+#
+###########################################################################
+# - Id:                   # (int) Item ID of upgrade box
+#   NeedRefineMin:        # (int) Minimum refine level for target item (default :0)
+#   NeedOptionNumMin:     # (int) Minimum random option that target item has (default :0)
+#   NotSocketEnchantItem: # (bool) Target item must not has enchant stone (default: true)
+#   TargetItem:           # List of possible item to be upgraded
+#     - Item:             # (int) Target's Item ID
+#   Result:               # (string) Script on upgrade success
+###########################################################################
+
+Header:
+  Type: ITEM_UPGRADE_DB
+  Version: 1
+
+Body:
+- Id: 100023 # Ancient_Hero_Bravery, 영웅의 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 18164 #Royal_Bow_K
+  - Item: 18170 #Narcis_Bow
+  - Item: 26118 #Shadow_Staff_K
+  - Item: 1847 #Iron_Nail_K
+  - Item: 28744 #Magic_Sword
+  - Item: 13485 #Sword_Of_Bluefire
+  - Item: 28130 #Avenger
+  - Item: 2048 #Iron_Staff
+  - Item: 21038 #Oriental_Sword
+  - Item: 32018 #Undine_Spear_K
+  - Item: 28630 #Demon_Hunting_Bible_K
+  - Item: 28039 #Shiver_Katar_K
+  - Item: 28631 #OneSkyOneSun
+  - Item: 26154 #SoulWeight
+  - Item: 26155 #MeawFoxtail
+  - Item: 32302 #Crimson_Rose
+  - Item: 28255 #Master_Soul_Rifle
+  - Item: 28256 #Demon_S_Shot
+  - Item: 28257 #Golden_L_Launcher
+  - Item: 28258 #The_Black_Gatling
+  - Item: 28763 #Sharp_Wind_Sword
+  - Item: 28764 #Fog_Dew_Sword
+  - Item: 13345 #Humma_Clear
+  - Item: 600004 #Dragonic_Slayer
+  - Item: 500003 #Light_Blade
+  - Item: 500004 #Slate_Sword
+  - Item: 570002 #Trumpet_Shell_K
+  - Item: 580002 #Barb_Wire_K
+  - Item: 590002 #Meteor_Striker
+  Result: |
+    callfunc("F_Lapine_Ancient_Hero_Bravery", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+    // setarray .@properties[0], ITEMUPG_OPTION_ID0, ITEMUPG_OPTION_VALUE0, ITEMUPG_OPTION_ID1, ITEMUPG_OPTION_VALUE1;
+    // setarray .@values[0], .@opt1, .@val1, .@opt2, .@val2;
+    // upgrade @last_lapine_idx,.@properties,.@values;
+- Id: 100025 # Ancient_Hero_Wisdom, 영웅의 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 18164 #Royal_Bow_K
+  - Item: 18170 #Narcis_Bow
+  - Item: 26118 #Shadow_Staff_K
+  - Item: 1847 #Iron_Nail_K
+  - Item: 28744 #Magic_Sword
+  - Item: 13485 #Sword_Of_Bluefire
+  - Item: 28130 #Avenger
+  - Item: 2048 #Iron_Staff
+  - Item: 21038 #Oriental_Sword
+  - Item: 32018 #Undine_Spear_K
+  - Item: 28630 #Demon_Hunting_Bible_K
+  - Item: 28039 #Shiver_Katar_K
+  - Item: 28631 #OneSkyOneSun
+  - Item: 26154 #SoulWeight
+  - Item: 26155 #MeawFoxtail
+  - Item: 32302 #Crimson_Rose
+  - Item: 28255 #Master_Soul_Rifle
+  - Item: 28256 #Demon_S_Shot
+  - Item: 28257 #Golden_L_Launcher
+  - Item: 28258 #The_Black_Gatling
+  - Item: 28763 #Sharp_Wind_Sword
+  - Item: 28764 #Fog_Dew_Sword
+  - Item: 13345 #Humma_Clear
+  - Item: 600004 #Dragonic_Slayer
+  - Item: 500003 #Light_Blade
+  - Item: 500004 #Slate_Sword
+  - Item: 570002 #Trumpet_Shell_K
+  - Item: 580002 #Barb_Wire_K
+  - Item: 590002 #Meteor_Striker
+  Result: |
+    callfunc("F_Lapine_Ancient_Hero_Wisdom", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 100003 # ILL_Piece_A, 4레벨 일루전 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 28762 #Bazerald_IL
+  - Item: 28254 #Butcher_IL
+  - Item: 32301 #Gold_Lux_IL
+  - Item: 28022 #등뒤를베는자_IL
+  - Item: 1326 #워액스_IL
+  - Item: 13469 #무형검_IL
+  - Item: 16065 #아이언드라이버_IL
+  - Item: 32005 #폴액스_IL
+  - Item: 28612 #묵시록_IL
+  - Item: 18149 #발리스타_IL
+  - Item: 13338 #풍마_편익_IL
+  - Item: 2039 #위자드리스태프_IL
+  - Item: 16063 #롱메이스_IL
+  - Item: 13337 #풍마_난설_IL
+  - Item: 1846 #연격의투갑_IL
+  - Item: 26007 #요괴의창_IL
+  - Item: 26109 #스태프오브오르도_IL
+  - Item: 28725 #월광검_IL
+  - Item: 18174 #Hunter_Bow_IL
+  - Item: 28626 #Tablet_IL
+  - Item: 28244 #Gate_KeeperDD_IL
+  - Item: 28745 #Counter_Dagger_IL
+  - Item: 2051 #Survival_Staff_IL
+  - Item: 21050 #Taegoolyeon_IL
+  Result: |
+    callfunc("F_Lapine_ILL_Piece_A", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 100004 # ILL_Piece_B, 4레벨 일루전 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 28762 #Bazerald_IL
+  - Item: 28254 #Butcher_IL
+  - Item: 32301 #Gold_Lux_IL
+  - Item: 28022 #등뒤를베는자_IL
+  - Item: 1326 #워액스_IL
+  - Item: 13469 #무형검_IL
+  - Item: 16065 #아이언드라이버_IL
+  - Item: 32005 #폴액스_IL
+  - Item: 28612 #묵시록_IL
+  - Item: 18149 #발리스타_IL
+  - Item: 13338 #풍마_편익_IL
+  - Item: 2039 #위자드리스태프_IL
+  - Item: 16063 #롱메이스_IL
+  - Item: 13337 #풍마_난설_IL
+  - Item: 1846 #연격의투갑_IL
+  - Item: 26007 #요괴의창_IL
+  - Item: 26109 #스태프오브오르도_IL
+  - Item: 28725 #월광검_IL
+  - Item: 18174 #Hunter_Bow_IL
+  - Item: 28626 #Tablet_IL
+  - Item: 28244 #Gate_KeeperDD_IL
+  - Item: 28745 #Counter_Dagger_IL
+  - Item: 2051 #Survival_Staff_IL
+  - Item: 21050 #Taegoolyeon_IL
+  Result: |
+    callfunc("F_Lapine_ILL_Piece_B", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 9550 # Gemstone_Of_Time, 시간의 갑옷 6종
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 15278 #Overwhelm_Str_Armor
+  - Item: 15279 #Overwhelm_Int_Armor
+  - Item: 15347 #Overwhelm_Vit_Armor
+  - Item: 15354 #Overwhelm_Dex_Armor
+  - Item: 15353 #Overwhelm_Agi_Armor
+  - Item: 15346 #Overwhelm_Luk_Armor
+  Result: |
+    callfunc("F_Lapine_Gemstone_Of_Time", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 9551 # Time_Unseal_Key, 시간의 망토 6종
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 20963 #Temporal_M_Str
+  - Item: 20964 #Temporal_M_Agi
+  - Item: 20965 #Temporal_M_Vit
+  - Item: 20966 #Temporal_M_Int
+  - Item: 20967 #Temporal_M_Dex
+  - Item: 20968 #Temporal_M_Luk
+  Result: |
+    callfunc("F_Lapine_Time_Unseal_Key", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23815 # Magma_Essence, 라바 레더 갑옷 장비
+  NeedRefineMin: 0
+  NeedOptionNumMin: 2
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 15378 #Lava_Leather_Armor
+  - Item: 15379 #Lava_Leather_Suits
+  - Item: 15380 #Lava_Leather_Robe
+  Result: |
+    callfunc("F_Lapine_Magma_Essence", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2], .@opts[3], .@vals[3]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23776 # EP17_1_SPC05, OS무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 13493 #Cannon_Rapier_OS
+  - Item: 21047 #Beam_Claymore_OS
+  - Item: 26151 #Rutilus_Stick_OS
+  - Item: 28629 #Circuit_Board_OS
+  - Item: 28136 #Blasti_OS
+  - Item: 16088 #Saphir_Hall_OS
+  - Item: 18178 #Virtual_Bow_OS
+  - Item: 18179 #MH_P89_OS
+  - Item: 28038 #Meuchler_OS
+  - Item: 1862 #Burning_Knuckle_OS
+  - Item: 28253 #HR_S55_OS
+  - Item: 28755 #Kuroiro_OS
+  - Item: 18180 #AC_B44_OS
+  - Item: 32019 #Boost_Lance_OS
+  - Item: 16089 #Ultio_Spes_OS
+  - Item: 26164 #ElectricFox_OS
+  Result: |
+    callfunc("F_Lapine_EP17_1_SPC05", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23777 # EP17_1_SPC06, OS무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 13493 #Cannon_Rapier_OS
+  - Item: 21047 #Beam_Claymore_OS
+  - Item: 26151 #Rutilus_Stick_OS
+  - Item: 28629 #Circuit_Board_OS
+  - Item: 28136 #Blasti_OS
+  - Item: 16088 #Saphir_Hall_OS
+  - Item: 18178 #Virtual_Bow_OS
+  - Item: 18179 #MH_P89_OS
+  - Item: 28038 #Meuchler_OS
+  - Item: 1862 #Burning_Knuckle_OS
+  - Item: 28253 #HR_S55_OS
+  - Item: 28755 #Kuroiro_OS
+  - Item: 18180 #AC_B44_OS
+  - Item: 32019 #Boost_Lance_OS
+  - Item: 16089 #Ultio_Spes_OS
+  - Item: 26164 #ElectricFox_OS
+  Result: |
+    callfunc("F_Lapine_EP17_1_SPC06", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23778 # EP17_1_SPC07, OS무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 13493 #Cannon_Rapier_OS
+  - Item: 21047 #Beam_Claymore_OS
+  - Item: 26151 #Rutilus_Stick_OS
+  - Item: 28629 #Circuit_Board_OS
+  - Item: 28136 #Blasti_OS
+  - Item: 16088 #Saphir_Hall_OS
+  - Item: 18178 #Virtual_Bow_OS
+  - Item: 18179 #MH_P89_OS
+  - Item: 28038 #Meuchler_OS
+  - Item: 1862 #Burning_Knuckle_OS
+  - Item: 28253 #HR_S55_OS
+  - Item: 28755 #Kuroiro_OS
+  - Item: 18180 #AC_B44_OS
+  - Item: 32019 #Boost_Lance_OS
+  - Item: 16089 #Ultio_Spes_OS
+  - Item: 26164 #ElectricFox_OS
+  Result: |
+    callfunc("F_Lapine_EP17_1_SPC07", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23779 # EP17_1_SPC08, OS무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 13493 #Cannon_Rapier_OS
+  - Item: 21047 #Beam_Claymore_OS
+  - Item: 26151 #Rutilus_Stick_OS
+  - Item: 28629 #Circuit_Board_OS
+  - Item: 28136 #Blasti_OS
+  - Item: 16088 #Saphir_Hall_OS
+  - Item: 18178 #Virtual_Bow_OS
+  - Item: 18179 #MH_P89_OS
+  - Item: 28038 #Meuchler_OS
+  - Item: 1862 #Burning_Knuckle_OS
+  - Item: 28253 #HR_S55_OS
+  - Item: 28755 #Kuroiro_OS
+  - Item: 18180 #AC_B44_OS
+  - Item: 32019 #Boost_Lance_OS
+  - Item: 16089 #Ultio_Spes_OS
+  - Item: 26164 #ElectricFox_OS
+  Result: |
+    callfunc("F_Lapine_EP17_1_SPC08", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23780 # EP17_1_SPC09, OS무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 13493 #Cannon_Rapier_OS
+  - Item: 21047 #Beam_Claymore_OS
+  - Item: 26151 #Rutilus_Stick_OS
+  - Item: 28629 #Circuit_Board_OS
+  - Item: 28136 #Blasti_OS
+  - Item: 16088 #Saphir_Hall_OS
+  - Item: 18178 #Virtual_Bow_OS
+  - Item: 18179 #MH_P89_OS
+  - Item: 28038 #Meuchler_OS
+  - Item: 1862 #Burning_Knuckle_OS
+  - Item: 28253 #HR_S55_OS
+  - Item: 28755 #Kuroiro_OS
+  - Item: 18180 #AC_B44_OS
+  - Item: 32019 #Boost_Lance_OS
+  - Item: 16089 #Ultio_Spes_OS
+  - Item: 26164 #ElectricFox_OS
+  Result: |
+    callfunc("F_Lapine_EP17_1_SPC09", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23781 # EP17_1_SPC10, OS무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 13493 #Cannon_Rapier_OS
+  - Item: 21047 #Beam_Claymore_OS
+  - Item: 26151 #Rutilus_Stick_OS
+  - Item: 28629 #Circuit_Board_OS
+  - Item: 28136 #Blasti_OS
+  - Item: 16088 #Saphir_Hall_OS
+  - Item: 18178 #Virtual_Bow_OS
+  - Item: 18179 #MH_P89_OS
+  - Item: 28038 #Meuchler_OS
+  - Item: 1862 #Burning_Knuckle_OS
+  - Item: 28253 #HR_S55_OS
+  - Item: 28755 #Kuroiro_OS
+  - Item: 18180 #AC_B44_OS
+  - Item: 32019 #Boost_Lance_OS
+  - Item: 16089 #Ultio_Spes_OS
+  - Item: 26164 #ElectricFox_OS
+  Result: |
+    callfunc("F_Lapine_EP17_1_SPC10", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23706 # Charleston_Parts_W, 찰스턴 업그레이드 부품(물리)
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 1549 #파일벙커
+  - Item: 16030 #파일벙커S
+  - Item: 16032 #파일벙커T
+  - Item: 16031 #파일벙커P
+  - Item: 16033 #로봇의기계팔
+  - Item: 28101 #토네이도액스
+  - Item: 21011 #기간트블레이드
+  Result: |
+    callfunc("F_Lapine_Charleston_Parts_W", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23707 # Charleston_Parts_R, 찰스턴 업그레이드 부품(원거리)
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 1549 #파일벙커
+  - Item: 16030 #파일벙커S
+  - Item: 16032 #파일벙커T
+  - Item: 16031 #파일벙커P
+  - Item: 16033 #로봇의기계팔
+  - Item: 28101 #토네이도액스
+  - Item: 21011 #기간트블레이드
+  Result: |
+    callfunc("F_Lapine_Charleston_Parts_R", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23678 # Gray_Charcoal_Range, 타노스 원거리 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 18119 #타노스의활
+  - Item: 1933 #타노스의바이올린
+  - Item: 1988 #타노스의윕소드
+  - Item: 13441 #타노스의검
+  - Item: 21009 #타노스의대검
+  - Item: 1438 #타노스의창
+  - Item: 1496 #타노스의양손창
+  - Item: 28000 #타노스의카타르
+  - Item: 1836 #타노스의너클
+  - Item: 16028 #타노스의망치
+  - Item: 28100 #타노스의도끼
+  Result: |
+    callfunc("F_Lapine_Gray_Charcoal_Range", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23677 # Gray_Charcoal_Magic, 타노스 마법 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 2023 #타노스의양손지팡이
+  - Item: 1669 #타노스의지팡이
+  - Item: 13093 #타노스의단검
+  - Item: 13441 #타노스의검
+  - Item: 1933 #타노스의바이올린
+  - Item: 1988 #타노스의윕소드
+  Result: |
+    callfunc("F_Lapine_Gray_Charcoal_Magic", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23676 # Gray_Charcoal_Melee, 타노스 근거리 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 1988 #타노스의윕소드
+  - Item: 13441 #타노스의검
+  - Item: 21009 #타노스의대검
+  - Item: 1438 #타노스의창
+  - Item: 1496 #타노스의양손창
+  - Item: 13093 #타노스의단검
+  - Item: 28000 #타노스의카타르
+  - Item: 1836 #타노스의너클
+  - Item: 16028 #타노스의망치
+  - Item: 28100 #타노스의도끼
+  - Item: 1933 #타노스의바이올린
+  Result: |
+    callfunc("F_Lapine_Gray_Charcoal_Melee", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23679 # Geffen_Magic_Scroll2, 게펜 마법 대회 액세서리 (accessory)
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 2963 #신체강화반지
+  - Item: 2964 #마력증폭반지
+  Result: |
+    callfunc("F_Lapine_Geffen_Magic_Scroll2", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23675 # Geffen_Magic_Scroll, 게펜 마법 대회 갑옷 (armor)
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 15074 #게펜매직로브
+  - Item: 15073 #안티매직슈츠
+  Result: |
+    callfunc("F_Lapine_Geffen_Magic_Scroll", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23546 # Cursed_Blood, 피빛의 기사의 방패
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 28945 #Bloody_Knight_Shield_
+  Result: |
+    callfunc("F_Lapine_Cursed_Blood", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23547 # Gold_Statue, 정화된 기사의 방패
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 28946 #Bloody_Knight_Shield__
+  Result: |
+    callfunc("F_Lapine_Gold_Statue", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[3]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23436 # Shadow_Refine_Hammer, 쉐도우 아이템
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: false
+  TargetItem:
+  - Item: 24000 #T힘1아머쉐도우
+  - Item: 24001 #T덱스1웨폰쉐도우
+  - Item: 24002 #T럭1쉴드쉐도우
+  - Item: 24003 #T어질1슈즈쉐도우
+  - Item: 24004 #T바이탈1악세R쉐도우
+  - Item: 24005 #T인트1악세L쉐도우
+  - Item: 24006 #T힘2아머쉐도우
+  - Item: 24007 #T덱스2웨폰쉐도우
+  - Item: 24008 #T럭2쉴드쉐도우
+  - Item: 24009 #T어질2슈즈쉐도우
+  - Item: 24010 #T바이탈2악세R쉐도우
+  - Item: 24011 #T인트2악세L쉐도우
+  - Item: 24012 #프로모션웨폰S
+  - Item: 24013 #프로모션아머S
+  - Item: 24014 #프로모션슈즈S
+  - Item: 24015 #프로모션쉴드S
+  - Item: 24016 #프로모션이어링S
+  - Item: 24017 #프로모션펜던트S
+  - Item: 24018 #피지컬이어링S
+  - Item: 24019 #피지컬웨폰S
+  - Item: 24020 #피지컬펜던트S
+  - Item: 24021 #매지컬이어링S
+  - Item: 24022 #매지컬웨폰S
+  - Item: 24023 #매지컬펜던트S
+  - Item: 24024 #브리즈아머S
+  - Item: 24025 #챔피언슈즈S
+  - Item: 24026 #아테나쉴드S
+  - Item: 24027 #이뮨드아머S
+  - Item: 24028 #하드아머S
+  - Item: 24029 #에이션트아머S
+  - Item: 24030 #크리티컬아머S
+  - Item: 24031 #킹버드웨폰S
+  - Item: 24032 #크리히트웨폰S
+  - Item: 24033 #힐링웨폰S
+  - Item: 24034 #럭키웨폰S
+  - Item: 24035 #파워이어링S
+  - Item: 24036 #인트펜던트S
+  - Item: 24037 #덱스터러스아머S
+  - Item: 24038 #바이탈슈즈S
+  - Item: 24039 #어틀레틱쉴드S
+  - Item: 24040 #럭키아머S
+  - Item: 24041 #파워펜던트S
+  - Item: 24042 #인트이어링S
+  - Item: 24043 #덱스터러스웨폰S
+  - Item: 24044 #바이탈쉴드S
+  - Item: 24045 #어틀레틱슈즈S
+  - Item: 24046 #레지스트스펠파워펜던트S
+  - Item: 24047 #래피드펜던트S
+  - Item: 24048 #캐스터펜던트S
+  - Item: 24049 #하드이어링S
+  - Item: 24050 #와이즈이어링S
+  - Item: 24051 #아테나이어링S
+  - Item: 24052 #크레이니얼쉴드S
+  - Item: 24053 #세이프가드쉴드S
+  - Item: 24054 #브루털쉴드S
+  - Item: 24055 #가간츄어쉴드S
+  - Item: 24056 #호머즈쉴드S
+  - Item: 24057 #드라군쉴드S
+  - Item: 24058 #사타닉쉴드S
+  - Item: 24059 #프레임가드쉴드S
+  - Item: 24060 #레퀴엠쉴드S
+  - Item: 24061 #카디쉴드S
+  - Item: 24062 #블러디슈즈S
+  - Item: 24063 #리버레이션슈즈S
+  - Item: 24064 #케미컬슈즈S
+  - Item: 24065 #클래머러스슈즈S
+  - Item: 24066 #인섹티사이드슈즈S
+  - Item: 24067 #피셔슈즈S
+  - Item: 24068 #세라핌슈즈S
+  - Item: 24069 #비홀더슈즈S
+  - Item: 24070 #디바인슈즈S
+  - Item: 24071 #드라군슈즈S
+  - Item: 24072 #빅아머S
+  - Item: 24073 #미디움아머S
+  - Item: 24074 #스몰아머S
+  - Item: 24075 #빅웨폰S
+  - Item: 24076 #미디움웨폰S
+  - Item: 24077 #스몰웨폰S
+  - Item: 24078 #스피리츄얼웨폰S
+  - Item: 24079 #스피리츄얼이어링S
+  - Item: 24080 #스피리츄얼펜던트S
+  - Item: 24081 #매리셔스아머S
+  - Item: 24082 #매리셔스슈즈S
+  - Item: 24083 #매리셔스쉴드S
+  - Item: 24084 #젬스톤아머S
+  - Item: 24085 #젬스톤슈즈S
+  - Item: 24086 #젬스톤쉴드S
+  - Item: 24087 #젬스톤웨폰S
+  - Item: 24088 #젬스톤이어링S
+  - Item: 24089 #젬스톤펜던트S
+  - Item: 24090 #스테빌리티쉴드S
+  - Item: 24091 #플라스터러즈아머S
+  - Item: 24092 #플라스터러즈슈즈S
+  - Item: 24093 #인솜니악아머S
+  - Item: 24094 #인솜니악슈즈S
+  - Item: 24095 #피어리스아머S
+  - Item: 24096 #피어리스슈즈S
+  - Item: 24097 #애듀레이트아머S
+  - Item: 24098 #애듀레이트슈즈S
+  - Item: 24099 #언프리징웨폰S
+  - Item: 24100 #언프리징이어링S
+  - Item: 24101 #언프리징펜던트S
+  - Item: 24102 #바이탈리티이어링S
+  - Item: 24103 #바이탈리티펜던트S
+  - Item: 24104 #뉴트럴웨폰S
+  - Item: 24105 #뉴트럴이어링S
+  - Item: 24106 #뉴트럴펜던트S
+  - Item: 24107 #언커즈이어링S
+  - Item: 24108 #언커즈펜던트S
+  - Item: 24109 #캐스터이어링S
+  - Item: 24110 #캐스터웨폰S
+  - Item: 24111 #스펠플로우슈즈S
+  - Item: 24112 #스펠플로우아머S
+  - Item: 24113 #스펠플로우쉴드S
+  - Item: 24114 #그리드아머S
+  - Item: 24115 #그리드슈즈S
+  - Item: 24116 #그리드쉴드S
+  - Item: 24117 #그리드웨폰S
+  - Item: 24118 #그리드이어링S
+  - Item: 24119 #그리드펜던트S
+  - Item: 24120 #힐아머S
+  - Item: 24121 #힐슈즈S
+  - Item: 24122 #힐쉴드S
+  - Item: 24123 #힐웨폰S
+  - Item: 24124 #힐이어링S
+  - Item: 24125 #힐펜던트S
+  - Item: 24126 #하이딩아머S
+  - Item: 24127 #하이딩슈즈S
+  - Item: 24128 #하이딩쉴드S
+  - Item: 24129 #하이딩웨폰S
+  - Item: 24130 #하이딩이어링S
+  - Item: 24131 #하이딩펜던트S
+  - Item: 24132 #클로킹아머S
+  - Item: 24133 #클로킹슈즈S
+  - Item: 24134 #클로킹쉴드S
+  - Item: 24135 #클로킹웨폰S
+  - Item: 24136 #클로킹이어링S
+  - Item: 24137 #클로킹펜던트S
+  - Item: 24138 #텔레포트아머S
+  - Item: 24139 #텔레포트슈즈S
+  - Item: 24140 #텔레포트쉴드S
+  - Item: 24141 #텔레포트웨폰S
+  - Item: 24142 #텔레포트이어링S
+  - Item: 24143 #텔레포트펜던트S
+  - Item: 24144 #스틸아머S
+  - Item: 24145 #스틸슈즈S
+  - Item: 24146 #스틸쉴드S
+  - Item: 24147 #스틸웨폰S
+  - Item: 24148 #스틸이어링S
+  - Item: 24149 #스틸펜던트S
+  - Item: 24150 #인피니티이어링S
+  - Item: 24151 #인피니티펜던트S
+  - Item: 24152 #솔리드웨폰S
+  - Item: 24153 #솔리드이어링S
+  - Item: 24154 #임모털아머S
+  - Item: 24155 #임모털펜던트S
+  - Item: 24156 #액서큐서너웨폰S
+  - Item: 24157 #엑소시스트웨폰S
+  - Item: 24158 #헌팅웨폰S
+  - Item: 24159 #인섹트넷웨폰S
+  - Item: 24160 #피싱웨폰S
+  - Item: 24161 #드래곤킬러웨폰S
+  - Item: 24162 #커럽트웨폰S
+  - Item: 24163 #바이브레이션웨폰S
+  - Item: 24164 #홀리워터웨폰S
+  - Item: 24165 #시저스웨폰S
+  - Item: 24166 #페니트레이션이어링S
+  - Item: 24167 #페니트레이션펜던트S
+  - Item: 24168 #템페스트이어링S
+  - Item: 24169 #템페스트펜던트S
+  - Item: 24170 #매직액서큐서너웨폰S
+  - Item: 24171 #매직엑소시스트웨폰S
+  - Item: 24172 #매직헌팅웨폰S
+  - Item: 24173 #매직인섹트넷웨폰S
+  - Item: 24174 #매직피싱웨폰S
+  - Item: 24175 #매직드래곤킬러웨폰S
+  - Item: 24176 #매직커럽트웨폰S
+  - Item: 24177 #매직바이브레이션웨폰S
+  - Item: 24178 #매직홀리워터웨폰S
+  - Item: 24179 #매직시저스웨폰S
+  - Item: 24180 #베어러즈아머S
+  - Item: 24181 #베어러즈슈즈S
+  - Item: 24182 #베어러즈쉴드S
+  - Item: 24183 #베어러즈웨폰S
+  - Item: 24184 #베어러즈이어링S
+  - Item: 24185 #베어러즈펜던트S
+  - Item: 24186 #베이시스아머S
+  - Item: 24187 #핼로우드아머S
+  - Item: 24188 #사하릭아머S
+  - Item: 24189 #언더니스아머S
+  - Item: 24190 #플레임아머S
+  - Item: 24191 #윈디아머S
+  - Item: 24192 #인베넘아머S
+  - Item: 24193 #댐드아머S
+  - Item: 24194 #가이스트아머S
+  - Item: 24195 #디바인아머S
+  - Item: 24196 #헤이스티슈즈S
+  - Item: 24197 #헤이스티아머S
+  - Item: 24198 #베이시스쉴드S
+  - Item: 24199 #핼로우드쉴드S
+  - Item: 24200 #사하릭쉴드S
+  - Item: 24201 #언더니스쉴드S
+  - Item: 24202 #플레임쉴드S
+  - Item: 24203 #윈디쉴드S
+  - Item: 24204 #인베넘쉴드S
+  - Item: 24205 #댐드쉴드S
+  - Item: 24206 #가이스트쉴드S
+  - Item: 24207 #디바인쉴드S
+  - Item: 24208 #익스퍼트슈즈S
+  - Item: 24209 #익스퍼트쉴드S
+  - Item: 24210 #비기너슈즈S
+  - Item: 24211 #비기너쉴드S
+  - Item: 24212 #루키슈즈S
+  - Item: 24213 #루키쉴드S
+  - Item: 24214 #어드벤스드슈즈S
+  - Item: 24215 #어드벤스드쉴드S
+  - Item: 24216 #어택아머S
+  - Item: 24217 #블리츠이어링S
+  - Item: 24218 #블리츠펜던트S
+  - Item: 24219 #콜드볼트아머S
+  - Item: 24220 #화이어볼트아머S
+  - Item: 24221 #라이트닝볼트아머S
+  - Item: 24222 #어스스파이크아머S
+  - Item: 24223 #인핸스포스웨폰S
+  - Item: 24224 #포스웨폰S
+  - Item: 24225 #포스이어링S
+  - Item: 24226 #포스펜던트S
+  - Item: 24227 #인핸스스피릿웨폰S
+  - Item: 24228 #스피릿웨폰S
+  - Item: 24229 #스피릿이어링S
+  - Item: 24230 #스피릿펜던트S
+  - Item: 24231 #블리츠슈즈S
+  - Item: 24232 #블리츠쉴드S
+  - Item: 24233 #익시드웨폰S
+  - Item: 24234 #타이탄이어링S
+  - Item: 24235 #타이탄펜던트S
+  - Item: 24236 #보운드이어링S
+  - Item: 24237 #보운드펜던트S
+  - Item: 24238 #기간틱이어링S
+  - Item: 24239 #기간틱펜던트S
+  - Item: 24240 #캐스터슈즈S
+  - Item: 24241 #캐스터쉴드S
+  - Item: 24242 #캐스터아머S
+  - Item: 24243 #리로드슈즈S
+  - Item: 24244 #리로드쉴드S
+  - Item: 24245 #리로드아머S
+  - Item: 24246 #소드맨이어링S
+  - Item: 24247 #머천트이어링S
+  - Item: 24248 #어콜라이트이어링S
+  - Item: 24249 #매지션이어링S
+  - Item: 24250 #소드맨펜던트S
+  - Item: 24251 #머천트펜던트S
+  - Item: 24252 #어콜라이트펜던트S
+  - Item: 24253 #씨프펜던트S
+  - Item: 24254 #매지션펜던트S
+  - Item: 24255 #아처펜던트S
+  - Item: 24256 #나이트슈즈S
+  - Item: 24257 #크루세이더슈즈S
+  - Item: 24258 #블랙스미스슈즈S
+  - Item: 24259 #알케미스트슈즈S
+  - Item: 24260 #프리스트슈즈S
+  - Item: 24261 #몽크슈즈S
+  - Item: 24262 #어쌔신슈즈S
+  - Item: 24263 #로그슈즈S
+  - Item: 24264 #위저드슈즈S
+  - Item: 24265 #세이지슈즈S
+  - Item: 24266 #헌터슈즈S
+  - Item: 24267 #바드슈즈S
+  - Item: 24268 #댄서슈즈S
+  - Item: 24269 #나이트아머S
+  - Item: 24270 #크루세이더아머S
+  - Item: 24271 #블랙스미스아머S
+  - Item: 24272 #알케미스트아머S
+  - Item: 24273 #프리스트아머S
+  - Item: 24274 #몽크아머S
+  - Item: 24275 #어쌔신아머S
+  - Item: 24276 #로그아머S
+  - Item: 24277 #위저드아머S
+  - Item: 24278 #세이지아머S
+  - Item: 24279 #헌터아머S
+  - Item: 24280 #바드아머S
+  - Item: 24281 #댄서아머S
+  - Item: 24282 #슈퍼노비스웨폰S
+  - Item: 24283 #건슬링거웨폰S
+  - Item: 24284 #태권웨폰S
+  - Item: 24285 #닌자웨폰S
+  - Item: 24286 #도람매지컬웨폰S
+  - Item: 24287 #도람피지컬웨폰S
+  - Item: 24288 #룬나이트웨폰S
+  - Item: 24289 #로얄가드웨폰S
+  - Item: 24290 #미케닉웨폰S
+  - Item: 24291 #제네릭웨폰S
+  - Item: 24292 #아크비숍웨폰S
+  - Item: 24293 #수라웨폰S
+  - Item: 24294 #길로틴크로스웨폰S
+  - Item: 24295 #쉐도우체이서웨폰S
+  - Item: 24296 #워록웨폰S
+  - Item: 24297 #소서러웨폰S
+  - Item: 24298 #레인져웨폰S
+  - Item: 24299 #민스트럴웨폰S
+  - Item: 24300 #원더러웨폰S
+  - Item: 24301 #룬나이트쉴드S
+  - Item: 24302 #로얄가드쉴드S
+  - Item: 24303 #미케닉쉴드S
+  - Item: 24304 #제네릭쉴드S
+  - Item: 24305 #아크비숍쉴드S
+  - Item: 24306 #수라쉴드S
+  - Item: 24307 #길로틴크로스쉴드S
+  - Item: 24308 #쉐도우체이서쉴드S
+  - Item: 24309 #워록쉴드S
+  - Item: 24310 #소서러쉴드S
+  - Item: 24311 #레인져쉴드S
+  - Item: 24312 #민스트럴쉴드S
+  - Item: 24313 #원더러쉴드S
+  - Item: 24314 #닌자쉴드S
+  - Item: 24315 #태권쉴드S
+  - Item: 24316 #도람피지컬쉴드S
+  - Item: 24317 #도람매지컬쉴드S
+  - Item: 24318 #슈퍼노비스쉴드S
+  - Item: 24319 #건슬링거쉴드S
+  - Item: 24320 #헤이스티슈즈S2
+  - Item: 24321 #베어러즈펜던트S2
+  - Item: 24322 #젬스톤이어링S2
+  - Item: 24323 #스펠플로우쉴드S2
+  - Item: 24324 #스피리츄얼웨폰S2
+  - Item: 24325 #매리셔스아머S2
+  - Item: 24326 #사이그룬아머S
+  - Item: 24327 #사이그룬쉴드S
+  - Item: 24328 #포스액서듀얼웨폰S2
+  - Item: 24329 #스피릿매직듀얼웨폰S2
+  - Item: 24330 #캐스터아머S2
+  - Item: 24331 #리로드아머S2
+  - Item: 24332 #크리티컬쉴드S
+  - Item: 24333 #크리티컬슈즈S
+  - Item: 24334 #매직컴포즈아머S
+  - Item: 24335 #젬스톤웨폰S2
+  - Item: 24336 #젬스톤쉴드S2
+  - Item: 24337 #베어러즈아머S2
+  - Item: 24338 #베어러즈슈즈S2
+  - Item: 24339 #올마이티이어링S
+  - Item: 24340 #올마이티펜던트S
+  - Item: 24341 #올레이스슈즈S
+  - Item: 24342 #올레이스쉴드S
+  - Item: 24343 #블리츠웨폰S
+  - Item: 24344 #블리츠아머S
+  - Item: 24345 #템페스트쉴드S
+  - Item: 24346 #템페스트슈즈S
+  - Item: 24347 #매직액서홀리아머S
+  - Item: 24348 #매직엑소커럽트아머S
+  - Item: 24349 #매직드래곤바이브아머S
+  - Item: 24350 #매직시저스헌팅아머S
+  - Item: 24351 #매직피싱인섹트아머S
+  - Item: 24352 #플라스터러즈아머S2
+  - Item: 24353 #인솜니악슈즈S2
+  - Item: 24354 #피어리스아머S2
+  - Item: 24355 #애듀레이트슈즈S2
+  - Item: 24356 #언프리징웨폰S2
+  - Item: 24357 #바이탈리티이어링S2
+  - Item: 24358 #뉴트럴웨폰S2
+  - Item: 24359 #언커즈펜던트S2
+  - Item: 24360 #텐션웨폰S
+  - Item: 24361 #텐션이어링S
+  - Item: 24362 #텐션펜던트S
+  - Item: 24363 #엘레강트웨폰S
+  - Item: 24364 #엘레강트이어링S
+  - Item: 24365 #엘레강트펜던트S
+  - Item: 24366 #힐링쉴드S
+  - Item: 24367 #힐링슈즈S
+  - Item: 24368 #리스토어이어링S
+  - Item: 24369 #리스토어펜던트S
+  - Item: 24370 #모탈블로우웨폰S
+  - Item: 24371 #모탈블로우이어링S
+  - Item: 24372 #모탈블로우펜던트S
+  - Item: 24373 #페니트레이션슈즈S
+  - Item: 24374 #페니트레이션쉴드S
+  - Item: 24375 #액서홀리아머S
+  - Item: 24376 #엑소커럽트아머S
+  - Item: 24377 #드래곤바이브아머S
+  - Item: 24378 #시저스헌팅아머S
+  - Item: 24379 #피싱인섹트아머S
+  - Item: 24380 #Sentimental_Weapone_S
+  - Item: 24381 #Sentimental_Earring_S
+  - Item: 24382 #Sentimental_Pendant_S
+  - Item: 24383 #Enchanting_Weapone_S
+  - Item: 24384 #Enchanting_Earring_S
+  - Item: 24385 #Enchanting_Pendant_S
+  - Item: 24386 #S_Infinity_Weapon
+  - Item: 24393 #S_Physical_Shoes
+  - Item: 24394 #S_Physical_Shield
+  - Item: 24395 #S_Physical_Armor
+  - Item: 24396 #S_Magical_Shoes
+  - Item: 24397 #S_Magical_Shield
+  - Item: 24398 #S_Magical_Armor
+  - Item: 24399 #S_ImmunedAthena_Shield
+  - Item: 24400 #S_HardChamption_Shoes
+  - Item: 24401 #S_KingbirdAncient_Armor
+  - Item: 15280 #S_CriticalHit_Armor
+  - Item: 28391 #씨프이어링S
+  - Item: 28392 #아처이어링S
+  - Item: 24402 #S_Rebellion_Armor
+  - Item: 24403 #S_Kagerou_Armor
+  - Item: 24404 #S_Oboro_Armor
+  - Item: 24405 #S_Rebellion_Shoes
+  - Item: 24406 #S_Kagerou_Shoes
+  - Item: 24407 #S_Oboro_Shoes
+  - Item: 24408 #S_DoramPhysical_Armor
+  - Item: 24409 #S_DoramPhysical_Shoes
+  - Item: 24410 #S_DoramMagical_Armor
+  - Item: 24411 #S_DoramMagical_Shoes
+  - Item: 24412 #S_Star_Emperor_Armor
+  - Item: 24413 #S_Star_Emperor_Shoes
+  - Item: 24414 #S_Soul_Reaper_Armor
+  - Item: 24415 #S_Soul_Reaper_Shoes
+  - Item: 24423 #S_Tempest_Weapon
+  - Item: 24424 #S_Tempest_Armor
+  - Item: 24425 #S_PerfectSize_Weapon
+  - Item: 24426 #S_PerfectSize_Armor
+  - Item: 24427 #S_M_Exo_Co_Weapon
+  - Item: 24428 #S_M_Viv_Dr_Weapon
+  - Item: 24429 #S_M_Sci_Hu_Weapon
+  - Item: 24430 #S_M_Fis_In_Weapon
+  - Item: 24431 #S_M_Exe_Ho_Weapon
+  - Item: 24432 #S_Penetration_Weapon
+  - Item: 24433 #S_Penetration_Armor
+  - Item: 24434 #S_Exe_Ho_Weapon
+  - Item: 24435 #S_Fis_In_Weapon
+  - Item: 24436 #S_Sci_Hu_Weapon
+  - Item: 24437 #S_Viv_Dr_Weapon
+  - Item: 24438 #S_Exo_Co_Weapon
+  - Item: 24439 #S_Hasty_Weapon
+  - Item: 24440 #S_Sonic_Armor
+  - Item: 24441 #S_Sonic_Shield
+  - Item: 24442 #S_Sonic_Shoes
+  - Item: 24443 #S_Ignition_Weapon
+  - Item: 24444 #S_Ignition_Pendant
+  - Item: 24445 #S_Ignition_Earing
+  - Item: 24446 #S_W_Breath_Armor
+  - Item: 24447 #S_W_Breath_Shield
+  - Item: 24448 #S_W_Breath_Shoes
+  - Item: 24449 #S_F_Breath_Weapon
+  - Item: 24450 #S_F_Breath_Pendant
+  - Item: 24451 #S_F_Breath_Earing
+  - Item: 24452 #S_Cluster_Armor
+  - Item: 24453 #S_Cluster_Shield
+  - Item: 24454 #S_Cluster_Shoes
+  - Item: 24455 #S_Aimed_Weapon
+  - Item: 24456 #S_Aimed_Pendant
+  - Item: 24457 #S_Aimed_Earing
+  - Item: 24458 #S_Arrow_Armor
+  - Item: 24459 #S_Arrow_Shield
+  - Item: 24460 #S_Arrow_Shoes
+  - Item: 24461 #S_Shooting_Weapon
+  - Item: 24462 #S_Shooting_Pendant
+  - Item: 24463 #S_Shooting_Earing
+  - Item: 24464 #S_Tornado_Armor
+  - Item: 24465 #S_Tornado_Shield
+  - Item: 24466 #S_Tornado_Shoes
+  - Item: 24467 #S_Boomerang_Weapon
+  - Item: 24468 #S_Boomerang_Pendant
+  - Item: 24469 #S_Boomerang_Earing
+  - Item: 24470 #S_Vulcan_Armor
+  - Item: 24471 #S_Vulcan_Shield
+  - Item: 24472 #S_Vulcan_Shoes
+  - Item: 24473 #S_Arms_Weapon
+  - Item: 24474 #S_Arms_Pendant
+  - Item: 24475 #S_Arms_Earing
+  Result: |
+    callfunc("F_Lapine_Shadow_Refine_Hammer", .@refine);
+    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+- Id: 23926 # Shadow_9_Refine_Hammer, 쉐도우 아이템
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: false
+  TargetItem:
+  - Item: 24000 #T힘1아머쉐도우
+  - Item: 24001 #T덱스1웨폰쉐도우
+  - Item: 24002 #T럭1쉴드쉐도우
+  - Item: 24003 #T어질1슈즈쉐도우
+  - Item: 24004 #T바이탈1악세R쉐도우
+  - Item: 24005 #T인트1악세L쉐도우
+  - Item: 24006 #T힘2아머쉐도우
+  - Item: 24007 #T덱스2웨폰쉐도우
+  - Item: 24008 #T럭2쉴드쉐도우
+  - Item: 24009 #T어질2슈즈쉐도우
+  - Item: 24010 #T바이탈2악세R쉐도우
+  - Item: 24011 #T인트2악세L쉐도우
+  - Item: 24012 #프로모션웨폰S
+  - Item: 24013 #프로모션아머S
+  - Item: 24014 #프로모션슈즈S
+  - Item: 24015 #프로모션쉴드S
+  - Item: 24016 #프로모션이어링S
+  - Item: 24017 #프로모션펜던트S
+  - Item: 24018 #피지컬이어링S
+  - Item: 24019 #피지컬웨폰S
+  - Item: 24020 #피지컬펜던트S
+  - Item: 24021 #매지컬이어링S
+  - Item: 24022 #매지컬웨폰S
+  - Item: 24023 #매지컬펜던트S
+  - Item: 24024 #브리즈아머S
+  - Item: 24025 #챔피언슈즈S
+  - Item: 24026 #아테나쉴드S
+  - Item: 24027 #이뮨드아머S
+  - Item: 24028 #하드아머S
+  - Item: 24029 #에이션트아머S
+  - Item: 24030 #크리티컬아머S
+  - Item: 24031 #킹버드웨폰S
+  - Item: 24032 #크리히트웨폰S
+  - Item: 24033 #힐링웨폰S
+  - Item: 24034 #럭키웨폰S
+  - Item: 24035 #파워이어링S
+  - Item: 24036 #인트펜던트S
+  - Item: 24037 #덱스터러스아머S
+  - Item: 24038 #바이탈슈즈S
+  - Item: 24039 #어틀레틱쉴드S
+  - Item: 24040 #럭키아머S
+  - Item: 24041 #파워펜던트S
+  - Item: 24042 #인트이어링S
+  - Item: 24043 #덱스터러스웨폰S
+  - Item: 24044 #바이탈쉴드S
+  - Item: 24045 #어틀레틱슈즈S
+  - Item: 24046 #레지스트스펠파워펜던트S
+  - Item: 24047 #래피드펜던트S
+  - Item: 24048 #캐스터펜던트S
+  - Item: 24049 #하드이어링S
+  - Item: 24050 #와이즈이어링S
+  - Item: 24051 #아테나이어링S
+  - Item: 24052 #크레이니얼쉴드S
+  - Item: 24053 #세이프가드쉴드S
+  - Item: 24054 #브루털쉴드S
+  - Item: 24055 #가간츄어쉴드S
+  - Item: 24056 #호머즈쉴드S
+  - Item: 24057 #드라군쉴드S
+  - Item: 24058 #사타닉쉴드S
+  - Item: 24059 #프레임가드쉴드S
+  - Item: 24060 #레퀴엠쉴드S
+  - Item: 24061 #카디쉴드S
+  - Item: 24062 #블러디슈즈S
+  - Item: 24063 #리버레이션슈즈S
+  - Item: 24064 #케미컬슈즈S
+  - Item: 24065 #클래머러스슈즈S
+  - Item: 24066 #인섹티사이드슈즈S
+  - Item: 24067 #피셔슈즈S
+  - Item: 24068 #세라핌슈즈S
+  - Item: 24069 #비홀더슈즈S
+  - Item: 24070 #디바인슈즈S
+  - Item: 24071 #드라군슈즈S
+  - Item: 24072 #빅아머S
+  - Item: 24073 #미디움아머S
+  - Item: 24074 #스몰아머S
+  - Item: 24075 #빅웨폰S
+  - Item: 24076 #미디움웨폰S
+  - Item: 24077 #스몰웨폰S
+  - Item: 24078 #스피리츄얼웨폰S
+  - Item: 24079 #스피리츄얼이어링S
+  - Item: 24080 #스피리츄얼펜던트S
+  - Item: 24081 #매리셔스아머S
+  - Item: 24082 #매리셔스슈즈S
+  - Item: 24083 #매리셔스쉴드S
+  - Item: 24084 #젬스톤아머S
+  - Item: 24085 #젬스톤슈즈S
+  - Item: 24086 #젬스톤쉴드S
+  - Item: 24087 #젬스톤웨폰S
+  - Item: 24088 #젬스톤이어링S
+  - Item: 24089 #젬스톤펜던트S
+  - Item: 24090 #스테빌리티쉴드S
+  - Item: 24091 #플라스터러즈아머S
+  - Item: 24092 #플라스터러즈슈즈S
+  - Item: 24093 #인솜니악아머S
+  - Item: 24094 #인솜니악슈즈S
+  - Item: 24095 #피어리스아머S
+  - Item: 24096 #피어리스슈즈S
+  - Item: 24097 #애듀레이트아머S
+  - Item: 24098 #애듀레이트슈즈S
+  - Item: 24099 #언프리징웨폰S
+  - Item: 24100 #언프리징이어링S
+  - Item: 24101 #언프리징펜던트S
+  - Item: 24102 #바이탈리티이어링S
+  - Item: 24103 #바이탈리티펜던트S
+  - Item: 24104 #뉴트럴웨폰S
+  - Item: 24105 #뉴트럴이어링S
+  - Item: 24106 #뉴트럴펜던트S
+  - Item: 24107 #언커즈이어링S
+  - Item: 24108 #언커즈펜던트S
+  - Item: 24109 #캐스터이어링S
+  - Item: 24110 #캐스터웨폰S
+  - Item: 24111 #스펠플로우슈즈S
+  - Item: 24112 #스펠플로우아머S
+  - Item: 24113 #스펠플로우쉴드S
+  - Item: 24114 #그리드아머S
+  - Item: 24115 #그리드슈즈S
+  - Item: 24116 #그리드쉴드S
+  - Item: 24117 #그리드웨폰S
+  - Item: 24118 #그리드이어링S
+  - Item: 24119 #그리드펜던트S
+  - Item: 24120 #힐아머S
+  - Item: 24121 #힐슈즈S
+  - Item: 24122 #힐쉴드S
+  - Item: 24123 #힐웨폰S
+  - Item: 24124 #힐이어링S
+  - Item: 24125 #힐펜던트S
+  - Item: 24126 #하이딩아머S
+  - Item: 24127 #하이딩슈즈S
+  - Item: 24128 #하이딩쉴드S
+  - Item: 24129 #하이딩웨폰S
+  - Item: 24130 #하이딩이어링S
+  - Item: 24131 #하이딩펜던트S
+  - Item: 24132 #클로킹아머S
+  - Item: 24133 #클로킹슈즈S
+  - Item: 24134 #클로킹쉴드S
+  - Item: 24135 #클로킹웨폰S
+  - Item: 24136 #클로킹이어링S
+  - Item: 24137 #클로킹펜던트S
+  - Item: 24138 #텔레포트아머S
+  - Item: 24139 #텔레포트슈즈S
+  - Item: 24140 #텔레포트쉴드S
+  - Item: 24141 #텔레포트웨폰S
+  - Item: 24142 #텔레포트이어링S
+  - Item: 24143 #텔레포트펜던트S
+  - Item: 24144 #스틸아머S
+  - Item: 24145 #스틸슈즈S
+  - Item: 24146 #스틸쉴드S
+  - Item: 24147 #스틸웨폰S
+  - Item: 24148 #스틸이어링S
+  - Item: 24149 #스틸펜던트S
+  - Item: 24150 #인피니티이어링S
+  - Item: 24151 #인피니티펜던트S
+  - Item: 24152 #솔리드웨폰S
+  - Item: 24153 #솔리드이어링S
+  - Item: 24154 #임모털아머S
+  - Item: 24155 #임모털펜던트S
+  - Item: 24156 #액서큐서너웨폰S
+  - Item: 24157 #엑소시스트웨폰S
+  - Item: 24158 #헌팅웨폰S
+  - Item: 24159 #인섹트넷웨폰S
+  - Item: 24160 #피싱웨폰S
+  - Item: 24161 #드래곤킬러웨폰S
+  - Item: 24162 #커럽트웨폰S
+  - Item: 24163 #바이브레이션웨폰S
+  - Item: 24164 #홀리워터웨폰S
+  - Item: 24165 #시저스웨폰S
+  - Item: 24166 #페니트레이션이어링S
+  - Item: 24167 #페니트레이션펜던트S
+  - Item: 24168 #템페스트이어링S
+  - Item: 24169 #템페스트펜던트S
+  - Item: 24170 #매직액서큐서너웨폰S
+  - Item: 24171 #매직엑소시스트웨폰S
+  - Item: 24172 #매직헌팅웨폰S
+  - Item: 24173 #매직인섹트넷웨폰S
+  - Item: 24174 #매직피싱웨폰S
+  - Item: 24175 #매직드래곤킬러웨폰S
+  - Item: 24176 #매직커럽트웨폰S
+  - Item: 24177 #매직바이브레이션웨폰S
+  - Item: 24178 #매직홀리워터웨폰S
+  - Item: 24179 #매직시저스웨폰S
+  - Item: 24180 #베어러즈아머S
+  - Item: 24181 #베어러즈슈즈S
+  - Item: 24182 #베어러즈쉴드S
+  - Item: 24183 #베어러즈웨폰S
+  - Item: 24184 #베어러즈이어링S
+  - Item: 24185 #베어러즈펜던트S
+  - Item: 24186 #베이시스아머S
+  - Item: 24187 #핼로우드아머S
+  - Item: 24188 #사하릭아머S
+  - Item: 24189 #언더니스아머S
+  - Item: 24190 #플레임아머S
+  - Item: 24191 #윈디아머S
+  - Item: 24192 #인베넘아머S
+  - Item: 24193 #댐드아머S
+  - Item: 24194 #가이스트아머S
+  - Item: 24195 #디바인아머S
+  - Item: 24196 #헤이스티슈즈S
+  - Item: 24197 #헤이스티아머S
+  - Item: 24198 #베이시스쉴드S
+  - Item: 24199 #핼로우드쉴드S
+  - Item: 24200 #사하릭쉴드S
+  - Item: 24201 #언더니스쉴드S
+  - Item: 24202 #플레임쉴드S
+  - Item: 24203 #윈디쉴드S
+  - Item: 24204 #인베넘쉴드S
+  - Item: 24205 #댐드쉴드S
+  - Item: 24206 #가이스트쉴드S
+  - Item: 24207 #디바인쉴드S
+  - Item: 24208 #익스퍼트슈즈S
+  - Item: 24209 #익스퍼트쉴드S
+  - Item: 24210 #비기너슈즈S
+  - Item: 24211 #비기너쉴드S
+  - Item: 24212 #루키슈즈S
+  - Item: 24213 #루키쉴드S
+  - Item: 24214 #어드벤스드슈즈S
+  - Item: 24215 #어드벤스드쉴드S
+  - Item: 24216 #어택아머S
+  - Item: 24217 #블리츠이어링S
+  - Item: 24218 #블리츠펜던트S
+  - Item: 24219 #콜드볼트아머S
+  - Item: 24220 #화이어볼트아머S
+  - Item: 24221 #라이트닝볼트아머S
+  - Item: 24222 #어스스파이크아머S
+  - Item: 24223 #인핸스포스웨폰S
+  - Item: 24224 #포스웨폰S
+  - Item: 24225 #포스이어링S
+  - Item: 24226 #포스펜던트S
+  - Item: 24227 #인핸스스피릿웨폰S
+  - Item: 24228 #스피릿웨폰S
+  - Item: 24229 #스피릿이어링S
+  - Item: 24230 #스피릿펜던트S
+  - Item: 24231 #블리츠슈즈S
+  - Item: 24232 #블리츠쉴드S
+  - Item: 24233 #익시드웨폰S
+  - Item: 24234 #타이탄이어링S
+  - Item: 24235 #타이탄펜던트S
+  - Item: 24236 #보운드이어링S
+  - Item: 24237 #보운드펜던트S
+  - Item: 24238 #기간틱이어링S
+  - Item: 24239 #기간틱펜던트S
+  - Item: 24240 #캐스터슈즈S
+  - Item: 24241 #캐스터쉴드S
+  - Item: 24242 #캐스터아머S
+  - Item: 24243 #리로드슈즈S
+  - Item: 24244 #리로드쉴드S
+  - Item: 24245 #리로드아머S
+  - Item: 24246 #소드맨이어링S
+  - Item: 24247 #머천트이어링S
+  - Item: 24248 #어콜라이트이어링S
+  - Item: 24249 #매지션이어링S
+  - Item: 24250 #소드맨펜던트S
+  - Item: 24251 #머천트펜던트S
+  - Item: 24252 #어콜라이트펜던트S
+  - Item: 24253 #씨프펜던트S
+  - Item: 24254 #매지션펜던트S
+  - Item: 24255 #아처펜던트S
+  - Item: 24256 #나이트슈즈S
+  - Item: 24257 #크루세이더슈즈S
+  - Item: 24258 #블랙스미스슈즈S
+  - Item: 24259 #알케미스트슈즈S
+  - Item: 24260 #프리스트슈즈S
+  - Item: 24261 #몽크슈즈S
+  - Item: 24262 #어쌔신슈즈S
+  - Item: 24263 #로그슈즈S
+  - Item: 24264 #위저드슈즈S
+  - Item: 24265 #세이지슈즈S
+  - Item: 24266 #헌터슈즈S
+  - Item: 24267 #바드슈즈S
+  - Item: 24268 #댄서슈즈S
+  - Item: 24269 #나이트아머S
+  - Item: 24270 #크루세이더아머S
+  - Item: 24271 #블랙스미스아머S
+  - Item: 24272 #알케미스트아머S
+  - Item: 24273 #프리스트아머S
+  - Item: 24274 #몽크아머S
+  - Item: 24275 #어쌔신아머S
+  - Item: 24276 #로그아머S
+  - Item: 24277 #위저드아머S
+  - Item: 24278 #세이지아머S
+  - Item: 24279 #헌터아머S
+  - Item: 24280 #바드아머S
+  - Item: 24281 #댄서아머S
+  - Item: 24282 #슈퍼노비스웨폰S
+  - Item: 24283 #건슬링거웨폰S
+  - Item: 24284 #태권웨폰S
+  - Item: 24285 #닌자웨폰S
+  - Item: 24286 #도람매지컬웨폰S
+  - Item: 24287 #도람피지컬웨폰S
+  - Item: 24288 #룬나이트웨폰S
+  - Item: 24289 #로얄가드웨폰S
+  - Item: 24290 #미케닉웨폰S
+  - Item: 24291 #제네릭웨폰S
+  - Item: 24292 #아크비숍웨폰S
+  - Item: 24293 #수라웨폰S
+  - Item: 24294 #길로틴크로스웨폰S
+  - Item: 24295 #쉐도우체이서웨폰S
+  - Item: 24296 #워록웨폰S
+  - Item: 24297 #소서러웨폰S
+  - Item: 24298 #레인져웨폰S
+  - Item: 24299 #민스트럴웨폰S
+  - Item: 24300 #원더러웨폰S
+  - Item: 24301 #룬나이트쉴드S
+  - Item: 24302 #로얄가드쉴드S
+  - Item: 24303 #미케닉쉴드S
+  - Item: 24304 #제네릭쉴드S
+  - Item: 24305 #아크비숍쉴드S
+  - Item: 24306 #수라쉴드S
+  - Item: 24307 #길로틴크로스쉴드S
+  - Item: 24308 #쉐도우체이서쉴드S
+  - Item: 24309 #워록쉴드S
+  - Item: 24310 #소서러쉴드S
+  - Item: 24311 #레인져쉴드S
+  - Item: 24312 #민스트럴쉴드S
+  - Item: 24313 #원더러쉴드S
+  - Item: 24314 #닌자쉴드S
+  - Item: 24315 #태권쉴드S
+  - Item: 24316 #도람피지컬쉴드S
+  - Item: 24317 #도람매지컬쉴드S
+  - Item: 24318 #슈퍼노비스쉴드S
+  - Item: 24319 #건슬링거쉴드S
+  - Item: 24320 #헤이스티슈즈S2
+  - Item: 24321 #베어러즈펜던트S2
+  - Item: 24322 #젬스톤이어링S2
+  - Item: 24323 #스펠플로우쉴드S2
+  - Item: 24324 #스피리츄얼웨폰S2
+  - Item: 24325 #매리셔스아머S2
+  - Item: 24326 #사이그룬아머S
+  - Item: 24327 #사이그룬쉴드S
+  - Item: 24328 #포스액서듀얼웨폰S2
+  - Item: 24329 #스피릿매직듀얼웨폰S2
+  - Item: 24330 #캐스터아머S2
+  - Item: 24331 #리로드아머S2
+  - Item: 24332 #크리티컬쉴드S
+  - Item: 24333 #크리티컬슈즈S
+  - Item: 24334 #매직컴포즈아머S
+  - Item: 24335 #젬스톤웨폰S2
+  - Item: 24336 #젬스톤쉴드S2
+  - Item: 24337 #베어러즈아머S2
+  - Item: 24338 #베어러즈슈즈S2
+  - Item: 24339 #올마이티이어링S
+  - Item: 24340 #올마이티펜던트S
+  - Item: 24341 #올레이스슈즈S
+  - Item: 24342 #올레이스쉴드S
+  - Item: 24343 #블리츠웨폰S
+  - Item: 24344 #블리츠아머S
+  - Item: 24345 #템페스트쉴드S
+  - Item: 24346 #템페스트슈즈S
+  - Item: 24347 #매직액서홀리아머S
+  - Item: 24348 #매직엑소커럽트아머S
+  - Item: 24349 #매직드래곤바이브아머S
+  - Item: 24350 #매직시저스헌팅아머S
+  - Item: 24351 #매직피싱인섹트아머S
+  - Item: 24352 #플라스터러즈아머S2
+  - Item: 24353 #인솜니악슈즈S2
+  - Item: 24354 #피어리스아머S2
+  - Item: 24355 #애듀레이트슈즈S2
+  - Item: 24356 #언프리징웨폰S2
+  - Item: 24357 #바이탈리티이어링S2
+  - Item: 24358 #뉴트럴웨폰S2
+  - Item: 24359 #언커즈펜던트S2
+  - Item: 24360 #텐션웨폰S
+  - Item: 24361 #텐션이어링S
+  - Item: 24362 #텐션펜던트S
+  - Item: 24363 #엘레강트웨폰S
+  - Item: 24364 #엘레강트이어링S
+  - Item: 24365 #엘레강트펜던트S
+  - Item: 24366 #힐링쉴드S
+  - Item: 24367 #힐링슈즈S
+  - Item: 24368 #리스토어이어링S
+  - Item: 24369 #리스토어펜던트S
+  - Item: 24370 #모탈블로우웨폰S
+  - Item: 24371 #모탈블로우이어링S
+  - Item: 24372 #모탈블로우펜던트S
+  - Item: 24373 #페니트레이션슈즈S
+  - Item: 24374 #페니트레이션쉴드S
+  - Item: 24375 #액서홀리아머S
+  - Item: 24376 #엑소커럽트아머S
+  - Item: 24377 #드래곤바이브아머S
+  - Item: 24378 #시저스헌팅아머S
+  - Item: 24379 #피싱인섹트아머S
+  - Item: 24380 #Sentimental_Weapone_S
+  - Item: 24381 #Sentimental_Earring_S
+  - Item: 24382 #Sentimental_Pendant_S
+  - Item: 24383 #Enchanting_Weapone_S
+  - Item: 24384 #Enchanting_Earring_S
+  - Item: 24385 #Enchanting_Pendant_S
+  - Item: 24386 #S_Infinity_Weapon
+  - Item: 24393 #S_Physical_Shoes
+  - Item: 24394 #S_Physical_Shield
+  - Item: 24395 #S_Physical_Armor
+  - Item: 24396 #S_Magical_Shoes
+  - Item: 24397 #S_Magical_Shield
+  - Item: 24398 #S_Magical_Armor
+  - Item: 24399 #S_ImmunedAthena_Shield
+  - Item: 24400 #S_HardChamption_Shoes
+  - Item: 24401 #S_KingbirdAncient_Armor
+  - Item: 15280 #S_CriticalHit_Armor
+  - Item: 28391 #씨프이어링S
+  - Item: 28392 #아처이어링S
+  - Item: 24402 #S_Rebellion_Armor
+  - Item: 24403 #S_Kagerou_Armor
+  - Item: 24404 #S_Oboro_Armor
+  - Item: 24405 #S_Rebellion_Shoes
+  - Item: 24406 #S_Kagerou_Shoes
+  - Item: 24407 #S_Oboro_Shoes
+  - Item: 24408 #S_DoramPhysical_Armor
+  - Item: 24409 #S_DoramPhysical_Shoes
+  - Item: 24410 #S_DoramMagical_Armor
+  - Item: 24411 #S_DoramMagical_Shoes
+  - Item: 24412 #S_Star_Emperor_Armor
+  - Item: 24413 #S_Star_Emperor_Shoes
+  - Item: 24414 #S_Soul_Reaper_Armor
+  - Item: 24415 #S_Soul_Reaper_Shoes
+  - Item: 24423 #S_Tempest_Weapon
+  - Item: 24424 #S_Tempest_Armor
+  - Item: 24425 #S_PerfectSize_Weapon
+  - Item: 24426 #S_PerfectSize_Armor
+  - Item: 24427 #S_M_Exo_Co_Weapon
+  - Item: 24428 #S_M_Viv_Dr_Weapon
+  - Item: 24429 #S_M_Sci_Hu_Weapon
+  - Item: 24430 #S_M_Fis_In_Weapon
+  - Item: 24431 #S_M_Exe_Ho_Weapon
+  - Item: 24432 #S_Penetration_Weapon
+  - Item: 24433 #S_Penetration_Armor
+  - Item: 24434 #S_Exe_Ho_Weapon
+  - Item: 24435 #S_Fis_In_Weapon
+  - Item: 24436 #S_Sci_Hu_Weapon
+  - Item: 24437 #S_Viv_Dr_Weapon
+  - Item: 24438 #S_Exo_Co_Weapon
+  - Item: 24439 #S_Hasty_Weapon
+  - Item: 24440 #S_Sonic_Armor
+  - Item: 24441 #S_Sonic_Shield
+  - Item: 24442 #S_Sonic_Shoes
+  - Item: 24443 #S_Ignition_Weapon
+  - Item: 24444 #S_Ignition_Pendant
+  - Item: 24445 #S_Ignition_Earing
+  - Item: 24446 #S_W_Breath_Armor
+  - Item: 24447 #S_W_Breath_Shield
+  - Item: 24448 #S_W_Breath_Shoes
+  - Item: 24449 #S_F_Breath_Weapon
+  - Item: 24450 #S_F_Breath_Pendant
+  - Item: 24451 #S_F_Breath_Earing
+  - Item: 24452 #S_Cluster_Armor
+  - Item: 24453 #S_Cluster_Shield
+  - Item: 24454 #S_Cluster_Shoes
+  - Item: 24455 #S_Aimed_Weapon
+  - Item: 24456 #S_Aimed_Pendant
+  - Item: 24457 #S_Aimed_Earing
+  - Item: 24458 #S_Arrow_Armor
+  - Item: 24459 #S_Arrow_Shield
+  - Item: 24460 #S_Arrow_Shoes
+  - Item: 24461 #S_Shooting_Weapon
+  - Item: 24462 #S_Shooting_Pendant
+  - Item: 24463 #S_Shooting_Earing
+  - Item: 24464 #S_Tornado_Armor
+  - Item: 24465 #S_Tornado_Shield
+  - Item: 24466 #S_Tornado_Shoes
+  - Item: 24467 #S_Boomerang_Weapon
+  - Item: 24468 #S_Boomerang_Pendant
+  - Item: 24469 #S_Boomerang_Earing
+  - Item: 24470 #S_Vulcan_Armor
+  - Item: 24471 #S_Vulcan_Shield
+  - Item: 24472 #S_Vulcan_Shoes
+  - Item: 24473 #S_Arms_Weapon
+  - Item: 24474 #S_Arms_Pendant
+  - Item: 24475 #S_Arms_Earing
+  Result: |
+    callfunc("F_Lapine_Shadow_9_Refine_Hammer", .@refine);
+    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+- Id: 23311 # 마법고양이손, 새끼 고양이 헤드드레스
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 19242 #고양이레이스머리띠K
+  Result: |
+    callfunc("F_Lapine_Magic_Cat_Hand", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23289 # 사탕축복스크롤_물리, 사탕 주머니 가방(물리)
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 20842 #안토니오가방_물리
+  Result: |
+    callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_W", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23290 # 사탕축복스크롤_원거리, 사탕 주머니 가방(원거리)
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 20843 #안토니오가방_원거리
+  Result: |
+    callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_R", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23291 # 사탕축복스크롤_마법, 사탕 주머니 가방(마법)
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 20844 #안토니오가방_마법
+  Result: |
+    callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_M", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23100 # 건슬링거두루마리, 늘어진 건슬링거
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 19157 #늘어진건슬링거
+  Result: |
+    callfunc("F_Lapine_Grown_Gunslinger", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 23229 # 타락천사날개초기화권, 타락천사의 날개
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 20835 #K타락천사의날개
+  - Item: 2589 #타락천사의날개
+  Result: |
+    if (@last_lapine_card1) {
+        getitem(@last_lapine_card1,1);
+    }
+    getitem2(LapineUpgradeItem,1,1,0,0,0,0,0,0);
+- Id: 23175 # 제복수선키트, 카프라 제복
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: true
+  TargetItem:
+  - Item: 15186 #카프라제복
+  Result: |
+    callfunc("F_Lapine_Uniform_Repair_Kits", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params);
+- Id: 23720 # Shadow_Random_Mix, "+7 쉐도우 아이템"
+  NeedRefineMin: 7
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: false
+  TargetItem:
+  - Item: 24000 #T힘1아머쉐도우
+  - Item: 24001 #T덱스1웨폰쉐도우
+  - Item: 24002 #T럭1쉴드쉐도우
+  - Item: 24003 #T어질1슈즈쉐도우
+  - Item: 24004 #T바이탈1악세R쉐도우
+  - Item: 24005 #T인트1악세L쉐도우
+  - Item: 24006 #T힘2아머쉐도우
+  - Item: 24007 #T덱스2웨폰쉐도우
+  - Item: 24008 #T럭2쉴드쉐도우
+  - Item: 24009 #T어질2슈즈쉐도우
+  - Item: 24010 #T바이탈2악세R쉐도우
+  - Item: 24011 #T인트2악세L쉐도우
+  - Item: 24012 #프로모션웨폰S
+  - Item: 24013 #프로모션아머S
+  - Item: 24014 #프로모션슈즈S
+  - Item: 24015 #프로모션쉴드S
+  - Item: 24016 #프로모션이어링S
+  - Item: 24017 #프로모션펜던트S
+  - Item: 24018 #피지컬이어링S
+  - Item: 24019 #피지컬웨폰S
+  - Item: 24020 #피지컬펜던트S
+  - Item: 24021 #매지컬이어링S
+  - Item: 24022 #매지컬웨폰S
+  - Item: 24023 #매지컬펜던트S
+  - Item: 24024 #브리즈아머S
+  - Item: 24025 #챔피언슈즈S
+  - Item: 24026 #아테나쉴드S
+  - Item: 24027 #이뮨드아머S
+  - Item: 24028 #하드아머S
+  - Item: 24029 #에이션트아머S
+  - Item: 24030 #크리티컬아머S
+  - Item: 24031 #킹버드웨폰S
+  - Item: 24032 #크리히트웨폰S
+  - Item: 24033 #힐링웨폰S
+  - Item: 24034 #럭키웨폰S
+  - Item: 24035 #파워이어링S
+  - Item: 24036 #인트펜던트S
+  - Item: 24037 #덱스터러스아머S
+  - Item: 24038 #바이탈슈즈S
+  - Item: 24039 #어틀레틱쉴드S
+  - Item: 24040 #럭키아머S
+  - Item: 24041 #파워펜던트S
+  - Item: 24042 #인트이어링S
+  - Item: 24043 #덱스터러스웨폰S
+  - Item: 24044 #바이탈쉴드S
+  - Item: 24045 #어틀레틱슈즈S
+  - Item: 24046 #레지스트스펠파워펜던트S
+  - Item: 24047 #래피드펜던트S
+  - Item: 24048 #캐스터펜던트S
+  - Item: 24049 #하드이어링S
+  - Item: 24050 #와이즈이어링S
+  - Item: 24051 #아테나이어링S
+  - Item: 24052 #크레이니얼쉴드S
+  - Item: 24053 #세이프가드쉴드S
+  - Item: 24054 #브루털쉴드S
+  - Item: 24055 #가간츄어쉴드S
+  - Item: 24056 #호머즈쉴드S
+  - Item: 24057 #드라군쉴드S
+  - Item: 24058 #사타닉쉴드S
+  - Item: 24059 #프레임가드쉴드S
+  - Item: 24060 #레퀴엠쉴드S
+  - Item: 24061 #카디쉴드S
+  - Item: 24062 #블러디슈즈S
+  - Item: 24063 #리버레이션슈즈S
+  - Item: 24064 #케미컬슈즈S
+  - Item: 24065 #클래머러스슈즈S
+  - Item: 24066 #인섹티사이드슈즈S
+  - Item: 24067 #피셔슈즈S
+  - Item: 24068 #세라핌슈즈S
+  - Item: 24069 #비홀더슈즈S
+  - Item: 24070 #디바인슈즈S
+  - Item: 24071 #드라군슈즈S
+  - Item: 24072 #빅아머S
+  - Item: 24073 #미디움아머S
+  - Item: 24074 #스몰아머S
+  - Item: 24075 #빅웨폰S
+  - Item: 24076 #미디움웨폰S
+  - Item: 24077 #스몰웨폰S
+  - Item: 24078 #스피리츄얼웨폰S
+  - Item: 24079 #스피리츄얼이어링S
+  - Item: 24080 #스피리츄얼펜던트S
+  - Item: 24081 #매리셔스아머S
+  - Item: 24082 #매리셔스슈즈S
+  - Item: 24083 #매리셔스쉴드S
+  - Item: 24084 #젬스톤아머S
+  - Item: 24085 #젬스톤슈즈S
+  - Item: 24086 #젬스톤쉴드S
+  - Item: 24087 #젬스톤웨폰S
+  - Item: 24088 #젬스톤이어링S
+  - Item: 24089 #젬스톤펜던트S
+  - Item: 24090 #스테빌리티쉴드S
+  - Item: 24091 #플라스터러즈아머S
+  - Item: 24092 #플라스터러즈슈즈S
+  - Item: 24093 #인솜니악아머S
+  - Item: 24094 #인솜니악슈즈S
+  - Item: 24095 #피어리스아머S
+  - Item: 24096 #피어리스슈즈S
+  - Item: 24097 #애듀레이트아머S
+  - Item: 24098 #애듀레이트슈즈S
+  - Item: 24099 #언프리징웨폰S
+  - Item: 24100 #언프리징이어링S
+  - Item: 24101 #언프리징펜던트S
+  - Item: 24102 #바이탈리티이어링S
+  - Item: 24103 #바이탈리티펜던트S
+  - Item: 24104 #뉴트럴웨폰S
+  - Item: 24105 #뉴트럴이어링S
+  - Item: 24106 #뉴트럴펜던트S
+  - Item: 24107 #언커즈이어링S
+  - Item: 24108 #언커즈펜던트S
+  - Item: 24109 #캐스터이어링S
+  - Item: 24110 #캐스터웨폰S
+  - Item: 24111 #스펠플로우슈즈S
+  - Item: 24112 #스펠플로우아머S
+  - Item: 24113 #스펠플로우쉴드S
+  - Item: 24114 #그리드아머S
+  - Item: 24115 #그리드슈즈S
+  - Item: 24116 #그리드쉴드S
+  - Item: 24117 #그리드웨폰S
+  - Item: 24118 #그리드이어링S
+  - Item: 24119 #그리드펜던트S
+  - Item: 24120 #힐아머S
+  - Item: 24121 #힐슈즈S
+  - Item: 24122 #힐쉴드S
+  - Item: 24123 #힐웨폰S
+  - Item: 24124 #힐이어링S
+  - Item: 24125 #힐펜던트S
+  - Item: 24126 #하이딩아머S
+  - Item: 24127 #하이딩슈즈S
+  - Item: 24128 #하이딩쉴드S
+  - Item: 24129 #하이딩웨폰S
+  - Item: 24130 #하이딩이어링S
+  - Item: 24131 #하이딩펜던트S
+  - Item: 24132 #클로킹아머S
+  - Item: 24133 #클로킹슈즈S
+  - Item: 24134 #클로킹쉴드S
+  - Item: 24135 #클로킹웨폰S
+  - Item: 24136 #클로킹이어링S
+  - Item: 24137 #클로킹펜던트S
+  - Item: 24138 #텔레포트아머S
+  - Item: 24139 #텔레포트슈즈S
+  - Item: 24140 #텔레포트쉴드S
+  - Item: 24141 #텔레포트웨폰S
+  - Item: 24142 #텔레포트이어링S
+  - Item: 24143 #텔레포트펜던트S
+  - Item: 24144 #스틸아머S
+  - Item: 24145 #스틸슈즈S
+  - Item: 24146 #스틸쉴드S
+  - Item: 24147 #스틸웨폰S
+  - Item: 24148 #스틸이어링S
+  - Item: 24149 #스틸펜던트S
+  - Item: 24150 #인피니티이어링S
+  - Item: 24151 #인피니티펜던트S
+  - Item: 24152 #솔리드웨폰S
+  - Item: 24153 #솔리드이어링S
+  - Item: 24154 #임모털아머S
+  - Item: 24155 #임모털펜던트S
+  - Item: 24156 #액서큐서너웨폰S
+  - Item: 24157 #엑소시스트웨폰S
+  - Item: 24158 #헌팅웨폰S
+  - Item: 24159 #인섹트넷웨폰S
+  - Item: 24160 #피싱웨폰S
+  - Item: 24161 #드래곤킬러웨폰S
+  - Item: 24162 #커럽트웨폰S
+  - Item: 24163 #바이브레이션웨폰S
+  - Item: 24164 #홀리워터웨폰S
+  - Item: 24165 #시저스웨폰S
+  - Item: 24166 #페니트레이션이어링S
+  - Item: 24167 #페니트레이션펜던트S
+  - Item: 24168 #템페스트이어링S
+  - Item: 24169 #템페스트펜던트S
+  - Item: 24170 #매직액서큐서너웨폰S
+  - Item: 24171 #매직엑소시스트웨폰S
+  - Item: 24172 #매직헌팅웨폰S
+  - Item: 24173 #매직인섹트넷웨폰S
+  - Item: 24174 #매직피싱웨폰S
+  - Item: 24175 #매직드래곤킬러웨폰S
+  - Item: 24176 #매직커럽트웨폰S
+  - Item: 24177 #매직바이브레이션웨폰S
+  - Item: 24178 #매직홀리워터웨폰S
+  - Item: 24179 #매직시저스웨폰S
+  - Item: 24180 #베어러즈아머S
+  - Item: 24181 #베어러즈슈즈S
+  - Item: 24182 #베어러즈쉴드S
+  - Item: 24183 #베어러즈웨폰S
+  - Item: 24184 #베어러즈이어링S
+  - Item: 24185 #베어러즈펜던트S
+  - Item: 24186 #베이시스아머S
+  - Item: 24187 #핼로우드아머S
+  - Item: 24188 #사하릭아머S
+  - Item: 24189 #언더니스아머S
+  - Item: 24190 #플레임아머S
+  - Item: 24191 #윈디아머S
+  - Item: 24192 #인베넘아머S
+  - Item: 24193 #댐드아머S
+  - Item: 24194 #가이스트아머S
+  - Item: 24195 #디바인아머S
+  - Item: 24196 #헤이스티슈즈S
+  - Item: 24197 #헤이스티아머S
+  - Item: 24198 #베이시스쉴드S
+  - Item: 24199 #핼로우드쉴드S
+  - Item: 24200 #사하릭쉴드S
+  - Item: 24201 #언더니스쉴드S
+  - Item: 24202 #플레임쉴드S
+  - Item: 24203 #윈디쉴드S
+  - Item: 24204 #인베넘쉴드S
+  - Item: 24205 #댐드쉴드S
+  - Item: 24206 #가이스트쉴드S
+  - Item: 24207 #디바인쉴드S
+  - Item: 24208 #익스퍼트슈즈S
+  - Item: 24209 #익스퍼트쉴드S
+  - Item: 24210 #비기너슈즈S
+  - Item: 24211 #비기너쉴드S
+  - Item: 24212 #루키슈즈S
+  - Item: 24213 #루키쉴드S
+  - Item: 24214 #어드벤스드슈즈S
+  - Item: 24215 #어드벤스드쉴드S
+  - Item: 24216 #어택아머S
+  - Item: 24217 #블리츠이어링S
+  - Item: 24218 #블리츠펜던트S
+  - Item: 24219 #콜드볼트아머S
+  - Item: 24220 #화이어볼트아머S
+  - Item: 24221 #라이트닝볼트아머S
+  - Item: 24222 #어스스파이크아머S
+  - Item: 24223 #인핸스포스웨폰S
+  - Item: 24224 #포스웨폰S
+  - Item: 24225 #포스이어링S
+  - Item: 24226 #포스펜던트S
+  - Item: 24227 #인핸스스피릿웨폰S
+  - Item: 24228 #스피릿웨폰S
+  - Item: 24229 #스피릿이어링S
+  - Item: 24230 #스피릿펜던트S
+  - Item: 24231 #블리츠슈즈S
+  - Item: 24232 #블리츠쉴드S
+  - Item: 24233 #익시드웨폰S
+  - Item: 24234 #타이탄이어링S
+  - Item: 24235 #타이탄펜던트S
+  - Item: 24236 #보운드이어링S
+  - Item: 24237 #보운드펜던트S
+  - Item: 24238 #기간틱이어링S
+  - Item: 24239 #기간틱펜던트S
+  - Item: 24240 #캐스터슈즈S
+  - Item: 24241 #캐스터쉴드S
+  - Item: 24242 #캐스터아머S
+  - Item: 24243 #리로드슈즈S
+  - Item: 24244 #리로드쉴드S
+  - Item: 24245 #리로드아머S
+  - Item: 24320 #헤이스티슈즈S2
+  - Item: 24321 #베어러즈펜던트S2
+  - Item: 24322 #젬스톤이어링S2
+  - Item: 24323 #스펠플로우쉴드S2
+  - Item: 24324 #스피리츄얼웨폰S2
+  - Item: 24325 #매리셔스아머S2
+  - Item: 24326 #사이그룬아머S
+  - Item: 24327 #사이그룬쉴드S
+  - Item: 24328 #포스액서듀얼웨폰S2
+  - Item: 24329 #스피릿매직듀얼웨폰S2
+  - Item: 24330 #캐스터아머S2
+  - Item: 24331 #리로드아머S2
+  - Item: 24332 #크리티컬쉴드S
+  - Item: 24333 #크리티컬슈즈S
+  - Item: 24334 #매직컴포즈아머S
+  - Item: 24335 #젬스톤웨폰S2
+  - Item: 24336 #젬스톤쉴드S2
+  - Item: 24337 #베어러즈아머S2
+  - Item: 24338 #베어러즈슈즈S2
+  - Item: 24339 #올마이티이어링S
+  - Item: 24340 #올마이티펜던트S
+  - Item: 24341 #올레이스슈즈S
+  - Item: 24342 #올레이스쉴드S
+  - Item: 24343 #블리츠웨폰S
+  - Item: 24344 #블리츠아머S
+  - Item: 24345 #템페스트쉴드S
+  - Item: 24346 #템페스트슈즈S
+  - Item: 24347 #매직액서홀리아머S
+  - Item: 24348 #매직엑소커럽트아머S
+  - Item: 24349 #매직드래곤바이브아머S
+  - Item: 24350 #매직시저스헌팅아머S
+  - Item: 24351 #매직피싱인섹트아머S
+  - Item: 24352 #플라스터러즈아머S2
+  - Item: 24353 #인솜니악슈즈S2
+  - Item: 24354 #피어리스아머S2
+  - Item: 24355 #애듀레이트슈즈S2
+  - Item: 24356 #언프리징웨폰S2
+  - Item: 24357 #바이탈리티이어링S2
+  - Item: 24358 #뉴트럴웨폰S2
+  - Item: 24359 #언커즈펜던트S2
+  - Item: 24360 #텐션웨폰S
+  - Item: 24361 #텐션이어링S
+  - Item: 24362 #텐션펜던트S
+  - Item: 24363 #엘레강트웨폰S
+  - Item: 24364 #엘레강트이어링S
+  - Item: 24365 #엘레강트펜던트S
+  - Item: 24366 #힐링쉴드S
+  - Item: 24367 #힐링슈즈S
+  - Item: 24368 #리스토어이어링S
+  - Item: 24369 #리스토어펜던트S
+  - Item: 24370 #모탈블로우웨폰S
+  - Item: 24371 #모탈블로우이어링S
+  - Item: 24372 #모탈블로우펜던트S
+  - Item: 24373 #페니트레이션슈즈S
+  - Item: 24374 #페니트레이션쉴드S
+  - Item: 24375 #액서홀리아머S
+  - Item: 24376 #엑소커럽트아머S
+  - Item: 24377 #드래곤바이브아머S
+  - Item: 24378 #시저스헌팅아머S
+  - Item: 24379 #피싱인섹트아머S
+  - Item: 24380 #Sentimental_Weapone_S
+  - Item: 24381 #Sentimental_Earring_S
+  - Item: 24382 #Sentimental_Pendant_S
+  - Item: 24383 #Enchanting_Weapone_S
+  - Item: 24384 #Enchanting_Earring_S
+  - Item: 24385 #Enchanting_Pendant_S
+  - Item: 24386 #S_Infinity_Weapon
+  - Item: 24393 #S_Physical_Shoes
+  - Item: 24394 #S_Physical_Shield
+  - Item: 24395 #S_Physical_Armor
+  - Item: 24396 #S_Magical_Shoes
+  - Item: 24397 #S_Magical_Shield
+  - Item: 24398 #S_Magical_Armor
+  - Item: 24399 #S_ImmunedAthena_Shield
+  - Item: 24400 #S_HardChamption_Shoes
+  - Item: 24401 #S_KingbirdAncient_Armor
+  - Item: 15280 #S_CriticalHit_Armor
+  - Item: 24423 #S_Tempest_Weapon
+  - Item: 24424 #S_Tempest_Armor
+  - Item: 24425 #S_PerfectSize_Weapon
+  - Item: 24426 #S_PerfectSize_Armor
+  - Item: 24427 #S_M_Exo_Co_Weapon
+  - Item: 24428 #S_M_Viv_Dr_Weapon
+  - Item: 24429 #S_M_Sci_Hu_Weapon
+  - Item: 24430 #S_M_Fis_In_Weapon
+  - Item: 24431 #S_M_Exe_Ho_Weapon
+  - Item: 24432 #S_Penetration_Weapon
+  - Item: 24433 #S_Penetration_Armor
+  - Item: 24434 #S_Exe_Ho_Weapon
+  - Item: 24435 #S_Fis_In_Weapon
+  - Item: 24436 #S_Sci_Hu_Weapon
+  - Item: 24437 #S_Viv_Dr_Weapon
+  - Item: 24438 #S_Exo_Co_Weapon
+  - Item: 24439 #S_Hasty_Weapon
+  - Item: 24440 #S_Sonic_Armor
+  - Item: 24441 #S_Sonic_Shield
+  - Item: 24442 #S_Sonic_Shoes
+  - Item: 24443 #S_Ignition_Weapon
+  - Item: 24444 #S_Ignition_Pendant
+  - Item: 24445 #S_Ignition_Earing
+  - Item: 24446 #S_W_Breath_Armor
+  - Item: 24447 #S_W_Breath_Shield
+  - Item: 24448 #S_W_Breath_Shoes
+  - Item: 24449 #S_F_Breath_Weapon
+  - Item: 24450 #S_F_Breath_Pendant
+  - Item: 24451 #S_F_Breath_Earing
+  - Item: 24452 #S_Cluster_Armor
+  - Item: 24453 #S_Cluster_Shield
+  - Item: 24454 #S_Cluster_Shoes
+  - Item: 24455 #S_Aimed_Weapon
+  - Item: 24456 #S_Aimed_Pendant
+  - Item: 24457 #S_Aimed_Earing
+  - Item: 24458 #S_Arrow_Armor
+  - Item: 24459 #S_Arrow_Shield
+  - Item: 24460 #S_Arrow_Shoes
+  - Item: 24461 #S_Shooting_Weapon
+  - Item: 24462 #S_Shooting_Pendant
+  - Item: 24463 #S_Shooting_Earing
+  - Item: 24464 #S_Tornado_Armor
+  - Item: 24465 #S_Tornado_Shield
+  - Item: 24466 #S_Tornado_Shoes
+  - Item: 24467 #S_Boomerang_Weapon
+  - Item: 24468 #S_Boomerang_Pendant
+  - Item: 24469 #S_Boomerang_Earing
+  - Item: 24470 #S_Vulcan_Armor
+  - Item: 24471 #S_Vulcan_Shield
+  - Item: 24472 #S_Vulcan_Shoes
+  - Item: 24473 #S_Arms_Weapon
+  - Item: 24474 #S_Arms_Pendant
+  - Item: 24475 #S_Arms_Earing
+  Result: |
+    callfunc("F_Lapine_Shadow_Random_Mix", .@opts[0], .@vals[0]);
+    .@params[0] = 0;
+    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+- Id: 100043 # Boost_Up_1, 부스터 방어구
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: false
+  TargetItem:
+  - Item: 450001 #Atker_Plate
+  - Item: 480000 #Atker_Manteau
+  - Item: 470000 #Atker_Greave
+  - Item: 450004 #Ran_Suits
+  - Item: 480003 #Ran_Manteau
+  - Item: 470003 #Ran_Boots
+  - Item: 450002 #Ele_Robe
+  - Item: 480001 #Ele_Muffler
+  - Item: 470001 #Ele_Shoes
+  - Item: 450003 #Defn_Robe
+  - Item: 480002 #Defn_Muffler
+  - Item: 470002 #Defn_Shoes
+  Result: |
+    callfunc("F_Lapine_Boost_Up_1", .@refine);
+    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+- Id: 100044 # Boost_Up_2, 부스팅 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: false
+  TargetItem:
+  - Item: 600001 #Boost_TH_Sword
+  - Item: 610000 #Boost_Katar
+  - Item: 590000 #Boost_Hall
+  - Item: 640000 #Boost_Staff
+  - Item: 700001 #Boost_Bow
+  - Item: 530000 #Boost_Spear
+  - Item: 500001 #Boost_Sword
+  - Item: 510001 #Boost_Dagger
+  - Item: 540000 #Boost_Spl_Book
+  - Item: 570000 #Boost_Guitar
+  - Item: 560000 #Boost_Knuckle
+  - Item: 580000 #Boost_Whip
+  - Item: 510002 #Boost_Nindo
+  - Item: 830000 #Boost_Gatling
+  - Item: 520000 #Boost_Axe
+  - Item: 540001 #Boost_Text
+  - Item: 550001 #Boost_Soul_Rod
+  - Item: 550002 #Boost_Foxtail
+  Result: |
+    callfunc("F_Lapine_Boost_Up_2", .@refine);
+    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+- Id: 9523 # Metal_Rifine_Ticket, 메탈 무기
+  NeedRefineMin: 0
+  NeedOptionNumMin: 0
+  NotSocketEnchantItem: false
+  TargetItem:
+  - Item: 1296 #메탈카타르
+  - Item: 1398 #메탈투핸드액스
+  - Item: 1493 #메탈랜스
+  - Item: 1588 #메탈북
+  - Item: 2018 #메탈스태프
+  - Item: 13079 #메탈대거
+  - Item: 16023 #메탈메이스
+  - Item: 18116 #메탈보우
+  - Item: 21005 #메탈투핸드소드
+  - Item: 13125 #메탈리볼버
+  - Item: 13322 #메탈풍마수리검
+  - Item: 26111 #메탈강아지풀
+  Result: |
+    callfunc("F_Lapine_Metal_Rifine_Ticket", .@refine);
+    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+#- Id: 100128 # Noblesse_Rifine_Ticket, 노블레스 아이템
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 450018 # Noblesse_Breath_Armor
+#  - Item: 450019 # Noblesse_Knight_Armor
+#  - Item: 450020 # Noblesse_Spear_Armor
+#  - Item: 450021 # Noblesse_Genesis_Armor
+#  - Item: 450022 # Noblesse_Sharp_Suit
+#  - Item: 450023 # Noblesse_Aim_Suit
+#  - Item: 450024 # Noblesse_Severe_Suit
+#  - Item: 450025 # Noblesse_Reverb_Suit
+#  - Item: 450026 # Noblesse_Adora_Robe
+#  - Item: 450027 # Noblesse_Duple_Robe
+#  - Item: 450028 # Noblesse_Tonado_Armor
+#  - Item: 450029 # Noblesse_Vulcan_Armor
+#  - Item: 450030 # Noblesse_Kart_Suit
+#  - Item: 450031 # Noblesse_Kart_Suit2
+#  - Item: 450032 # Noblesse_Rolling_Suit
+#  - Item: 450033 # Noblesse_Assasin_Suit
+#  - Item: 450034 # Noblesse_Fatal_Suit
+#  - Item: 450035 # Noblesse_Stalker_Suit
+#  - Item: 450036 # Noblesse_Picky_Robe
+#  - Item: 450037 # Noblesse_Carrot_Robe
+#  - Item: 450038 # Noblesse_Trip_Suit
+#  - Item: 450039 # Noblesse_Firerain_Suit
+#  - Item: 450040 # Noblesse_Crimson_Robe
+#  - Item: 450041 # Noblesse_Frost_Robe
+#  - Item: 450042 # Noblesse_Psychic_Robe
+#  - Item: 450043 # Noblesse_Dust_Robe
+#  - Item: 450044 # Noblesse_Sun_Suit
+#  - Item: 450045 # Noblesse_Moon_Suit
+#  - Item: 450046 # Noblesse_Ninja_Suit
+#  - Item: 450047 # Noblesse_Kunai_Suit
+#  - Item: 450048 # Noblesse_Swhoo_Robe
+#  - Item: 450049 # Noblesse_Explosion_Robe
+#  - Item: 450050 # Noblesse_Knuckle_Suit
+#  - Item: 450051 # Noblesse_Tiger_Suit
+#  - Item: 450121 # Noblesse_Snovice_Suit
+#  - Item: 450122 # Noblesse_Snovice_Robe
+#  - Item: 470016 # Noblesse_Attack_Boots
+#  - Item: 470017 # Noblesse_Magic_Boots
+#  - Item: 480012 # Noblesse_Attack_Manteau
+#  - Item: 480014 # Noblesse_Magic_Manteau
+#  Result: |
+#    callfunc("F_Lapine_Noblesse_Refine_Ticket", .@refine);
+#    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+#- Id: 100129 # Imperial_Rifine_Ticket, 임페리얼 아이템
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 450052 # Imperial_Breath_Armor
+#  - Item: 450053 # Imperial_Knight_Armor
+#  - Item: 450054 # Imperial_Spear_Armor
+#  - Item: 450055 # Imperial_Genesis_Armor
+#  - Item: 450056 # Imperial_Sharp_Suit
+#  - Item: 450057 # Imperial_Aim_Suit
+#  - Item: 450058 # Imperial_Severe_Suit
+#  - Item: 450059 # Imperial_Reverb_Suit
+#  - Item: 450060 # Imperial_Adora_Robe
+#  - Item: 450061 # Imperial_Duple_Robe
+#  - Item: 450064 # Imperial_Tonado_Armor
+#  - Item: 450065 # Imperial_Vulcan_Armor
+#  - Item: 450066 # Imperial_Kart_Suit
+#  - Item: 450067 # Imperial_Kart_Suit2
+#  - Item: 450068 # Imperial_Rolling_Suit
+#  - Item: 450069 # Imperial_Assasin_Suit
+#  - Item: 450070 # Imperial_Fatal_Suit
+#  - Item: 450071 # Imperial_Stalker_Suit
+#  - Item: 450072 # Imperial_Picky_Robe
+#  - Item: 450073 # Imperial_Carrot_Robe
+#  - Item: 450074 # Imperial_Trip_Suit
+#  - Item: 450075 # Imperial_Firerain_Suit
+#  - Item: 450076 # Imperial_Crimson_Robe
+#  - Item: 450077 # Imperial_Frost_Robe
+#  - Item: 450078 # Imperial_Psychic_Robe
+#  - Item: 450079 # Imperial_Dust_Robe
+#  - Item: 450080 # Imperial_Sun_Suit
+#  - Item: 450081 # Imperial_Moon_Suit
+#  - Item: 450082 # Imperial_Ninja_Suit
+#  - Item: 450083 # Imperial_Kunai_Suit
+#  - Item: 450084 # Imperial_Swhoo_Robe
+#  - Item: 450085 # Imperial_Explosion_Robe
+#  - Item: 450062 # Imperial_Knuckle_Suit
+#  - Item: 450063 # Imperial_Tiger_Suit
+#  - Item: 450123 # Imperial_Snovice_Suit
+#  - Item: 450124 # Imperial_Snovice_Robe
+#  - Item: 470018 # Imperial_Attack_Boots
+#  - Item: 470019 # Imperial_Magic_Boots
+#  - Item: 480016 # Imperial_Attack_Manteau
+#  - Item: 480017 # Imperial_Magic_Manteau
+#  Result: |
+#    callfunc("F_Lapine_Imperial_Refine_Ticket", .@refine);
+#    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+#- Id: 100130 # Grace_Rifine_Ticket, 그레이스 아이템
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 450086 # Grace_Breath_Armor
+#  - Item: 450087 # Grace_Knight_Armor
+#  - Item: 450088 # Grace_Spear_Armor
+#  - Item: 450089 # Grace_Genesis_Armor
+#  - Item: 450090 # Grace_Sharp_Suit
+#  - Item: 450091 # Grace_Aim_Suit
+#  - Item: 450092 # Grace_Severe_Suit
+#  - Item: 450093 # Grace_Reverb_Suit
+#  - Item: 450094 # Grace_Adora_Robe
+#  - Item: 450095 # Grace_Duple_Robe
+#  - Item: 450098 # Grace_Tonado_Armor
+#  - Item: 450099 # Grace_Vulcan_Armor
+#  - Item: 450100 # Grace_Kart_Suit
+#  - Item: 450101 # Grace_Kart_Suit2
+#  - Item: 450102 # Grace_Rolling_Suit
+#  - Item: 450103 # Grace_Assasin_Suit
+#  - Item: 450104 # Grace_Fatal_Suit
+#  - Item: 450105 # Grace_Stalker_Suit
+#  - Item: 450106 # Grace_Picky_Robe
+#  - Item: 450107 # Grace_Carrot_Robe
+#  - Item: 450108 # Grace_Trip_Suit
+#  - Item: 450109 # Grace_Firerain_Suit
+#  - Item: 450110 # Grace_Crimson_Robe
+#  - Item: 450111 # Grace_Frost_Robe
+#  - Item: 450112 # Grace_Psychic_Robe
+#  - Item: 450113 # Grace_Dust_Robe
+#  - Item: 450114 # Grace_Sun_Suit
+#  - Item: 450115 # Grace_Moon_Suit
+#  - Item: 450116 # Grace_Ninja_Suit
+#  - Item: 450117 # Grace_Kunai_Suit
+#  - Item: 450118 # Grace_Swhoo_Robe
+#  - Item: 450119 # Grace_Explosion_Robe
+#  - Item: 450096 # Grace_Knuckle_Suit
+#  - Item: 450097 # Grace_Tiger_Suit
+#  - Item: 450125 # Grace_Snovice_Suit
+#  - Item: 450126 # Grace_Snovice_Robe
+#  - Item: 470020 # Grace_Attack_Boots
+#  - Item: 470021 # Grace_Magic_Boots
+#  - Item: 480018 # Grace_Attack_Manteau
+#  - Item: 480019 # Grace_Magic_Manteau
+#  Result: |
+#    callfunc("F_Lapine_Grace_Refine_Ticket", .@refine);
+#    getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4);
+#- Id: 100131 # Imperial_Convert1, 임페리얼 망토
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 480016 # Imperial_Attack_Manteau
+#  - Item: 480017 # Imperial_Magic_Manteau
+#  Result: |
+#    callfunc("F_Lapine_Imperial_Convert1", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100132 # Imperial_Convert2, 임페리얼 망토
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 480016 # Imperial_Attack_Manteau
+#  - Item: 480017 # Imperial_Magic_Manteau
+#  Result: |
+#    callfunc("F_Lapine_Imperial_Convert2", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100135 # Imperial_Convert3, 임페리얼 갑옷
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 450052 # Imperial_Breath_Armor
+#  - Item: 450053 # Imperial_Knight_Armor
+#  - Item: 450054 # Imperial_Spear_Armor
+#  - Item: 450055 # Imperial_Genesis_Armor
+#  - Item: 450056 # Imperial_Sharp_Suit
+#  - Item: 450057 # Imperial_Aim_Suit
+#  - Item: 450058 # Imperial_Severe_Suit
+#  - Item: 450059 # Imperial_Reverb_Suit
+#  - Item: 450060 # Imperial_Adora_Robe
+#  - Item: 450061 # Imperial_Duple_Robe
+#  - Item: 450064 # Imperial_Tonado_Armor
+#  - Item: 450065 # Imperial_Vulcan_Armor
+#  - Item: 450066 # Imperial_Kart_Suit
+#  - Item: 450067 # Imperial_Kart_Suit2
+#  - Item: 450068 # Imperial_Rolling_Suit
+#  - Item: 450069 # Imperial_Assasin_Suit
+#  - Item: 450070 # Imperial_Fatal_Suit
+#  - Item: 450071 # Imperial_Stalker_Suit
+#  - Item: 450072 # Imperial_Picky_Robe
+#  - Item: 450073 # Imperial_Carrot_Robe
+#  - Item: 450074 # Imperial_Trip_Suit
+#  - Item: 450075 # Imperial_Firerain_Suit
+#  - Item: 450076 # Imperial_Crimson_Robe
+#  - Item: 450077 # Imperial_Frost_Robe
+#  - Item: 450078 # Imperial_Psychic_Robe
+#  - Item: 450079 # Imperial_Dust_Robe
+#  - Item: 450080 # Imperial_Sun_Suit
+#  - Item: 450081 # Imperial_Moon_Suit
+#  - Item: 450082 # Imperial_Ninja_Suit
+#  - Item: 450083 # Imperial_Kunai_Suit
+#  - Item: 450084 # Imperial_Swhoo_Robe
+#  - Item: 450085 # Imperial_Explosion_Robe
+#  - Item: 450062 # Imperial_Knuckle_Suit
+#  - Item: 450063 # Imperial_Tiger_Suit
+#  - Item: 450123 # Imperial_Snovice_Suit
+#  - Item: 450124 # Imperial_Snovice_Robe
+#  Result: |
+#    callfunc("F_Lapine_Imperial_Convert3", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100136 # Imperial_Convert4, 임페리얼 갑옷
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 450052 # Imperial_Breath_Armor
+#  - Item: 450053 # Imperial_Knight_Armor
+#  - Item: 450054 # Imperial_Spear_Armor
+#  - Item: 450055 # Imperial_Genesis_Armor
+#  - Item: 450056 # Imperial_Sharp_Suit
+#  - Item: 450057 # Imperial_Aim_Suit
+#  - Item: 450058 # Imperial_Severe_Suit
+#  - Item: 450059 # Imperial_Reverb_Suit
+#  - Item: 450060 # Imperial_Adora_Robe
+#  - Item: 450061 # Imperial_Duple_Robe
+#  - Item: 450064 # Imperial_Tonado_Armor
+#  - Item: 450065 # Imperial_Vulcan_Armor
+#  - Item: 450066 # Imperial_Kart_Suit
+#  - Item: 450067 # Imperial_Kart_Suit2
+#  - Item: 450068 # Imperial_Rolling_Suit
+#  - Item: 450069 # Imperial_Assasin_Suit
+#  - Item: 450070 # Imperial_Fatal_Suit
+#  - Item: 450071 # Imperial_Stalker_Suit
+#  - Item: 450072 # Imperial_Picky_Robe
+#  - Item: 450073 # Imperial_Carrot_Robe
+#  - Item: 450074 # Imperial_Trip_Suit
+#  - Item: 450075 # Imperial_Firerain_Suit
+#  - Item: 450076 # Imperial_Crimson_Robe
+#  - Item: 450077 # Imperial_Frost_Robe
+#  - Item: 450078 # Imperial_Psychic_Robe
+#  - Item: 450079 # Imperial_Dust_Robe
+#  - Item: 450080 # Imperial_Sun_Suit
+#  - Item: 450081 # Imperial_Moon_Suit
+#  - Item: 450082 # Imperial_Ninja_Suit
+#  - Item: 450083 # Imperial_Kunai_Suit
+#  - Item: 450084 # Imperial_Swhoo_Robe
+#  - Item: 450085 # Imperial_Explosion_Robe
+#  - Item: 450062 # Imperial_Knuckle_Suit
+#  - Item: 450063 # Imperial_Tiger_Suit
+#  - Item: 450123 # Imperial_Snovice_Suit
+#  - Item: 450124 # Imperial_Snovice_Robe
+#  Result: |
+#    callfunc("F_Lapine_Imperial_Convert4", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100133 # Grace_Convert1, 그레이스 망토
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 480018 # Grace_Attack_Manteau
+#  - Item: 480019 # Grace_Magic_Manteau
+#  Result: |
+#    callfunc("F_Lapine_Grace_Convert1", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100134 # Grace_Convert2, 그레이스 망토
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 480018 # Grace_Attack_Manteau
+#  - Item: 480019 # Grace_Magic_Manteau
+#  Result: |
+#    callfunc("F_Lapine_Grace_Convert2", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100137 # Grace_Convert3, 그레이스 갑옷
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 450086 # Grace_Breath_Armor
+#  - Item: 450087 # Grace_Knight_Armor
+#  - Item: 450088 # Grace_Spear_Armor
+#  - Item: 450089 # Grace_Genesis_Armor
+#  - Item: 450090 # Grace_Sharp_Suit
+#  - Item: 450091 # Grace_Aim_Suit
+#  - Item: 450092 # Grace_Severe_Suit
+#  - Item: 450093 # Grace_Reverb_Suit
+#  - Item: 450094 # Grace_Adora_Robe
+#  - Item: 450095 # Grace_Duple_Robe
+#  - Item: 450098 # Grace_Tonado_Armor
+#  - Item: 450099 # Grace_Vulcan_Armor
+#  - Item: 450100 # Grace_Kart_Suit
+#  - Item: 450101 # Grace_Kart_Suit2
+#  - Item: 450102 # Grace_Rolling_Suit
+#  - Item: 450103 # Grace_Assasin_Suit
+#  - Item: 450104 # Grace_Fatal_Suit
+#  - Item: 450105 # Grace_Stalker_Suit
+#  - Item: 450106 # Grace_Picky_Robe
+#  - Item: 450107 # Grace_Carrot_Robe
+#  - Item: 450108 # Grace_Trip_Suit
+#  - Item: 450109 # Grace_Firerain_Suit
+#  - Item: 450110 # Grace_Crimson_Robe
+#  - Item: 450111 # Grace_Frost_Robe
+#  - Item: 450112 # Grace_Psychic_Robe
+#  - Item: 450113 # Grace_Dust_Robe
+#  - Item: 450114 # Grace_Sun_Suit
+#  - Item: 450115 # Grace_Moon_Suit
+#  - Item: 450116 # Grace_Ninja_Suit
+#  - Item: 450117 # Grace_Kunai_Suit
+#  - Item: 450118 # Grace_Swhoo_Robe
+#  - Item: 450119 # Grace_Explosion_Robe
+#  - Item: 450096 # Grace_Knuckle_Suit
+#  - Item: 450097 # Grace_Tiger_Suit
+#  - Item: 450125 # Grace_Snovice_Suit
+#  - Item: 450126 # Grace_Snovice_Robe
+#  Result: |
+#    callfunc("F_Lapine_Grace_Convert3", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100138 # Grace_Convert4, 그레이스 갑옷
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 450086 # Grace_Breath_Armor
+#  - Item: 450087 # Grace_Knight_Armor
+#  - Item: 450088 # Grace_Spear_Armor
+#  - Item: 450089 # Grace_Genesis_Armor
+#  - Item: 450090 # Grace_Sharp_Suit
+#  - Item: 450091 # Grace_Aim_Suit
+#  - Item: 450092 # Grace_Severe_Suit
+#  - Item: 450093 # Grace_Reverb_Suit
+#  - Item: 450094 # Grace_Adora_Robe
+#  - Item: 450095 # Grace_Duple_Robe
+#  - Item: 450098 # Grace_Tonado_Armor
+#  - Item: 450099 # Grace_Vulcan_Armor
+#  - Item: 450100 # Grace_Kart_Suit
+#  - Item: 450101 # Grace_Kart_Suit2
+#  - Item: 450102 # Grace_Rolling_Suit
+#  - Item: 450103 # Grace_Assasin_Suit
+#  - Item: 450104 # Grace_Fatal_Suit
+#  - Item: 450105 # Grace_Stalker_Suit
+#  - Item: 450106 # Grace_Picky_Robe
+#  - Item: 450107 # Grace_Carrot_Robe
+#  - Item: 450108 # Grace_Trip_Suit
+#  - Item: 450109 # Grace_Firerain_Suit
+#  - Item: 450110 # Grace_Crimson_Robe
+#  - Item: 450111 # Grace_Frost_Robe
+#  - Item: 450112 # Grace_Psychic_Robe
+#  - Item: 450113 # Grace_Dust_Robe
+#  - Item: 450114 # Grace_Sun_Suit
+#  - Item: 450115 # Grace_Moon_Suit
+#  - Item: 450116 # Grace_Ninja_Suit
+#  - Item: 450117 # Grace_Kunai_Suit
+#  - Item: 450118 # Grace_Swhoo_Robe
+#  - Item: 450119 # Grace_Explosion_Robe
+#  - Item: 450096 # Grace_Knuckle_Suit
+#  - Item: 450097 # Grace_Tiger_Suit
+#  - Item: 450125 # Grace_Snovice_Suit
+#  - Item: 450126 # Grace_Snovice_Robe
+#  Result: |
+#    callfunc("F_Lapine_Grace_Convert4", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 9514 # Ein_Ddbox, 물리 개조 시스템
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 21054 # Ein_BHSWORD
+#  - Item: 2058 # Ein_BHSTAFF
+#  - Item: 13346 # Ein_BHHuuma
+#  - Item: 28045 # Ein_BHKATAR
+#  - Item: 28140 # Ein_BHAXE
+#  - Item: 18190 # Ein_BHBOW
+#  - Item: 1867 # Ein_1HKNUCK
+#  - Item: 16099 # Ein_1HHAMMER
+#  - Item: 26162 # Ein_1HWAND
+#  - Item: 26215 # Ein_1HWHIP
+#  - Item: 28635 # Ein_1HBOOK
+#  - Item: 28771 # Ein_1HDAGGER
+#  - Item: 28772 # Ein_1HMAGGER
+#  - Item: 32026 # Ein_1HSPEAR
+#  - Item: 32110 # Ein_1HLUTE
+#  - Item: 32352 # Ein_1HSWORD
+#  - Item: 32303 # Ein_1HGUN
+#  - Item: 550006 # Ein_1H_Foxtail
+#  Result: |
+#    // TODO
+#    callfunc("F_Lapine_Ein_Ddbox", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 9529 # Ein_Ddbox2, 마법 개조 시스템
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 21054 # Ein_BHSWORD
+#  - Item: 2058 # Ein_BHSTAFF
+#  - Item: 13346 # Ein_BHHuuma
+#  - Item: 28045 # Ein_BHKATAR
+#  - Item: 28140 # Ein_BHAXE
+#  - Item: 18190 # Ein_BHBOW
+#  - Item: 1867 # Ein_1HKNUCK
+#  - Item: 16099 # Ein_1HHAMMER
+#  - Item: 26162 # Ein_1HWAND
+#  - Item: 26215 # Ein_1HWHIP
+#  - Item: 28635 # Ein_1HBOOK
+#  - Item: 28771 # Ein_1HDAGGER
+#  - Item: 28772 # Ein_1HMAGGER
+#  - Item: 32026 # Ein_1HSPEAR
+#  - Item: 32110 # Ein_1HLUTE
+#  - Item: 32352 # Ein_1HSWORD
+#  - Item: 32303 # Ein_1HGUN
+#  - Item: 550006 # Ein_1H_Foxtail
+#  Result: |
+#    // TODO
+#    callfunc("F_Lapine_Ein_Ddbox2", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 23981 # Abyss_Ddbox, 소용돌이 치는 용의 힘
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 15391 # DragonA_Red
+#  - Item: 15392 # DragonA_Green
+#  - Item: 15393 # DragonA_Gold
+#  - Item: 15394 # DragonA_Purple
+#  - Item: 15395 # DragonA_Blue
+#  - Item: 15396 # DragonA_Silver
+#  Result: |
+#    // TODO
+#    callfunc("F_Lapine_Abyss_Ddbox", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100142 # Abyss_Ddbox2, 안정된 용의 힘
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 15391 # DragonA_Red
+#  - Item: 15392 # DragonA_Green
+#  - Item: 15393 # DragonA_Gold
+#  - Item: 15394 # DragonA_Purple
+#  - Item: 15395 # DragonA_Blue
+#  - Item: 15396 # DragonA_Silver
+#  Result: |
+#    // TODO
+#    callfunc("F_Lapine_Abyss_Ddbox2", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100144 # Abyss_Ddbox3, 불타는 용의 힘
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 20946 # Drag_Manteau
+#  Result: |
+#    // TODO
+#    callfunc("F_Lapine_Abyss_Ddbox3", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
+#- Id: 100145 # Abyss_Ddbox4, 뜨거운 용의 힘
+#  NeedRefineMin: 0
+#  NeedOptionNumMin: 0
+#  NotSocketEnchantItem: true
+#  TargetItem:
+#  - Item: 22208 # Dragon_Boots
+#  Result: |
+#    // TODO
+#    callfunc("F_Lapine_Abyss_Ddbox4", .@opts[0], .@vals[0]);
+#    .@params[0] = 0;
+#    getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);

+ 18 - 0
doc/script_commands.txt

@@ -10146,6 +10146,24 @@ If <char id> is specified, the specified player is used rather than the attached
 
 ---------------------------------------
 
+*synthesisui(<id>{<char_id>})
+
+Open Item Synthesis UI for attached player. The id must be valid from
+db/[pre-]re/item_synthesis.yml.
+
+Returns 1 on success and 0 of failure.
+
+---------------------------------------
+
+*upgradeui(<id>{<char_id>})
+
+Open Item Upgrade UI for attached player. The id must be valid from
+db/[pre-]re/item_upgrade.yml.
+
+Returns 1 on success and 0 of failure.
+
+---------------------------------------
+
 ========================
 |14.- Channel commands.|
 ========================

+ 1985 - 0
npc/re/other/LapineEnchants.txt

@@ -0,0 +1,1985 @@
+//===== rAthena Script =======================================
+//= Lapine Upgrade Functions
+//===== Description: =========================================
+// Functions to get random options for 'Lapine Upgrade'
+// feature. Function name prefixed with F_Lapine_ and followed
+// by item/identifier as unique name.
+//===== Changelogs: ==========================================
+//= 1.0 First version. [Cydh]
+//============================================================
+/**
+ * Possible random options from Ancient Hero Bravery
+ */
+ function	script	F_Lapine_Ancient_Hero_Bravery	{
+	// Option: 1
+	.@r = rand(10000);
+	if (.@r < 500) { // ATK +5 ~ 30
+		.@option = RDMOPT_VAR_ATTPOWER;
+		.@value = rand(5,30);
+	} else if (.@r < 625) { // ASPD +1
+		.@option = RDMOPT_VAR_PLUSASPD;
+		.@value = 1;
+	} else if (.@r < 875) { // ASPD +3~10%
+		.@option = RDMOPT_VAR_PLUSASPDPERCENT;
+		.@value = rand(3,10);
+	} else if (.@r < 1000) { // Ranged Physical Damage +3-10%
+		.@option = RDMOPT_RANGE_ATTACK_DAMAGE_TARGET;
+		.@value = rand(3,10);
+	} else if (.@r < 1900) { // To Neutral Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 2800) { // To Water Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_WATER_TARGET;
+		.@value = rand(5,30);
+	} else if (.@r < 3700) { // To Earth Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET;
+		.@value = rand(5,30);
+	} else if (.@r < 4600) { // To Fire Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET;
+		.@value = rand(5,30);
+	} else if (.@r < 5500) { // To Wind Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_WIND_TARGET;
+		.@value = rand(5,30);
+	} else if (.@r < 6400) { // To Poison Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_POISON_TARGET;
+		.@value = rand(5,30);
+	} else if (.@r < 7300) { // To Holy Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET;
+		.@value = rand(5,30);
+	} else if (.@r < 8200) { // To Shadow Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET;
+		.@value = rand(5,30);
+	} else if (.@r < 9100) { // To Ghost Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET;
+		.@value = rand(5,30);
+	} else { // To Undead Element Damage +3~20%
+		.@option = RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET;
+		.@value = rand(5,30);
+	}
+
+	set getarg(0), .@option;
+	set getarg(1), .@value;
+
+	// Option:2
+	.@r = rand(10000);
+	if (.@r < 100) { // ATK +1~5%
+		.@option = RDMOPT_VAR_ATKPERCENT;
+		.@value = rand(1,5);
+	} else if (.@r < 700) { // Critical Damage +3~10%
+		.@option = RDMOPT_DAMAGE_CRI_TARGET;
+		.@value = rand(3,10);
+	} else if (.@r < 1600) { // To Formless Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_NOTHING;
+		.@value = rand(3,20);
+	} else if (.@r < 2500) { // To Undead Race damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_UNDEAD;
+		.@value = rand(3,20);
+	} else if (.@r < 3400) { // To Beast Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_ANIMAL;
+		.@value = rand(3,20);
+	} else if (.@r < 4300) { // To Plant Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_PLANT;
+		.@value = rand(5,30);
+	} else if (.@r < 5200) { // To Insect Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_INSECT;
+		.@value = rand(5,30);
+	} else if (.@r < 6100) { // To Fish Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_FISHS;
+		.@value = rand(5,30);
+	} else if (.@r < 7000) { // To Demon Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_DEVIL;
+		.@value = rand(5,30);
+	} else if (.@r < 7900) { // To Demi-Human Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_HUMAN;
+		.@value = rand(5,30);
+	} else if (.@r < 8800) { // To Angel Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_ANGEL;
+		.@value = rand(5,30);
+	} else if (.@r < 9700) { // To Dragon Race Damage +3~20%
+		.@option = RDMOPT_RACE_DAMAGE_DRAGON;
+		.@value = rand(5,30);
+	} else if (.@r < 9800) { // Increase damage to normal class 1~10%
+		.@option = RDMOPT_CLASS_DAMAGE_NORMAL_TARGET;
+		.@value = rand(1,10);
+	} else if (.@r < 9900) { // Increase damage to boss class 1~10%
+		.@option = RDMOPT_CLASS_DAMAGE_BOSS_TARGET;
+		.@value = rand(1,10);
+	} else { // Indestructible
+		.@option = RDMOPT_WEAPON_INDESTRUCTIBLE;
+		.@value = 1;
+	}
+
+	set getarg(2), .@option;
+	set getarg(3), .@value;
+
+	return;
+}
+
+/**
+ * Possible random options from Ancient Hero Wisdom
+ */
+function	script	F_Lapine_Ancient_Hero_Wisdom	{
+	// Option: 1
+	.@r = rand(10000);
+	if (.@r < 694) { // Heal 3-20%
+		.@option = RDMOPT_HEAL_VALUE;
+		.@value = rand(3,20);
+	} else if (.@r < 991) { // Reduce variable cast time 3~10%
+		.@option = RDMOPT_DEC_SPELL_CAST_TIME;
+		.@value = rand(3,10);
+	} else if (.@r < 1090) { // Reduce delay after skill 1-5%
+		.@option = RDMOPT_DEC_SPELL_DELAY_TIME;
+		.@value = rand(1,5);
+	} else if (.@r < 1981) { // Increase magic damage against neutral element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 2872) { // Increase magic damage against water element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 3763) { // Increase magic damage against earth element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 4654) { // Increase magic damage against fire element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 5545) { // Increase magic damage against wind element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 6436) { // Increase magic damage against poison element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 7327) { // Increase magic damage against holy element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 8218) { // Increase magic damage against shadow element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET;
+		.@value = rand(3,20);
+	} else if (.@r < 9109) { // Increase magic damage against ghost element 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET;
+		.@value = rand(3,20);
+	} else { // Increase magic damage against neutral undead 3~20%
+		.@option = RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET;
+		.@value = rand(3,20);
+	}
+
+	set getarg(0), .@option;
+	set getarg(1), .@value;
+
+	// Option: 2
+	.@r = rand(10000);
+	if (.@r < 500) { // Reduce variable cast time 3~10%
+		.@option = RDMOPT_DEC_SPELL_CAST_TIME;
+		.@value = rand(3,10);
+	} else if (.@r < 700) { // MATK 1~5%
+		.@option = RDMOPT_VAR_MAGICATKPERCENT;
+		.@value = rand(1,5);
+	} else if (.@r < 1600) { // Increase magic damage to formless race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_NOTHING;
+		.@value = rand(3,20);
+	} else if (.@r < 2500) { // Increase magic damage to undead race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_UNDEAD;
+		.@value = rand(3,20);
+	} else if (.@r < 3400) { // Increase magic damage to beast race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_ANIMAL;
+		.@value = rand(3,20);
+	} else if (.@r < 4300) { // Increase magic damage to plant race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_PLANT;
+		.@value = rand(3,20);
+	} else if (.@r < 5200) { // Increase magic damage to insect race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_INSECT;
+		.@value = rand(3,20);
+	} else if (.@r < 6100) { // Increase magic damage to fish race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_FISHS;
+		.@value = rand(3,20);
+	} else if (.@r < 7000) { // Increase magic damage to demon race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_DEVIL;
+		.@value = rand(3,20);
+	} else if (.@r < 7900) { // Increase magic damage to demi-human race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_HUMAN;
+		.@value = rand(3,20);
+	} else if (.@r < 8800) { // Increase magic damage to angel race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_ANGEL;
+		.@value = rand(3,20);
+	} else if (.@r < 9700) { // Increase magic damage to dragon race 3~20%
+		.@option = RDMOPT_RACE_MDAMAGE_DRAGON;
+		.@value = rand(3,20);
+	} else if (.@r < 9850) { // Increase damage to normal class 1~10%
+		.@option = RDMOPT_CLASS_MDAMAGE_NORMAL;
+		.@value = rand(1,10);
+	} else { // Increase damage to boss class 1~10%
+		.@option = RDMOPT_CLASS_MDAMAGE_BOSS;
+		.@value = rand(1,10);
+	}
+
+	set getarg(2), .@option;
+	set getarg(3), .@value;
+
+	return;
+}
+
+function	script	F_Lapine_ILL_Piece_A	{
+	.@r = rand(320); // No rates info
+		 if (.@r < 100) { set getarg(0), RDMOPT_VAR_MAXHPAMOUNT; set getarg(1), rand(100,1500); if (rand(100) < 80) return; }
+	else if (.@r < 200) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(1,3); if (rand(100) < 80) return; }
+	else if (.@r < 210) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(1,10); }
+	else if (.@r < 220) { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(5,30); }
+	else if (.@r < 230) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 240) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 250) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 260) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 270) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 280) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 290) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 300) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 310) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 320) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,10); }
+	.@r = rand(170); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(1,10); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(1,10); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(1,10); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(1,10); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(1,10); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(1,10); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(1,10); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(1,10); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(1,10); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(1,10); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(3), rand(1,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(1,0); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_DAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_DAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(1,5); }
+	return;
+}
+
+function	script	F_Lapine_ILL_Piece_B	{
+	.@r = rand(320); // No rates info
+		 if (.@r < 100) { set getarg(0), RDMOPT_VAR_MAXHPAMOUNT; set getarg(1), rand(100,1500); if (rand(100) < 80) return; }
+	else if (.@r < 200) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(3,5); if (rand(100) < 80) return; }
+	else if (.@r < 210) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(1,10); }
+	else if (.@r < 220) { set getarg(0), RDMOPT_VAR_ATTMPOWER; set getarg(1), rand(5,30); }
+	else if (.@r < 230) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 240) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 250) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 260) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 270) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 280) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 290) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 300) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 310) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,10); }
+	else if (.@r < 320) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,10); }
+	.@r = rand(150); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(1,10); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(1,10); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(1,10); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(1,10); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(1,10); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(1,10); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(1,10); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(1,10); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(1,10); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(1,10); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(3), rand(1,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(1,0); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_MDAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_MDAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(1,5); }
+	return;
+}
+
+function	script	F_Lapine_Gemstone_Of_Time	{
+	// Option:1
+	.@r = rand(170); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(3,20); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_VAR_ATTMPOWER; set getarg(1), rand(3,20); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_VAR_MAXHPAMOUNT; set getarg(1), rand(500,1000); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_VAR_MAXSPAMOUNT; set getarg(1), rand(50,500); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(1,5); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(1), rand(5,30); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(1,5); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(1,5); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 140) { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 150) { set getarg(0), RDMOPT_HEAL_VALUE; set getarg(1), rand(3,20); }
+	else if (.@r < 160) { set getarg(0), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 170) { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(3,20); }
+	// Option: 2
+	.@r = rand(280);
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_ATTPOWER; set getarg(3), rand(3,20); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_VAR_ATTMPOWER; set getarg(3), rand(3,20); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_VAR_MAGICATKPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_VAR_MAXHPAMOUNT; set getarg(3), rand(500,1000); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_VAR_MAXHPPERCENT; set getarg(3), rand(1,5); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_VAR_MAXSPAMOUNT; set getarg(3), rand(50,500); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_VAR_MAXSPPERCENT; set getarg(3), rand(1,5); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(3), rand(1,5); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(5,30); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(3), rand(1,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(1,5); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(1,5); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_HEAL_VALUE; set getarg(3), rand(3,20); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(3), rand(3,20); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_BODY_INDESTRUCTIBLE; set getarg(3), 1; }
+	else if (.@r < 190) { set getarg(2), RDMOPT_BODY_ATTR_WATER; set getarg(3), rand(3,20); }
+	else if (.@r < 200) { set getarg(2), RDMOPT_BODY_ATTR_GROUND; set getarg(3), rand(3,20); }
+	else if (.@r < 210) { set getarg(2), RDMOPT_BODY_ATTR_FIRE; set getarg(3), rand(3,20); }
+	else if (.@r < 220) { set getarg(2), RDMOPT_BODY_ATTR_WIND; set getarg(3), rand(3,20); }
+	else if (.@r < 230) { set getarg(2), RDMOPT_BODY_ATTR_POISON; set getarg(3), rand(3,20); }
+	else if (.@r < 240) { set getarg(2), RDMOPT_BODY_ATTR_SAINT; set getarg(3), rand(3,20); }
+	else if (.@r < 250) { set getarg(2), RDMOPT_BODY_ATTR_DARKNESS; set getarg(3), rand(3,20); }
+	else if (.@r < 260) { set getarg(2), RDMOPT_BODY_ATTR_TELEKINESIS; set getarg(3), rand(3,20); }
+	else if (.@r < 270) { set getarg(2), RDMOPT_BODY_ATTR_UNDEAD; set getarg(3), rand(3,20); }
+	else if (.@r < 280) { set getarg(2), RDMOPT_BODY_ATTR_NOTHING; set getarg(3), rand(3,20); }
+	return;
+}
+
+function	script	F_Lapine_Time_Unseal_Key	{
+	// Option:1
+	.@r = rand(170); // No rates info
+	if (.@r < 10)  { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(5,40); return; }
+	if (.@r < 20)  { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(1,6); return; }
+	if (.@r < 30)  { set getarg(0), RDMOPT_VAR_ATTMPOWER; set getarg(1), rand(5,40); return; }
+	if (.@r < 40)  { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(1,6); return; }
+	if (.@r < 50)  { set getarg(0), RDMOPT_VAR_MAXHPAMOUNT; set getarg(1), rand(500,2000); return; }
+	if (.@r < 60)  { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(3,10); return; }
+	if (.@r < 70)  { set getarg(0), RDMOPT_VAR_MAXSPAMOUNT; set getarg(1), rand(50,1000); return; }
+	if (.@r < 80)  { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(3,10); return; }
+	if (.@r < 90)  { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(3,10); return; }
+	if (.@r < 100) { set getarg(0), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(1), rand(10,50); return; }
+	if (.@r < 110) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(3,10); return; }
+	if (.@r < 120) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(3,10); return; }
+	if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(3,10); return; }
+	if (.@r < 140) { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(3,10); return; }
+	if (.@r < 150) { set getarg(0), RDMOPT_HEAL_VALUE; set getarg(1), rand(3,10); return; }
+	if (.@r < 160) { set getarg(0), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(1), rand(3,10); return; }
+	if (.@r < 170) { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(3,15); return; }
+	return;
+}
+
+function	script	F_Lapine_Magma_Essence	{
+	return;
+}
+
+// Normal Modification Part (Physical)
+function	script	F_Lapine_EP17_1_SPC05	{
+	.@r = rand(140); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(5,20); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(3,10); }
+	else if (.@r < 140) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(3,10); }
+	.@r = rand(180); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), 1; }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(5,15); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_DAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_DAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(3,10); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(3,10); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(3,10); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(3,10); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(3,10); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(3,10); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(3,10); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(3,10); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(3,10); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(3,10); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(3,10); }
+	return;
+}
+
+// Advanced Modification Part (Physical)
+function	script	F_Lapine_EP17_1_SPC06	{
+	.@r = rand(140); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(15,40); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(1,10); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(3,15); }
+	else if (.@r < 140) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(3,15); }
+	.@r = rand(190); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), 1; }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(5,30); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_DAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_DAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(3,15); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(3,15); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(3,15); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(3,15); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(3,15); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(3,15); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(3,15); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(3,15); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(3,15); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(3,15); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(3,15); }
+	else if (.@r < 190) { set getarg(2), RDMOPT_DEC_SP_CONSUMPTION; set getarg(3), rand(1,5); }
+	return;
+}
+
+// Premium Modification Part (Physical)
+function	script	F_Lapine_EP17_1_SPC07	{
+	.@r = rand(140); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(20,60); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(3,15); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(3,20); }
+	else if (.@r < 140) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(3,20); }
+	.@r = rand(200); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), rand(1,2); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(5,45); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_DAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_DAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(3,20); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(3,20); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(3,20); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(3,20); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(3,20); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(3,20); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(3,20); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(3,20); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(3,20); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(3,20); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(3,20); }
+	else if (.@r < 190) { set getarg(2), RDMOPT_DEC_SP_CONSUMPTION; set getarg(3), rand(1,10); }
+	else if (.@r < 200) { set getarg(2), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(3), 1; }
+	return;
+}
+
+// Normal Modification Part (Magic)
+function	script	F_Lapine_EP17_1_SPC08	{
+	.@r = rand(130); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(3,15); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_MATTPOWER; set getarg(1), rand(5,20); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(3,10); }
+	.@r = rand(160); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), 1; }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(5,15); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(3,10); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(3,10); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(3,10); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(3,10); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(3,10); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(3,10); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(3,10); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(3,10); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(3,10); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(3,10); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(3,10); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(3,10); }
+	return;
+}
+
+// Advanced Modification Part (Magic)
+function	script	F_Lapine_EP17_1_SPC09	{
+	.@r = rand(130); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(3,20); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_MATTPOWER; set getarg(1), rand(15,40); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(1,10); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(3,10); }
+	.@r = rand(190); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), 1; }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(5,30); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(3,15); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(3,15); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(3,15); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(3,15); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(3,15); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(3,15); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(3,15); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(3,15); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(3,15); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(3,15); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(3,15); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(3,15); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_DEC_SP_CONSUMPTION; set getarg(3), rand(1,5); }
+	return;
+}
+
+// Premium Modification Part (Magic)
+function	script	F_Lapine_EP17_1_SPC10	{
+	.@r = rand(130); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(5,25); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_MATTPOWER; set getarg(1), rand(20,60); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(3,15); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(3,10); }
+	.@r = rand(180); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), rand(1,2); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(5,45); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_MDAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(3,20); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(3,20); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(3,20); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(3,20); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(3,20); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(3,20); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(3,20); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(3,20); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(3,20); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(3,20); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(3,20); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(3,20); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_DEC_SP_CONSUMPTION; set getarg(3), rand(1,10); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(3), 1; }
+	return;
+}
+
+function	script	F_Lapine_Charleston_Parts_W	{
+	.@r = rand(2600); // NO rate info
+	if (.@r < 100) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 200) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_WATER_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 300) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 400) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 500) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_WIND_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 600) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_POISON_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 700) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 800) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 900) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1000) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1100) {
+		.@option = RDMOPT_DAMAGE_CRI_TARGET;
+		.@value = rand(5,20);
+	} else if (.@r < 1200) {
+		.@option = RDMOPT_VAR_PLUSASPDPERCENT;
+		.@value = rand(5,15);
+	} else if (.@r < 1300) {
+		.@option = RDMOPT_VAR_HITSUCCESSVALUE;
+		.@value = rand(1,15);
+	} else if (.@r < 1400) {
+		.@option = RDMOPT_VAR_CRITICALSUCCESSVALUE;
+		.@value = rand(1,15);
+	} else if (.@r < 1500) {
+		.@option = RDMOPT_VAR_ATKPERCENT;
+		.@value = rand(3,7);
+	} else if (.@r < 1600) {
+		.@option = RDMOPT_VAR_PLUSASPD;
+		.@value = 1;
+	} else if (.@r < 1700) {
+		.@option = RDMOPT_DAMAGE_SIZE_SMALL_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1800) {
+		.@option = RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1900) {
+		.@option = RDMOPT_DAMAGE_SIZE_LARGE_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 2000) {
+		.@option = RDMOPT_WEAPON_ATTR_WATER;
+		.@value = 1;
+	} else if (.@r < 2100) {
+		.@option = RDMOPT_WEAPON_ATTR_GROUND;
+		.@value = 1;
+	} else if (.@r < 2200) {
+		.@option = RDMOPT_WEAPON_ATTR_FIRE;
+		.@value = 1;
+	} else if (.@r < 2300) {
+		.@option = RDMOPT_WEAPON_ATTR_WIND;
+		.@value = 1;
+	} else if (.@r < 2400) {
+		.@option = RDMOPT_WEAPON_ATTR_SAINT;
+		.@value = 1;
+	} else if (.@r < 2500) {
+		.@option = RDMOPT_WEAPON_ATTR_DARKNESS;
+		.@value = 1;
+	} else {
+		.@option = RDMOPT_DAMAGE_SIZE_PERFECT;
+		.@value = 1;
+	}
+
+	set getarg(0), .@option;
+	set getarg(1), .@value;
+
+	return;
+}
+
+function	script	F_Lapine_Charleston_Parts_R	{
+	.@r = rand(2500); // NO rate info
+	if (.@r < 100) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 200) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_WATER_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 300) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 400) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 500) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_WIND_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 600) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_POISON_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 700) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 800) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 900) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1000) {
+		.@option = RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1100) {
+		.@option = RDMOPT_VAR_PLUSASPDPERCENT;
+		.@value = rand(5,15);
+	} else if (.@r < 1200) {
+		.@option = RDMOPT_VAR_HITSUCCESSVALUE;
+		.@value = rand(1,15);
+	} else if (.@r < 1300) {
+		.@option = RDMOPT_VAR_ATTPOWER;
+		.@value = rand(5,20);
+	} else if (.@r < 1400) {
+		.@option = RDMOPT_RANGE_ATTACK_DAMAGE_TARGET;
+		.@value = rand(3,7);
+	} else if (.@r < 1500) {
+		.@option = RDMOPT_VAR_PLUSASPD;
+		.@value = 1;
+	} else if (.@r < 1600) {
+		.@option = RDMOPT_DAMAGE_SIZE_SMALL_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1700) {
+		.@option = RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1800) {
+		.@option = RDMOPT_DAMAGE_SIZE_LARGE_TARGET;
+		.@value = rand(1,20);
+	} else if (.@r < 1900) {
+		.@option = RDMOPT_WEAPON_ATTR_WATER;
+		.@value = 1;
+	} else if (.@r < 2000) {
+		.@option = RDMOPT_WEAPON_ATTR_GROUND;
+		.@value = 1;
+	} else if (.@r < 2100) {
+		.@option = RDMOPT_WEAPON_ATTR_FIRE;
+		.@value = 1;
+	} else if (.@r < 2200) {
+		.@option = RDMOPT_WEAPON_ATTR_WIND;
+		.@value = 1;
+	} else if (.@r < 2300) {
+		.@option = RDMOPT_WEAPON_ATTR_SAINT;
+		.@value = 1;
+	} else if (.@r < 2400) {
+		.@option = RDMOPT_WEAPON_ATTR_DARKNESS;
+		.@value = 1;
+	} else {
+		.@option = RDMOPT_DAMAGE_SIZE_PERFECT;
+		.@value = 1;
+	}
+
+	set getarg(0), .@option;
+	set getarg(1), .@value;
+
+	return;
+}
+
+function	script	F_Lapine_Gray_Charcoal_Range	{
+	.@r = rand(290); // No rates info
+	if (.@r < 10)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 20)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 30)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 40)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 50)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 60)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 70)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 80)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 90)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 110) { set getarg(0), RDMOPT_DAMAGE_SIZE_PERFECT; set getarg(1), 1; return; }
+	if (.@r < 120) { set getarg(0), RDMOPT_VAR_PLUSASPD; set getarg(1), 1; return; }
+	if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(5,10); return; }
+	if (.@r < 140) { set getarg(0), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(1), rand(5,10); return; }
+	if (.@r < 150) { set getarg(0), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(1), 1; return; }
+	if (.@r < 160) { set getarg(0), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(1), rand(1,20); return; }
+	if (.@r < 170) { set getarg(0), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(1), rand(1,20); return; }
+	if (.@r < 180) { set getarg(0), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(1), rand(1,20); return; }
+	if (.@r < 190) { set getarg(0), RDMOPT_RACE_DAMAGE_PLANT; set getarg(1), rand(1,20); return; }
+	if (.@r < 200) { set getarg(0), RDMOPT_RACE_DAMAGE_INSECT; set getarg(1), rand(1,20); return; }
+	if (.@r < 210) { set getarg(0), RDMOPT_RACE_DAMAGE_FISHS; set getarg(1), rand(1,20); return; }
+	if (.@r < 220) { set getarg(0), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(1), rand(1,20); return; }
+	if (.@r < 230) { set getarg(0), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(1), rand(1,20); return; }
+	if (.@r < 240) { set getarg(0), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(1), rand(1,20); return; }
+	if (.@r < 250) { set getarg(0), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(1), rand(1,20); return; }
+	if (.@r < 260) { set getarg(0), RDMOPT_CLASS_DAMAGE_NORMAL_TARGET; set getarg(1), rand(5,10); return; }
+	if (.@r < 270) { set getarg(0), RDMOPT_CLASS_DAMAGE_BOSS_TARGET; set getarg(1), rand(5,10); return; }
+	if (.@r < 280) { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(5,20); return; }
+	if (.@r < 290) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(3,7); return; }
+	return;
+}
+
+function	script	F_Lapine_Gray_Charcoal_Magic	{
+	.@r = rand(280); // No rates info
+	if (.@r < 10)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 20)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 30)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 40)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 50)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 60)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 70)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 80)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 90)  { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 110) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(5,10); return; }
+	if (.@r < 120) { set getarg(0), RDMOPT_HEAL_VALUE; set getarg(1), rand(5,20); return; }
+	if (.@r < 130) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(5,10); return; }
+	if (.@r < 140) { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(1,5); return; }
+	if (.@r < 150) { set getarg(0), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(1), rand(1,20); return; }
+	if (.@r < 160) { set getarg(0), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(1), rand(1,20); return; }
+	if (.@r < 170) { set getarg(0), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(1), rand(1,20); return; }
+	if (.@r < 180) { set getarg(0), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(1), rand(1,20); return; }
+	if (.@r < 190) { set getarg(0), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(1), rand(1,20); return; }
+	if (.@r < 200) { set getarg(0), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(1), rand(1,20); return; }
+	if (.@r < 210) { set getarg(0), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(1), rand(1,20); return; }
+	if (.@r < 220) { set getarg(0), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(1), rand(1,20); return; }
+	if (.@r < 230) { set getarg(0), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(1), rand(1,20); return; }
+	if (.@r < 240) { set getarg(0), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(1), rand(1,20); return; }
+	if (.@r < 250) { set getarg(0), RDMOPT_CLASS_MDAMAGE_NORMAL_TARGET; set getarg(1), rand(5,10); return; }
+	if (.@r < 260) { set getarg(0), RDMOPT_CLASS_MDAMAGE_BOSS_TARGET; set getarg(1), rand(5,10); return; }
+	if (.@r < 270) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(3,7); return; }
+	if (.@r < 280) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(5,10); return; }
+	return;
+}
+
+function	script	F_Lapine_Gray_Charcoal_Melee	{
+	.@r = rand(340); // No rates info
+	if (.@r < 10)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 20)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 30)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 40)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 50)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 60)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 70)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 80)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 90)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); return; }
+	if (.@r < 110) { set getarg(0), RDMOPT_DAMAGE_SIZE_PERFECT; set getarg(1), 1; return; }
+	if (.@r < 120) { set getarg(0), RDMOPT_VAR_PLUSASPD; set getarg(1), 1; return; }
+	if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(5,10); return; }
+	if (.@r < 140) { set getarg(0), RDMOPT_BODY_ATTR_WATER; set getarg(1), 1; return; }
+	if (.@r < 150) { set getarg(0), RDMOPT_BODY_ATTR_GROUND; set getarg(1), 1; return; }
+	if (.@r < 160) { set getarg(0), RDMOPT_BODY_ATTR_FIRE; set getarg(1), 1; return; }
+	if (.@r < 170) { set getarg(0), RDMOPT_BODY_ATTR_WIND; set getarg(1), 1; return; }
+	if (.@r < 180) { set getarg(0), RDMOPT_BODY_ATTR_SAINT; set getarg(1), 1; return; }
+	if (.@r < 190) { set getarg(0), RDMOPT_BODY_ATTR_DARKNESS; set getarg(1), 1; return; }
+	if (.@r < 200) { set getarg(0), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(1), rand(1,20); return; }
+	if (.@r < 210) { set getarg(0), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(1), rand(1,20); return; }
+	if (.@r < 220) { set getarg(0), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(1), rand(1,20); return; }
+	if (.@r < 230) { set getarg(0), RDMOPT_RACE_DAMAGE_PLANT; set getarg(1), rand(1,20); return; }
+	if (.@r < 240) { set getarg(0), RDMOPT_RACE_DAMAGE_INSECT; set getarg(1), rand(1,20); return; }
+	if (.@r < 250) { set getarg(0), RDMOPT_RACE_DAMAGE_FISHS; set getarg(1), rand(1,20); return; }
+	if (.@r < 260) { set getarg(0), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(1), rand(1,20); return; }
+	if (.@r < 270) { set getarg(0), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(1), rand(1,20); return; }
+	if (.@r < 280) { set getarg(0), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(1), rand(1,20); return; }
+	if (.@r < 290) { set getarg(0), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(1), rand(1,20); return; }
+	if (.@r < 300) { set getarg(0), RDMOPT_CLASS_DAMAGE_NORMAL_TARGET; set getarg(1), rand(1,10); return; }
+	if (.@r < 310) { set getarg(0), RDMOPT_CLASS_DAMAGE_BOSS_TARGET; set getarg(1), rand(1,10); return; }
+	if (.@r < 320) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(3,5); return; }
+	if (.@r < 330) { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(5,20); return; }
+	if (.@r < 340) { set getarg(0), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(1), 1; return; }
+	return;
+}
+
+/*
+* Geffen Magic Scroll Accessory
+*/
+function	script	F_Lapine_Geffen_Magic_Scroll2	{
+	.@r = rand(130); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(3,5); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(5,7); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(5,8); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_USER; set getarg(1), rand(3,5); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_USER; set getarg(1), rand(3,5); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_USER; set getarg(1), rand(3,5); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_USER; set getarg(1), rand(3,5); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_ATTR_TOLERACE_ALL; set getarg(1), rand(1,3); } // it's must be all elements except neutral: RDMOPT_ATTR_TOLERACE_ALLBUTNOTHING
+	else if (.@r < 90)  { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(3,5); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(1,3); }
+
+	.@r = rand(130); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(3,5); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(5,7); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(5,8); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_FIRE_USER; set getarg(3), rand(3,5); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_WATER_USER; set getarg(3), rand(3,5); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_WIND_USER; set getarg(3), rand(3,5); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_GROUND_USER; set getarg(3), rand(3,5); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_ATTR_TOLERACE_ALL; set getarg(3), rand(1,3); } // it's must be all elements except neutral: RDMOPT_ATTR_TOLERACE_ALLBUTNOTHING
+	else if (.@r < 90)  { set getarg(2), RDMOPT_DEC_SP_CONSUMPTION; set getarg(3), rand(3,5); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_VAR_MAXHPPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_VAR_MAXSPPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_VAR_MAGICATKPERCENT; set getarg(3), rand(1,3); }
+
+	return;
+}
+
+/*
+* Geffen Magic Scroll Armor
+*/
+function	script	F_Lapine_Geffen_Magic_Scroll	{
+	.@r = rand(80); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_VAR_STRAMOUNT; set getarg(1), rand(1,4); }
+	else if (.@r < 20) { set getarg(0), RDMOPT_VAR_AGIAMOUNT; set getarg(1), rand(1,4); }
+	else if (.@r < 30) { set getarg(0), RDMOPT_VAR_VITAMOUNT; set getarg(1), rand(1,4); }
+	else if (.@r < 40) { set getarg(0), RDMOPT_VAR_INTAMOUNT; set getarg(1), rand(1,4); }
+	else if (.@r < 50) { set getarg(0), RDMOPT_VAR_DEXAMOUNT; set getarg(1), rand(1,4); }
+	else if (.@r < 60) { set getarg(0), RDMOPT_VAR_LUKAMOUNT; set getarg(1), rand(1,4); }
+	else if (.@r < 70) { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(3,5); }
+	else if (.@r < 80) { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(3,5); }
+
+	.@r = rand(150); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_MAXHPAMOUNT; set getarg(3), rand(50,100); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_MAXSPAMOUNT; set getarg(3), rand(50,100); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(3), rand(15,30); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(15,30); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_VAR_ITEMDEFPOWER; set getarg(3), rand(20,60); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_VAR_MDEFPOWER; set getarg(3), rand(5,10); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_HEAL_VALUE; set getarg(3), rand(5,10); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_HEAL_MODIFY_PERCENT; set getarg(3), rand(5,10); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(5,10); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_BODY_INDESTRUCTIBLE; set getarg(3), 1; }
+	else if (.@r < 110) { set getarg(2), RDMOPT_BODY_ATTR_WATER; set getarg(3), 1; }
+	else if (.@r < 120) { set getarg(2), RDMOPT_BODY_ATTR_WIND; set getarg(3), 1; }
+	else if (.@r < 130) { set getarg(2), RDMOPT_BODY_ATTR_DARKNESS; set getarg(3), 1; }
+	else if (.@r < 140) { set getarg(2), RDMOPT_BODY_ATTR_FIRE; set getarg(3), 1; }
+	else if (.@r < 150) { set getarg(2), RDMOPT_BODY_ATTR_GROUND; set getarg(3), 1; }
+
+	return;
+}
+
+/**
+ * Possible random options from Cursed Blood
+ */
+function	script	F_Lapine_Cursed_Blood	{
+	// Option: 1
+	.@r = rand(10000);
+	if (.@r < 832) {
+		.@option = RDMOPT_VAR_MDEFPOWER;
+		.@value = rand(3,10);
+	} else if (.@r < 1664) {
+		.@option = RDMOPT_VAR_MAXSPAMOUNT;
+		.@value = rand(20,200);
+	} else if (.@r < 2496) {
+		.@option = RDMOPT_VAR_MAXHPAMOUNT;
+		.@value = rand(100,1000);
+	} else if (.@r < 3328) {
+		.@option = RDMOPT_VAR_ITEMDEFPOWER;
+		.@value = rand(30,100);
+	} else if (.@r < 3495) {
+		.@option = RDMOPT_RACE_TOLERACE_NOTHING;
+		.@value = rand(2,7);
+	} else if (.@r < 3662) {
+		.@option = RDMOPT_RACE_TOLERACE_UNDEAD;
+		.@value = rand(2,7);
+	} else if (.@r < 3829) {
+		.@option = RDMOPT_RACE_TOLERACE_ANIMAL;
+		.@value = rand(2,7);
+	} else if (.@r < 3996) {
+		.@option = RDMOPT_RACE_TOLERACE_PLANT;
+		.@value = rand(2,7);
+	} else if (.@r < 4163) {
+		.@option = RDMOPT_RACE_TOLERACE_INSECT;
+		.@value = rand(2,7);
+	} else if (.@r < 4330) {
+		.@option = RDMOPT_RACE_TOLERACE_FISHS;
+		.@value = rand(2,7);
+	} else if (.@r < 4497) {
+		.@option = RDMOPT_RACE_TOLERACE_DEVIL;
+		.@value = rand(2,7);
+	} else if (.@r < 4664) {
+		.@option = RDMOPT_RACE_TOLERACE_HUMAN;
+		.@value = rand(2,7);
+	} else if (.@r < 4831) {
+		.@option = RDMOPT_RACE_TOLERACE_ANGEL;
+		.@value = rand(2,7);
+	} else if (.@r < 4998) {
+		.@option = RDMOPT_RACE_TOLERACE_DRAGON;
+		.@value = rand(2,7);
+	} else if (.@r < 5165) {
+		.@option = RDMOPT_RACE_DAMAGE_NOTHING;
+		.@value = rand(1,5);
+	} else if (.@r < 5332) {
+		.@option = RDMOPT_RACE_DAMAGE_UNDEAD;
+		.@value = rand(1,5);
+	} else if (.@r < 5499) {
+		.@option = RDMOPT_RACE_DAMAGE_ANIMAL;
+		.@value = rand(1,5);
+	} else if (.@r < 5666) {
+		.@option = RDMOPT_RACE_DAMAGE_PLANT;
+		.@value = rand(1,5);
+	} else if (.@r < 5833) {
+		.@option = RDMOPT_RACE_DAMAGE_INSECT;
+		.@value = rand(1,5);
+	} else if (.@r < 6000) {
+		.@option = RDMOPT_RACE_DAMAGE_FISHS;
+		.@value = rand(1,5);
+	} else if (.@r < 6167) {
+		.@option = RDMOPT_RACE_DAMAGE_DEVIL;
+		.@value = rand(1,5);
+	} else if (.@r < 6334) {
+		.@option = RDMOPT_RACE_DAMAGE_HUMAN;
+		.@value = rand(1,5);
+	} else if (.@r < 6501) {
+		.@option = RDMOPT_RACE_DAMAGE_ANGEL;
+		.@value = rand(1,5);
+	} else if (.@r < 6668) {
+		.@option = RDMOPT_RACE_DAMAGE_DRAGON;
+		.@value = rand(1,5);
+	} else if (.@r < 6835) {
+		.@option = RDMOPT_RACE_MDAMAGE_NOTHING;
+		.@value = rand(1,5);
+	} else if (.@r < 7002) {
+		.@option = RDMOPT_RACE_MDAMAGE_UNDEAD;
+		.@value = rand(1,5);
+	} else if (.@r < 7169) {
+		.@option = RDMOPT_RACE_MDAMAGE_ANIMAL;
+		.@value = rand(1,5);
+	} else if (.@r < 7336) {
+		.@option = RDMOPT_RACE_MDAMAGE_PLANT;
+		.@value = rand(1,5);
+	} else if (.@r < 7503) {
+		.@option = RDMOPT_RACE_MDAMAGE_INSECT;
+		.@value = rand(1,5);
+	} else if (.@r < 7670) {
+		.@option = RDMOPT_RACE_MDAMAGE_FISHS;
+		.@value = rand(1,5);
+	} else if (.@r < 7837) {
+		.@option = RDMOPT_RACE_MDAMAGE_DEVIL;
+		.@value = rand(1,5);
+	} else if (.@r < 8004) {
+		.@option = RDMOPT_RACE_MDAMAGE_HUMAN;
+		.@value = rand(1,5);
+	} else if (.@r < 8170) {
+		.@option = RDMOPT_RACE_MDAMAGE_ANGEL;
+		.@value = rand(1,5);
+	} else if (.@r < 8336) {
+		.@option = RDMOPT_RACE_MDAMAGE_DRAGON;
+		.@value = rand(1,5);
+	} else if (.@r < 9168) {
+		.@option = RDMOPT_HEAL_VALUE;
+		.@value = rand(5,10);
+	} else {
+		.@option = RDMOPT_DEC_SPELL_CAST_TIME;
+		.@value = rand(1,5);
+	}
+
+	set getarg(0), .@option;
+	set getarg(1), .@value;
+
+	// Option: 2
+	.@r = rand(10000);
+	if (.@r < 832) {
+		.@option = RDMOPT_VAR_PLUSASPDPERCENT;
+		.@value = rand(1,5);
+	} else if (.@r < 1664) {
+		.@option = RDMOPT_VAR_MDEFPOWER;
+		.@value = rand(3,10);
+	} else if (.@r < 2496) {
+		.@option = RDMOPT_VAR_MAXSPAMOUNT;
+		.@value = rand(20,200);
+	} else if (.@r < 3328) {
+		.@option = RDMOPT_VAR_MAXHPAMOUNT;
+		.@value = rand(100,1000);
+	} else if (.@r < 4160) {
+		.@option = RDMOPT_VAR_ITEMDEFPOWER;
+		.@value = rand(30,100);
+	} else if (.@r < 4327) {
+		.@option = RDMOPT_RACE_TOLERACE_NOTHING;
+		.@value = rand(2,7);
+	} else if (.@r < 4494) {
+		.@option = RDMOPT_RACE_TOLERACE_UNDEAD;
+		.@value = rand(2,7);
+	} else if (.@r < 4661) {
+		.@option = RDMOPT_RACE_TOLERACE_ANIMAL;
+		.@value = rand(2,7);
+	} else if (.@r < 4828) {
+		.@option = RDMOPT_RACE_TOLERACE_PLANT;
+		.@value = rand(2,7);
+	} else if (.@r < 4995) {
+		.@option = RDMOPT_RACE_TOLERACE_INSECT;
+		.@value = rand(2,7);
+	} else if (.@r < 5162) {
+		.@option = RDMOPT_RACE_TOLERACE_FISHS;
+		.@value = rand(2,7);
+	} else if (.@r < 5329) {
+		.@option = RDMOPT_RACE_TOLERACE_DEVIL;
+		.@value = rand(2,7);
+	} else if (.@r < 5496) {
+		.@option = RDMOPT_RACE_TOLERACE_HUMAN;
+		.@value = rand(2,7);
+	} else if (.@r < 5663) {
+		.@option = RDMOPT_RACE_TOLERACE_ANGEL;
+		.@value = rand(2,7);
+	} else if (.@r < 5830) {
+		.@option = RDMOPT_RACE_TOLERACE_DRAGON;
+		.@value = rand(2,7);
+	} else if (.@r < 5997) {
+		.@option = RDMOPT_RACE_MDAMAGE_NOTHING;
+		.@value = rand(1,5);
+	} else if (.@r < 6164) {
+		.@option = RDMOPT_RACE_MDAMAGE_UNDEAD;
+		.@value = rand(1,5);
+	} else if (.@r < 6331) {
+		.@option = RDMOPT_RACE_MDAMAGE_ANIMAL;
+		.@value = rand(1,5);
+	} else if (.@r < 6498) {
+		.@option = RDMOPT_RACE_MDAMAGE_PLANT;
+		.@value = rand(1,5);
+	} else if (.@r < 6665) {
+		.@option = RDMOPT_RACE_MDAMAGE_INSECT;
+		.@value = rand(1,5);
+	} else if (.@r < 6832) {
+		.@option = RDMOPT_RACE_MDAMAGE_FISHS;
+		.@value = rand(1,5);
+	} else if (.@r < 6999) {
+		.@option = RDMOPT_RACE_MDAMAGE_DEVIL;
+		.@value = rand(1,5);
+	} else if (.@r < 7166) {
+		.@option = RDMOPT_RACE_MDAMAGE_HUMAN;
+		.@value = rand(1,5);
+	} else if (.@r < 7333) {
+		.@option = RDMOPT_RACE_MDAMAGE_ANGEL;
+		.@value = rand(1,5);
+	} else if (.@r < 7500) {
+		.@option = RDMOPT_RACE_MDAMAGE_DRAGON;
+		.@value = rand(1,5);
+	} else if (.@r < 7667) {
+		.@option = RDMOPT_RACE_DAMAGE_NOTHING;
+		.@value = rand(1,5);
+	} else if (.@r < 7834) {
+		.@option = RDMOPT_RACE_DAMAGE_UNDEAD;
+		.@value = rand(1,5);
+	} else if (.@r < 8001) {
+		.@option = RDMOPT_RACE_DAMAGE_ANIMAL;
+		.@value = rand(1,5);
+	} else if (.@r < 8168) {
+		.@option = RDMOPT_RACE_DAMAGE_PLANT;
+		.@value = rand(1,5);
+	} else if (.@r < 8335) {
+		.@option = RDMOPT_RACE_DAMAGE_INSECT;
+		.@value = rand(1,5);
+	} else if (.@r < 8502) {
+		.@option = RDMOPT_RACE_DAMAGE_FISHS;
+		.@value = rand(1,5);
+	} else if (.@r < 8669) {
+		.@option = RDMOPT_RACE_DAMAGE_DEVIL;
+		.@value = rand(1,5);
+	} else if (.@r < 8836) {
+		.@option = RDMOPT_RACE_DAMAGE_HUMAN;
+		.@value = rand(1,5);
+	} else if (.@r < 9002) {
+		.@option = RDMOPT_RACE_DAMAGE_ANGEL;
+		.@value = rand(1,5);
+	} else if (.@r < 9168) {
+		.@option = RDMOPT_RACE_DAMAGE_DRAGON;
+		.@value = rand(1,5);
+	} else {
+		.@option = RDMOPT_HEAL_VALUE;
+		.@value = rand(5,10);
+	}
+
+	set getarg(2), .@option;
+	set getarg(3), .@value;
+
+	return;
+}
+
+/**
+ * Possible random options from Gold_Statue
+ */
+function	script	F_Lapine_Gold_Statue	{
+	// Option: 1
+	.@r = rand(10000);
+		 if (.@r < 832)  { set getarg(0), RDMOPT_VAR_MDEFPOWER; set getarg(1), rand(3,10); }
+	else if (.@r < 1664) { set getarg(0), RDMOPT_VAR_MAXSPAMOUNT; set getarg(1), rand(20,200); }
+	else if (.@r < 2496) { set getarg(0), RDMOPT_VAR_MAXHPAMOUNT; set getarg(1), rand(100,1000); }
+	else if (.@r < 3328) { set getarg(0), RDMOPT_VAR_ITEMDEFPOWER; set getarg(1), rand(30,100); }
+	else if (.@r < 3495) { set getarg(0), RDMOPT_RACE_TOLERACE_NOTHING; set getarg(1), rand(2,7); }
+	else if (.@r < 3662) { set getarg(0), RDMOPT_RACE_TOLERACE_UNDEAD; set getarg(1), rand(2,7); }
+	else if (.@r < 3829) { set getarg(0), RDMOPT_RACE_TOLERACE_ANIMAL; set getarg(1), rand(2,7); }
+	else if (.@r < 3996) { set getarg(0), RDMOPT_RACE_TOLERACE_PLANT; set getarg(1), rand(2,7); }
+	else if (.@r < 4163) { set getarg(0), RDMOPT_RACE_TOLERACE_INSECT; set getarg(1), rand(2,7); }
+	else if (.@r < 4330) { set getarg(0), RDMOPT_RACE_TOLERACE_FISHS; set getarg(1), rand(2,7); }
+	else if (.@r < 4497) { set getarg(0), RDMOPT_RACE_TOLERACE_DEVIL; set getarg(1), rand(2,7); }
+	else if (.@r < 4664) { set getarg(0), RDMOPT_RACE_TOLERACE_HUMAN; set getarg(1), rand(2,7); }
+	else if (.@r < 4831) { set getarg(0), RDMOPT_RACE_TOLERACE_ANGEL; set getarg(1), rand(2,7); }
+	else if (.@r < 4998) { set getarg(0), RDMOPT_RACE_TOLERACE_DRAGON; set getarg(1), rand(2,7); }
+	else if (.@r < 5165) { set getarg(0), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(1), rand(1,5); }
+	else if (.@r < 5332) { set getarg(0), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(1), rand(1,5); }
+	else if (.@r < 5499) { set getarg(0), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(1), rand(1,5); }
+	else if (.@r < 5666) { set getarg(0), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(1), rand(1,5); }
+	else if (.@r < 5833) { set getarg(0), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(1), rand(1,5); }
+	else if (.@r < 6000) { set getarg(0), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(1), rand(1,5); }
+	else if (.@r < 6167) { set getarg(0), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(1), rand(1,5); }
+	else if (.@r < 6334) { set getarg(0), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(1), rand(1,5); }
+	else if (.@r < 6501) { set getarg(0), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(1), rand(1,5); }
+	else if (.@r < 6668) { set getarg(0), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(1), rand(1,5); }
+	else if (.@r < 6835) { set getarg(0), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(1), rand(1,5); }
+	else if (.@r < 7002) { set getarg(0), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(1), rand(1,5); }
+	else if (.@r < 7169) { set getarg(0), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(1), rand(1,5); }
+	else if (.@r < 7336) { set getarg(0), RDMOPT_RACE_DAMAGE_PLANT; set getarg(1), rand(1,5); }
+	else if (.@r < 7503) { set getarg(0), RDMOPT_RACE_DAMAGE_INSECT; set getarg(1), rand(1,5); }
+	else if (.@r < 7670) { set getarg(0), RDMOPT_RACE_DAMAGE_FISHS; set getarg(1), rand(1,5); }
+	else if (.@r < 7837) { set getarg(0), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(1), rand(1,5); }
+	else if (.@r < 8004) { set getarg(0), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(1), rand(1,5); }
+	else if (.@r < 8170) { set getarg(0), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(1), rand(1,5); }
+	else if (.@r < 8336) { set getarg(0), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(1), rand(1,5); }
+	else if (.@r < 9168) { set getarg(0), RDMOPT_HEAL_VALUE; set getarg(1), rand(5,10); }
+	else if (.@r < 10000) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(1,5); }
+
+	// Option: 2
+	.@r = rand(10000);
+		  if (.@r < 832) { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(1,5); }
+	else if (.@r < 1664) { set getarg(2), RDMOPT_VAR_MDEFPOWER; set getarg(3), rand(3,10); }
+	else if (.@r < 2496) { set getarg(2), RDMOPT_VAR_MAXSPAMOUNT; set getarg(3), rand(20,200); }
+	else if (.@r < 3328) { set getarg(2), RDMOPT_VAR_MAXHPAMOUNT; set getarg(3), rand(100,1000); }
+	else if (.@r < 4160) { set getarg(2), RDMOPT_VAR_ITEMDEFPOWER; set getarg(3), rand(30,100); }
+	else if (.@r < 4327) { set getarg(2), RDMOPT_RACE_TOLERACE_NOTHING; set getarg(3), rand(2,7); }
+	else if (.@r < 4494) { set getarg(2), RDMOPT_RACE_TOLERACE_UNDEAD; set getarg(3), rand(2,7); }
+	else if (.@r < 4661) { set getarg(2), RDMOPT_RACE_TOLERACE_ANIMAL; set getarg(3), rand(2,7); }
+	else if (.@r < 4828) { set getarg(2), RDMOPT_RACE_TOLERACE_PLANT; set getarg(3), rand(2,7); }
+	else if (.@r < 4995) { set getarg(2), RDMOPT_RACE_TOLERACE_INSECT; set getarg(3), rand(2,7); }
+	else if (.@r < 5162) { set getarg(2), RDMOPT_RACE_TOLERACE_FISHS; set getarg(3), rand(2,7); }
+	else if (.@r < 5329) { set getarg(2), RDMOPT_RACE_TOLERACE_DEVIL; set getarg(3), rand(2,7); }
+	else if (.@r < 5496) { set getarg(2), RDMOPT_RACE_TOLERACE_HUMAN; set getarg(3), rand(2,7); }
+	else if (.@r < 5663) { set getarg(2), RDMOPT_RACE_TOLERACE_ANGEL; set getarg(3), rand(2,7); }
+	else if (.@r < 5830) { set getarg(2), RDMOPT_RACE_TOLERACE_DRAGON; set getarg(3), rand(2,7); }
+	else if (.@r < 5997) { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(1,5); }
+	else if (.@r < 6164) { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(1,5); }
+	else if (.@r < 6331) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(1,5); }
+	else if (.@r < 6498) { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(1,5); }
+	else if (.@r < 6665) { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(1,5); }
+	else if (.@r < 6832) { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(1,5); }
+	else if (.@r < 6999) { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(1,5); }
+	else if (.@r < 7166) { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(1,5); }
+	else if (.@r < 7333) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(1,5); }
+	else if (.@r < 7500) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(1,5); }
+	else if (.@r < 7667) { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(1,5); }
+	else if (.@r < 7834) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(1,5); }
+	else if (.@r < 8001) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(1,5); }
+	else if (.@r < 8168) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(1,5); }
+	else if (.@r < 8335) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(1,5); }
+	else if (.@r < 8502) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(1,5); }
+	else if (.@r < 8669) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(1,5); }
+	else if (.@r < 8836) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(1,5); }
+	else if (.@r < 9002) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(1,5); }
+	else if (.@r < 9168) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(1,5); }
+	else if (.@r < 10000) { set getarg(2), RDMOPT_HEAL_VALUE; set getarg(3), rand(5,10); }
+
+	// Option: 3
+	.@r = rand(10000);
+		 if (.@r < 229)  { set getarg(4), RDMOPT_VAR_PLUSASPD; set getarg(5), 1; }
+	else if (.@r < 458)  { set getarg(4), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(5), rand(5,10); }
+	else if (.@r < 687)  { set getarg(4), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(5), rand(5,10); }
+	else if (.@r < 916)  { set getarg(4), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(5), rand(5,10); }
+	else if (.@r < 1145) { set getarg(4), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(5), rand(5,10); }
+	else if (.@r < 1374) { set getarg(4), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(5), rand(5,10); }
+	else if (.@r < 1603) { set getarg(4), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(5), rand(5,10); }
+	else if (.@r < 1832) { set getarg(4), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(5), rand(5,10); }
+	else if (.@r < 2061) { set getarg(4), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(5), rand(5,10); }
+	else if (.@r < 2290) { set getarg(4), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(5), rand(5,10); }
+	else if (.@r < 2519) { set getarg(4), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(5), rand(5,10); }
+	else if (.@r < 2748) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING; set getarg(5), rand(30,60); }
+	else if (.@r < 2977) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_UNDEAD; set getarg(5), rand(30,60); }
+	else if (.@r < 3206) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANIMAL; set getarg(5), rand(30,60); }
+	else if (.@r < 3434) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT; set getarg(5), rand(30,60); }
+	else if (.@r < 3662) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT; set getarg(5), rand(30,60); }
+	else if (.@r < 3890) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS; set getarg(5), rand(30,60); }
+	else if (.@r < 4118) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL; set getarg(5), rand(30,60); }
+	else if (.@r < 4346) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN; set getarg(5), rand(30,60); }
+	else if (.@r < 4574) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL; set getarg(5), rand(30,60); }
+	else if (.@r < 4802) { set getarg(4), RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON; set getarg(5), rand(30,60); }
+	else if (.@r < 5030) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING; set getarg(5), rand(30,60); }
+	else if (.@r < 5258) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_UNDEAD; set getarg(5), rand(30,60); }
+	else if (.@r < 5486) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_ANIMAL; set getarg(5), rand(30,60); }
+	else if (.@r < 5714) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT; set getarg(5), rand(30,60); }
+	else if (.@r < 5942) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT; set getarg(5), rand(30,60); }
+	else if (.@r < 6170) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS; set getarg(5), rand(30,60); }
+	else if (.@r < 6398) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL; set getarg(5), rand(30,60); }
+	else if (.@r < 6626) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN; set getarg(5), rand(30,60); }
+	else if (.@r < 6854) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL; set getarg(5), rand(30,60); }
+	else if (.@r < 7082) { set getarg(4), RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON; set getarg(5), rand(30,60); }
+	else if (.@r < 7310) { set getarg(4), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(5), rand(5,10); }
+	else if (.@r < 7538) { set getarg(4), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(5), rand(5,10); }
+	else if (.@r < 7766) { set getarg(4), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(5), rand(5,10); }
+	else if (.@r < 7994) { set getarg(4), RDMOPT_RACE_DAMAGE_PLANT; set getarg(5), rand(5,10); }
+	else if (.@r < 8222) { set getarg(4), RDMOPT_RACE_DAMAGE_INSECT; set getarg(5), rand(5,10); }
+	else if (.@r < 8450) { set getarg(4), RDMOPT_RACE_DAMAGE_FISHS; set getarg(5), rand(5,10); }
+	else if (.@r < 8678) { set getarg(4), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(5), rand(5,10); }
+	else if (.@r < 8906) { set getarg(4), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(5), rand(5,10); }
+	else if (.@r < 9134) { set getarg(4), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(5), rand(5,10); }
+	else if (.@r < 9362) { set getarg(4), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(5), rand(5,10); }
+	else if (.@r < 9590) { set getarg(4), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(5), rand(1,5); }
+	else if (.@r < 9636) { set getarg(4), RDMOPT_DAMAGE_SIZE_PERFECT; set getarg(5), 1; }
+	else if (.@r < 9727) { set getarg(4), RDMOPT_CLASS_DAMAGE_NORMAL_TARGET; set getarg(5), rand(3,60); }
+	else if (.@r < 9818) { set getarg(4), RDMOPT_CLASS_DAMAGE_BOSS_TARGET; set getarg(5), rand(3,60); }
+	else if (.@r < 9909) { set getarg(4), RDMOPT_CLASS_MDAMAGE_NORMAL; set getarg(5), rand(3,60); }
+	else if (.@r < 10000) { set getarg(4), RDMOPT_CLASS_MDAMAGE_BOSS; set getarg(5), rand(3,60); }
+
+	return;
+}
+
+function	script	F_Lapine_Shadow_Refine_Hammer	{
+	.@r = rand(1000); // No rates info
+		 if (.@r < 20)  { set getarg(0), 1; return; }
+	else if (.@r < 30)  { set getarg(0), 2; return; }
+	else if (.@r < 80)  { set getarg(0), 3; return; }
+	else if (.@r < 700) { set getarg(0), 4; return; }
+	else if (.@r < 80)  { set getarg(0), 5; return; }
+	else if (.@r < 40)  { set getarg(0), 6; return; }
+	else if (.@r < 20)  { set getarg(0), 7; return; }
+	else if (.@r < 15)  { set getarg(0), 8; return; }
+	else if (.@r < 10)  { set getarg(0), 9; return; }
+	else                { set getarg(0), 10; return; }
+	return;
+}
+
+function	script	F_Lapine_Shadow_9_Refine_Hammer	{
+	set getarg(0), 9;
+	return;
+}
+
+function	script	F_Lapine_Magic_Cat_Hand	{
+	.@r = rand(160); // No rates info
+	if (.@r < 10)  { set getarg(0), RDMOPT_VAR_STRAMOUNT; set getarg(1), rand(1,7); }
+	if (.@r < 20)  { set getarg(0), RDMOPT_VAR_AGIAMOUNT; set getarg(1), rand(1,7); }
+	if (.@r < 30)  { set getarg(0), RDMOPT_VAR_VITAMOUNT; set getarg(1), rand(1,7); }
+	if (.@r < 40)  { set getarg(0), RDMOPT_VAR_INTAMOUNT; set getarg(1), rand(1,7); }
+	if (.@r < 50)  { set getarg(0), RDMOPT_VAR_DEXAMOUNT; set getarg(1), rand(1,7); }
+	if (.@r < 60)  { set getarg(0), RDMOPT_VAR_LUKAMOUNT; set getarg(1), rand(1,7); }
+	if (.@r < 70)  { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,5); }
+	if (.@r < 80)  { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,5); }
+	if (.@r < 90)  { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(1,20); }
+	if (.@r < 100) { set getarg(0), RDMOPT_VAR_ATTMPOWER; set getarg(1), rand(1,20); }
+	if (.@r < 110) { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(5,20); }
+	if (.@r < 120) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(5,10); }
+	if (.@r < 130) { set getarg(0), RDMOPT_VAR_ITEMDEFPOWER; set getarg(1), rand(30,60); }
+	if (.@r < 140) { set getarg(0), RDMOPT_VAR_MDEFPOWER; set getarg(1), rand(10,20); }
+	if (.@r < 150) { set getarg(0), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(1), rand(5,20); }
+	if (.@r < 160) { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(5,10); }
+
+	.@r = rand(80); // No rates info
+	if (.@r < 10) { set getarg(2), RDMOPT_HEAL_VALUE; set getarg(3), rand(5,15); }
+	if (.@r < 20) { set getarg(2), RDMOPT_HEAL_MODIFY_PERCENT; set getarg(3), rand(5,15); }
+	if (.@r < 30) { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(1,7); }
+	if (.@r < 40) { set getarg(2), RDMOPT_VAR_MAGICATKPERCENT; set getarg(3), rand(1,7); }
+	if (.@r < 50) { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(1,7); }
+	if (.@r < 60) { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(5,10); }
+	if (.@r < 70) { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(5,10); }
+	if (.@r < 80) { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), 1; }
+
+	return;
+}
+
+function	script	F_Lapine_Candy_Pouch_Blessing_Scroll_W	{
+	.@r = rand(70); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_STRAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_VAR_AGIAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_VAR_VITAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_VAR_INTAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_VAR_DEXAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_VAR_LUKAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(1,5); }
+
+	.@r = rand(220); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(3), rand(1,15); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(1,20); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(1,7); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(1,7); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(1,7); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(1,7); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(1,7); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(1,7); }
+	else if (.@r < 190) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(1,7); }
+	else if (.@r < 200) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(1,7); }
+	else if (.@r < 210) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(1,7); }
+	else if (.@r < 220) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(1,7); }
+
+	return;
+}
+
+function	script	F_Lapine_Candy_Pouch_Blessing_Scroll_R	{
+	.@r = rand(70); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_STRAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_VAR_AGIAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_VAR_VITAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_VAR_INTAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_VAR_DEXAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_VAR_LUKAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(1,5); }
+
+	.@r = rand(220); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(3), rand(1,15); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(1,20); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(1,7); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(1,7); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(1,7); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(1,7); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(1,7); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(1,7); }
+	else if (.@r < 190) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(1,7); }
+	else if (.@r < 200) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(1,7); }
+	else if (.@r < 210) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(1,7); }
+	else if (.@r < 220) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(1,7); }
+
+	return;
+}
+
+function	script	F_Lapine_Candy_Pouch_Blessing_Scroll_M	{
+	.@r = rand(70); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_STRAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_VAR_AGIAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_VAR_VITAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_VAR_INTAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_VAR_DEXAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_VAR_LUKAMOUNT; set getarg(1), rand(1,3); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(1,5); }
+
+	.@r = rand(220); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_MDEFPOWER; set getarg(3), rand(1,15); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(3), rand(1,20); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(1,7); }
+	else if (.@r < 140) { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(1,7); }
+	else if (.@r < 150) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(1,7); }
+	else if (.@r < 160) { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(1,7); }
+	else if (.@r < 170) { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(1,7); }
+	else if (.@r < 180) { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(1,7); }
+	else if (.@r < 190) { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(1,7); }
+	else if (.@r < 200) { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(1,7); }
+	else if (.@r < 210) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(1,7); }
+	else if (.@r < 220) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(1,7); }
+
+	return;
+}
+
+function	script	F_Lapine_Grown_Gunslinger	{
+	.@r = rand(160); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_STRAMOUNT; set getarg(1), rand(1,7); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_VAR_AGIAMOUNT; set getarg(1), rand(1,7); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_VAR_VITAMOUNT; set getarg(1), rand(1,7); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_VAR_INTAMOUNT; set getarg(1), rand(1,7); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_VAR_DEXAMOUNT; set getarg(1), rand(1,7); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_VAR_LUKAMOUNT; set getarg(1), rand(1,7); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(5,20); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_VAR_ATTMPOWER; set getarg(1), rand(5,20); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(5,20); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(5,10); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_ITEMDEFPOWER; set getarg(1), rand(30,60); }
+	else if (.@r < 140) { set getarg(0), RDMOPT_VAR_MDEFPOWER; set getarg(1), rand(10,20); }
+	else if (.@r < 150) { set getarg(0), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(1), rand(5,20); }
+	else if (.@r < 160) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(5,10); }
+
+	.@r = rand(80); // No rates info
+		 if (.@r < 10) { set getarg(2), RDMOPT_HEAL_VALUE; set getarg(3), rand(5,15); }
+	else if (.@r < 20) { set getarg(2), RDMOPT_HEAL_MODIFY_PERCENT; set getarg(3), rand(1,7); }
+	else if (.@r < 30) { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(1,7); }
+	else if (.@r < 40) { set getarg(2), RDMOPT_VAR_MAGICATKPERCENT; set getarg(3), rand(1,7); }
+	else if (.@r < 50) { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(1,7); }
+	else if (.@r < 60) { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(5,10); }
+	else if (.@r < 70) { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(5,10); }
+	else if (.@r < 80) { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), 1; }
+
+	return;
+}
+
+function	script	F_Lapine_Uniform_Repair_Kits	{
+	// Option:1
+	.@r = rand(90); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_BODY_ATTR_WATER; set getarg(1), rand(1,3); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_BODY_ATTR_GROUND; set getarg(1), rand(1,3); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_BODY_ATTR_FIRE; set getarg(1), rand(1,3); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_BODY_ATTR_WIND; set getarg(1), rand(1,3); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_BODY_ATTR_SAINT; set getarg(1), rand(1,3); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_BODY_ATTR_DARKNESS; set getarg(1), rand(1,3); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_VAR_ITEMDEFPOWER; set getarg(1), rand(20,60); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_VAR_MDEFPOWER; set getarg(1), rand(5,15); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_BODY_INDESTRUCTIBLE; set getarg(1), 1; }
+
+	.@r = rand(220); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_STRAMOUNT; set getarg(3), rand(1,4); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AGIAMOUNT; set getarg(3), rand(1,4); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_VAR_VITAMOUNT; set getarg(3), rand(1,4); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_VAR_INTAMOUNT; set getarg(3), rand(1,4); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_VAR_DEXAMOUNT; set getarg(3), rand(1,4); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,4); }
+	return;
+}
+
+function	script	F_Lapine_Magical_Booster_Enchant	{
+	// Option:1
+	.@r = rand(160); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_STRAMOUNT; set getarg(1), 1; }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_VAR_AGIAMOUNT; set getarg(1), 1; }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_VAR_VITAMOUNT; set getarg(1), 1; }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_VAR_INTAMOUNT; set getarg(1), 1; }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_VAR_DEXAMOUNT; set getarg(1), 1; }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_VAR_LUKAMOUNT; set getarg(1), 1; }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,2); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,2); }
+	else if (.@r < 90)  { set getarg(0), RDMOPT_VAR_ATTPOWER; set getarg(1), rand(3,5); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_VAR_ATTMPOWER; set getarg(1), rand(3,5); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_HITSUCCESSVALUE; set getarg(1), rand(5,10); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_CRITICALSUCCESSVALUE; set getarg(1), rand(2,3); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_ITEMDEFPOWER; set getarg(1), rand(10,20); }
+	else if (.@r < 140) { set getarg(0), RDMOPT_VAR_MDEFPOWER; set getarg(1), rand(3,5); }
+	else if (.@r < 150) { set getarg(0), RDMOPT_VAR_AVOIDSUCCESSVALUE; set getarg(1), rand(5,20); }
+	else if (.@r < 160) { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(1,2); }
+	// Option:2
+	.@r = rand(140); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_STRAMOUNT; set getarg(3), 1; }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_VAR_AGIAMOUNT; set getarg(3), 1; }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_VAR_VITAMOUNT; set getarg(3), 1; }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_VAR_INTAMOUNT; set getarg(3), 1; }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_VAR_DEXAMOUNT; set getarg(3), 1; }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), 1; }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_HEAL_VALUE; set getarg(3), rand(3,10); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_HEAL_MODIFY_PERCENT; set getarg(3), rand(2,7); }
+	else if (.@r < 90)  { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_VAR_MAGICATKPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(3,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(3), rand(1,4); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_VAR_PLUSASPD; set getarg(3), 1; }
+	else if (.@r < 140) { set getarg(2), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(3), rand(2,3); }
+	return;
+}
+
+function	script	F_Lapine_Boost_Up_1	{
+	set getarg(0), 9;
+	return;
+}
+
+function	script	F_Lapine_Boost_Up_2	{
+	set getarg(0), 10;
+	return;
+}
+
+function	script	F_Lapine_Metal_Rifine_Ticket	{
+	set getarg(0), 7;
+	return;
+}
+
+function	script	F_Lapine_Fan_Modification_Kits	{
+	.@r = rand(130); // No rates info
+		 if (.@r < 10)  { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(3,5); }
+	else if (.@r < 20)  { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(5,8); }
+	else if (.@r < 30)  { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(5,8); }
+	else if (.@r < 40)  { set getarg(0), RDMOPT_ATTR_TOLERACE_WATER; set getarg(1), rand(3,5); }
+	else if (.@r < 50)  { set getarg(0), RDMOPT_ATTR_TOLERACE_GROUND; set getarg(1), rand(3,5); }
+	else if (.@r < 60)  { set getarg(0), RDMOPT_ATTR_TOLERACE_FIRE; set getarg(1), rand(3,5); }
+	else if (.@r < 70)  { set getarg(0), RDMOPT_ATTR_TOLERACE_WIND; set getarg(1), rand(3,5); }
+	else if (.@r < 80)  { set getarg(0), RDMOPT_ATTR_TOLERACE_ALL; set getarg(1), rand(1,3); } // To all element except neutral
+	else if (.@r < 90)  { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(3,5); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,1); }
+	else if (.@r < 110) { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 120) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(1,3); }
+	else if (.@r < 130) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(1,3); }
+	.@r = rand(130); // No rates info
+		 if (.@r < 10)  { set getarg(2), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(3), rand(3,5); }
+	else if (.@r < 20)  { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(5,8); }
+	else if (.@r < 30)  { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(5,8); }
+	else if (.@r < 40)  { set getarg(2), RDMOPT_ATTR_TOLERACE_WATER; set getarg(3), rand(3,5); }
+	else if (.@r < 50)  { set getarg(2), RDMOPT_ATTR_TOLERACE_GROUND; set getarg(3), rand(3,5); }
+	else if (.@r < 60)  { set getarg(2), RDMOPT_ATTR_TOLERACE_FIRE; set getarg(3), rand(3,5); }
+	else if (.@r < 70)  { set getarg(2), RDMOPT_ATTR_TOLERACE_WIND; set getarg(3), rand(3,5); }
+	else if (.@r < 80)  { set getarg(2), RDMOPT_ATTR_TOLERACE_ALL; set getarg(3), rand(1,3); } // To all element except neutral
+	else if (.@r < 90)  { set getarg(2), RDMOPT_DEC_SP_CONSUMPTION; set getarg(3), rand(3,5); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_VAR_MAXHPPERCENT; set getarg(3), rand(1,1); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_VAR_MAXSPPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(1,3); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_VAR_MAGICATKPERCENT; set getarg(3), rand(1,3); }
+	return;
+}
+
+function	script	F_Lapine_Class_Shadow_Pendant_Options	{
+	// Refine
+	.@r = rand(10000); // No rates info
+		 if (.@r < 5005) { set getarg(0), 1; }
+	else if (.@r < 7507) { set getarg(0), 2; }
+	else if (.@r < 8758) { set getarg(0), 3; }
+	else if (.@r < 9384) { set getarg(0), 4; }
+	else if (.@r < 9697) { set getarg(0), 5; }
+	else if (.@r < 9853) { set getarg(0), 6; }
+	else if (.@r < 9931) { set getarg(0), 7; }
+	else if (.@r < 9970) { set getarg(0), 8; }
+	else if (.@r < 9990) { set getarg(0), 9; }
+	else                 { set getarg(0), 10; }
+
+	// Option: 1
+	if (rand(2) == 0) {
+		set getarg(1), RDMOPT_VAR_DEXAMOUNT; set getarg(2), rand(1,10);
+	} else {
+		set getarg(1), RDMOPT_VAR_LUKAMOUNT; set getarg(2), rand(1,10);
+	}
+
+	return;
+}
+
+function	script	F_Lapine_Class_Shadow_Earring_Options	{
+	// Refine
+	.@r = rand(10000); // No rates info
+		 if (.@r < 5005) { set getarg(0), 1; }
+	else if (.@r < 7507) { set getarg(0), 2; }
+	else if (.@r < 8758) { set getarg(0), 3; }
+	else if (.@r < 9384) { set getarg(0), 4; }
+	else if (.@r < 9697) { set getarg(0), 5; }
+	else if (.@r < 9853) { set getarg(0), 6; }
+	else if (.@r < 9931) { set getarg(0), 7; }
+	else if (.@r < 9970) { set getarg(0), 8; }
+	else if (.@r < 9990) { set getarg(0), 9; }
+	else                 { set getarg(0), 10; }
+
+	// Option: 1
+	if (rand(2) == 0) {
+		set getarg(1), RDMOPT_VAR_DEXAMOUNT; set getarg(2), rand(1,10);
+	} else {
+		set getarg(1), RDMOPT_VAR_STRAMOUNT; set getarg(2), rand(1,10);
+	}
+
+	return;
+}
+
+function	script	F_Lapine_Class_Shadow_Shield_Options	{
+	// Refine
+	.@r = rand(10000); // No rates info
+		 if (.@r < 5005) { set getarg(0), 1; }
+	else if (.@r < 7507) { set getarg(0), 2; }
+	else if (.@r < 8758) { set getarg(0), 3; }
+	else if (.@r < 9384) { set getarg(0), 4; }
+	else if (.@r < 9697) { set getarg(0), 5; }
+	else if (.@r < 9853) { set getarg(0), 6; }
+	else if (.@r < 9931) { set getarg(0), 7; }
+	else if (.@r < 9970) { set getarg(0), 8; }
+	else if (.@r < 9990) { set getarg(0), 9; }
+	else                 { set getarg(0), 10; }
+
+	// Option: 1
+	if (rand(2) == 0) {
+		set getarg(1), RDMOPT_VAR_AGIAMOUNT; set getarg(2), rand(1,10);
+	} else {
+		set getarg(1), RDMOPT_VAR_LUKAMOUNT; set getarg(2), rand(1,10);
+	}
+
+	return;
+}
+
+function	script	F_Lapine_Class_Shadow_Shoes_Options	{
+	// Refine
+	.@r = rand(10000); // No rates info
+		 if (.@r < 5005) { set getarg(0), 1; }
+	else if (.@r < 7507) { set getarg(0), 2; }
+	else if (.@r < 8758) { set getarg(0), 3; }
+	else if (.@r < 9384) { set getarg(0), 4; }
+	else if (.@r < 9697) { set getarg(0), 5; }
+	else if (.@r < 9853) { set getarg(0), 6; }
+	else if (.@r < 9931) { set getarg(0), 7; }
+	else if (.@r < 9970) { set getarg(0), 8; }
+	else if (.@r < 9990) { set getarg(0), 9; }
+	else                 { set getarg(0), 10; }
+
+	// Option: 1
+	if (rand(2) == 0) {
+		set getarg(1), RDMOPT_VAR_AGIAMOUNT; set getarg(2), rand(1,10);
+	} else {
+		set getarg(1), RDMOPT_VAR_VITAMOUNT; set getarg(2), rand(1,10);
+	}
+
+	return;
+}
+
+function	script	F_Lapine_Class_Shadow_Armor_Options	{
+	// Refine
+	.@r = rand(10000); // No rates info
+		 if (.@r < 5005) { set getarg(0), 1; }
+	else if (.@r < 7507) { set getarg(0), 2; }
+	else if (.@r < 8758) { set getarg(0), 3; }
+	else if (.@r < 9384) { set getarg(0), 4; }
+	else if (.@r < 9697) { set getarg(0), 5; }
+	else if (.@r < 9853) { set getarg(0), 6; }
+	else if (.@r < 9931) { set getarg(0), 7; }
+	else if (.@r < 9970) { set getarg(0), 8; }
+	else if (.@r < 9990) { set getarg(0), 9; }
+	else                 { set getarg(0), 10; }
+
+	// Option: 1
+	if (rand(2) == 0) {
+		set getarg(1), RDMOPT_VAR_INTAMOUNT; set getarg(2), rand(1,10);
+	} else {
+		set getarg(1), RDMOPT_VAR_VITAMOUNT; set getarg(2), rand(1,10);
+	}
+
+	return;
+}
+
+function	script	F_Lapine_Class_Shadow_Weapon_Options	{
+	// Refine
+	.@r = rand(10000); // No rates info
+		 if (.@r < 5005) { set getarg(0), 1; }
+	else if (.@r < 7507) { set getarg(0), 2; }
+	else if (.@r < 8758) { set getarg(0), 3; }
+	else if (.@r < 9384) { set getarg(0), 4; }
+	else if (.@r < 9697) { set getarg(0), 5; }
+	else if (.@r < 9853) { set getarg(0), 6; }
+	else if (.@r < 9931) { set getarg(0), 7; }
+	else if (.@r < 9970) { set getarg(0), 8; }
+	else if (.@r < 9990) { set getarg(0), 9; }
+	else                 { set getarg(0), 10; }
+
+	// Option: 1
+	if (rand(2) == 0) {
+		set getarg(1), RDMOPT_VAR_STRAMOUNT; set getarg(2), rand(1,10);
+	} else {
+		set getarg(1), RDMOPT_VAR_INTAMOUNT; set getarg(2), rand(1,10);
+	}
+
+	return;
+}
+
+function	script	F_Lapine_Noblesse_Refine_Ticket	{
+	set getarg(0), 9;
+	return;
+}
+
+function	script	F_Lapine_Imperial_Refine_Ticket	{
+	set getarg(0), 9;
+	return;
+}
+
+function	script	F_Lapine_Grace_Refine_Ticket	{
+	set getarg(0), 9;
+	return;
+}
+
+function	script	F_Lapine_Imperial_Convert1	{
+	.@r = rand(100); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 20) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 30) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 40) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 50) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 60) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 70) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 80) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 90) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,5); return; }
+	return;
+}
+
+function	script	F_Lapine_Imperial_Convert2	{
+	.@r = rand(100); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 20) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 30) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 40) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 50) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 60) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 70) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 80) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 90) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,5); return; }
+	return;
+}
+
+function	script	F_Lapine_Imperial_Convert3	{
+	.@r = rand(80); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_ATTR_TOLERACE_FIRE; set getarg(1), rand(1,5); return; }
+	else if (.@r < 20) { set getarg(0), RDMOPT_ATTR_TOLERACE_WIND; set getarg(1), rand(1,5); return; }
+	else if (.@r < 30) { set getarg(0), RDMOPT_ATTR_TOLERACE_GROUND; set getarg(1), rand(1,5); return; }
+	else if (.@r < 40) { set getarg(0), RDMOPT_ATTR_TOLERACE_WATER; set getarg(1), rand(1,5); return; }
+	else if (.@r < 50) { set getarg(0), RDMOPT_ATTR_TOLERACE_ALL; set getarg(1), rand(1,5); return; } // All elements except neutral
+	else if (.@r < 60) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(1,5); return; }
+	else if (.@r < 70) { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,5); return; }
+	else if (.@r < 80) { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,5); return; }
+	return;
+}
+
+function	script	F_Lapine_Imperial_Convert4	{
+	.@r = rand(100); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 20) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 30) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 40) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 50) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 60) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 70) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 80) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 90) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,5); return; }
+	else if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,5); return; }
+	return;
+}
+
+function	script	F_Lapine_Grace_Convert1	{
+	.@r = rand(100); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 20) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 30) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 40) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 50) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 60) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 70) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 80) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 90) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,5); }
+	.@r = rand(130); // No rates info
+		 if (.@r < 10) { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(1,5); }
+	else if (.@r < 20) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(1,5); }
+	else if (.@r < 30) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(1,5); }
+	else if (.@r < 40) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(1,5); }
+	else if (.@r < 50) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(1,5); }
+	else if (.@r < 60) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(1,5); }
+	else if (.@r < 70) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(1,5); }
+	else if (.@r < 80) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(1,5); }
+	else if (.@r < 90) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(1,5); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(1,5); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_DAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_DAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(1,5); }
+	return;
+}
+
+function	script	F_Lapine_Grace_Convert2	{
+	.@r = rand(100); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 20) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 30) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 40) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 50) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 60) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 70) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 80) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 90) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,5); }
+	else if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,5); }
+	.@r = rand(130); // No rates info
+		 if (.@r < 10) { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(1,5); }
+	else if (.@r < 20) { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(1,5); }
+	else if (.@r < 30) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(1,5); }
+	else if (.@r < 40) { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(1,5); }
+	else if (.@r < 50) { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(1,5); }
+	else if (.@r < 60) { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(1,5); }
+	else if (.@r < 70) { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(1,5); }
+	else if (.@r < 80) { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(1,5); }
+	else if (.@r < 90) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(1,5); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(1,5); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_MDAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_MDAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(1,5); }
+	return;
+}
+
+function	script	F_Lapine_Grace_Convert3	{
+	.@r = rand(80); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_ATTR_TOLERACE_WATER; set getarg(1), rand(1,5); }
+	else if (.@r < 20) { set getarg(0), RDMOPT_ATTR_TOLERACE_GROUND; set getarg(1), rand(1,5); }
+	else if (.@r < 30) { set getarg(0), RDMOPT_ATTR_TOLERACE_FIRE; set getarg(1), rand(1,5); }
+	else if (.@r < 40) { set getarg(0), RDMOPT_ATTR_TOLERACE_WIND; set getarg(1), rand(1,5); }
+	else if (.@r < 50) { set getarg(0), RDMOPT_ATTR_TOLERACE_ALL; set getarg(1), rand(1,5); }
+	else if (.@r < 60) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(1,5); }
+	else if (.@r < 70) { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 80) { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,5); }
+	.@r = rand(130); // No rates info
+		 if (.@r < 10) { set getarg(2), RDMOPT_DAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 20) { set getarg(2), RDMOPT_DAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 30) { set getarg(2), RDMOPT_DAMAGE_SIZE_MIDIUM_USER; set getarg(3), rand(1,5); }
+	else if (.@r < 40) { set getarg(2), RDMOPT_RACE_TOLERACE_NOTHING; set getarg(3), rand(1,5); }
+	else if (.@r < 50) { set getarg(2), RDMOPT_RACE_TOLERACE_UNDEAD; set getarg(3), rand(1,5); }
+	else if (.@r < 60) { set getarg(2), RDMOPT_RACE_TOLERACE_ANIMAL; set getarg(3), rand(1,5); }
+	else if (.@r < 70) { set getarg(2), RDMOPT_RACE_TOLERACE_PLANT; set getarg(3), rand(1,5); }
+	else if (.@r < 80) { set getarg(2), RDMOPT_RACE_TOLERACE_INSECT; set getarg(3), rand(1,5); }
+	else if (.@r < 90) { set getarg(2), RDMOPT_RACE_TOLERACE_FISHS; set getarg(3), rand(1,5); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_TOLERACE_DEVIL; set getarg(3), rand(1,5); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_TOLERACE_HUMAN; set getarg(3), rand(1,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_TOLERACE_ANGEL; set getarg(3), rand(1,5); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_TOLERACE_DRAGON; set getarg(3), rand(1,5); }
+	return;
+}
+
+function	script	F_Lapine_Grace_Convert4	{
+	.@r = rand(80); // No rates info
+		 if (.@r < 10) { set getarg(0), RDMOPT_ATTR_TOLERACE_WATER; set getarg(1), rand(1,5); }
+	else if (.@r < 20) { set getarg(0), RDMOPT_ATTR_TOLERACE_GROUND; set getarg(1), rand(1,5); }
+	else if (.@r < 30) { set getarg(0), RDMOPT_ATTR_TOLERACE_FIRE; set getarg(1), rand(1,5); }
+	else if (.@r < 40) { set getarg(0), RDMOPT_ATTR_TOLERACE_WIND; set getarg(1), rand(1,5); }
+	else if (.@r < 50) { set getarg(0), RDMOPT_ATTR_TOLERACE_ALL; set getarg(1), rand(1,5); }
+	else if (.@r < 60) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(1,5); }
+	else if (.@r < 70) { set getarg(0), RDMOPT_VAR_MAXHPPERCENT; set getarg(1), rand(1,5); }
+	else if (.@r < 80) { set getarg(0), RDMOPT_VAR_MAXSPPERCENT; set getarg(1), rand(1,5); }
+	.@r = rand(130); // No rates info
+		 if (.@r < 10) { set getarg(2), RDMOPT_MDAMAGE_SIZE_SMALL_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 20) { set getarg(2), RDMOPT_MDAMAGE_SIZE_LARGE_TARGET; set getarg(3), rand(1,5); }
+	else if (.@r < 30) { set getarg(2), RDMOPT_MDAMAGE_SIZE_MIDIUM_USER; set getarg(3), rand(1,5); }
+	else if (.@r < 40) { set getarg(2), RDMOPT_RACE_TOLERACE_NOTHING; set getarg(3), rand(1,5); }
+	else if (.@r < 50) { set getarg(2), RDMOPT_RACE_TOLERACE_UNDEAD; set getarg(3), rand(1,5); }
+	else if (.@r < 60) { set getarg(2), RDMOPT_RACE_TOLERACE_ANIMAL; set getarg(3), rand(1,5); }
+	else if (.@r < 70) { set getarg(2), RDMOPT_RACE_TOLERACE_PLANT; set getarg(3), rand(1,5); }
+	else if (.@r < 80) { set getarg(2), RDMOPT_RACE_TOLERACE_INSECT; set getarg(3), rand(1,5); }
+	else if (.@r < 90) { set getarg(2), RDMOPT_RACE_TOLERACE_FISHS; set getarg(3), rand(1,5); }
+	else if (.@r < 100) { set getarg(2), RDMOPT_RACE_TOLERACE_DEVIL; set getarg(3), rand(1,5); }
+	else if (.@r < 110) { set getarg(2), RDMOPT_RACE_TOLERACE_HUMAN; set getarg(3), rand(1,5); }
+	else if (.@r < 120) { set getarg(2), RDMOPT_RACE_TOLERACE_ANGEL; set getarg(3), rand(1,5); }
+	else if (.@r < 130) { set getarg(2), RDMOPT_RACE_TOLERACE_DRAGON; set getarg(3), rand(1,5); }
+	return;
+}
+
+// TODO
+function	script	F_Lapine_Ein_Ddbox	{
+	return;
+}
+
+// TODO
+function	script	F_Lapine_Ein_Ddbox2	{
+	return;
+}
+
+// TODO
+function	script	F_Lapine_Abyss_Ddbox	{
+	return;
+}
+
+// TODO
+function	script	F_Lapine_Abyss_Ddbox2	{
+	return;
+}
+
+// TODO
+function	script	F_Lapine_Abyss_Ddbox3	{
+	return;
+}
+
+// TODO
+function	script	F_Lapine_Abyss_Ddbox4	{
+	return;
+}

+ 1 - 0
npc/re/scripts_athena.conf

@@ -138,6 +138,7 @@ npc: npc/re/other/resetskill.txt
 npc: npc/re/other/stone_change.txt
 npc: npc/re/other/turbo_track.txt
 npc: npc/re/other/CashShop_Functions.txt
+npc: npc/re/other/LapineEnchants.txt
 
 // --------------------------- Quests ---------------------------
 // - Eden Group -------------------------------------------------

+ 44 - 2
src/map/atcommand.cpp

@@ -34,6 +34,8 @@
 #include "instance.hpp"
 #include "intif.hpp"
 #include "itemdb.hpp" // MAX_ITEMGROUP
+#include "item_synthesis.hpp"
+#include "item_upgrade.hpp"
 #include "log.hpp"
 #include "mail.hpp"
 #include "map.hpp"
@@ -934,7 +936,7 @@ ACMD_FUNC(storage)
 {
 	nullpo_retr(-1, sd);
 
-	if (sd->npc_id || sd->state.vending || sd->state.buyingstore || sd->state.trading || sd->state.storage_flag)
+	if (sd->npc_id || sd->state.vending || sd->state.buyingstore || sd->state.trading || sd->state.storage_flag ||sd->state.lapine_ui)
 		return -1;
 
 	if (storage_storageopen(sd) == 1)
@@ -956,7 +958,7 @@ ACMD_FUNC(guildstorage)
 {
 	nullpo_retr(-1, sd);
 
-	if (sd->npc_id || sd->state.vending || sd->state.buyingstore || sd->state.trading)
+	if (sd->npc_id || sd->state.vending || sd->state.buyingstore || sd->state.trading || sd->state.lapine_ui)
 		return -1;
 
 	switch (storage_guild_storageopen(sd)) {
@@ -3943,6 +3945,12 @@ ACMD_FUNC(reload) {
 	} else if (strstr(command, "achievementdb") || strncmp(message, "achievementdb", 4) == 0) {
 		achievement_db_reload();
 		clif_displaymessage(fd, msg_txt(sd,771)); // Achievement database has been reloaded.
+	} else if (strstr(command, "synthesisdb") || strncmp(message, "synthesisdb", 6) == 0) {
+		item_synthesis_db_reload();
+		clif_displaymessage(fd, msg_txt(sd, 795)); // Item Synthesis database has been reloaded.
+	} else if (strstr(command, "upgradedb") || strncmp(message, "upgradedb", 6) == 0) {
+		item_upgrade_db_reload();
+		clif_displaymessage(fd, msg_txt(sd, 796)); // Item Upgrade database has been reloaded.
 	}
 
 	return 0;
@@ -10056,6 +10064,38 @@ ACMD_FUNC(resurrect) {
 	return 0;
 }
 
+ACMD_FUNC(synthesisui) {
+	nullpo_retr(-1, sd);
+
+#if PACKETVER >= 20160525
+	unsigned int itemid;
+	if (sscanf(message, "%u", &itemid) < 1) {
+		clif_displaymessage(fd, "Please input itemid of synthesis id.");
+		return -1;
+	}
+	item_synthesis_open(sd, itemid);
+#else
+	clif_displaymessage(fd, "Client is not supported.");
+#endif
+	return 0;
+}
+
+ACMD_FUNC(upgradeui) {
+	nullpo_retr(-1, sd);
+
+#if PACKETVER >= 20160525
+	unsigned int itemid;
+	if (sscanf(message, "%u", &itemid) < 1) {
+		clif_displaymessage(fd, "Please input itemid of upgrade id.");
+		return -1;
+	}
+	item_upgrade_open(sd, itemid);
+#else
+	clif_displaymessage(fd, "Client is not supported.");
+#endif
+	return 0;
+}
+
 #include "../custom/atcommand.inc"
 
 /**
@@ -10357,6 +10397,8 @@ void atcommand_basecommands(void) {
 		ACMD_DEFR(changedress, ATCMD_NOCONSOLE|ATCMD_NOAUTOTRADE),
 		ACMD_DEFR(camerainfo, ATCMD_NOCONSOLE|ATCMD_NOAUTOTRADE),
 		ACMD_DEFR(resurrect, ATCMD_NOCONSOLE),
+		ACMD_DEFR(synthesisui, ATCMD_NOCONSOLE | ATCMD_NOAUTOTRADE),
+		ACMD_DEFR(upgradeui, ATCMD_NOCONSOLE | ATCMD_NOAUTOTRADE),
 	};
 	AtCommandInfo* atcommand;
 	int i;

+ 242 - 0
src/map/clif.cpp

@@ -38,6 +38,8 @@
 #include "instance.hpp"
 #include "intif.hpp"
 #include "itemdb.hpp"
+#include "item_synthesis.hpp"
+#include "item_upgrade.hpp"
 #include "log.hpp"
 #include "mail.hpp"
 #include "map.hpp"
@@ -20891,6 +20893,246 @@ void clif_parse_equipswitch_request_single( int fd, struct map_session_data* sd
 #endif
 }
 
+bool clif_synthesisui_open(struct map_session_data *sd, unsigned int itemid) {
+#if PACKETVER >= 20160525
+	nullpo_retr(false, sd);
+
+	unsigned char buf[8] = { '\0' };
+	unsigned short cmd = 0;
+	s_packet_db *info = NULL;
+
+	if (!(cmd = packet_db_ack[ZC_LAPINE_SYNTHESIS_OPEN]))
+		return false;
+
+	if (!(info = &packet_db[cmd]) || info->len == 0)
+		return false;
+
+	WBUFW(buf, 0) = cmd;
+#if PACKETVER >= 20181121
+	WBUFL(buf, info->pos[0]) = itemid;
+#else
+	WBUFW(buf, info->pos[0]) = (uint16)itemid;
+#endif
+
+	clif_send(buf, info->len, &sd->bl, SELF);
+	return true;
+#else
+	return false;
+#endif
+}
+
+void clif_synthesisui_result(struct map_session_data *sd, e_item_synthesis_result result) {
+#if PACKETVER >= 20160525
+	nullpo_retv(sd);
+
+	unsigned char buf[4] = { '\0' };
+	unsigned short cmd = 0;
+	s_packet_db *info = NULL;
+
+	if (!(cmd = packet_db_ack[ZC_LAPINE_SYNTHESIS_RESULT]))
+		return;
+
+	if (!(info = &packet_db[cmd]) || info->len == 0)
+		return;
+
+	WBUFW(buf, 0) = cmd;
+	WBUFW(buf, info->pos[0]) = result;
+
+	clif_send(buf, info->len, &sd->bl, SELF);
+#endif
+}
+
+void clif_parse_lapineSynthesis_submit(int fd, struct map_session_data* sd) {
+#if PACKETVER >= 20160525
+	nullpo_retv(sd);
+
+	if (pc_istrading(sd)) {
+		clif_synthesisui_result(sd, SYNTHESIS_INVALID_ITEM);
+		return;
+	}
+
+	if (sd->state.lapine_ui != 1) {
+		set_eof(sd->fd);
+		return;
+	}
+
+	s_packet_db* info = &packet_db[RFIFOW(fd, 0)];
+
+	if (!info) {
+		set_eof(sd->fd);
+		return;
+	}
+
+	int len = RFIFOW(fd, info->pos[0]), i = 0, n = (len - info->pos[2]) / info->pos[3];
+#if PACKETVER >= 20181121
+	unsigned int itemid = RFIFOL(fd, info->pos[1]);
+#else
+	unsigned int itemid = RFIFOW(fd, info->pos[1]);
+#endif
+	item_data *id;
+
+	if (n < 1 || n > MAX_SYNTHESIS_SOURCES || sd->last_lapine_box != itemid || !(id = itemdb_exists(itemid))) {
+		//clif_synthesisui_result(sd, SYNTHESIS_INVALID_ITEM);
+		set_eof(sd->fd);
+		return;
+	}
+
+	if (id->flag.delay_consume) {
+		item *it;
+		if (sd->itemindex == -1 || sd->itemid == -1 || !(it = &sd->inventory.u.items_inventory[sd->itemindex]) || it->nameid != itemid) {
+			//clif_synthesisui_result(sd, SYNTHESIS_INVALID_ITEM);
+			set_eof(sd->fd);
+			return;
+		}
+		pc_delitem(sd, sd->itemindex, 1, 0, 0, LOG_TYPE_CONSUME);
+	}
+
+	std::vector<s_item_synthesis_list> items;
+
+	for (; i < n; i++) {
+		int index = RFIFOW(fd, info->pos[2] + i * info->pos[3]) - 2;
+		int amount = RFIFOW(fd, info->pos[2] + i * info->pos[3] + 2);
+
+		if (amount < 1 || index < 0 || index >= MAX_INVENTORY) {
+			//clif_synthesisui_result(sd, SYNTHESIS_INVALID_ITEM);
+			set_eof(sd->fd);
+			return;
+		}
+
+		s_item_synthesis_list item;
+		item.index = (uint16)index;
+		item.amount = (uint16)amount;
+		items.push_back(item);
+	}
+
+	clif_synthesisui_result(sd, item_synthesis_submit(sd, itemid, items));
+	sd->itemid = sd->itemindex = -1;
+#endif
+}
+
+void clif_parse_lapineSynthesis_close(int fd, struct map_session_data* sd) {
+#if PACKETVER >= 20160525
+	nullpo_retv(sd);
+	sd->state.lapine_ui = 0;
+	sd->last_lapine_box = 0;
+#endif
+}
+
+bool clif_lapine_upgrade_open(struct map_session_data *sd, unsigned int itemid) {
+#if PACKETVER >= 20160525
+	nullpo_retr(false, sd);
+
+	unsigned char buf[8] = { '\0' };
+	unsigned short cmd = 0;
+	s_packet_db *info = NULL;
+
+	if (!(cmd = packet_db_ack[ZC_LAPINE_UPGRADE_OPEN]))
+		return false;
+
+	if (!(info = &packet_db[cmd]) || info->len == 0)
+		return false;
+
+	WBUFW(buf, 0) = cmd;
+#if PACKETVER >= 20181121
+	WBUFL(buf, info->pos[0]) = itemid;
+#else
+	WBUFW(buf, info->pos[0]) = (uint16)itemid;
+#endif
+
+	clif_send(buf, info->len, &sd->bl, SELF);
+	return true;
+#else
+	return false;
+#endif
+}
+
+void clif_lapine_upgrade_result(struct map_session_data *sd, e_item_upgrade_result result) {
+#if PACKETVER >= 20160525
+	nullpo_retv(sd);
+
+	unsigned char buf[4] = { '\0' };
+	unsigned short cmd = 0;
+	s_packet_db *info = NULL;
+
+	if (!(cmd = packet_db_ack[ZC_LAPINE_UPGRADE_RESULT]))
+		return;
+
+	if (!(info = &packet_db[cmd]) || info->len == 0)
+		return;
+
+	WBUFW(buf, 0) = cmd;
+	WBUFW(buf, info->pos[0]) = result;
+
+	clif_send(buf, info->len, &sd->bl, SELF);
+#endif
+}
+
+void clif_parse_lapineUpgrade_submit(int fd, struct map_session_data* sd) {
+#if PACKETVER >= 20160525
+	nullpo_retv(sd);
+
+	if (pc_istrading(sd)) {
+		clif_lapine_upgrade_result(sd, LAPINE_UPRAGDE_FAILURE);
+		return;
+	}
+
+	if (sd->state.lapine_ui != 2) {
+		set_eof(sd->fd);
+		return;
+	}
+
+	s_packet_db* info = &packet_db[RFIFOW(fd, 0)];
+
+	if (!info) {
+		set_eof(sd->fd);
+		return;
+	}
+
+	short index = RFIFOW(fd, info->pos[1]) - 2;
+	unsigned int itemid;
+#if PACKETVER >= 20181121
+	itemid = RFIFOL(fd, info->pos[0]);
+#else
+	itemid = RFIFOW(fd, info->pos[0]);
+#endif
+
+#ifndef ITEMID_INT32_SUPPORTED
+	if (itemid >= UINT16_MAX) {
+		set_eof(sd->fd);
+		return;
+	}
+#endif
+
+	item_data *id;
+
+	if (sd->last_lapine_box != itemid || index < 0 || index >= MAX_INVENTORY || !(id = itemdb_search(sd->last_lapine_box))) {
+		//clif_lapine_upgrade_result(sd, LAPINE_UPRAGDE_FAILURE);
+		set_eof(sd->fd);
+		return;
+	}
+
+	if (id->flag.delay_consume) {
+		if (sd->itemindex == -1 || sd->itemid == -1) {
+			//clif_lapine_upgrade_result(sd, LAPINE_UPRAGDE_FAILURE);
+			set_eof(sd->fd);
+			return;
+		}
+		pc_delitem(sd, sd->itemindex, 1, 0, 0, LOG_TYPE_CONSUME);
+	}
+
+	clif_lapine_upgrade_result(sd, item_upgrade_submit(sd, itemid, index));
+	sd->itemid = sd->itemindex = -1;
+#endif
+}
+
+void clif_parse_lapineUpgrade_close(int fd, struct map_session_data* sd) {
+#if PACKETVER >= 20160525
+	nullpo_retv(sd);
+	sd->state.lapine_ui = 0;
+	sd->last_lapine_box = 0;
+#endif
+}
+
 /*==========================================
  * Main client packet processing function
  *------------------------------------------*/

+ 21 - 0
src/map/clif.hpp

@@ -38,6 +38,8 @@ struct party_booking_ad_info;
 struct sale_item_data;
 struct mail_message;
 struct achievement;
+struct s_item_synthesis_list;
+struct s_item_upgrade_list;
 struct guild_log_entry;
 enum e_guild_storage_log : uint16;
 
@@ -62,6 +64,10 @@ enum e_packet_ack : uint8_t{
 	ZC_MERGE_ITEM_OPEN,
 	ZC_ACK_MERGE_ITEM,
 	ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN,
+	ZC_LAPINE_SYNTHESIS_OPEN,
+	ZC_LAPINE_SYNTHESIS_RESULT,
+	ZC_LAPINE_UPGRADE_OPEN,
+	ZC_LAPINE_UPGRADE_RESULT,
 	//add other here
 	MAX_ACK_FUNC //auto upd len
 };
@@ -179,6 +185,18 @@ enum e_bossmap_info {
 	BOSS_INFO_DEAD,
 };
 
+enum e_item_synthesis_result : uint8 {
+	SYNTHESIS_SUCCESS = 0,
+	SYNTHESIS_INSUFFICIENT_AMOUNT = 5,
+	SYNTHESIS_INVALID_ITEM = 7,
+};
+
+enum e_item_upgrade_result : uint8 {
+	LAPINE_UPRAGDE_SUCCESS = 0,
+	LAPINE_UPRAGDE_FAILURE = 1,
+};
+
+
 #define packet_len(cmd) packet_db[cmd].len
 extern struct s_packet_db packet_db[MAX_PACKET_DB+1];
 extern int packet_db_ack[MAX_ACK_FUNC + 1];
@@ -1126,4 +1144,7 @@ void clif_equipswitch_reply( struct map_session_data* sd, bool failed );
 /// Pet evolution
 void clif_pet_evolution_result( struct map_session_data* sd, e_pet_evolution_result result );
 
+bool clif_synthesisui_open(struct map_session_data *sd, unsigned int itemid);
+bool clif_lapine_upgrade_open(struct map_session_data *sd, unsigned int itemid);
+
 #endif /* CLIF_HPP */

+ 16 - 0
src/map/clif_packetdb.hpp

@@ -2324,6 +2324,14 @@
 #if PACKETVER >= 20160525
 	parseable_packet(0x0A77,15,clif_parse_camerainfo,0);
 	packet(0x0A78, 15);
+	ack_packet(ZC_LAPINE_SYNTHESIS_OPEN, 0x0A4E, 4, 2); // ZC_LAPINE_SYNTHESIS_OPEN W.<packet> W.<itemid>
+	parseable_packet(0x0A4F, -1, clif_parse_lapineSynthesis_submit, 2, 4, 6, 4); // CZ_LAPINE_SYNTHESIS_ACK W.<packet> W.<length> W.<itemid> { W.<index> W.<count> }.?
+	ack_packet(ZC_LAPINE_SYNTHESIS_RESULT, 0x0A50, 4, 2); // ZC_LAPINE_SYNTHESIS_RESULT W.<packet> W.<result>
+	parseable_packet(0x0A70, 2, clif_parse_lapineSynthesis_close, 0); // CZ_LAPINE_SYNTHESIS_CLOSE
+	ack_packet(ZC_LAPINE_UPGRADE_OPEN, 0x0AB4, 4, 2); // ZC_LAPINE_UPGRADE_OPEN W.<packet> W.<itemid>
+	parseable_packet(0x0AB5, 2, clif_parse_lapineUpgrade_close, 0); // CZ_LAPINE_UPGRADE_CLOSE
+	parseable_packet(0x0AB6, 6, clif_parse_lapineUpgrade_submit, 2, 4); // CZ_LAPINE_UPGRADE_ACK W.<packet> W.<itemid> W.<index>
+	ack_packet(ZC_LAPINE_UPGRADE_RESULT, 0x0AB7, 4, 2); // ZC_LAPINE_UPGRADE_RESULT W.<packet> W.<result>
 #endif
 
 // 2016-06-01aRagexe
@@ -2427,4 +2435,12 @@
 	packet(0x0ADD, 22);
 #endif
 
+// 2018-11-21 Ragexe
+#if PACKETVER >= 20181121
+	ack_packet(ZC_LAPINE_SYNTHESIS_OPEN, 0x0A4E, 6, 2); // ZC_LAPINE_SYNTHESIS_OPEN W.<packet> L.<itemid>
+	parseable_packet(0x0A4F, -1, clif_parse_lapineSynthesis_submit, 2, 4, 8, 4); // CZ_LAPINE_SYNTHESIS_ACK  W.<packet> W.<length> L.<itemid> { W.<index> W.<count> }.?
+	ack_packet(ZC_LAPINE_UPGRADE_OPEN, 0x0AB4, 6, 2); // ZC_LAPINE_UPGRADE_OPEN W.<packet> L.<itemid>
+	parseable_packet(0x0AB6, 8, clif_parse_lapineUpgrade_submit, 2, 6); // CZ_LAPINE_UPGRADE_ACK W.<packet> L.<itemid> W.<index>
+#endif
+
 #endif /* CLIF_PACKETDB_HPP */

+ 282 - 0
src/map/item_synthesis.cpp

@@ -0,0 +1,282 @@
+// Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
+// For more information, see LICENCE in the main folder
+
+#include "item_synthesis.hpp"
+
+#include <algorithm>
+#include <memory>
+
+#include "../common/nullpo.hpp"
+#include "../common/showmsg.hpp"
+
+#include "log.hpp" // e_log_pick_type
+
+ItemSynthesisDatabase item_synthesis_db;
+
+void ItemSynthesisDatabase::clear() {
+	TypesafeYamlDatabase::clear();
+}
+
+const std::string ItemSynthesisDatabase::getDefaultLocation() {
+	return std::string(db_path) + "/item_synthesis.yml";
+}
+
+/**
+* Reads and parses an entry from the item_synthesis file.
+* @param node: YAML node containing the entry.
+* @return count of successfully parsed rows
+*/
+uint64 ItemSynthesisDatabase::parseBodyNode(const YAML::Node &node) {
+	uint32 id;
+
+	if (!this->asUInt32(node, "Id", id))
+		return 0;
+
+	std::shared_ptr<s_item_synthesis_db> entry = this->find(id);
+	bool exists = entry != nullptr;
+
+	if (!exists) {
+		if (!this->nodeExists(node, "SourceNeeded"))
+			return 0;
+
+		if (!this->nodeExists(node, "SourceItem"))
+			return 0;
+
+		if (!this->nodeExists(node, "Reward"))
+			return 0;
+
+		entry = std::make_shared<s_item_synthesis_db>();
+		entry->id = id;
+	}
+
+	if (this->nodeExists(node, "SourceNeeded")) {
+		if (!this->asUInt16(node, "SourceNeeded", entry->source_needed))
+			return 0;
+	}
+
+	if (this->nodeExists(node, "NeedRefine")) {
+		const YAML::Node& refineNode = node["NeedRefine"];
+
+		if (refineNode.IsScalar()) {
+			this->asUInt16(node, "NeedRefine", entry->source_refine_min);
+		}
+		else {
+			if (this->nodeExists(refineNode, "Min"))
+				this->asUInt16(refineNode, "Min", entry->source_refine_min);
+
+			if (this->nodeExists(refineNode, "Max"))
+				this->asUInt16(refineNode, "Max", entry->source_refine_max);
+		}
+	}
+
+	if (this->nodeExists(node, "SourceItem")) {
+		const YAML::Node& sourceNode = node["SourceItem"];
+
+		if (!entry->sources.empty())
+			entry->sources.clear();
+		entry->sources.reserve(entry->source_needed);
+
+		for (const YAML::Node &source : sourceNode) {
+			s_item_synthesis_source source_item = {};
+
+			if (!this->asUInt32(source, "Item", source_item.nameid))
+				continue;
+
+			/*if (!itemdb_exists(source_item.nameid)) {
+				this->invalidWarning(sourceNode, "Unknown item with ID %u.\n", source_item.nameid);
+				continue;
+			}*/
+
+			if (this->nodeExists(source, "Amount"))
+				this->asUInt16(source, "Amount", source_item.amount);
+
+			entry->sources.push_back(source_item);
+		}
+	}
+
+	if (this->nodeExists(node, "Reward")) {
+		std::string script_str;
+		script_code *code;
+
+		if (!this->asString(node, "Reward", script_str) || !(code = parse_script(script_str.c_str(), this->getCurrentFile().c_str(), id, SCRIPT_IGNORE_EXTERNAL_BRACKETS)) != NULL) {
+			this->invalidWarning(node["Reward"], "Invalid item script for 'Reward'.\n");
+			return 0;
+		}
+
+		if (entry->reward)
+			script_free_code(entry->reward);
+
+		entry->reward = code;
+	}
+
+	if (!exists)
+		this->put(id, entry);
+
+	return 1;
+}
+
+/*
+* Attempt to open synthesis UI for a player
+* @param sd Open UI for this player
+* @param itemid ID of synthesis UI
+* @return True on succes, false on failure
+*/
+bool item_synthesis_open(map_session_data *sd, unsigned int itemid) {
+	nullpo_retr(false, sd);
+
+	if (sd->state.vending || sd->state.buyingstore || sd->state.trading || sd->state.storage_flag || sd->state.prevend || sd->state.lapine_ui)
+		return false;
+
+	if (pc_is90overweight(sd) || !pc_inventoryblank(sd)) {
+		clif_msg(sd, ITEM_CANT_OBTAIN_WEIGHT);
+		return false;
+	}
+
+#ifndef ITEMID_INT32_SUPPORTED
+	if (itemid >= UINT16_MAX) {
+		ShowError("item_synthesis_open: ID '%u' is not supported by your system. Max ID is %hu.\n", itemid, UINT16_MAX);
+		return false;
+	}
+#endif
+
+	if (!item_synthesis_db.exists(itemid))
+		return false;
+
+	if (clif_synthesisui_open(sd, itemid)) {
+		sd->last_lapine_box = itemid;
+		sd->state.lapine_ui = 1;
+	}
+
+	return true;
+}
+
+/*
+* Proccess synthesis input from player
+* @param sd Player who request
+* @param itemid ID of synthesis UI
+* @param items Item list sent by player
+* @return SYNTHESIS_SUCCESS on success. @see e_item_synthesis_result
+*/
+e_item_synthesis_result item_synthesis_submit(map_session_data *sd, unsigned int itemid, const std::vector<s_item_synthesis_list> items) {
+	nullpo_retr(SYNTHESIS_INVALID_ITEM, sd);
+
+	if (!sd->state.lapine_ui || itemid != sd->last_lapine_box) {
+		sd->state.lapine_ui = sd->last_lapine_box = 0;
+		return SYNTHESIS_INVALID_ITEM;
+	}
+
+	auto info = item_synthesis_db.find(itemid);
+
+	if (!info || !info->checkRequirement(sd, items))
+		return SYNTHESIS_INSUFFICIENT_AMOUNT;
+
+	if (info->reward)
+		run_script(info->reward, 0, sd->status.account_id, 0);
+
+	sd->state.lapine_ui = sd->last_lapine_box = 0;
+	return SYNTHESIS_SUCCESS;
+}
+
+/**
+* Loads item_synthesis db
+*/
+void item_synthesis_read_db(void)
+{
+	item_synthesis_db.load();
+}
+
+/**
+* Reloads the achievement database
+*/
+void item_synthesis_db_reload(void)
+{
+	do_final_item_synthesis();
+	do_init_item_synthesis();
+}
+
+/**
+* Initializes the achievement database
+*/
+void do_init_item_synthesis(void)
+{
+	item_synthesis_db.load();
+}
+
+/**
+* Finalizes the achievement database
+*/
+void do_final_item_synthesis(void) {
+	item_synthesis_db.clear();
+}
+
+/**
+* Constructor
+*/
+s_item_synthesis_db::s_item_synthesis_db()
+	: source_needed(0)
+	, sources()
+	, reward(nullptr)
+	, source_refine_min(0)
+	, source_refine_max(MAX_REFINE)
+{}
+
+/**
+* Destructor
+*/
+s_item_synthesis_db::~s_item_synthesis_db()
+{
+	if (this->reward) {
+		script_free_code(this->reward);
+		this->reward = nullptr;
+	}
+}
+
+bool s_item_synthesis_db::sourceExists(uint32 source_id)
+{
+	if (this->sources.empty())
+		return false;
+	auto source = std::find_if(
+		this->sources.begin(), this->sources.end(),
+		[&source_id](const s_item_synthesis_source &source) { return source.nameid == source_id; }
+	);
+	return (source != this->sources.end());
+}
+
+bool s_item_synthesis_db::checkRequirement(map_session_data *sd, const std::vector<s_item_synthesis_list> items)
+{
+	if (items.empty() || items.size() != this->source_needed)
+		return false;
+
+	item *item = NULL;
+	item_data *id = NULL;
+
+	for (auto &it : items) {
+		if (it.index < 0 || it.index >= MAX_INVENTORY)
+			return false;
+
+		if (!(item = &sd->inventory.u.items_inventory[it.index]) || !(id = sd->inventory_data[it.index]))
+			return false;
+
+		if (item->equip || item->expire_time || item->amount < it.amount)
+			return false;
+
+		if (!this->sourceExists(item->nameid))
+			return false;
+
+		if (item->refine < this->source_refine_min)
+			return false;
+
+		if (item->refine > this->source_refine_max)
+			return false;
+
+		if (pc_delitem(sd, it.index, it.amount, 0, 0, LOG_TYPE_OTHER) != 0)
+			return false;
+	}
+
+	return true;
+}
+
+s_item_synthesis_source::s_item_synthesis_source()
+	: amount(1)
+{
+}

+ 70 - 0
src/map/item_synthesis.hpp

@@ -0,0 +1,70 @@
+// Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
+// For more information, see LICENCE in the main folder
+
+#ifndef ITEM_SYNTHESIS_HPP
+#define ITEM_SYNTHESIS_HPP
+
+#include <string>
+#include <vector>
+
+#include "../common/cbasetypes.hpp"
+#include "../common/database.hpp"
+#include "../common/mmo.hpp"
+
+#include "clif.hpp"
+#include "pc.hpp" // struct map_session_data
+#include "itemdb.hpp" // struct item_data, struct s_item_group_db
+#include "script.hpp"
+
+#define MAX_SYNTHESIS_SOURCES 10 // Client's limit for source is 10
+
+struct s_item_synthesis_list {
+	uint16 index;
+	uint16 amount;
+};
+
+struct s_item_synthesis_source {
+	uint32 nameid;
+	uint16 amount;
+
+	s_item_synthesis_source();
+};
+
+struct s_item_synthesis_db {
+	uint32 id;
+	uint16 source_needed;
+	std::vector<s_item_synthesis_source> sources;
+	script_code *reward;
+	uint16 source_refine_min;
+	uint16 source_refine_max;
+
+	s_item_synthesis_db();
+	~s_item_synthesis_db();
+
+	bool sourceExists(uint32 source_id);
+	bool checkRequirement(map_session_data *sd, const std::vector<s_item_synthesis_list> items);
+};
+
+class ItemSynthesisDatabase : public TypesafeYamlDatabase<uint32, s_item_synthesis_db> {
+
+public:
+	ItemSynthesisDatabase() : TypesafeYamlDatabase("ITEM_SYNTHESIS_DB", 1) {
+	}
+
+	void clear();
+	const std::string getDefaultLocation();
+	uint64 parseBodyNode(const YAML::Node& node);
+};
+
+extern ItemSynthesisDatabase item_synthesis_db;
+
+bool item_synthesis_open(map_session_data *sd, unsigned int itemid);
+e_item_synthesis_result item_synthesis_submit(map_session_data *sd, unsigned int itemid, const std::vector<s_item_synthesis_list> items);
+
+void item_synthesis_read_db(void);
+void item_synthesis_db_reload(void);
+
+void do_init_item_synthesis(void);
+void do_final_item_synthesis(void);
+
+#endif /* ITEM_SYNTHESIS_HPP */

+ 283 - 0
src/map/item_upgrade.cpp

@@ -0,0 +1,283 @@
+// Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
+// For more information, see LICENCE in the main folder
+
+#include "item_upgrade.hpp"
+
+#include <algorithm>
+#include <memory>
+
+#include "../common/nullpo.hpp"
+#include "../common/showmsg.hpp"
+
+#include "log.hpp" // e_log_pick_type
+
+ItemUpgradeDatabase item_upgrade_db;
+
+void ItemUpgradeDatabase::clear() {
+	TypesafeYamlDatabase::clear();
+}
+
+const std::string ItemUpgradeDatabase::getDefaultLocation() {
+	return std::string(db_path) + "/item_upgrade.yml";
+}
+
+/**
+* Reads and parses an entry from the item_upgrade file.
+* @param node: YAML node containing the entry.
+* @return count of successfully parsed rows
+*/
+uint64 ItemUpgradeDatabase::parseBodyNode(const YAML::Node &node) {
+	uint32 id;
+
+	if (!this->asUInt32(node, "Id", id))
+		return 0;
+
+	std::shared_ptr<s_item_upgrade_db> entry = this->find(id);
+	bool exists = entry != nullptr;
+
+	if (!exists) {
+		if (!this->nodeExists(node, "TargetItem"))
+			return 0;
+
+		if (!this->nodeExists(node, "Result"))
+			return 0;
+
+		entry = std::make_shared<s_item_upgrade_db>();
+		entry->id = id;
+	}
+
+	if (this->nodeExists(node, "Result")) {
+		std::string script_str;
+		script_code *code;
+
+		if (!this->asString(node, "Result", script_str) || !(code = parse_script(script_str.c_str(), this->getCurrentFile().c_str(), id, SCRIPT_IGNORE_EXTERNAL_BRACKETS)) != NULL) {
+			this->invalidWarning(node["Result"], "Invalid item script for 'Result'.\n");
+			return 0;
+		}
+
+		if (entry->result)
+			script_free_code(entry->result);
+
+		entry->result = code;
+	}
+
+	if (this->nodeExists(node, "TargetItem")) {
+		const YAML::Node& targetNode = node["TargetItem"];
+		unsigned int itemid;
+
+		if (!entry->targets.empty())
+			entry->targets.clear();
+
+		for (const YAML::Node &target : targetNode) {
+			if (!this->asUInt32(target, "Item", itemid))
+				continue;
+
+			/*if (!itemdb_exists(itemid)) {
+				this->invalidWarning(target, "Unknown item with ID %u.\n", itemid);
+				continue;
+			}*/
+			entry->targets.push_back(itemid);
+		}
+	}
+
+	if (this->nodeExists(node, "NeedRefineMin")) {
+		this->asUInt16(node, "NeedRefineMin", entry->source_refine_min);
+	}
+
+	if (this->nodeExists(node, "NeedOptionNumMin")) {
+		this->asUInt16(node, "NeedOptionNumMin", entry->source_refine_min);
+	}
+
+	if (this->nodeExists(node, "NotSocketEnchantItem")) {
+		this->asBool(node, "NotSocketEnchantItem", entry->not_socket_enchant);
+	}
+
+	if (!exists)
+		this->put(id, entry);
+
+	return 1;
+}
+
+/*
+* Attempt to open synthesis UI for a player
+* @param sd Open UI for this player
+* @param itemid ID of synthesis UI
+* @return True on succes, false on failure
+*/
+bool item_upgrade_open(map_session_data *sd, unsigned int itemid) {
+	nullpo_retr(false, sd);
+
+	if (sd->state.vending || sd->state.buyingstore || sd->state.trading || sd->state.storage_flag || sd->state.prevend || sd->state.lapine_ui)
+		return false;
+
+	if (pc_is90overweight(sd) || !pc_inventoryblank(sd)) {
+		clif_msg(sd, ITEM_CANT_OBTAIN_WEIGHT);
+		return false;
+	}
+
+#ifndef ITEMID_INT32_SUPPORTED
+	if (itemid >= UINT16_MAX) {
+		ShowError("item_upgrade_open: ID '%u' is not supported by your system. Max ID is %hu.\n", itemid, UINT16_MAX);
+		return false;
+	}
+#endif
+
+	if (!item_upgrade_db.exists(itemid))
+		return false;
+
+	if (clif_lapine_upgrade_open(sd, itemid)) {
+		sd->last_lapine_box = itemid;
+		sd->state.lapine_ui = 2;
+	}
+
+	return true;
+}
+
+e_item_upgrade_result item_upgrade_submit(map_session_data *sd, unsigned int source_itemid, uint16 target_index) {
+	nullpo_retr(LAPINE_UPRAGDE_FAILURE, sd);
+
+	if (!sd->state.lapine_ui || source_itemid != sd->last_lapine_box) {
+		sd->state.lapine_ui = sd->last_lapine_box = 0;
+		return LAPINE_UPRAGDE_FAILURE;
+	}
+
+	item *it;
+
+	if (target_index >= MAX_INVENTORY || !sd->inventory_data[target_index] || !(it = &sd->inventory.u.items_inventory[target_index]))
+		return LAPINE_UPRAGDE_FAILURE;
+
+	if (it->expire_time || it->equip)
+		return LAPINE_UPRAGDE_FAILURE;
+
+	auto info = item_upgrade_db.find(source_itemid);
+
+	if (!info || !info->targetExists(it->nameid) || !info->checkRequirement(it, sd->inventory_data[target_index]))
+		return LAPINE_UPRAGDE_FAILURE;
+
+	pc_setparam(sd, SP_LAST_LAPINE_UPGRADE_ITEM, it->nameid);
+	pc_setparam(sd, SP_LAST_LAPINE_UPGRADE_INDEX, target_index);
+
+	pc_setreg(sd, add_str("@last_lapine_id"), it->nameid);
+	pc_setreg(sd, add_str("@last_lapine_idx"), target_index);
+	pc_setreg(sd, add_str("@last_lapine_refine"), it->refine);
+	pc_setreg(sd, add_str("@last_lapine_identify"), it->identify);
+	pc_setreg(sd, add_str("@last_lapine_attribute"), it->attribute);
+	pc_setreg(sd, add_str("@last_lapine_card1"), it->card[0]);
+	pc_setreg(sd, add_str("@last_lapine_card2"), it->card[1]);
+	pc_setreg(sd, add_str("@last_lapine_card3"), it->card[2]);
+	pc_setreg(sd, add_str("@last_lapine_card4"), it->card[3]);
+	pc_setreg(sd, add_str("@last_lapine_expire"), it->expire_time);
+	pc_setreg(sd, add_str("@last_lapine_bound"), it->bound);
+
+	char unique_id[23];
+	memset(unique_id, '\0', sizeof(unique_id));
+	snprintf(unique_id, sizeof(unique_id), "%llu", (unsigned long long)it->unique_id);
+	pc_setregstr(sd, add_str("@last_lapine_uniqueid$"), unique_id);
+
+	int key_opt_id = 0, key_opt_value = 0, key_opt_param = 0;
+	script_cleararray_pc(sd, "@last_lapine_option_id", (void*)0);
+	script_cleararray_pc(sd, "@last_lapine_option_value", (void*)0);
+	script_cleararray_pc(sd, "@last_lapine_option_param", (void*)0);
+	for (int i = 0; i < MAX_ITEM_RDM_OPT; i++) {
+		script_setarray_pc(sd, "@last_lapine_option_id", i, (void*)(intptr_t)it->option[i].id, &key_opt_id);
+		script_setarray_pc(sd, "@last_lapine_option_value", i, (void*)(intptr_t)it->option[i].value, &key_opt_value);
+		script_setarray_pc(sd, "@last_lapine_option_param", i, (void*)(intptr_t)it->option[i].param, &key_opt_param);
+	}
+
+	if (info->delete_target_onsuccess)
+		pc_delitem(sd, target_index, 1, 0, 0, LOG_TYPE_OTHER);
+	sd->state.lapine_ui = sd->last_lapine_box = 0;
+
+	if (info->result)
+		run_script(info->result, 0, sd->status.account_id, 0);
+
+	return LAPINE_UPRAGDE_SUCCESS;
+}
+
+/**
+* Loads item_upgrade db
+*/
+void item_upgrade_read_db(void)
+{
+	item_upgrade_db.load();
+}
+
+/**
+* Reloads the achievement database
+*/
+void item_upgrade_db_reload(void)
+{
+	do_final_item_upgrade();
+	do_init_item_upgrade();
+}
+
+/**
+* Initializes the achievement database
+*/
+void do_init_item_upgrade(void)
+{
+	item_upgrade_db.load();
+}
+
+/**
+* Finalizes the achievement database
+*/
+void do_final_item_upgrade(void) {
+	item_upgrade_db.clear();
+}
+
+/**
+* Constructor
+*/
+s_item_upgrade_db::s_item_upgrade_db()
+	: targets()
+	, result(nullptr)
+	, source_refine_min(0)
+	, need_option_num(0)
+	, not_socket_enchant(false)
+	, delete_target_onsuccess(true)
+{}
+
+/**
+* Destructor
+*/
+s_item_upgrade_db::~s_item_upgrade_db()
+{
+	if (this->result) {
+		script_free_code(this->result);
+		this->result = nullptr;
+	}
+}
+
+bool s_item_upgrade_db::targetExists(uint32 target_id)
+{
+	if (this->targets.empty())
+		return false;
+	auto target = std::find(this->targets.begin(), this->targets.end(), target_id);
+	return (target != this->targets.end());
+}
+
+bool s_item_upgrade_db::checkRequirement(item * it, item_data *id)
+{
+	if (this->source_refine_min > it->refine)
+		return false;
+
+	if (this->not_socket_enchant) {
+		for (int i = id->slot; i < MAX_SLOTS; i++) {
+			if (it->card[i])
+				return false;
+		}
+	}
+
+	if (this->need_option_num) {
+		int c = 0;
+		for (int i = 0; i < MAX_ITEM_RDM_OPT; i++) {
+			if (it->option[i].id)
+				c++;
+		}
+		if (c < this->need_option_num)
+			return false;
+	}
+
+	return true;
+}

+ 57 - 0
src/map/item_upgrade.hpp

@@ -0,0 +1,57 @@
+// Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
+// For more information, see LICENCE in the main folder
+
+#ifndef ITEM_UPGRADE_HPP
+#define ITEM_UPGRADE_HPP
+
+#include <string>
+#include <vector>
+
+#include "../common/cbasetypes.hpp"
+#include "../common/database.hpp"
+#include "../common/mmo.hpp"
+
+#include "clif.hpp"
+#include "pc.hpp" // struct map_session_data
+#include "itemdb.hpp" // struct item_data, struct s_item_group_db
+#include "script.hpp"
+
+struct s_item_upgrade_db {
+	uint32 id;
+	std::vector<uint32> targets;
+	script_code *result;
+	uint16 source_refine_min;
+	uint16 need_option_num;
+	bool not_socket_enchant;
+	bool delete_target_onsuccess;
+
+	s_item_upgrade_db();
+	~s_item_upgrade_db();
+
+	bool targetExists(uint32 target_id);
+	bool checkRequirement(item *it, item_data *id);
+};
+
+class ItemUpgradeDatabase : public TypesafeYamlDatabase<uint32, s_item_upgrade_db> {
+
+public:
+	ItemUpgradeDatabase() : TypesafeYamlDatabase("ITEM_UPGRADE_DB", 1) {
+	}
+
+	void clear();
+	const std::string getDefaultLocation();
+	uint64 parseBodyNode(const YAML::Node& node);
+};
+
+extern ItemUpgradeDatabase item_upgrade_db;
+
+bool item_upgrade_open(map_session_data *sd, unsigned int itemid);
+e_item_upgrade_result item_upgrade_submit(map_session_data *sd, unsigned int source_itemid, uint16 target_index);
+
+void item_upgrade_read_db(void);
+void item_upgrade_db_reload(void);
+
+void do_init_item_upgrade(void);
+void do_final_item_upgrade(void);
+
+#endif /* ITEM_UPGRADE_HPP */

+ 47 - 0
src/map/itemdb.hpp

@@ -732,6 +732,53 @@ enum e_random_item_group {
 	IG_PRIZEOFHERO,
 	IG_PRIVATE_AIRSHIP,
 	IG_TOKEN_OF_SIEGFRIED,
+	IG_BS_SHA_M_S_1,
+	IG_BS_SHA_M_S_17,
+	IG_BS_SHA_M_S_18,
+	IG_BS_SHA_M_S_19,
+	IG_BS_SHA_M_S_20,
+	IG_BS_ITEM_M_S_12,
+	IG_BS_ITEM_M_S_15,
+	IG_BS_SHA_M_S_5,
+	IG_BS_SHA_M_S_6,
+	IG_BS_SHA_M_S_7,
+	IG_BS_SHA_M_S_8,
+	IG_BS_SHA_M_S_13,
+	IG_BS_SHA_M_S_15,
+	IG_BS_SHA_M_S_16,
+	IG_BS_SHA_M_S_23,
+	IG_BS_ITEM_M_S_5,
+	IG_BS_SHA_M_S_9,
+	IG_BS_SHA_M_S_10,
+	IG_IG_BS_SHA_M_S_11,
+	IG_BS_SHA_M_S_21,
+	IG_BS_SHA_M_S_22,
+	IG_BS_SHA_M_S_3,
+	IG_BS_SHA_M_S_4,
+	IG_BS_SHA_M_S_12,
+	IG_BS_SHA_M_S_14,
+	IG_BS_SHA_M_S_24,
+	IG_BS_SHA_M_S_25,
+	IG_PHYSICALMAGICAL_MIX,
+	IG_SILVER_STATUE,
+	IG_STABILITY_SHADOW_BOX,
+	IG_RACE_SHADOW_BOX,
+	IG_BEARERS_S_CONVERSION_BOX,
+	IG_GEMSTONE_S_CONVERSION_BOX,
+	IG_STATUS_S_CONVERSION_BOX,
+	IG_SHADOW_EXCHANGE_BOX,
+	IG_COSTUME_ENCHANT_STONE_BOX,
+	IG_PIERCING_SHADOW_BOX,
+	IG_ENCHANTSTONE_RECIPE_4M,
+	IG_ENCHANTSTONE_RECIPE_9M,
+	IG_CLASS_SHADOW_PENDANT,
+	IG_CLASS_SHADOW_EARRING,
+	IG_CLASS_SHADOW_SHIELD,
+	IG_CLASS_SHADOW_SHOES,
+	IG_CLASS_SHADOW_ARMOR,
+	IG_CLASS_SHADOW_WEAPON,
+	IG_COSTUME_EXCHANGE_BOX,
+	IG_COLLECTIBLES_EXCHANGE_BOX,
 };
 
 /// Enum for bound/sell restricted selling

+ 6 - 0
src/map/map-server.vcxproj

@@ -185,6 +185,8 @@
     <ClInclude Include="instance.hpp" />
     <ClInclude Include="intif.hpp" />
     <ClInclude Include="itemdb.hpp" />
+    <ClInclude Include="item_synthesis.hpp" />
+    <ClInclude Include="item_upgrade.hpp" />
     <ClInclude Include="log.hpp" />
     <ClInclude Include="mail.hpp" />
     <ClInclude Include="map.hpp" />
@@ -228,6 +230,8 @@
     <ClCompile Include="instance.cpp" />
     <ClCompile Include="intif.cpp" />
     <ClCompile Include="itemdb.cpp" />
+    <ClCompile Include="item_synthesis.cpp" />
+    <ClCompile Include="item_upgrade.cpp" />
     <ClCompile Include="log.cpp" />
     <ClCompile Include="mail.cpp" />
     <ClCompile Include="map.cpp" />
@@ -324,6 +328,8 @@
     <Copy SourceFiles="$(SolutionDir)db\import-tmpl\item_randomopt_group.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\item_randomopt_group.txt')" />
     <Copy SourceFiles="$(SolutionDir)db\import-tmpl\item_stack.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\item_stack.txt')" />
     <Copy SourceFiles="$(SolutionDir)db\import-tmpl\item_trade.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\item_trade.txt')" />
+    <Copy SourceFiles="$(SolutionDir)db\import-tmpl\item_synthesis.yml" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\item_synthesis.yml')" />
+    <Copy SourceFiles="$(SolutionDir)db\import-tmpl\item_upgrade.yml" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\item_upgrade.yml')" />
     <Copy SourceFiles="$(SolutionDir)db\import-tmpl\item_violetbox.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\item_violetbox.txt')" />
     <Copy SourceFiles="$(SolutionDir)db\import-tmpl\job_basehpsp_db.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\job_basehpsp_db.txt')" />
     <Copy SourceFiles="$(SolutionDir)db\import-tmpl\job_db1.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\job_db1.txt')" />

+ 6 - 0
src/map/map-server.vcxproj.filters

@@ -143,6 +143,9 @@
     <ClInclude Include="vending.hpp">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="item_upgrade.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="achievement.cpp">
@@ -268,5 +271,8 @@
     <ClCompile Include="vending.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="item_upgrade.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>

+ 6 - 0
src/map/map.cpp

@@ -37,6 +37,8 @@
 #include "homunculus.hpp"
 #include "instance.hpp"
 #include "intif.hpp"
+#include "item_upgrade.hpp"
+#include "item_synthesis.hpp"
 #include "log.hpp"
 #include "mapreg.hpp"
 #include "mercenary.hpp"
@@ -5018,6 +5020,8 @@ void do_final(void){
 	do_final_channel(); //should be called after final guild
 	do_final_vending();
 	do_final_buyingstore();
+	do_final_item_upgrade();
+	do_final_item_synthesis();
 	do_final_path();
 
 	map_db->destroy(map_db, map_db_final);
@@ -5342,6 +5346,8 @@ int do_init(int argc, char *argv[])
 	do_init_elemental();
 	do_init_quest();
 	do_init_achievement();
+	do_init_item_upgrade();
+	do_init_item_synthesis();
 	do_init_npc();
 	do_init_unit();
 	do_init_battleground();

+ 1 - 0
src/map/map.hpp

@@ -436,6 +436,7 @@ enum _sp {
 	SP_ROULETTE_GOLD = 130,
 	SP_CASHPOINTS, SP_KAFRAPOINTS,
 	SP_PCDIECOUNTER, SP_COOKMASTERY,
+	SP_LAST_LAPINE_UPGRADE_ITEM, SP_LAST_LAPINE_UPGRADE_INDEX,
 
 	// Mercenaries
 	SP_MERCFLEE=165, SP_MERCKILLS=189, SP_MERCFAITH=190,

+ 8 - 0
src/map/pc.cpp

@@ -8519,6 +8519,8 @@ int pc_readparam(struct map_session_data* sd,int type)
 #else
 			val = sd->castrate; break;
 #endif
+		case SP_LAST_LAPINE_UPGRADE_ITEM: val = sd->last_lapine_upgrade_item; break;
+		case SP_LAST_LAPINE_UPGRADE_INDEX: val = sd->last_lapine_upgrade_index; break;
 		default:
 			ShowError("pc_readparam: Attempt to read unknown parameter '%d'.\n", type);
 			return -1;
@@ -8742,6 +8744,12 @@ bool pc_setparam(struct map_session_data *sd,int type,int val)
 		sd->cook_mastery = val;
 		pc_setglobalreg(sd, add_str(COOKMASTERY_VAR), sd->cook_mastery);
 		return true;
+	case SP_LAST_LAPINE_UPGRADE_ITEM:
+		sd->last_lapine_upgrade_item = val;
+		return true;
+	case SP_LAST_LAPINE_UPGRADE_INDEX:
+		sd->last_lapine_upgrade_index = val;
+		return true;
 	default:
 		ShowError("pc_setparam: Attempted to set unknown parameter '%d'.\n", type);
 		return false;

+ 5 - 1
src/map/pc.hpp

@@ -311,6 +311,7 @@ struct map_session_data {
 		bool mail_writing; // Whether the player is currently writing a mail in RODEX or not
 		bool cashshop_open;
 		bool sale_open;
+		unsigned int lapine_ui : 2; // Lapine Synthesis/Upgrade UI is opened
 		unsigned int block_action : 10;
 	} state;
 	struct {
@@ -748,6 +749,9 @@ struct map_session_data {
 
 	unsigned short instance_id;
 	short setlook_head_top, setlook_head_mid, setlook_head_bottom, setlook_robe; ///< Stores 'setlook' script command values.
+	unsigned int last_lapine_box;
+	unsigned int last_lapine_upgrade_item;
+	uint8 last_lapine_upgrade_index;
 
 #if PACKETVER >= 20150513
 	uint32* hatEffectIDs;
@@ -895,7 +899,7 @@ extern struct s_job_info job_info[CLASS_COUNT];
 #define pc_issit(sd)          ( (sd)->vd.dead_sit == 2 )
 #define pc_isidle(sd)         ( (sd)->chatID || (sd)->state.vending || (sd)->state.buyingstore || DIFF_TICK(last_tick, (sd)->idletime) >= battle_config.idle_no_share )
 #define pc_istrading(sd)      ( (sd)->npc_id || (sd)->state.vending || (sd)->state.buyingstore || (sd)->state.trading )
-#define pc_cant_act(sd)       ( (sd)->npc_id || (sd)->state.vending || (sd)->state.buyingstore || (sd)->chatID || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend )
+#define pc_cant_act(sd)       ( (sd)->npc_id || (sd)->state.vending || (sd)->state.buyingstore || (sd)->chatID || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend || (sd)->state.lapine_ui )
 
 /* equals pc_cant_act except it doesn't check for chat rooms or npcs */
 #define pc_cant_act2(sd)       ( (sd)->state.vending || (sd)->state.buyingstore || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend )

+ 30 - 0
src/map/script.cpp

@@ -46,6 +46,8 @@
 #include "instance.hpp"
 #include "intif.hpp"
 #include "itemdb.hpp"
+#include "item_synthesis.hpp"
+#include "item_upgrade.hpp"
 #include "log.hpp"
 #include "mail.hpp"
 #include "map.hpp"
@@ -24410,6 +24412,32 @@ BUILDIN_FUNC(getvariableofinstance)
 	return SCRIPT_CMD_SUCCESS;
 }
 
+/** Open Item Synthesis UI
+* synthesisui(<id>);
+*/
+BUILDIN_FUNC(synthesisui) {
+	TBL_PC *sd;
+	if (!script_charid2sd(3, sd)) {
+		script_pushint(st, 0);
+		return SCRIPT_CMD_FAILURE;
+	}
+	script_pushint(st, item_synthesis_open(sd, script_getnum(st, 2)));
+	return SCRIPT_CMD_SUCCESS;
+}
+
+/** Open Item Upgrade UI
+* upgradeui(<id>);
+*/
+BUILDIN_FUNC(upgradeui) {
+	TBL_PC *sd;
+	if (!script_charid2sd(3, sd)) {
+		script_pushint(st, 0);
+		return SCRIPT_CMD_FAILURE;
+	}
+	script_pushint(st, item_upgrade_open(sd, script_getnum(st, 2)));
+	return SCRIPT_CMD_SUCCESS;
+}
+
 /*
   convertpcinfo(<char_id>,<type>)
   convertpcinfo(<account_id>,<type>)
@@ -25132,6 +25160,8 @@ struct script_function buildin_func[] = {
 
 	BUILDIN_DEF(achievement_condition,"i"),
 	BUILDIN_DEF(getvariableofinstance,"ri"),
+	BUILDIN_DEF(synthesisui, "i"),
+	BUILDIN_DEF(upgradeui, "i"),
 	BUILDIN_DEF(convertpcinfo,"vi"),
 #include "../custom/script_def.inc"
 

+ 49 - 0
src/map/script_constants.hpp

@@ -526,6 +526,8 @@
 	export_parameter(KAFRAPOINT_VAR, SP_KAFRAPOINTS);
 	export_parameter(PCDIECOUNTER_VAR, SP_PCDIECOUNTER);
 	export_parameter(COOKMASTERY_VAR, SP_COOKMASTERY);
+	export_parameter("LapineUpgradeItem", SP_LAST_LAPINE_UPGRADE_ITEM);
+	export_parameter("LapineUpgradeIndex", SP_LAST_LAPINE_UPGRADE_INDEX);
 
 	export_constant2("bMaxHP",SP_MAXHP);
 	export_constant2("bMaxSP",SP_MAXSP);
@@ -4852,6 +4854,53 @@
 	export_constant(IG_PRIZEOFHERO);
 	export_constant(IG_PRIVATE_AIRSHIP);
 	export_constant(IG_TOKEN_OF_SIEGFRIED);
+	export_constant(IG_BS_SHA_M_S_1);
+	export_constant(IG_BS_SHA_M_S_17);
+	export_constant(IG_BS_SHA_M_S_18);
+	export_constant(IG_BS_SHA_M_S_19);
+	export_constant(IG_BS_SHA_M_S_20);
+	export_constant(IG_BS_ITEM_M_S_12);
+	export_constant(IG_BS_ITEM_M_S_15);
+	export_constant(IG_BS_SHA_M_S_5);
+	export_constant(IG_BS_SHA_M_S_6);
+	export_constant(IG_BS_SHA_M_S_7);
+	export_constant(IG_BS_SHA_M_S_8);
+	export_constant(IG_BS_SHA_M_S_13);
+	export_constant(IG_BS_SHA_M_S_15);
+	export_constant(IG_BS_SHA_M_S_16);
+	export_constant(IG_BS_SHA_M_S_23);
+	export_constant(IG_BS_ITEM_M_S_5);
+	export_constant(IG_BS_SHA_M_S_9);
+	export_constant(IG_BS_SHA_M_S_10);
+	export_constant(IG_IG_BS_SHA_M_S_11);
+	export_constant(IG_BS_SHA_M_S_21);
+	export_constant(IG_BS_SHA_M_S_22);
+	export_constant(IG_BS_SHA_M_S_3);
+	export_constant(IG_BS_SHA_M_S_4);
+	export_constant(IG_BS_SHA_M_S_12);
+	export_constant(IG_BS_SHA_M_S_14);
+	export_constant(IG_BS_SHA_M_S_24);
+	export_constant(IG_BS_SHA_M_S_25);
+	export_constant(IG_PHYSICALMAGICAL_MIX);
+	export_constant(IG_SILVER_STATUE);
+	export_constant(IG_STABILITY_SHADOW_BOX);
+	export_constant(IG_RACE_SHADOW_BOX);
+	export_constant(IG_BEARERS_S_CONVERSION_BOX);
+	export_constant(IG_GEMSTONE_S_CONVERSION_BOX);
+	export_constant(IG_STATUS_S_CONVERSION_BOX);
+	export_constant(IG_SHADOW_EXCHANGE_BOX);
+	export_constant(IG_COSTUME_ENCHANT_STONE_BOX);
+	export_constant(IG_PIERCING_SHADOW_BOX);
+	export_constant(IG_ENCHANTSTONE_RECIPE_4M);
+	export_constant(IG_ENCHANTSTONE_RECIPE_9M);
+	export_constant(IG_CLASS_SHADOW_PENDANT);
+	export_constant(IG_CLASS_SHADOW_EARRING);
+	export_constant(IG_CLASS_SHADOW_SHIELD);
+	export_constant(IG_CLASS_SHADOW_SHOES);
+	export_constant(IG_CLASS_SHADOW_ARMOR);
+	export_constant(IG_CLASS_SHADOW_WEAPON);
+	export_constant(IG_COSTUME_EXCHANGE_BOX);
+	export_constant(IG_COLLECTIBLES_EXCHANGE_BOX);
 
 	/* unit stop walking */
 	export_constant(USW_NONE);