summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/pre-re/item_lapineddukddak.conf2318
-rw-r--r--db/re/item_lapineddukddak.conf2318
-rw-r--r--doc/script_commands.txt6
-rw-r--r--src/map/clif.c107
-rw-r--r--src/map/clif.h10
-rw-r--r--src/map/itemdb.c102
-rw-r--r--src/map/itemdb.h12
-rw-r--r--src/map/packets.h8
-rw-r--r--src/map/packets_struct.h39
-rw-r--r--src/map/pc.h5
-rw-r--r--src/map/script.c37
-rw-r--r--src/map/script.h1
12 files changed, 4961 insertions, 2 deletions
diff --git a/db/pre-re/item_lapineddukddak.conf b/db/pre-re/item_lapineddukddak.conf
new file mode 100644
index 000000000..2b58bc075
--- /dev/null
+++ b/db/pre-re/item_lapineddukddak.conf
@@ -0,0 +1,2318 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018-2019 Hercules Dev Team
+//= Copyright (C) 2018-2019 Asheraf
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+<Box_Item_Const>: {
+ NeedCount: (int, defaults to 0) The required amount of unique items
+ NeedRefineMin: (int, defaults to 0) The minimum refine for each of the items
+ NeedRefineMax: (int, defaults to 0) The maximum refine for each of the items
+ SourceItems: { A list of allowed items to be converted with specific amount for each item
+ <Item_Const>: <amount> (string, int)
+ ...
+ }
+ Script: <"
+ Script (it can be multi-line)
+ Executes on success
+ ">
+}
+**************************************************************************/
+/*
+22529: {
+ NeedCount: 3
+ SourceItems: {
+ S_CriticalHit_Armor: 1
+ // 24018: 1
+ // 24019: 1
+ // 24020: 1
+ // 24021: 1
+ // 24022: 1
+ // 24023: 1
+ // 24024: 1
+ // 24025: 1
+ // 24026: 1
+ // 24027: 1
+ // 24028: 1
+ // 24029: 1
+ // 24030: 1
+ // 24031: 1
+ // 24032: 1
+ // 24033: 1
+ // 24034: 1
+ // 24035: 1
+ // 24036: 1
+ // 24037: 1
+ // 24038: 1
+ // 24039: 1
+ // 24040: 1
+ // 24041: 1
+ // 24042: 1
+ // 24043: 1
+ // 24044: 1
+ // 24045: 1
+ // 24046: 1
+ // 24047: 1
+ // 24048: 1
+ // 24049: 1
+ // 24050: 1
+ // 24051: 1
+ // 24052: 1
+ // 24053: 1
+ // 24054: 1
+ // 24055: 1
+ // 24056: 1
+ // 24057: 1
+ // 24058: 1
+ // 24059: 1
+ // 24060: 1
+ // 24061: 1
+ // 24062: 1
+ // 24063: 1
+ // 24064: 1
+ // 24065: 1
+ // 24066: 1
+ // 24067: 1
+ // 24068: 1
+ // 24069: 1
+ // 24070: 1
+ // 24071: 1
+ // 24072: 1
+ // 24073: 1
+ // 24074: 1
+ // 24075: 1
+ // 24076: 1
+ // 24077: 1
+ // 24078: 1
+ // 24079: 1
+ // 24080: 1
+ // 24081: 1
+ // 24082: 1
+ // 24083: 1
+ // 24084: 1
+ // 24085: 1
+ // 24086: 1
+ // 24087: 1
+ // 24088: 1
+ // 24089: 1
+ // 24090: 1
+ // 24091: 1
+ // 24092: 1
+ // 24093: 1
+ // 24094: 1
+ // 24095: 1
+ // 24096: 1
+ // 24097: 1
+ // 24098: 1
+ // 24099: 1
+ // 24100: 1
+ // 24101: 1
+ // 24102: 1
+ // 24103: 1
+ // 24104: 1
+ // 24105: 1
+ // 24106: 1
+ // 24107: 1
+ // 24108: 1
+ // 24109: 1
+ // 24110: 1
+ // 24111: 1
+ // 24112: 1
+ // 24113: 1
+ // 24114: 1
+ // 24115: 1
+ // 24116: 1
+ // 24117: 1
+ // 24118: 1
+ // 24119: 1
+ // 24120: 1
+ // 24121: 1
+ // 24122: 1
+ // 24123: 1
+ // 24124: 1
+ // 24125: 1
+ // 24126: 1
+ // 24127: 1
+ // 24128: 1
+ // 24129: 1
+ // 24130: 1
+ // 24131: 1
+ // 24132: 1
+ // 24133: 1
+ // 24134: 1
+ // 24135: 1
+ // 24136: 1
+ // 24137: 1
+ // 24138: 1
+ // 24139: 1
+ // 24140: 1
+ // 24141: 1
+ // 24142: 1
+ // 24143: 1
+ // 24144: 1
+ // 24145: 1
+ // 24146: 1
+ // 24147: 1
+ // 24148: 1
+ // 24149: 1
+ // 24150: 1
+ // 24151: 1
+ // 24152: 1
+ // 24153: 1
+ // 24154: 1
+ // 24155: 1
+ // 24156: 1
+ // 24157: 1
+ // 24158: 1
+ // 24159: 1
+ // 24160: 1
+ // 24161: 1
+ // 24162: 1
+ // 24163: 1
+ // 24164: 1
+ // 24165: 1
+ // 24166: 1
+ // 24167: 1
+ // 24168: 1
+ // 24169: 1
+ // 24170: 1
+ // 24171: 1
+ // 24172: 1
+ // 24173: 1
+ // 24174: 1
+ // 24175: 1
+ // 24176: 1
+ // 24177: 1
+ // 24178: 1
+ // 24179: 1
+ // 24180: 1
+ // 24181: 1
+ // 24182: 1
+ // 24183: 1
+ // 24184: 1
+ // 24185: 1
+ // 24186: 1
+ // 24187: 1
+ // 24188: 1
+ // 24189: 1
+ // 24190: 1
+ // 24191: 1
+ // 24192: 1
+ // 24193: 1
+ // 24194: 1
+ // 24195: 1
+ // 24196: 1
+ // 24197: 1
+ // 24198: 1
+ // 24199: 1
+ // 24200: 1
+ // 24201: 1
+ // 24202: 1
+ // 24203: 1
+ // 24204: 1
+ // 24205: 1
+ // 24206: 1
+ // 24207: 1
+ // 24208: 1
+ // 24209: 1
+ // 24210: 1
+ // 24211: 1
+ // 24212: 1
+ // 24213: 1
+ // 24214: 1
+ // 24215: 1
+ // 24216: 1
+ // 24217: 1
+ // 24218: 1
+ // 24219: 1
+ // 24220: 1
+ // 24221: 1
+ // 24222: 1
+ // 24223: 1
+ // 24224: 1
+ // 24225: 1
+ // 24226: 1
+ // 24227: 1
+ // 24228: 1
+ // 24229: 1
+ // 24230: 1
+ // 24231: 1
+ // 24232: 1
+ // 24233: 1
+ // 24234: 1
+ // 24235: 1
+ // 24236: 1
+ // 24237: 1
+ // 24238: 1
+ // 24239: 1
+ // 24240: 1
+ // 24241: 1
+ // 24242: 1
+ // 24243: 1
+ // 24244: 1
+ // 24245: 1
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ // 24320: 1
+ // 24321: 1
+ // 24322: 1
+ // 24323: 1
+ // 24324: 1
+ // 24325: 1
+ // 24326: 1
+ // 24327: 1
+ // 24328: 1
+ // 24329: 1
+ // 24330: 1
+ // 24331: 1
+ // 24332: 1
+ // 24333: 1
+ // 24334: 1
+ // 24335: 1
+ // 24336: 1
+ // 24337: 1
+ // 24338: 1
+ // 24339: 1
+ // 24340: 1
+ // 24345: 1
+ // 24346: 1
+ // 24347: 1
+ // 24348: 1
+ // 24349: 1
+ // 24350: 1
+ // 24351: 1
+ // 24352: 1
+ // 24353: 1
+ // 24354: 1
+ // 24355: 1
+ // 24356: 1
+ // 24357: 1
+ // 24358: 1
+ // 24359: 1
+ // 24360: 1
+ // 24361: 1
+ // 24362: 1
+ // 24363: 1
+ // 24364: 1
+ // 24365: 1
+ // 24366: 1
+ // 24367: 1
+ // 24368: 1
+ // 24369: 1
+ // 24370: 1
+ // 24371: 1
+ // 24372: 1
+ // 24373: 1
+ // 24374: 1
+ // 24375: 1
+ // 24376: 1
+ // 24377: 1
+ // 24378: 1
+ // 24379: 1
+ Sentimental_Weapone_S: 1
+ Sentimental_Earring_S: 1
+ Sentimental_Pendant_S: 1
+ Enchanting_Weapone_S: 1
+ Enchanting_Earring_S: 1
+ Enchanting_Pendant_S: 1
+ S_Infinity_Weapon: 1
+ S_Physical_Shoes: 1
+ S_Physical_Shield: 1
+ S_Physical_Armor: 1
+ S_Magical_Shoes: 1
+ S_Magical_Shield: 1
+ S_Magical_Armor: 1
+ S_ImmunedAthena_Shield: 1
+ S_HardChamption_Shoes: 1
+ S_KingbirdAncient_Armor: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Armor: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Armor: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Armor: 1
+ S_Soul_Reaper_Shoes: 1
+ S_Tempest_Weapon: 1
+ S_Tempest_Armor: 1
+ S_PerfectSize_Weapon: 1
+ S_PerfectSize_Armor: 1
+ S_M_Exo_Co_Weapon: 1
+ S_M_Viv_Dr_Weapon: 1
+ S_M_Sci_Hu_Weapon: 1
+ S_M_Fis_In_Weapon: 1
+ S_M_Exe_Ho_Weapon: 1
+ S_Penetration_Weapon: 1
+ S_Penetration_Armor: 1
+ S_Exe_Ho_Weapon: 1
+ S_Fis_In_Weapon: 1
+ S_Sci_Hu_Weapon: 1
+ S_Viv_Dr_Weapon: 1
+ S_Exo_Co_Weapon: 1
+ S_Hasty_Weapon: 1
+ S_Sonic_Armor: 1
+ S_Sonic_Shield: 1
+ S_Sonic_Shoes: 1
+ S_Ignition_Weapon: 1
+ S_Ignition_Pendant: 1
+ S_Ignition_Earing: 1
+ S_W_Breath_Armor: 1
+ S_W_Breath_Shield: 1
+ S_W_Breath_Shoes: 1
+ S_F_Breath_Weapon: 1
+ S_F_Breath_Pendant: 1
+ S_F_Breath_Earing: 1
+ S_Cluster_Armor: 1
+ S_Cluster_Shield: 1
+ S_Cluster_Shoes: 1
+ S_Aimed_Weapon: 1
+ S_Aimed_Pendant: 1
+ S_Aimed_Earing: 1
+ S_Arrow_Armor: 1
+ S_Arrow_Shield: 1
+ S_Arrow_Shoes: 1
+ S_Shooting_Weapon: 1
+ S_Shooting_Pendant: 1
+ S_Shooting_Earing: 1
+ S_Tornado_Armor: 1
+ S_Tornado_Shield: 1
+ S_Tornado_Shoes: 1
+ S_Boomerang_Weapon: 1
+ S_Boomerang_Pendant: 1
+ S_Boomerang_Earing: 1
+ S_Vulcan_Armor: 1
+ S_Vulcan_Shield: 1
+ S_Vulcan_Shoes: 1
+ S_Arms_Weapon: 1
+ S_Arms_Pendant: 1
+ S_Arms_Earing: 1
+ S_Rampage_Armor: 1
+ S_Rampage_Shield: 1
+ S_Rampage_Shoes: 1
+ S_Skynetblow_Weapon: 1
+ S_Skynetblow_Pendant: 1
+ S_Skynetblow_Earing: 1
+ S_Knucklearrow_Armor: 1
+ S_Knucklearrow_Shield: 1
+ S_Knucklearrow_Shoes: 1
+ S_TigerCannon_Weapon: 1
+ S_Tigercannon_Pendant: 1
+ S_Tigercannon_Earing: 1
+ S_Duplelight_Armor: 1
+ S_Duplelight_Shield: 1
+ S_Duplelight_Shoes: 1
+ S_Adoramus_Weapon: 1
+ S_Adoramus_Pendant: 1
+ S_Adoramus_Earing: 1
+ S_Judex_Armor: 1
+ S_Judex_Shield: 1
+ S_Judex_Shoes: 1
+ S_Magnus_Weapon: 1
+ S_Magnus_Pendant: 1
+ S_Magnus_Earing: 1
+ S_Rainstorm_Armor: 1
+ S_Rainstorm_Shield: 1
+ S_Rainstorm_Shoes: 1
+ S_Arrowvulcan_Weapon: 1
+ S_Arrowvulcan_Pendant: 1
+ S_Arrowvulcan_Earing: 1
+ S_Metalic_Armor: 1
+ S_Metalic_Shield: 1
+ S_Metalic_Shoes: 1
+ S_Reverberation_Weapon: 1
+ S_Reverberation_Pendant: 1
+ S_Reverberation_Earing: 1
+ S_Jack_Armor: 1
+ S_Jack_Shield: 1
+ S_Jack_Shoes: 1
+ S_Strain_Weapon: 1
+ S_Strain_Pendant: 1
+ S_Strain_Earing: 1
+ S_Crimson_Armor: 1
+ S_Crimson_Shield: 1
+ S_Crimson_Shoes: 1
+ S_Chain_Weapon: 1
+ S_Chain_Pendant: 1
+ S_Chain_Earing: 1
+ S_Triangle_Armor: 1
+ S_Triangle_Shield: 1
+ S_Triangle_Shoes: 1
+ S_Shadowspell_Weapon: 1
+ S_Shadowspell_Pendant: 1
+ S_Shadowspell_Earing: 1
+ S_Menace_Armor: 1
+ S_Menace_Shield: 1
+ S_Menace_Shoes: 1
+ S_Paint_Weapon: 1
+ S_Paint_Pendant: 1
+ S_Paint_Earing: 1
+ S_Rolling_Armor: 1
+ S_Rolling_Shield: 1
+ S_Rolling_Shoes: 1
+ S_Katar_Weapon: 1
+ S_Katar_Pendant: 1
+ S_Katar_Earing: 1
+ S_Slash_Armor: 1
+ S_Slash_Shield: 1
+ S_Slash_Shoes: 1
+ S_Ripper_Weapon: 1
+ S_Ripper_Pendant: 1
+ S_Ripper_Earing: 1
+ S_Dust_Armor: 1
+ S_Dust_Shield: 1
+ S_Dust_Shoes: 1
+ S_Grave_Weapon: 1
+ S_Grave_Pendant: 1
+ S_Grave_Earing: 1
+ S_Psychic_Armor: 1
+ S_Psychic_Shield: 1
+ S_Psychic_Shoes: 1
+ S_Varetyr_Weapon: 1
+ S_Varetyr_Pendant: 1
+ S_Varetyr_Earing: 1
+ S_Cart_Tornado_Armor: 1
+ S_Cart_Tornado_Shield: 1
+ S_Cart_Tornado_Shoes: 1
+ S_Cannon_Cart_Weapon: 1
+ S_Cannon_Cart_Pendant: 1
+ S_Cannon_Cart_Earing: 1
+ S_Spore_Bomb_Armor: 1
+ S_Spore_Bomb_Shield: 1
+ S_Spore_Bomb_Shoes: 1
+ S_Crazy_Weapon: 1
+ S_Crazy_Pendant: 1
+ S_Crazy_Earing: 1
+ S_Brand_Armor: 1
+ S_Brand_Shield: 1
+ S_Brand_Shoes: 1
+ S_Chain_Press_Weapon: 1
+ S_Chain_Press_Pendant: 1
+ S_Chain_Press_Earing: 1
+ S_Banish_Cannon_Armor: 1
+ S_Banish_Cannon_Shield: 1
+ S_Banish_Cannon_Shoes: 1
+ S_Genesis_Weapon: 1
+ S_Genesis_Pendant: 1
+ S_Genesis_Earing: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23151: {
+ NeedCount: 3
+ SourceItems: {
+ // 6636: 1
+ // 6637: 1
+ // 6638: 1
+ // 6639: 1
+ // 6640: 1
+ // 6641: 1
+ // 6642: 1
+ // 6643: 1
+ // 6644: 1
+ // 6645: 1
+ // 6716: 1
+ // 6717: 1
+ // 6718: 1
+ // 6740: 1
+ // 6741: 1
+ // 6742: 1
+ // 6743: 1
+ // 6744: 1
+ // 6745: 1
+ // 6790: 1
+ // 6791: 1
+ // 6792: 1
+ // 6908: 1
+ // 6943: 1
+ // 6944: 1
+ // 6945: 1
+ // 6946: 1
+ // 6947: 1
+ // 6948: 1
+ // 6949: 1
+ // 6950: 1
+ // 6951: 1
+ // 6963: 1
+ // 6964: 1
+ // 6999: 1
+ // 25000: 1
+ // 25001: 1
+ // 25002: 1
+ // 25003: 1
+ // 25004: 1
+ // 25005: 1
+ // 25006: 1
+ // 25007: 1
+ // 25008: 1
+ // 25009: 1
+ // 25010: 1
+ // 25011: 1
+ // 25012: 1
+ // 25013: 1
+ // 25014: 1
+ // 25015: 1
+ // 25016: 1
+ // 25017: 1
+ // 25058: 1
+ // 25059: 1
+ // 25060: 1
+ // 25061: 1
+ // 25062: 1
+ // 25063: 1
+ // 25064: 1
+ // 25065: 1
+ // 25066: 1
+ // 25067: 1
+ // 25068: 1
+ // 25069: 1
+ // 25070: 1
+ // 25071: 1
+ // 25072: 1
+ // 25136: 1
+ // 25137: 1
+ // 25138: 1
+ // 25139: 1
+ // 25141: 1
+ // 25170: 1
+ // 25171: 1
+ // 25172: 1
+ // 25173: 1
+ // 25174: 1
+ // 25175: 1
+ // 25176: 1
+ // 25177: 1
+ // 25178: 1
+ // 25205: 1
+ // 25206: 1
+ // 25207: 1
+ // 25208: 1
+ // 25209: 1
+ // 25210: 1
+ // 25224: 1
+ // 25225: 1
+ // 25226: 1
+ // 25227: 1
+ // 25228: 1
+ // 25229: 1
+ // 25302: 1
+ // 25303: 1
+ // 25304: 1
+ // 25305: 1
+ // 25306: 1
+ SuraStone_Top: 1
+ SuraStone_Middle: 1
+ SuraStone_Bottom: 1
+ SuraStone_Robe: 1
+ RangerStone_Top: 1
+ RangerStone_Middle: 1
+ RangerStone_Bottom: 1
+ RangerStone_Robe: 1
+ SorcererStone_Top: 1
+ SorcererStone_Middle: 1
+ SorcererStone_Bottom: 1
+ SorcererStone_Robe: 1
+ RuneknightStone_Top: 1
+ RuneknightStone_Middle: 1
+ RuneknightStone_Bottom: 1
+ RuneknightStone_Robe: 1
+ GeneticStone_Robe: 1
+ GeneticStone_Top: 1
+ GeneticStone_Middle: 1
+ GeneticStone_Bottom: 1
+ WarlockStone_Top: 1
+ WarlockStone_Middle: 1
+ WarlockStone_Bottom: 1
+ WarlockStone_Robe: 1
+ ShadowchaserStone_Top: 1
+ ShadowchaseStone_Middle: 1
+ ShadowchaseStone_Bottom: 1
+ ShadowchaserStone_Robe: 1
+ MechanicStone_Top: 1
+ MechanicStone_Middle: 1
+ MechanicStone_Bottom: 1
+ MechanicStone_Robe: 1
+ WanderMinstrelStone_Top: 1
+ WanderMinstStone_Middle: 1
+ WanderMinstStone_Bottom: 1
+ WanderMinstreStone_Robe: 1
+ HighpriestStone_Top: 1
+ HighpriestStone_Middle: 1
+ HighpriestStone_Bottom: 1
+ ArchbishopStone_Robe: 1
+ PaladinStone_Top: 1
+ PaladinStone_Middle: 1
+ PaladinStone_Bottom: 1
+ RoyalguardStone_Robe: 1
+ AssacrossStone_Top: 1
+ AssacrossStone_Middle: 1
+ AssacrossStone_Bottom: 1
+ GuillcrossStone_Robe: 1
+ SuraStone_Robe2: 1
+ SuraStone_Bottom2: 1
+ SuraStone_Middle2: 1
+ SuraStone_Top2: 1
+ SorcererStone_Robe2: 1
+ SorcererStone_Bottom2: 1
+ SorcererStone_Middle2: 1
+ SorcererStone_Top2: 1
+ ShadowchaserStone_Robe2: 1
+ ShadowchasStone_Bottom2: 1
+ ShadowchasStone_Middle2: 1
+ ShadowchaserStone_Top2: 1
+ SoulreaperStone_Robe: 1
+ SoullinkerStone_Top: 1
+ SoullinkerStone_Middle: 1
+ SoullinkerStone_Bottom: 1
+ GladiatorStone_Top: 1
+ GladiatorStone_Middle: 1
+ GladiatorStone_Bottom: 1
+ StaremperorStone_Robe: 1
+ NinjaStone_Top: 1
+ NinjaStone_Middle: 1
+ NinjaStone_Bottom: 1
+ KagerouStone_Robe: 1
+ OboroStone_Robe: 1
+ GunslingerStone_Top: 1
+ GunslingerStone_Middle: 1
+ GunslingerStone_Bottom: 1
+ RebellionStone_Robe: 1
+ DoramStone_Top: 1
+ DoramStone_Middle: 1
+ DoramStone_Bottom: 1
+ DoramStone_Robe: 1
+ RangerStone_Top2: 1
+ RangerStone_Middle2: 1
+ RangerStone_Bottom2: 1
+ RangerStone_Robe2: 1
+ MechanicStone_Top2: 1
+ MechanicStone_Middle2: 1
+ MechanicStone_Bottom2: 1
+ MechanicStone_Robe2: 1
+ HighpriestStone_Top2: 1
+ HighpriestStone_Middle2: 1
+ HighpriestStone_Bottom2: 1
+ ArchbishopStone_Robe2: 1
+ WarlockStone_Robe2: 1
+ WarlockStone_Top2: 1
+ WarlockStone_Middle2: 1
+ WarlockStone_Bottom2: 1
+ RoyalguardStone_Robe2: 1
+ PaladinStone_Top2: 1
+ PaladinStone_Middle2: 1
+ PaladinStone_Bottom2: 1
+ GuillcrossStone_Robe2: 1
+ AssacrossStone_Top2: 1
+ AssacrossStone_Middle2: 1
+ AssacrossStone_Bottom2: 1
+ }
+}
+*/
+/*
+23152: {
+ NeedCount: 10
+ SourceItems: {
+ Danggie: 10
+ Tree_Root: 10
+ Reptile_Tongue: 10
+ Scorpions_Tail: 10
+ Stem: 10
+ Pointed_Scale: 10
+ Resin: 10
+ Spawn: 10
+ Jellopy: 10
+ Garlet: 10
+ Scell: 10
+ Zargon: 10
+ Tooth_Of_Bat: 10
+ Fluff: 10
+ Chrysalis: 10
+ Feather_Of_Birds: 10
+ Talon: 10
+ Sticky_Webfoot: 10
+ Animals_Skin: 10
+ Claw_Of_Wolves: 10
+ Mushroom_Spore: 10
+ Orcish_Cuspid: 10
+ Evil_Horn: 10
+ Powder_Of_Butterfly: 10
+ Bill_Of_Birds: 10
+ Scale_Of_Snakes: 10
+ Insect_Feeler: 10
+ Immortal_Heart: 10
+ Rotten_Bandage: 10
+ Orcish_Voucher: 10
+ Skel_Bone: 10
+ Shell: 10
+ Scales_Shell: 10
+ Posionous_Canine: 10
+ Sticky_Mucus: 10
+ Bee_Sting: 10
+ Grasshoppers_Leg: 10
+ Nose_Ring: 10
+ Yoyo_Tail: 10
+ Solid_Shell: 10
+ Horseshoe: 10
+ Raccoon_Leaf: 10
+ Snails_Shell: 10
+ Horn: 10
+ Bears_Foot: 10
+ Feather: 10
+ Heart_Of_Mermaid: 10
+ Fin: 10
+ Cactus_Needle: 10
+ Stone_Heart: 10
+ Shining_Scales: 10
+ Worm_Peelings: 10
+ Gill: 10
+ Decayed_Nail: 10
+ Horrendous_Mouth: 10
+ Rotten_Scale: 10
+ Nipper: 10
+ Conch: 10
+ Tentacle: 10
+ Sharp_Scale: 10
+ Crap_Shell: 10
+ Clam_Shell: 10
+ Flesh_Of_Clam: 10
+ Turtle_Shell: 10
+ Voucher_Of_Orcish_Hero: 10
+ Gold: 10
+ Lizard_Scruff: 10
+ Colorful_Shell: 10
+ Jaws_Of_Ant: 10
+ Thin_N_Long_Tongue: 10
+ Rat_Tail: 10
+ Moustache_Of_Mole: 10
+ Nail_Of_Mole: 10
+ Wooden_Block: 10
+ Long_Hair: 10
+ Dokkaebi_Horn: 10
+ Fox_Tail: 10
+ Fish_Tail: 10
+ Chinese_Ink: 10
+ Spiderweb: 10
+ Acorn: 10
+ Porcupine_Spike: 10
+ Wild_Boars_Mane: 10
+ Tigers_Skin: 10
+ Tiger_Footskin: 10
+ Limb_Of_Mantis: 10
+ Blossom_Of_Maneater: 10
+ Root_Of_Maneater: 10
+ Cobold_Hair: 10
+ Dragon_Canine: 10
+ Dragon_Scale: 10
+ Dragon_Train: 10
+ Petite_DiablOfs_Horn: 10
+ Petite_DiablOfs_Wing: 10
+ Elder_Pixies_Beard: 10
+ Lantern: 10
+ Short_Leg: 10
+ Nail_Of_Orc: 10
+ Tooth_Of_: 10
+ Sacred_Masque: 10
+ Tweezer: 10
+ Head_Of_Medusa: 10
+ Slender_Snake: 10
+ Skirt_Of_Virgin: 10
+ Tendon: 10
+ Detonator: 10
+ Single_Cell: 10
+ Tooth_Of_Ancient_Fish: 10
+ Lip_Of_Ancient_Fish: 10
+ Earthworm_Peeling: 10
+ Grit: 10
+ Moth_Dust: 10
+ Wing_Of_Moth: 10
+ Transparent_Cloth: 10
+ Golden_Hair: 10
+ Starsand_Of_Witch: 10
+ Pumpkin_Head: 10
+ Sharpened_Cuspid: 10
+ Reins: 10
+ Tree_Of_Archer_1: 10
+ Tree_Of_Archer_2: 10
+ Tree_Of_Archer_3: 10
+ Short_Daenggie: 10
+ Needle_Of_Alarm: 10
+ Round_Shell: 10
+ Worn_Out_Page: 10
+ Manacles: 10
+ Worn_Out_Prison_Uniform: 10
+ // 4454: 10
+ // 4455: 10
+ // 4478: 10
+ // 4479: 10
+ Fur: 10
+ Peaked_Hat: 10
+ Hard_Skin: 10
+ Mystic_Horn: 10
+ Rakehorn_Helm: 10
+ Antler_Helm: 10
+ Twinhorn_Helm: 10
+ Singlehorn_Helm: 10
+ White_Spider_Limb: 10
+ Fortune_Cookie_Fail: 10
+ // 6496: 10
+ // 6609: 10
+ // 6610: 10
+ // 6648: 10
+ // 6936: 10
+ // 6937: 10
+ // 6938: 10
+ // 6939: 10
+ // 6940: 10
+ // 6941: 10
+ // 6942: 10
+ Mould_Powder: 10
+ Ogre_Tooth: 10
+ Anolian_Skin: 10
+ Mud_Lump: 10
+ Skull: 10
+ Wing_Of_Red_Bat: 10
+ Claw_Of_Rat: 10
+ Stiff_Horn: 10
+ Glitter_Shell: 10
+ Tail_Of_Steel_Scorpion: 10
+ Claw_Of_Monkey: 10
+ Tough_Scalelike_Stem: 10
+ Coral_Reef: 10
+ Executioners_Mitten: 10
+ Claw_Of_Desert_Wolf: 10
+ Old_Frying_Pan: 10
+ Piece_Of_Egg_Shell: 10
+ Poison_Spore: 10
+ Alices_Apron: 10
+ Talon_Of_Griffin: 10
+ Cyfar: 10
+ Brigan: 10
+ Treasure_Box: 10
+ Old_White_Cloth: 10
+ Clattering_Skull: 10
+ Broken_Farming_Utensil: 10
+ Broken_Crown: 10
+ // 25156: 10
+ // 25157: 10
+ // 25158: 10
+ // 25256: 10
+ BrokenArrow: 10
+ // 25259: 10
+ // 25261: 10
+ // 25262: 10
+ // 25263: 10
+ // 25264: 10
+ Shining_Spore: 10
+ Dried_Leaf_Of_Ygg: 10
+ // 25267: 10
+ // 25272: 10
+ // 25276: 10
+ // 25277: 10
+ // 25278: 10
+ // 25279: 10
+ // 25280: 10
+ // 25281: 10
+ // 25282: 10
+ // 25283: 10
+ // 25284: 10
+ // 25285: 10
+ // 25297: 10
+ // 25298: 10
+ // 25299: 10
+ // 25300: 10
+ // 25311: 10
+ // 25312: 10
+ // 25313: 10
+ Ein_SOLIDDUST: 10
+ Ein_RUSTHELM: 10
+ Ein_EYEROCK: 10
+ }
+}
+*/
+/*
+23153: {
+ NeedCount: 2
+ SourceItems: {
+ Poring_Egg: 1
+ Drops_Egg: 1
+ Poporing_Egg: 1
+ Lunatic_Egg: 1
+ Picky_Egg: 1
+ Chonchon_Egg: 1
+ Steel_Chonchon_Egg: 1
+ Hunter_Fly_Egg: 1
+ Savage_Bebe_Egg: 1
+ Baby_Desert_Wolf_Egg: 1
+ Rocker_Egg: 1
+ Spore_Egg: 1
+ Poison_Spore_Egg: 1
+ PecoPeco_Egg: 1
+ Smokie_Egg: 1
+ Yoyo_Egg: 1
+ Orc_Warrior_Egg: 1
+ Munak_Egg: 1
+ Dokkaebi_Egg: 1
+ Sohee_Egg: 1
+ Isis_Egg: 1
+ Green_Petite_Egg: 1
+ Deviruchi_Egg: 1
+ Bapho_Jr_Egg: 1
+ Bongun_Egg: 1
+ Zherlthsh_Egg: 1
+ Alice_Egg: 1
+ Rice_Cake_Egg: 1
+ Santa_Goblin_Egg: 1
+ Chung_E_Egg: 1
+ Spring_Rabbit_Egg: 1
+ Knife_Goblin_Egg: 1
+ Flail_Goblin_Egg: 1
+ Hammer_Goblin_Egg: 1
+ Red_Deleter_Egg: 1
+ Diabolic_Egg: 1
+ Wanderer_Egg: 1
+ New_Year_Doll_Egg: 1
+ Bacsojin_Egg: 1
+ Civil_Servant_Egg: 1
+ Leaf_Cat_Egg: 1
+ Loli_Ruri_Egg: 1
+ Marionette_Egg: 1
+ Shinobi_Egg: 1
+ Whisper_Egg: 1
+ Goblin_Leader_Egg: 1
+ Wicked_Nymph_Egg: 1
+ Miyabi_Ningyo_Egg: 1
+ Dullahan_Egg: 1
+ Medusa_Egg: 1
+ Stone_Shooter_Egg: 1
+ Incubus_Egg: 1
+ Golem_Egg: 1
+ Nightmare_Terror_Egg: 1
+ Succubus_Egg: 1
+ Imp_Egg: 1
+ // 9057: 1
+ Snow_Rabbit_Egg: 1
+ // 9059: 1
+ // 9060: 1
+ // 9061: 1
+ // 9063: 1
+ // 9068: 1
+ // 9095: 1
+ // 9099: 1
+ // 9100: 1
+ // 9101: 1
+ // 9102: 1
+ // 9103: 1
+ // 9104: 1
+ }
+}
+*/
+/*
+23154: {
+ NeedCount: 1
+ SourceItems: {
+ // 5909: 1
+ // 5979: 1
+ // 18740: 1
+ // 19158: 1
+ // 19289: 1
+ C_Shiba_Inu: 1
+ C_CatEars_Cyber_HeadP_R: 1
+ // 19608: 1
+ // 19643: 1
+ // 19654: 1
+ // 19712: 1
+ // 19721: 1
+ // 19761: 1
+ // 19815: 1
+ // 19816: 1
+ // 19823: 1
+ // 19876: 1
+ // 19954: 1
+ // 19959: 1
+ // 19960: 1
+ // 19990: 1
+ // 19992: 1
+ // 20022: 1
+ // 20033: 1
+ // 20036: 1
+ // 20071: 1
+ // 20098: 1
+ // 20130: 1
+ // 20132: 1
+ // 20133: 1
+ // 20145: 1
+ // 20146: 1
+ // 20147: 1
+ // 20171: 1
+ // 20172: 1
+ // 20174: 1
+ // 20175: 1
+ // 20195: 1
+ // 20199: 1
+ // 20200: 1
+ // 20201: 1
+ // 20202: 1
+ // 20230: 1
+ // 20231: 1
+ // 20232: 1
+ // 20233: 1
+ // 20239: 1
+ // 20242: 1
+ // 20255: 1
+ // 20257: 1
+ // 20266: 1
+ // 20268: 1
+ // 20273: 1
+ // 20286: 1
+ // 20299: 1
+ // 20300: 1
+ // 20315: 1
+ // 20318: 1
+ // 20325: 1
+ // 20329: 1
+ // 20330: 1
+ // 20340: 1
+ // 20341: 1
+ // 20342: 1
+ // 20349: 1
+ // 20350: 1
+ // 20351: 1
+ // 20352: 1
+ // 20353: 1
+ // 20354: 1
+ // 20355: 1
+ // 20356: 1
+ // 20357: 1
+ // 20358: 1
+ // 20359: 1
+ // 20360: 1
+ // 20361: 1
+ // 20362: 1
+ // 20363: 1
+ // 20364: 1
+ // 20365: 1
+ // 20366: 1
+ // 20367: 1
+ // 20368: 1
+ // 20369: 1
+ // 20370: 1
+ // 20381: 1
+ // 20395: 1
+ // 20396: 1
+ // 20398: 1
+ // 20399: 1
+ // 20404: 1
+ // 20405: 1
+ // 20430: 1
+ // 20432: 1
+ // 20433: 1
+ // 20440: 1
+ // 20447: 1
+ // 20448: 1
+ // 20449: 1
+ // 20458: 1
+ // 20459: 1
+ // 20464: 1
+ // 20482: 1
+ // 20486: 1
+ // 20487: 1
+ // 20488: 1
+ // 20489: 1
+ // 20491: 1
+ // 20499: 1
+ // 20502: 1
+ // 20504: 1
+ // 20507: 1
+ // 20509: 1
+ // 20510: 1
+ // 20511: 1
+ C_Thanatos_Sword: 1
+ C_Magic_Circle: 1
+ C_Wings_of_Michael: 1
+ C_GiantCatBag_TW: 1
+ C_Full_BloomCherry_Tree: 1
+ C_PinkButterfly_Wing_T: 1
+ C_Digital_Space: 1
+ C_Halloween_Poring_Bag: 1
+ C_Backside_Ribbon_Bell: 1
+ C_HeartChocoBag: 1
+ C_WingOfHeart: 1
+ C_Cat_Fork: 1
+ C_Big_Foxtail: 1
+ // 20746: 1
+ // 20761: 1
+ // 20762: 1
+ // 20764: 1
+ // 20765: 1
+ // 31027: 1
+ // 31029: 1
+ // 31031: 1
+ // 31033: 1
+ // 31040: 1
+ // 31055: 1
+ // 31057: 1
+ // 31062: 1
+ // 31063: 1
+ // 31064: 1
+ // 31065: 1
+ // 31066: 1
+ // 31067: 1
+ // 31068: 1
+ // 31069: 1
+ // 31070: 1
+ // 31071: 1
+ // 31072: 1
+ // 31073: 1
+ // 31074: 1
+ // 31075: 1
+ // 31076: 1
+ // 31077: 1
+ // 31078: 1
+ // 31079: 1
+ // 31080: 1
+ // 31081: 1
+ // 31082: 1
+ // 31083: 1
+ // 31084: 1
+ // 31085: 1
+ // 31086: 1
+ // 31087: 1
+ // 31088: 1
+ // 31118: 1
+ // 31120: 1
+ // 31123: 1
+ // 31125: 1
+ // 31134: 1
+ // 31136: 1
+ // 31139: 1
+ // 31160: 1
+ // 31162: 1
+ // 31164: 1
+ // 31165: 1
+ // 31166: 1
+ // 31168: 1
+ // 31178: 1
+ // 31180: 1
+ C_Black_Cat: 1
+ Rabbit_Hopping: 1
+ Warm_Cat_Muffler: 1
+ C_Ghost_Holiday: 1
+ C_Alice_Wig: 1
+ C_Khalitzburg_Helm_BL: 1
+ C_Cat_Ears_Punkish: 1
+ C_Sorcerer_Hood: 1
+ C_Pope_Sitting_Head: 1
+ C_Blinking_Thin_Eyes: 1
+ C_Wanderer_Sakkat: 1
+ C_Luwmin_Ice: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Snow_Bear_Food: 1
+ C_Blessing_Sky_Lantern: 1
+ C_CatCoffeeCup_TW: 1
+ C_CatEarRibbon_TW: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Panda_Rabbit: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Princess_Ribbon_Crown: 1
+ C_OpenAir_Headset: 1
+ C_Mobile_Pursuit_System: 1
+ C_Mecha_Cat_Ears: 1
+ C_Cyber_Income: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_Sleep_Sheep_TW: 1
+ C_HeartOfCat_TW: 1
+ C_Protect_Cloth: 1
+ C_LunaticMuffler: 1
+ C_Pigtail_Red_Hood: 1
+ C_Smiling_Eyes: 1
+ C_Garnet_Tiara: 1
+ C_Peony_Hair_Ornament: 1
+ C_SavageB_On_Shoulder: 1
+ C_Baby_Panda: 1
+ C_BeachBall: 1
+ C_SharkHead: 1
+ }
+}
+*/
+/*
+23170: {
+ NeedCount: 1
+ SourceItems: {
+ // 28439: 1
+ }
+}
+*/
+/*
+23236: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ }
+}
+*/
+/*
+23237: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramMagical_Armor: 1
+ S_Star_Emperor_Armor: 1
+ S_Soul_Reaper_Armor: 1
+ }
+}
+*/
+/*
+23238: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Shoes: 1
+ }
+}
+*/
+/*
+23239: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ }
+}
+*/
+/*
+23240: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ }
+}
+*/
+/*
+23241: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23247: {
+ NeedCount: 5
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24034: 1
+ // 24035: 1
+ // 24036: 1
+ // 24037: 1
+ // 24038: 1
+ // 24039: 1
+ // 24040: 1
+ // 24041: 1
+ // 24042: 1
+ // 24043: 1
+ // 24044: 1
+ // 24045: 1
+ }
+}
+*/
+/*
+23248: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24084: 1
+ // 24085: 1
+ // 24086: 1
+ // 24087: 1
+ // 24088: 1
+ // 24089: 1
+ }
+}
+*/
+/*
+23249: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24180: 1
+ // 24181: 1
+ // 24182: 1
+ // 24183: 1
+ // 24184: 1
+ // 24185: 1
+ }
+}
+*/
+/*
+23250: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24219: 1
+ // 24220: 1
+ // 24221: 1
+ // 24222: 1
+ }
+}
+*/
+/*
+23281: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24052: 1
+ // 24054: 1
+ // 24055: 1
+ // 24056: 1
+ // 24057: 1
+ // 24058: 1
+ // 24059: 1
+ // 24060: 1
+ // 24061: 1
+ // 24062: 1
+ // 24064: 1
+ // 24065: 1
+ // 24066: 1
+ // 24067: 1
+ // 24068: 1
+ // 24069: 1
+ // 24070: 1
+ // 24071: 1
+ }
+}
+*/
+/*
+23308: {
+ NeedCount: 1
+ SourceItems: {
+ // 19241: 1
+ }
+}
+*/
+/*
+23324: {
+ NeedCount: 3
+ NeedRefineMin: 5
+ SourceItems: {
+ // 24091: 1
+ // 24092: 1
+ // 24093: 1
+ // 24094: 1
+ // 24095: 1
+ // 24096: 1
+ // 24097: 1
+ // 24098: 1
+ // 24099: 1
+ // 24100: 1
+ // 24101: 1
+ // 24102: 1
+ // 24103: 1
+ // 24104: 1
+ // 24105: 1
+ // 24106: 1
+ // 24107: 1
+ // 24108: 1
+ }
+}
+*/
+InfinityShadow_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24150: 1
+ // 24151: 1
+ }
+}
+Silver_Statue: {
+ NeedCount: 1
+ SourceItems: {
+ Bloody_Knight_Shield: 1
+ }
+}
+PhysicalMagical_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24018: 1
+ // 24019: 1
+ // 24020: 1
+ // 24021: 1
+ // 24022: 1
+ // 24023: 1
+ }
+}
+ImmunedAthena_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24026: 1
+ // 24027: 1
+ // 24051: 1
+ }
+}
+HardChamption_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24025: 1
+ // 24028: 1
+ // 24049: 1
+ }
+}
+KingbirdAncient_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24029: 1
+ // 24031: 1
+ }
+}
+CriticalHit_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24030: 1
+ // 24032: 1
+ // 24332: 1
+ // 24333: 1
+ }
+}
+Bs_Item_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_34: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_41: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_42: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_43: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_44: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 120
+ Zelunium: 10
+ }
+}
+Bs_Sha_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Item_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ White_Snake_Tear: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_28: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_29: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_31: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_32: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_33: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_36: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_37: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_38: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_39: {
+ NeedCount: 2
+ SourceItems: {
+ Tutankhamens_Mask: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_40: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Pharaoh_Symbol: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_45: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_46: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_47: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_48: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_49: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_50: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Sha_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Voucher_Of_Orcish_Hero: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ // 6649: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Item_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_27: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_35: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Sha_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 10
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 300
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Rojerta_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 200
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ // 6649: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_26: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_30: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 30
+ }
+}
+Bs_Sha_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_51: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 150
+ Zelunium: 20
+ }
+}
+EnchantStone_Recipe_9m: {
+ NeedCount: 1
+ SourceItems: {
+ // 19959: 1
+ // 19960: 1
+ // 20033: 1
+ // 20171: 1
+ // 20482: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Ghost_Holiday: 1
+ C_Sorcerer_Hood: 1
+ C_Luwmin_Ice: 1
+ C_Astro_Circle: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Blessing_Sky_Lantern: 1
+ C_Flying_Drone: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Elephangel_TH: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Autumn_Headband: 1
+ }
+}
+IDTest_Special: {
+ NeedCount: 3
+ SourceItems: {
+ Jellopy: 1
+ Fluff: 1
+ Shell: 1
+ }
+}
+PerfectSize_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24072: 1
+ // 24073: 1
+ // 24074: 1
+ // 24075: 1
+ // 24076: 1
+ // 24077: 1
+ }
+}
+MagicPiercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24170: 1
+ // 24171: 1
+ // 24172: 1
+ // 24173: 1
+ // 24174: 1
+ // 24175: 1
+ // 24176: 1
+ // 24177: 1
+ // 24178: 1
+ // 24179: 1
+ }
+}
+Piercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24156: 1
+ // 24157: 1
+ // 24158: 1
+ // 24159: 1
+ // 24160: 1
+ // 24161: 1
+ // 24162: 1
+ // 24163: 1
+ // 24164: 1
+ // 24165: 1
+ }
+}
+Hasty_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24196: 1
+ // 24197: 1
+ // 24320: 1
+ }
+}
+EnchantStone_Recipe_4m: {
+ NeedCount: 1
+ SourceItems: {
+ // 19990: 1
+ // 20098: 1
+ // 20174: 1
+ // 20175: 1
+ // 20257: 1
+ // 20395: 1
+ // 20486: 1
+ C_Full_BloomCherry_Tree: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Cat_Ears_Punkish: 1
+ C_Snow_Bear_Food: 1
+ C_CatCoffeeCup_TW: 1
+ C_Panda_Rabbit: 1
+ C_Princess_Ribbon_Crown: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_HeartOfCat_TW: 1
+ C_LunaticMuffler: 1
+ }
+}
diff --git a/db/re/item_lapineddukddak.conf b/db/re/item_lapineddukddak.conf
new file mode 100644
index 000000000..018be95ac
--- /dev/null
+++ b/db/re/item_lapineddukddak.conf
@@ -0,0 +1,2318 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018-2019 Hercules Dev Team
+//= Copyright (C) 2018-2019 Asheraf
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+<Box_Item_Const>: {
+ NeedCount: (int, defaults to 0) The required amount of unique items
+ NeedRefineMin: (int, defaults to 0) The minimum refine for each of the items
+ NeedRefineMax: (int, defaults to 0) The maximum refine for each of the items
+ SourceItems: { A list of allowed items to be converted with specific amount for each item
+ <Item_Const>: <amount> (string, int)
+ ...
+ }
+ Script: <"
+ Script (it can be multi-line)
+ Executes on success
+ ">
+}
+**************************************************************************/
+/*
+22529: {
+ NeedCount: 3
+ SourceItems: {
+ S_CriticalHit_Armor: 1
+ S_Physical_Earring: 1
+ S_Physical_Weapon: 1
+ S_Physical_Pendant: 1
+ S_Magical_Earring: 1
+ S_Magical_Weapon: 1
+ S_Magical_Pendant: 1
+ S_Breezy_Armor: 1
+ S_Champion_Shoes: 1
+ S_Athena_Shield: 1
+ S_Immune_Armor: 1
+ S_Hard_Armor: 1
+ S_Ancient_Armor: 1
+ S_Critical_Armor: 1
+ S_Kingbird_Weapon: 1
+ S_Cri_Hit_Weapon: 1
+ S_Healing_Weapon: 1
+ S_Lucky_Weapon: 1
+ S_Power_Earring: 1
+ S_Int_Pendant: 1
+ S_Dexterous_Armor: 1
+ S_Vital_Shoes: 1
+ S_Athletic_Shield: 1
+ S_Lucky_Armor: 1
+ S_Power_Pendant: 1
+ S_Int_Earring: 1
+ S_Dexterous_Weapon: 1
+ S_Vital_Shield: 1
+ S_Athletic_Shoes: 1
+ S_Resist_Spell_Pendant: 1
+ S_Rapid_Pendant: 1
+ S_Caster_Pendant: 1
+ S_Hard_Earring: 1
+ S_Wise_Earring: 1
+ S_Athena_Earring: 1
+ S_Cranial_Shield: 1
+ S_Safeguard_Shield: 1
+ S_Brutal_Shield: 1
+ S_Gargantua_Shield: 1
+ S_Homers_Shield: 1
+ S_Dragoon_Shield: 1
+ S_Satanic_Shield: 1
+ S_Flameguard_Shield: 1
+ S_Requiem_Shield: 1
+ S_Cadi_Shield: 1
+ S_Bloody_Shoes: 1
+ S_Liberation_Shoes: 1
+ S_Chemical_Shoes: 1
+ S_Clamorous_Shoes: 1
+ S_Insecticide_Shoes: 1
+ S_Fisher_Shoes: 1
+ S_Seraphim_Shoes: 1
+ S_Beholder_Shoes: 1
+ S_Divine_Shoes: 1
+ S_Dragoon_Shoes: 1
+ S_Big_Armor: 1
+ S_Medium_Armor: 1
+ S_Small_Armor: 1
+ S_Big_Weapon: 1
+ S_Medium_Weapon: 1
+ S_Small_Weapon: 1
+ S_Spiritual_Weapon: 1
+ S_Spiritual_Earring: 1
+ S_Spiritual_Pendent: 1
+ S_Malicious_Armor: 1
+ S_Malicious_Shoes: 1
+ S_Malicious_Shield: 1
+ S_Gemstone_Armor: 1
+ S_Gemstone_Shoes: 1
+ S_Gemstone_Shield: 1
+ S_Gemstone_Weapon: 1
+ S_Gemstone_Earring: 1
+ S_Gemstone_Pendent: 1
+ S_Stability_Shield: 1
+ S_Plasterers_Armor: 1
+ S_Plasterers_Shoes: 1
+ S_Insomniac_Armor: 1
+ S_Insomniac_Shoes: 1
+ S_Peerless_Armor: 1
+ S_Peerless_Shoes: 1
+ S_Adurate_Armor: 1
+ S_Adurate_Shoes: 1
+ Unfreez_Weapon_S: 1
+ Unfreeze_Earing_S: 1
+ Unfreeze_Pendent_S: 1
+ Vitality_Earing_S: 1
+ Vitality_Pendant_S: 1
+ S_Neutral_Weapon: 1
+ S_Neutral_Earring: 1
+ S_Neutral_Pendent: 1
+ S_Curse_Lift_Earring: 1
+ S_Curse_Lift_Pendent: 1
+ S_Caster_earring: 1
+ S_Caster_Weapon: 1
+ S_Spell_Flow_Shoes: 1
+ S_Spell_Flow_Armor: 1
+ S_Spell_Flow_Shield: 1
+ S_Greed_Armor: 1
+ S_Greed_Shoes: 1
+ S_Greed_Shield: 1
+ S_Greed_Weapon: 1
+ S_Greed_Earring: 1
+ S_Greed_Pendant: 1
+ S_Heal_Armor: 1
+ S_Heal_Shoes: 1
+ S_Heal_Shield: 1
+ S_Heal_Weapon: 1
+ S_Heal_Earring: 1
+ S_Heal_Pendant: 1
+ S_Hiding_Armor: 1
+ S_Hiding_Shoes: 1
+ S_Hiding_Shield: 1
+ S_Hiding_Weapon: 1
+ S_Hiding_Earring: 1
+ S_Hiding_Pendant: 1
+ S_Cloaking_Armor: 1
+ S_Cloaking_Shoes: 1
+ S_Cloaking_Shield: 1
+ S_Cloaking_Weapon: 1
+ S_Cloaking_Earring: 1
+ S_Cloaking_Pendant: 1
+ S_Teleport_Armor: 1
+ S_Teleport_Shoes: 1
+ S_Teleport_Shield: 1
+ S_Teleport_Weapon: 1
+ S_Teleport_Earring: 1
+ S_Teleport_Pendant: 1
+ S_Steal_Armor: 1
+ S_Steal_Shoes: 1
+ S_Steal_Shield: 1
+ S_Steal_Weapon: 1
+ S_Steal_Earring: 1
+ S_Steal_Pendant: 1
+ S_Infinity_Earring: 1
+ S_Infinity_Pendant: 1
+ S_Solid_Weapon: 1
+ S_Solid_Earring: 1
+ S_Immortal_Armor: 1
+ S_Immortal_Pendant: 1
+ S_Executioner_Weapon: 1
+ S_Exorcist_Weapon: 1
+ S_Hunting_Weapon: 1
+ S_Insect_Net_Weapon: 1
+ S_Fishing_Weapon: 1
+ S_Dragon_Killer_Weapon: 1
+ S_Corrupt_Weapon: 1
+ S_Vibration_Weapon: 1
+ S_Holy_Water_Weapon: 1
+ S_Scissors_Weapon: 1
+ S_Penetration_Earring: 1
+ S_Penetration_Pendent: 1
+ S_Tempest_Earring: 1
+ S_Tempest_Pendent: 1
+ S_M_Executioner_Weapon: 1
+ S_M_Exorcist_Weapon: 1
+ S_M_Hunting_Weapon: 1
+ S_M_Insect_Net_Weapon: 1
+ S_M_Fishing_Weapon: 1
+ S_M_Dragon_K_Weapon: 1
+ S_M_Corrupt_Weapon: 1
+ S_M_Vibration_Weapon: 1
+ S_M_Holy_Water_Weapon: 1
+ S_M_Scissors_Weapon: 1
+ S_Bearers_Armor: 1
+ S_Bearers_Shoes: 1
+ S_Bearers_Shield: 1
+ S_Bearers_Weapon: 1
+ S_Bearers_Earring: 1
+ S_Bearers_Pendent: 1
+ S_Basis_Armor: 1
+ S_Hallowed_Armor: 1
+ S_Saharic_Armor: 1
+ S_Underneath_Armor: 1
+ S_Flam_Armor: 1
+ S_Windy_Armor: 1
+ S_Envenom_Armor: 1
+ S_Damned_Armor: 1
+ S_Geist_Armor: 1
+ S_Divine_Armor: 1
+ S_Hasty_Shoes: 1
+ S_Hasty_Armor: 1
+ S_Basis_Shield: 1
+ S_Hallowed_Shield: 1
+ S_Saharic_Shield: 1
+ S_Underneath_Shield: 1
+ S_Flam_Shield: 1
+ S_Windy_Shield: 1
+ S_Envenom_Shield: 1
+ S_Damned_Shield: 1
+ S_Geist_Shield: 1
+ S_Divine_Shield: 1
+ S_Expert_Shoes: 1
+ S_Expert_Shield: 1
+ S_Beginner_Shoes: 1
+ S_Beginner_Shield: 1
+ S_Rookie_Shoes: 1
+ S_Rookie_Shield: 1
+ S_Advanced_Shoes: 1
+ S_Advanced_Shield: 1
+ S_Attack_Armor: 1
+ S_Blitz_Earring: 1
+ S_Blitz_Pendent: 1
+ S_ColdBolt_Armor: 1
+ S_FireBolt_Armor: 1
+ S_LightingBolt_Armor: 1
+ S_EarthSpike_Armor: 1
+ S_Enhance_Force_Weapon: 1
+ S_Force_Weapon: 1
+ S_Force_Earring: 1
+ S_Force_Pendant: 1
+ S_Enhance_Spirit_Weapon: 1
+ S_Spirit_Weapon: 1
+ S_Spirit_Earring: 1
+ S_Spirit_Pendant: 1
+ S_Blitz_Shoes: 1
+ S_Blitz_Shield: 1
+ S_Exceed_Weapon: 1
+ S_Titan_Earring: 1
+ S_Titan_Pendant: 1
+ S_Boned_Earring: 1
+ S_Boned_Pendant: 1
+ S_Gigantic_Earring: 1
+ S_Gigantic_Pendant: 1
+ S_Caster_Shoes: 1
+ S_Caster_Shield: 1
+ S_Caster_Armor: 1
+ S_Reload_Shoes: 1
+ S_Reload_Shield: 1
+ S_Reload_Armor: 1
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ // 24320: 1
+ // 24321: 1
+ // 24322: 1
+ // 24323: 1
+ // 24324: 1
+ // 24325: 1
+ // 24326: 1
+ // 24327: 1
+ // 24328: 1
+ // 24329: 1
+ // 24330: 1
+ // 24331: 1
+ // 24332: 1
+ // 24333: 1
+ // 24334: 1
+ // 24335: 1
+ // 24336: 1
+ // 24337: 1
+ // 24338: 1
+ // 24339: 1
+ // 24340: 1
+ // 24345: 1
+ // 24346: 1
+ // 24347: 1
+ // 24348: 1
+ // 24349: 1
+ // 24350: 1
+ // 24351: 1
+ // 24352: 1
+ // 24353: 1
+ // 24354: 1
+ // 24355: 1
+ // 24356: 1
+ // 24357: 1
+ // 24358: 1
+ // 24359: 1
+ // 24360: 1
+ // 24361: 1
+ // 24362: 1
+ // 24363: 1
+ // 24364: 1
+ // 24365: 1
+ // 24366: 1
+ // 24367: 1
+ // 24368: 1
+ // 24369: 1
+ // 24370: 1
+ // 24371: 1
+ // 24372: 1
+ // 24373: 1
+ // 24374: 1
+ // 24375: 1
+ // 24376: 1
+ // 24377: 1
+ // 24378: 1
+ // 24379: 1
+ Sentimental_Weapone_S: 1
+ Sentimental_Earring_S: 1
+ Sentimental_Pendant_S: 1
+ Enchanting_Weapone_S: 1
+ Enchanting_Earring_S: 1
+ Enchanting_Pendant_S: 1
+ S_Infinity_Weapon: 1
+ S_Physical_Shoes: 1
+ S_Physical_Shield: 1
+ S_Physical_Armor: 1
+ S_Magical_Shoes: 1
+ S_Magical_Shield: 1
+ S_Magical_Armor: 1
+ S_ImmunedAthena_Shield: 1
+ S_HardChamption_Shoes: 1
+ S_KingbirdAncient_Armor: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Armor: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Armor: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Armor: 1
+ S_Soul_Reaper_Shoes: 1
+ S_Tempest_Weapon: 1
+ S_Tempest_Armor: 1
+ S_PerfectSize_Weapon: 1
+ S_PerfectSize_Armor: 1
+ S_M_Exo_Co_Weapon: 1
+ S_M_Viv_Dr_Weapon: 1
+ S_M_Sci_Hu_Weapon: 1
+ S_M_Fis_In_Weapon: 1
+ S_M_Exe_Ho_Weapon: 1
+ S_Penetration_Weapon: 1
+ S_Penetration_Armor: 1
+ S_Exe_Ho_Weapon: 1
+ S_Fis_In_Weapon: 1
+ S_Sci_Hu_Weapon: 1
+ S_Viv_Dr_Weapon: 1
+ S_Exo_Co_Weapon: 1
+ S_Hasty_Weapon: 1
+ S_Sonic_Armor: 1
+ S_Sonic_Shield: 1
+ S_Sonic_Shoes: 1
+ S_Ignition_Weapon: 1
+ S_Ignition_Pendant: 1
+ S_Ignition_Earing: 1
+ S_W_Breath_Armor: 1
+ S_W_Breath_Shield: 1
+ S_W_Breath_Shoes: 1
+ S_F_Breath_Weapon: 1
+ S_F_Breath_Pendant: 1
+ S_F_Breath_Earing: 1
+ S_Cluster_Armor: 1
+ S_Cluster_Shield: 1
+ S_Cluster_Shoes: 1
+ S_Aimed_Weapon: 1
+ S_Aimed_Pendant: 1
+ S_Aimed_Earing: 1
+ S_Arrow_Armor: 1
+ S_Arrow_Shield: 1
+ S_Arrow_Shoes: 1
+ S_Shooting_Weapon: 1
+ S_Shooting_Pendant: 1
+ S_Shooting_Earing: 1
+ S_Tornado_Armor: 1
+ S_Tornado_Shield: 1
+ S_Tornado_Shoes: 1
+ S_Boomerang_Weapon: 1
+ S_Boomerang_Pendant: 1
+ S_Boomerang_Earing: 1
+ S_Vulcan_Armor: 1
+ S_Vulcan_Shield: 1
+ S_Vulcan_Shoes: 1
+ S_Arms_Weapon: 1
+ S_Arms_Pendant: 1
+ S_Arms_Earing: 1
+ S_Rampage_Armor: 1
+ S_Rampage_Shield: 1
+ S_Rampage_Shoes: 1
+ S_Skynetblow_Weapon: 1
+ S_Skynetblow_Pendant: 1
+ S_Skynetblow_Earing: 1
+ S_Knucklearrow_Armor: 1
+ S_Knucklearrow_Shield: 1
+ S_Knucklearrow_Shoes: 1
+ S_TigerCannon_Weapon: 1
+ S_Tigercannon_Pendant: 1
+ S_Tigercannon_Earing: 1
+ S_Duplelight_Armor: 1
+ S_Duplelight_Shield: 1
+ S_Duplelight_Shoes: 1
+ S_Adoramus_Weapon: 1
+ S_Adoramus_Pendant: 1
+ S_Adoramus_Earing: 1
+ S_Judex_Armor: 1
+ S_Judex_Shield: 1
+ S_Judex_Shoes: 1
+ S_Magnus_Weapon: 1
+ S_Magnus_Pendant: 1
+ S_Magnus_Earing: 1
+ S_Rainstorm_Armor: 1
+ S_Rainstorm_Shield: 1
+ S_Rainstorm_Shoes: 1
+ S_Arrowvulcan_Weapon: 1
+ S_Arrowvulcan_Pendant: 1
+ S_Arrowvulcan_Earing: 1
+ S_Metalic_Armor: 1
+ S_Metalic_Shield: 1
+ S_Metalic_Shoes: 1
+ S_Reverberation_Weapon: 1
+ S_Reverberation_Pendant: 1
+ S_Reverberation_Earing: 1
+ S_Jack_Armor: 1
+ S_Jack_Shield: 1
+ S_Jack_Shoes: 1
+ S_Strain_Weapon: 1
+ S_Strain_Pendant: 1
+ S_Strain_Earing: 1
+ S_Crimson_Armor: 1
+ S_Crimson_Shield: 1
+ S_Crimson_Shoes: 1
+ S_Chain_Weapon: 1
+ S_Chain_Pendant: 1
+ S_Chain_Earing: 1
+ S_Triangle_Armor: 1
+ S_Triangle_Shield: 1
+ S_Triangle_Shoes: 1
+ S_Shadowspell_Weapon: 1
+ S_Shadowspell_Pendant: 1
+ S_Shadowspell_Earing: 1
+ S_Menace_Armor: 1
+ S_Menace_Shield: 1
+ S_Menace_Shoes: 1
+ S_Paint_Weapon: 1
+ S_Paint_Pendant: 1
+ S_Paint_Earing: 1
+ S_Rolling_Armor: 1
+ S_Rolling_Shield: 1
+ S_Rolling_Shoes: 1
+ S_Katar_Weapon: 1
+ S_Katar_Pendant: 1
+ S_Katar_Earing: 1
+ S_Slash_Armor: 1
+ S_Slash_Shield: 1
+ S_Slash_Shoes: 1
+ S_Ripper_Weapon: 1
+ S_Ripper_Pendant: 1
+ S_Ripper_Earing: 1
+ S_Dust_Armor: 1
+ S_Dust_Shield: 1
+ S_Dust_Shoes: 1
+ S_Grave_Weapon: 1
+ S_Grave_Pendant: 1
+ S_Grave_Earing: 1
+ S_Psychic_Armor: 1
+ S_Psychic_Shield: 1
+ S_Psychic_Shoes: 1
+ S_Varetyr_Weapon: 1
+ S_Varetyr_Pendant: 1
+ S_Varetyr_Earing: 1
+ S_Cart_Tornado_Armor: 1
+ S_Cart_Tornado_Shield: 1
+ S_Cart_Tornado_Shoes: 1
+ S_Cannon_Cart_Weapon: 1
+ S_Cannon_Cart_Pendant: 1
+ S_Cannon_Cart_Earing: 1
+ S_Spore_Bomb_Armor: 1
+ S_Spore_Bomb_Shield: 1
+ S_Spore_Bomb_Shoes: 1
+ S_Crazy_Weapon: 1
+ S_Crazy_Pendant: 1
+ S_Crazy_Earing: 1
+ S_Brand_Armor: 1
+ S_Brand_Shield: 1
+ S_Brand_Shoes: 1
+ S_Chain_Press_Weapon: 1
+ S_Chain_Press_Pendant: 1
+ S_Chain_Press_Earing: 1
+ S_Banish_Cannon_Armor: 1
+ S_Banish_Cannon_Shield: 1
+ S_Banish_Cannon_Shoes: 1
+ S_Genesis_Weapon: 1
+ S_Genesis_Pendant: 1
+ S_Genesis_Earing: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23151: {
+ NeedCount: 3
+ SourceItems: {
+ // 6636: 1
+ // 6637: 1
+ // 6638: 1
+ // 6639: 1
+ // 6640: 1
+ // 6641: 1
+ // 6642: 1
+ // 6643: 1
+ // 6644: 1
+ // 6645: 1
+ // 6716: 1
+ // 6717: 1
+ // 6718: 1
+ // 6740: 1
+ // 6741: 1
+ // 6742: 1
+ // 6743: 1
+ // 6744: 1
+ // 6745: 1
+ // 6790: 1
+ // 6791: 1
+ // 6792: 1
+ // 6908: 1
+ // 6943: 1
+ // 6944: 1
+ // 6945: 1
+ // 6946: 1
+ // 6947: 1
+ // 6948: 1
+ // 6949: 1
+ // 6950: 1
+ // 6951: 1
+ // 6963: 1
+ // 6964: 1
+ // 6999: 1
+ // 25000: 1
+ // 25001: 1
+ // 25002: 1
+ // 25003: 1
+ // 25004: 1
+ // 25005: 1
+ // 25006: 1
+ // 25007: 1
+ // 25008: 1
+ // 25009: 1
+ // 25010: 1
+ // 25011: 1
+ // 25012: 1
+ // 25013: 1
+ // 25014: 1
+ // 25015: 1
+ // 25016: 1
+ // 25017: 1
+ // 25058: 1
+ // 25059: 1
+ // 25060: 1
+ // 25061: 1
+ // 25062: 1
+ // 25063: 1
+ // 25064: 1
+ // 25065: 1
+ // 25066: 1
+ // 25067: 1
+ // 25068: 1
+ // 25069: 1
+ // 25070: 1
+ // 25071: 1
+ // 25072: 1
+ // 25136: 1
+ // 25137: 1
+ // 25138: 1
+ // 25139: 1
+ // 25141: 1
+ // 25170: 1
+ // 25171: 1
+ // 25172: 1
+ // 25173: 1
+ // 25174: 1
+ // 25175: 1
+ // 25176: 1
+ // 25177: 1
+ // 25178: 1
+ // 25205: 1
+ // 25206: 1
+ // 25207: 1
+ // 25208: 1
+ // 25209: 1
+ // 25210: 1
+ // 25224: 1
+ // 25225: 1
+ // 25226: 1
+ // 25227: 1
+ // 25228: 1
+ // 25229: 1
+ // 25302: 1
+ // 25303: 1
+ // 25304: 1
+ // 25305: 1
+ // 25306: 1
+ SuraStone_Top: 1
+ SuraStone_Middle: 1
+ SuraStone_Bottom: 1
+ SuraStone_Robe: 1
+ RangerStone_Top: 1
+ RangerStone_Middle: 1
+ RangerStone_Bottom: 1
+ RangerStone_Robe: 1
+ SorcererStone_Top: 1
+ SorcererStone_Middle: 1
+ SorcererStone_Bottom: 1
+ SorcererStone_Robe: 1
+ RuneknightStone_Top: 1
+ RuneknightStone_Middle: 1
+ RuneknightStone_Bottom: 1
+ RuneknightStone_Robe: 1
+ GeneticStone_Robe: 1
+ GeneticStone_Top: 1
+ GeneticStone_Middle: 1
+ GeneticStone_Bottom: 1
+ WarlockStone_Top: 1
+ WarlockStone_Middle: 1
+ WarlockStone_Bottom: 1
+ WarlockStone_Robe: 1
+ ShadowchaserStone_Top: 1
+ ShadowchaseStone_Middle: 1
+ ShadowchaseStone_Bottom: 1
+ ShadowchaserStone_Robe: 1
+ MechanicStone_Top: 1
+ MechanicStone_Middle: 1
+ MechanicStone_Bottom: 1
+ MechanicStone_Robe: 1
+ WanderMinstrelStone_Top: 1
+ WanderMinstStone_Middle: 1
+ WanderMinstStone_Bottom: 1
+ WanderMinstreStone_Robe: 1
+ HighpriestStone_Top: 1
+ HighpriestStone_Middle: 1
+ HighpriestStone_Bottom: 1
+ ArchbishopStone_Robe: 1
+ PaladinStone_Top: 1
+ PaladinStone_Middle: 1
+ PaladinStone_Bottom: 1
+ RoyalguardStone_Robe: 1
+ AssacrossStone_Top: 1
+ AssacrossStone_Middle: 1
+ AssacrossStone_Bottom: 1
+ GuillcrossStone_Robe: 1
+ SuraStone_Robe2: 1
+ SuraStone_Bottom2: 1
+ SuraStone_Middle2: 1
+ SuraStone_Top2: 1
+ SorcererStone_Robe2: 1
+ SorcererStone_Bottom2: 1
+ SorcererStone_Middle2: 1
+ SorcererStone_Top2: 1
+ ShadowchaserStone_Robe2: 1
+ ShadowchasStone_Bottom2: 1
+ ShadowchasStone_Middle2: 1
+ ShadowchaserStone_Top2: 1
+ SoulreaperStone_Robe: 1
+ SoullinkerStone_Top: 1
+ SoullinkerStone_Middle: 1
+ SoullinkerStone_Bottom: 1
+ GladiatorStone_Top: 1
+ GladiatorStone_Middle: 1
+ GladiatorStone_Bottom: 1
+ StaremperorStone_Robe: 1
+ NinjaStone_Top: 1
+ NinjaStone_Middle: 1
+ NinjaStone_Bottom: 1
+ KagerouStone_Robe: 1
+ OboroStone_Robe: 1
+ GunslingerStone_Top: 1
+ GunslingerStone_Middle: 1
+ GunslingerStone_Bottom: 1
+ RebellionStone_Robe: 1
+ DoramStone_Top: 1
+ DoramStone_Middle: 1
+ DoramStone_Bottom: 1
+ DoramStone_Robe: 1
+ RangerStone_Top2: 1
+ RangerStone_Middle2: 1
+ RangerStone_Bottom2: 1
+ RangerStone_Robe2: 1
+ MechanicStone_Top2: 1
+ MechanicStone_Middle2: 1
+ MechanicStone_Bottom2: 1
+ MechanicStone_Robe2: 1
+ HighpriestStone_Top2: 1
+ HighpriestStone_Middle2: 1
+ HighpriestStone_Bottom2: 1
+ ArchbishopStone_Robe2: 1
+ WarlockStone_Robe2: 1
+ WarlockStone_Top2: 1
+ WarlockStone_Middle2: 1
+ WarlockStone_Bottom2: 1
+ RoyalguardStone_Robe2: 1
+ PaladinStone_Top2: 1
+ PaladinStone_Middle2: 1
+ PaladinStone_Bottom2: 1
+ GuillcrossStone_Robe2: 1
+ AssacrossStone_Top2: 1
+ AssacrossStone_Middle2: 1
+ AssacrossStone_Bottom2: 1
+ }
+}
+*/
+/*
+23152: {
+ NeedCount: 10
+ SourceItems: {
+ Danggie: 10
+ Tree_Root: 10
+ Reptile_Tongue: 10
+ Scorpions_Tail: 10
+ Stem: 10
+ Pointed_Scale: 10
+ Resin: 10
+ Spawn: 10
+ Jellopy: 10
+ Garlet: 10
+ Scell: 10
+ Zargon: 10
+ Tooth_Of_Bat: 10
+ Fluff: 10
+ Chrysalis: 10
+ Feather_Of_Birds: 10
+ Talon: 10
+ Sticky_Webfoot: 10
+ Animals_Skin: 10
+ Claw_Of_Wolves: 10
+ Mushroom_Spore: 10
+ Orcish_Cuspid: 10
+ Evil_Horn: 10
+ Powder_Of_Butterfly: 10
+ Bill_Of_Birds: 10
+ Scale_Of_Snakes: 10
+ Insect_Feeler: 10
+ Immortal_Heart: 10
+ Rotten_Bandage: 10
+ Orcish_Voucher: 10
+ Skel_Bone: 10
+ Shell: 10
+ Scales_Shell: 10
+ Posionous_Canine: 10
+ Sticky_Mucus: 10
+ Bee_Sting: 10
+ Grasshoppers_Leg: 10
+ Nose_Ring: 10
+ Yoyo_Tail: 10
+ Solid_Shell: 10
+ Horseshoe: 10
+ Raccoon_Leaf: 10
+ Snails_Shell: 10
+ Horn: 10
+ Bears_Foot: 10
+ Feather: 10
+ Heart_Of_Mermaid: 10
+ Fin: 10
+ Cactus_Needle: 10
+ Stone_Heart: 10
+ Shining_Scales: 10
+ Worm_Peelings: 10
+ Gill: 10
+ Decayed_Nail: 10
+ Horrendous_Mouth: 10
+ Rotten_Scale: 10
+ Nipper: 10
+ Conch: 10
+ Tentacle: 10
+ Sharp_Scale: 10
+ Crap_Shell: 10
+ Clam_Shell: 10
+ Flesh_Of_Clam: 10
+ Turtle_Shell: 10
+ Voucher_Of_Orcish_Hero: 10
+ Gold: 10
+ Lizard_Scruff: 10
+ Colorful_Shell: 10
+ Jaws_Of_Ant: 10
+ Thin_N_Long_Tongue: 10
+ Rat_Tail: 10
+ Moustache_Of_Mole: 10
+ Nail_Of_Mole: 10
+ Wooden_Block: 10
+ Long_Hair: 10
+ Dokkaebi_Horn: 10
+ Fox_Tail: 10
+ Fish_Tail: 10
+ Chinese_Ink: 10
+ Spiderweb: 10
+ Acorn: 10
+ Porcupine_Spike: 10
+ Wild_Boars_Mane: 10
+ Tigers_Skin: 10
+ Tiger_Footskin: 10
+ Limb_Of_Mantis: 10
+ Blossom_Of_Maneater: 10
+ Root_Of_Maneater: 10
+ Cobold_Hair: 10
+ Dragon_Canine: 10
+ Dragon_Scale: 10
+ Dragon_Train: 10
+ Petite_DiablOfs_Horn: 10
+ Petite_DiablOfs_Wing: 10
+ Elder_Pixies_Beard: 10
+ Lantern: 10
+ Short_Leg: 10
+ Nail_Of_Orc: 10
+ Tooth_Of_: 10
+ Sacred_Masque: 10
+ Tweezer: 10
+ Head_Of_Medusa: 10
+ Slender_Snake: 10
+ Skirt_Of_Virgin: 10
+ Tendon: 10
+ Detonator: 10
+ Single_Cell: 10
+ Tooth_Of_Ancient_Fish: 10
+ Lip_Of_Ancient_Fish: 10
+ Earthworm_Peeling: 10
+ Grit: 10
+ Moth_Dust: 10
+ Wing_Of_Moth: 10
+ Transparent_Cloth: 10
+ Golden_Hair: 10
+ Starsand_Of_Witch: 10
+ Pumpkin_Head: 10
+ Sharpened_Cuspid: 10
+ Reins: 10
+ Tree_Of_Archer_1: 10
+ Tree_Of_Archer_2: 10
+ Tree_Of_Archer_3: 10
+ Short_Daenggie: 10
+ Needle_Of_Alarm: 10
+ Round_Shell: 10
+ Worn_Out_Page: 10
+ Manacles: 10
+ Worn_Out_Prison_Uniform: 10
+ Light_Up_Card1: 10
+ Light_Up_Card2: 10
+ Light_Up_Card3: 10
+ Light_Up_Card4: 10
+ Fur: 10
+ Peaked_Hat: 10
+ Hard_Skin: 10
+ Mystic_Horn: 10
+ Rakehorn_Helm: 10
+ Antler_Helm: 10
+ Twinhorn_Helm: 10
+ Singlehorn_Helm: 10
+ White_Spider_Limb: 10
+ Fortune_Cookie_Fail: 10
+ Tikbalang_Thick_Spine: 10
+ Glast_Decayed_Nail: 10
+ Glast_Horrendous_Mouth: 10
+ // 6648: 10
+ // 6936: 10
+ // 6937: 10
+ // 6938: 10
+ // 6939: 10
+ // 6940: 10
+ // 6941: 10
+ // 6942: 10
+ Mould_Powder: 10
+ Ogre_Tooth: 10
+ Anolian_Skin: 10
+ Mud_Lump: 10
+ Skull: 10
+ Wing_Of_Red_Bat: 10
+ Claw_Of_Rat: 10
+ Stiff_Horn: 10
+ Glitter_Shell: 10
+ Tail_Of_Steel_Scorpion: 10
+ Claw_Of_Monkey: 10
+ Tough_Scalelike_Stem: 10
+ Coral_Reef: 10
+ Executioners_Mitten: 10
+ Claw_Of_Desert_Wolf: 10
+ Old_Frying_Pan: 10
+ Piece_Of_Egg_Shell: 10
+ Poison_Spore: 10
+ Alices_Apron: 10
+ Talon_Of_Griffin: 10
+ Cyfar: 10
+ Brigan: 10
+ Treasure_Box: 10
+ Old_White_Cloth: 10
+ Clattering_Skull: 10
+ Broken_Farming_Utensil: 10
+ Broken_Crown: 10
+ // 25156: 10
+ // 25157: 10
+ // 25158: 10
+ // 25256: 10
+ BrokenArrow: 10
+ // 25259: 10
+ // 25261: 10
+ // 25262: 10
+ // 25263: 10
+ // 25264: 10
+ Shining_Spore: 10
+ Dried_Leaf_Of_Ygg: 10
+ // 25267: 10
+ // 25272: 10
+ // 25276: 10
+ // 25277: 10
+ // 25278: 10
+ // 25279: 10
+ // 25280: 10
+ // 25281: 10
+ // 25282: 10
+ // 25283: 10
+ // 25284: 10
+ // 25285: 10
+ // 25297: 10
+ // 25298: 10
+ // 25299: 10
+ // 25300: 10
+ // 25311: 10
+ // 25312: 10
+ // 25313: 10
+ Ein_SOLIDDUST: 10
+ Ein_RUSTHELM: 10
+ Ein_EYEROCK: 10
+ }
+}
+*/
+/*
+23153: {
+ NeedCount: 2
+ SourceItems: {
+ Poring_Egg: 1
+ Drops_Egg: 1
+ Poporing_Egg: 1
+ Lunatic_Egg: 1
+ Picky_Egg: 1
+ Chonchon_Egg: 1
+ Steel_Chonchon_Egg: 1
+ Hunter_Fly_Egg: 1
+ Savage_Bebe_Egg: 1
+ Baby_Desert_Wolf_Egg: 1
+ Rocker_Egg: 1
+ Spore_Egg: 1
+ Poison_Spore_Egg: 1
+ PecoPeco_Egg: 1
+ Smokie_Egg: 1
+ Yoyo_Egg: 1
+ Orc_Warrior_Egg: 1
+ Munak_Egg: 1
+ Dokkaebi_Egg: 1
+ Sohee_Egg: 1
+ Isis_Egg: 1
+ Green_Petite_Egg: 1
+ Deviruchi_Egg: 1
+ Bapho_Jr_Egg: 1
+ Bongun_Egg: 1
+ Zherlthsh_Egg: 1
+ Alice_Egg: 1
+ Rice_Cake_Egg: 1
+ Santa_Goblin_Egg: 1
+ Chung_E_Egg: 1
+ Spring_Rabbit_Egg: 1
+ Knife_Goblin_Egg: 1
+ Flail_Goblin_Egg: 1
+ Hammer_Goblin_Egg: 1
+ Red_Deleter_Egg: 1
+ Diabolic_Egg: 1
+ Wanderer_Egg: 1
+ New_Year_Doll_Egg: 1
+ Bacsojin_Egg: 1
+ Civil_Servant_Egg: 1
+ Leaf_Cat_Egg: 1
+ Loli_Ruri_Egg: 1
+ Marionette_Egg: 1
+ Shinobi_Egg: 1
+ Whisper_Egg: 1
+ Goblin_Leader_Egg: 1
+ Wicked_Nymph_Egg: 1
+ Miyabi_Ningyo_Egg: 1
+ Dullahan_Egg: 1
+ Medusa_Egg: 1
+ Stone_Shooter_Egg: 1
+ Incubus_Egg: 1
+ Golem_Egg: 1
+ Nightmare_Terror_Egg: 1
+ Succubus_Egg: 1
+ Imp_Egg: 1
+ Egg_Of_Tiny: 1
+ Snow_Rabbit_Egg: 1
+ Tikbalang_Pet: 1
+ Brownie_Egg: 1
+ Marin_Egg: 1
+ // 9063: 1
+ // 9068: 1
+ Nine_Tails_Egg: 1
+ Teddy_Bear_Egg: 1
+ Gremlin_Egg: 1
+ Scatelon_Egg: 1
+ Mummy_Egg: 1
+ Willow_Egg: 1
+ Roween_Egg: 1
+ }
+}
+*/
+/*
+23154: {
+ NeedCount: 1
+ SourceItems: {
+ // 5909: 1
+ // 5979: 1
+ C_Hair_Of_The_Strong: 1
+ // 19158: 1
+ // 19289: 1
+ C_Shiba_Inu: 1
+ C_CatEars_Cyber_HeadP_R: 1
+ C_Chick_Hat: 1
+ C_Whikebain_Ears: 1
+ C_J_Captain_Hat: 1
+ C_Little_Angel_Doll: 1
+ C_Darkness_Helm: 1
+ C_White_Lily: 1
+ C_Lolita_Ten_Gallon_Hat: 1
+ C_Pecopeco_Cap: 1
+ C_White_Cat_Hood: 1
+ C_Rabbit_Ear_Hat: 1
+ C_3D_Glasses: 1
+ C_Drooping_Argiope: 1
+ C_Chain_Puppet: 1
+ C_Snow_Rabbit_Knit_Hat: 1
+ C_Chilly_Breath: 1
+ C_Love_Fragment: 1
+ C_Buddhist_Priest_Crown: 1
+ C_Sword_Master_Crown: 1
+ C_Worg_In_Mouth: 1
+ C_Vampire_Hairband: 1
+ C_Whisper_Tall_Hat: 1
+ C_Subject_Aura: 1
+ C_Poring_Mascot_Costume: 1
+ C_Robo_Eye: 1
+ C_Angel_Spirit: 1
+ C_Bell_Pigeon: 1
+ C_Sepia_Cap: 1
+ C_Pumpkin_Head: 1
+ C_Halloween_Hat_Orange: 1
+ C_Diabolic_Headphone: 1
+ C_Scratching_Cat: 1
+ C_Evil_Marcher_Hat: 1
+ C_Rabbit_Head_Dress: 1
+ C_Banshee_Master_Kiss: 1
+ C_Deviruchi_Balloon: 1
+ C_Mask_Of_Bankrupt: 1
+ C_Snowman_Hat: 1
+ C_Celines_Ribbon: 1
+ C_Gold_Angel_Sculpture: 1
+ C_Large_Ribbon_Muffler: 1
+ C_Snownow_Hat: 1
+ C_Love_Cheek: 1
+ C_Black_Rabbit_Bonnet: 1
+ C_Secret_Zipper: 1
+ C_Sleep_Eclipse_Family: 1
+ C_Soft_Sheep_Hat: 1
+ C_Under_Rim_Glasses_Red: 1
+ C_Face_Crusher: 1
+ C_Hill_Wind_Mask: 1
+ C_Analyze_Eye: 1
+ C_Charleston_Antenna: 1
+ // 20325: 1
+ C_Very_Cute_Doll_Hat: 1
+ C_Sombrero: 1
+ // 20340: 1
+ // 20341: 1
+ // 20342: 1
+ // 20349: 1
+ // 20350: 1
+ // 20351: 1
+ // 20352: 1
+ // 20353: 1
+ // 20354: 1
+ // 20355: 1
+ // 20356: 1
+ // 20357: 1
+ // 20358: 1
+ // 20359: 1
+ // 20360: 1
+ // 20361: 1
+ // 20362: 1
+ // 20363: 1
+ // 20364: 1
+ // 20365: 1
+ // 20366: 1
+ // 20367: 1
+ // 20368: 1
+ // 20369: 1
+ // 20370: 1
+ // 20381: 1
+ // 20395: 1
+ // 20396: 1
+ // 20398: 1
+ // 20399: 1
+ // 20404: 1
+ // 20405: 1
+ // 20430: 1
+ // 20432: 1
+ // 20433: 1
+ // 20440: 1
+ // 20447: 1
+ // 20448: 1
+ // 20449: 1
+ // 20458: 1
+ // 20459: 1
+ // 20464: 1
+ // 20482: 1
+ // 20486: 1
+ // 20487: 1
+ // 20488: 1
+ // 20489: 1
+ // 20491: 1
+ // 20499: 1
+ // 20502: 1
+ // 20504: 1
+ // 20507: 1
+ // 20509: 1
+ // 20510: 1
+ // 20511: 1
+ C_Thanatos_Sword: 1
+ C_Magic_Circle: 1
+ C_Wings_of_Michael: 1
+ C_GiantCatBag_TW: 1
+ C_Full_BloomCherry_Tree: 1
+ C_PinkButterfly_Wing_T: 1
+ C_Digital_Space: 1
+ C_Halloween_Poring_Bag: 1
+ C_Backside_Ribbon_Bell: 1
+ C_HeartChocoBag: 1
+ C_WingOfHeart: 1
+ C_Cat_Fork: 1
+ C_Big_Foxtail: 1
+ C_Rudra_Wing: 1
+ C_Wing_Of_Happiness: 1
+ C_GreatDevilWing: 1
+ C_Fallen_Angel_Wing: 1
+ C_Archangel_Wing: 1
+ // 31027: 1
+ // 31029: 1
+ // 31031: 1
+ // 31033: 1
+ // 31040: 1
+ // 31055: 1
+ // 31057: 1
+ // 31062: 1
+ // 31063: 1
+ // 31064: 1
+ // 31065: 1
+ // 31066: 1
+ // 31067: 1
+ // 31068: 1
+ // 31069: 1
+ // 31070: 1
+ // 31071: 1
+ // 31072: 1
+ // 31073: 1
+ // 31074: 1
+ // 31075: 1
+ // 31076: 1
+ // 31077: 1
+ // 31078: 1
+ // 31079: 1
+ // 31080: 1
+ // 31081: 1
+ // 31082: 1
+ // 31083: 1
+ // 31084: 1
+ // 31085: 1
+ // 31086: 1
+ // 31087: 1
+ // 31088: 1
+ // 31118: 1
+ // 31120: 1
+ // 31123: 1
+ // 31125: 1
+ // 31134: 1
+ // 31136: 1
+ // 31139: 1
+ // 31160: 1
+ // 31162: 1
+ // 31164: 1
+ // 31165: 1
+ // 31166: 1
+ // 31168: 1
+ // 31178: 1
+ // 31180: 1
+ C_Black_Cat: 1
+ Rabbit_Hopping: 1
+ Warm_Cat_Muffler: 1
+ C_Ghost_Holiday: 1
+ C_Alice_Wig: 1
+ C_Khalitzburg_Helm_BL: 1
+ C_Cat_Ears_Punkish: 1
+ C_Sorcerer_Hood: 1
+ C_Pope_Sitting_Head: 1
+ C_Blinking_Thin_Eyes: 1
+ C_Wanderer_Sakkat: 1
+ C_Luwmin_Ice: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Snow_Bear_Food: 1
+ C_Blessing_Sky_Lantern: 1
+ C_CatCoffeeCup_TW: 1
+ C_CatEarRibbon_TW: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Panda_Rabbit: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Princess_Ribbon_Crown: 1
+ C_OpenAir_Headset: 1
+ C_Mobile_Pursuit_System: 1
+ C_Mecha_Cat_Ears: 1
+ C_Cyber_Income: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_Sleep_Sheep_TW: 1
+ C_HeartOfCat_TW: 1
+ C_Protect_Cloth: 1
+ C_LunaticMuffler: 1
+ C_Pigtail_Red_Hood: 1
+ C_Smiling_Eyes: 1
+ C_Garnet_Tiara: 1
+ C_Peony_Hair_Ornament: 1
+ C_SavageB_On_Shoulder: 1
+ C_Baby_Panda: 1
+ C_BeachBall: 1
+ C_SharkHead: 1
+ }
+}
+*/
+/*
+23170: {
+ NeedCount: 1
+ SourceItems: {
+ // 28439: 1
+ }
+}
+*/
+/*
+23236: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ }
+}
+*/
+/*
+23237: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramMagical_Armor: 1
+ S_Star_Emperor_Armor: 1
+ S_Soul_Reaper_Armor: 1
+ }
+}
+*/
+/*
+23238: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Shoes: 1
+ }
+}
+*/
+/*
+23239: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ }
+}
+*/
+/*
+23240: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ }
+}
+*/
+/*
+23241: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23247: {
+ NeedCount: 5
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Lucky_Weapon: 1
+ S_Power_Earring: 1
+ S_Int_Pendant: 1
+ S_Dexterous_Armor: 1
+ S_Vital_Shoes: 1
+ S_Athletic_Shield: 1
+ S_Lucky_Armor: 1
+ S_Power_Pendant: 1
+ S_Int_Earring: 1
+ S_Dexterous_Weapon: 1
+ S_Vital_Shield: 1
+ S_Athletic_Shoes: 1
+ }
+}
+*/
+/*
+23248: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Gemstone_Armor: 1
+ S_Gemstone_Shoes: 1
+ S_Gemstone_Shield: 1
+ S_Gemstone_Weapon: 1
+ S_Gemstone_Earring: 1
+ S_Gemstone_Pendent: 1
+ }
+}
+*/
+/*
+23249: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Bearers_Armor: 1
+ S_Bearers_Shoes: 1
+ S_Bearers_Shield: 1
+ S_Bearers_Weapon: 1
+ S_Bearers_Earring: 1
+ S_Bearers_Pendent: 1
+ }
+}
+*/
+/*
+23250: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ S_ColdBolt_Armor: 1
+ S_FireBolt_Armor: 1
+ S_LightingBolt_Armor: 1
+ S_EarthSpike_Armor: 1
+ }
+}
+*/
+/*
+23281: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Cranial_Shield: 1
+ S_Brutal_Shield: 1
+ S_Gargantua_Shield: 1
+ S_Homers_Shield: 1
+ S_Dragoon_Shield: 1
+ S_Satanic_Shield: 1
+ S_Flameguard_Shield: 1
+ S_Requiem_Shield: 1
+ S_Cadi_Shield: 1
+ S_Bloody_Shoes: 1
+ S_Chemical_Shoes: 1
+ S_Clamorous_Shoes: 1
+ S_Insecticide_Shoes: 1
+ S_Fisher_Shoes: 1
+ S_Seraphim_Shoes: 1
+ S_Beholder_Shoes: 1
+ S_Divine_Shoes: 1
+ S_Dragoon_Shoes: 1
+ }
+}
+*/
+/*
+23308: {
+ NeedCount: 1
+ SourceItems: {
+ // 19241: 1
+ }
+}
+*/
+/*
+23324: {
+ NeedCount: 3
+ NeedRefineMin: 5
+ SourceItems: {
+ S_Plasterers_Armor: 1
+ S_Plasterers_Shoes: 1
+ S_Insomniac_Armor: 1
+ S_Insomniac_Shoes: 1
+ S_Peerless_Armor: 1
+ S_Peerless_Shoes: 1
+ S_Adurate_Armor: 1
+ S_Adurate_Shoes: 1
+ Unfreez_Weapon_S: 1
+ Unfreeze_Earing_S: 1
+ Unfreeze_Pendent_S: 1
+ Vitality_Earing_S: 1
+ Vitality_Pendant_S: 1
+ S_Neutral_Weapon: 1
+ S_Neutral_Earring: 1
+ S_Neutral_Pendent: 1
+ S_Curse_Lift_Earring: 1
+ S_Curse_Lift_Pendent: 1
+ }
+}
+*/
+InfinityShadow_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Infinity_Earring: 1
+ S_Infinity_Pendant: 1
+ }
+}
+Silver_Statue: {
+ NeedCount: 1
+ SourceItems: {
+ Bloody_Knight_Shield: 1
+ }
+}
+PhysicalMagical_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Physical_Earring: 1
+ S_Physical_Weapon: 1
+ S_Physical_Pendant: 1
+ S_Magical_Earring: 1
+ S_Magical_Weapon: 1
+ S_Magical_Pendant: 1
+ }
+}
+ImmunedAthena_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Athena_Shield: 1
+ S_Immune_Armor: 1
+ S_Athena_Earring: 1
+ }
+}
+HardChamption_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Champion_Shoes: 1
+ S_Hard_Armor: 1
+ S_Hard_Earring: 1
+ }
+}
+KingbirdAncient_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Ancient_Armor: 1
+ S_Kingbird_Weapon: 1
+ }
+}
+CriticalHit_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Critical_Armor: 1
+ S_Cri_Hit_Weapon: 1
+ // 24332: 1
+ // 24333: 1
+ }
+}
+Bs_Item_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_34: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_41: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_42: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_43: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_44: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 120
+ Zelunium: 10
+ }
+}
+Bs_Sha_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Item_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ White_Snake_Tear: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_28: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_29: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_31: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_32: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_33: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_36: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_37: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_38: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_39: {
+ NeedCount: 2
+ SourceItems: {
+ Tutankhamens_Mask: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_40: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Pharaoh_Symbol: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_45: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_46: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_47: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_48: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_49: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_50: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Sha_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Voucher_Of_Orcish_Hero: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Horn: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Item_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_27: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_35: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Sha_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 10
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 300
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Rojerta_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 200
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Horn: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_26: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_30: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 30
+ }
+}
+Bs_Sha_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_51: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 150
+ Zelunium: 20
+ }
+}
+EnchantStone_Recipe_9m: {
+ NeedCount: 1
+ SourceItems: {
+ C_Drooping_Argiope: 1
+ C_Chain_Puppet: 1
+ C_Buddhist_Priest_Crown: 1
+ C_Sepia_Cap: 1
+ // 20482: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Ghost_Holiday: 1
+ C_Sorcerer_Hood: 1
+ C_Luwmin_Ice: 1
+ C_Astro_Circle: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Blessing_Sky_Lantern: 1
+ C_Flying_Drone: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Elephangel_TH: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Autumn_Headband: 1
+ }
+}
+IDTest_Special: {
+ NeedCount: 3
+ SourceItems: {
+ Jellopy: 1
+ Fluff: 1
+ Shell: 1
+ }
+}
+PerfectSize_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Big_Armor: 1
+ S_Medium_Armor: 1
+ S_Small_Armor: 1
+ S_Big_Weapon: 1
+ S_Medium_Weapon: 1
+ S_Small_Weapon: 1
+ }
+}
+MagicPiercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_M_Executioner_Weapon: 1
+ S_M_Exorcist_Weapon: 1
+ S_M_Hunting_Weapon: 1
+ S_M_Insect_Net_Weapon: 1
+ S_M_Fishing_Weapon: 1
+ S_M_Dragon_K_Weapon: 1
+ S_M_Corrupt_Weapon: 1
+ S_M_Vibration_Weapon: 1
+ S_M_Holy_Water_Weapon: 1
+ S_M_Scissors_Weapon: 1
+ }
+}
+Piercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Executioner_Weapon: 1
+ S_Exorcist_Weapon: 1
+ S_Hunting_Weapon: 1
+ S_Insect_Net_Weapon: 1
+ S_Fishing_Weapon: 1
+ S_Dragon_Killer_Weapon: 1
+ S_Corrupt_Weapon: 1
+ S_Vibration_Weapon: 1
+ S_Holy_Water_Weapon: 1
+ S_Scissors_Weapon: 1
+ }
+}
+Hasty_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Hasty_Shoes: 1
+ S_Hasty_Armor: 1
+ // 24320: 1
+ }
+}
+EnchantStone_Recipe_4m: {
+ NeedCount: 1
+ SourceItems: {
+ C_Snow_Rabbit_Knit_Hat: 1
+ C_Vampire_Hairband: 1
+ C_Halloween_Hat_Orange: 1
+ C_Diabolic_Headphone: 1
+ C_Black_Rabbit_Bonnet: 1
+ // 20395: 1
+ // 20486: 1
+ C_Full_BloomCherry_Tree: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Cat_Ears_Punkish: 1
+ C_Snow_Bear_Food: 1
+ C_CatCoffeeCup_TW: 1
+ C_Panda_Rabbit: 1
+ C_Princess_Ribbon_Crown: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_HeartOfCat_TW: 1
+ C_LunaticMuffler: 1
+ }
+}
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index e6bd32ca6..fa35b3a7c 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -10622,3 +10622,9 @@ Opens refinery user interface for the player
returns true on success and false on failure
---------------------------------------
+*openlapineddukddakboxui(<item_id>)
+
+Opens lapine ddukddak user interface for the player
+returns true on success and false on failure
+
+---------------------------------------
diff --git a/src/map/clif.c b/src/map/clif.c
index 0748558fa..f8abb36a0 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -23332,6 +23332,109 @@ static void clif_parse_GuildCastleInfoRequest(int fd, struct map_session_data *s
#endif
}
+static bool clif_lapineDdukDdak_open(struct map_session_data *sd, int item_id)
+{
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+ nullpo_retr(false, sd);
+ nullpo_retr(false, itemdb->exists(item_id));
+ struct PACKET_ZC_LAPINEDDUKDDAK_OPEN p;
+
+ p.packetType = HEADER_ZC_LAPINEDDUKDDAK_OPEN;
+ p.itemId = item_id;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+
+ sd->state.lapine_ui = 1;
+ return true;
+#else
+ return false;
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+}
+
+static bool clif_lapineDdukDdak_result(struct map_session_data *sd, enum lapineddukddak_result result)
+{
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+ nullpo_retr(false, sd);
+ struct PACKET_ZC_LAPINEDDUKDDAK_RESULT p;
+
+ p.packetType = HEADER_ZC_LAPINEDDUKDDAK_RESULT;
+ p.result = result;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+ return true;
+#else
+ return false;
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+}
+
+static void clif_parse_lapineDdukDdak_ack(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_lapineDdukDdak_ack(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20160302
+ const struct PACKET_CZ_LAPINEDDUKDDAK_ACK *p = RP2PTR(fd);
+ struct item_data *it = itemdb->exists(p->itemId);
+
+ if (it == NULL || it->lapineddukddak == NULL)
+ return;
+ if (pc_cant_act(sd))
+ return;
+ if (pc->search_inventory(sd, it->nameid) == INDEX_NOT_FOUND)
+ return;
+
+ if (((p->packetLength - sizeof(struct PACKET_CZ_LAPINEDDUKDDAK_ACK)) / sizeof(struct PACKET_CZ_LAPINEDDUKDDAK_ACK_sub)) != it->lapineddukddak->NeedCount)
+ return;
+
+ for (int i = 0; i < it->lapineddukddak->NeedCount; ++i) {
+ int16 idx = p->items[i].index - 2;
+ Assert_retv(idx >= 0 && idx < sd->status.inventorySize);
+
+ struct item itr = sd->status.inventory[idx];
+ int j = 0;
+ for (j = 0; j < VECTOR_LENGTH(it->lapineddukddak->SourceItems); ++j) {
+ if (itr.nameid == VECTOR_INDEX(it->lapineddukddak->SourceItems, j).id) {
+ // Validate that the amount sent in the packet is matching the database
+ if (p->items[i].count != VECTOR_INDEX(it->lapineddukddak->SourceItems, j).amount) {
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_INSUFFICIENT_AMOUNT);
+ return;
+ }
+
+ // Validate that the player have enough of the item
+ if (itr.amount < VECTOR_INDEX(it->lapineddukddak->SourceItems, j).amount) {
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_INSUFFICIENT_AMOUNT);
+ return;
+ }
+
+ // Validate refine rate requirement
+ if ((itemdb_type(itr.nameid) == IT_ARMOR || itemdb_type(itr.nameid) == IT_WEAPON)
+ && (itr.refine < it->lapineddukddak->NeedRefineMin || itr.refine > it->lapineddukddak->NeedRefineMax))
+ return;
+
+ // All requirements are met, move to the next one
+ break;
+ }
+ }
+ // The item is not in sources list
+ if (j == VECTOR_LENGTH(it->lapineddukddak->SourceItems)) {
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_INVALID_ITEM);
+ return;
+ }
+ }
+
+ for (int i = 0; i < it->lapineddukddak->NeedCount; ++i)
+ pc->delitem(sd, p->items[i].index - 2, p->items[i].count, 0, DELITEM_NORMAL, LOG_TYPE_SCRIPT);
+ if (it->lapineddukddak->script != NULL)
+ script->run_item_lapineddukddak_script(sd, it, npc->fake_nd->bl.id);
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_SUCCESS);
+ return;
+#endif // PACKETVER >= 20160302
+}
+
+static void clif_parse_lapineDdukDdak_close(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_lapineDdukDdak_close(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20160504
+ sd->state.lapine_ui = 0;
+#endif // PACKETVER >= 20160504
+}
+
/*==========================================
* Main client packet processing function
*------------------------------------------*/
@@ -24562,4 +24665,8 @@ void clif_defaults(void)
clif->pGuildCastleTeleportRequest = clif_parse_GuildCastleTeleportRequest;
clif->pGuildCastleInfoRequest = clif_parse_GuildCastleInfoRequest;
clif->guild_castleteleport_res = clif_guild_castleteleport_res;
+ clif->lapineDdukDdak_open = clif_lapineDdukDdak_open;
+ clif->lapineDdukDdak_result = clif_lapineDdukDdak_result;
+ clif->plapineDdukDdak_ack = clif_parse_lapineDdukDdak_ack;
+ clif->plapineDdukDdak_close = clif_parse_lapineDdukDdak_close;
}
diff --git a/src/map/clif.h b/src/map/clif.h
index 245352b9c..4bc3abdeb 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -727,6 +727,12 @@ enum market_buy_result {
};
#endif
+enum lapineddukddak_result {
+ LAPINEDDKUKDDAK_SUCCESS = 0,
+ LAPINEDDKUKDDAK_INSUFFICIENT_AMOUNT = 5,
+ LAPINEDDKUKDDAK_INVALID_ITEM = 7,
+};
+
/**
* Clif.c Interface
**/
@@ -1659,6 +1665,10 @@ struct clif_interface {
void (*pGuildCastleTeleportRequest) (int fd, struct map_session_data *sd);
void (*pGuildCastleInfoRequest) (int fd, struct map_session_data *sd);
void (*guild_castleteleport_res) (struct map_session_data *sd, enum siege_teleport_result result);
+ bool (*lapineDdukDdak_open) (struct map_session_data *sd, int item_id);
+ bool (*lapineDdukDdak_result) (struct map_session_data *sd, enum lapineddukddak_result result);
+ void (*plapineDdukDdak_ack) (int fd, struct map_session_data *sd);
+ void (*plapineDdukDdak_close) (int fd, struct map_session_data *sd);
};
#ifdef HERCULES_CORE
diff --git a/src/map/itemdb.c b/src/map/itemdb.c
index 3aae2c90c..375bd18f1 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -2419,6 +2419,98 @@ static uint64 itemdb_unique_id(struct map_session_data *sd)
return ((uint64)sd->status.char_id << 32) | sd->status.uniqueitem_counter++;
}
+static bool itemdb_read_libconfig_lapineddukddak(void)
+{
+ struct config_t item_lapineddukddak;
+ struct config_setting_t *it = NULL;
+ char filepath[256];
+
+ int i = 0;
+ int count = 0;
+
+ safesnprintf(filepath, sizeof(filepath), "%s/%s", map->db_path, DBPATH"item_lapineddukddak.conf");
+ if (libconfig->load_file(&item_lapineddukddak, filepath) == CONFIG_FALSE)
+ return false;
+
+ while ((it = libconfig->setting_get_elem(item_lapineddukddak.root, i++)) != NULL) {
+ if (itemdb->read_libconfig_lapineddukddak_sub(it, filepath))
+ ++count;
+ }
+
+ libconfig->destroy(&item_lapineddukddak);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
+ return true;
+}
+
+static bool itemdb_read_libconfig_lapineddukddak_sub(struct config_setting_t *it, const char *source)
+{
+ nullpo_retr(false, it);
+ nullpo_retr(false, source);
+
+ struct item_data *data = NULL;
+ const char *name = config_setting_name(it);
+ const char *str = NULL;
+ int i32 = 0;
+
+ if ((data = itemdb->name2id(name)) == NULL) {
+ ShowWarning("itemdb_read_libconfig_lapineddukddak_sub: unknown item '%s', skipping..\n", name);
+ return false;
+ }
+
+ data->lapineddukddak = aCalloc(1, sizeof(struct item_lapineddukddak));
+ if (libconfig->setting_lookup_int(it, "NeedCount", &i32) == CONFIG_TRUE)
+ data->lapineddukddak->NeedCount = (int16)i32;
+
+ if (libconfig->setting_lookup_int(it, "NeedRefineMin", &i32) == CONFIG_TRUE)
+ data->lapineddukddak->NeedRefineMin = (int8)i32;
+
+ if (libconfig->setting_lookup_int(it, "NeedRefineMax", &i32) == CONFIG_TRUE)
+ data->lapineddukddak->NeedRefineMax = (int8)i32;
+
+ struct config_setting_t *sources = libconfig->setting_get_member(it, "SourceItems");
+ itemdb->read_libconfig_lapineddukddak_sub_sources(sources, data);
+
+ if (libconfig->setting_lookup_string(it, "Script", &str) == CONFIG_TRUE)
+ data->lapineddukddak->script = *str ? script->parse(str, source, -data->nameid, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+ return true;
+}
+
+static bool itemdb_read_libconfig_lapineddukddak_sub_sources(struct config_setting_t *sources, struct item_data *data)
+{
+ nullpo_retr(false, data);
+ nullpo_retr(false, data->lapineddukddak);
+
+ int i = 0;
+ struct config_setting_t *entry = NULL;
+
+ if (sources == NULL || !config_setting_is_group(sources))
+ return false;
+
+ VECTOR_INIT(data->lapineddukddak->SourceItems);
+ while ((entry = libconfig->setting_get_elem(sources, i++)) != NULL) {
+ struct item_data *edata = NULL;
+ struct itemlist_entry item = { 0 };
+ const char *name = config_setting_name(entry);
+ int i32 = 0;
+
+ if ((edata = itemdb->name2id(name)) == NULL) {
+ ShowWarning("itemdb_read_libconfig_lapineddukddak_sub: unknown item '%s', skipping..\n", name);
+ continue;
+ }
+ item.id = edata->nameid;
+
+ if ((i32 = libconfig->setting_get_int(entry)) == CONFIG_TRUE && (i32 <= 0 || i32 > MAX_AMOUNT)) {
+ ShowWarning("itemdb_read_libconfig_lapineddukddak_sub: invalid amount (%d) for source item '%s', skipping..\n", i32, name);
+ continue;
+ }
+ item.amount = i32;
+
+ VECTOR_ENSURE(data->lapineddukddak->SourceItems, 1, 1);
+ VECTOR_PUSH(data->lapineddukddak->SourceItems, item);
+ }
+ return true;
+}
+
/**
* Reads all item-related databases.
*/
@@ -2457,6 +2549,7 @@ static void itemdb_read(bool minimal)
itemdb->read_groups();
itemdb->read_chains();
itemdb->read_packages();
+ itemdb->read_libconfig_lapineddukddak();
}
/**
@@ -2517,6 +2610,12 @@ static void destroy_item_data(struct item_data *self, int free_self)
script->free_code(self->rental_end_script);
if( self->combos )
aFree(self->combos);
+ if (self->lapineddukddak != NULL) {
+ if (self->lapineddukddak->script != NULL)
+ script->free_code(self->lapineddukddak->script);
+ VECTOR_CLEAR(self->lapineddukddak->SourceItems);
+ aFree(self->lapineddukddak);
+ }
HPM->data_store_destroy(&self->hdata);
#if defined(DEBUG)
// trash item
@@ -2821,4 +2920,7 @@ void itemdb_defaults(void)
itemdb->lookup_const = itemdb_lookup_const;
itemdb->lookup_const_mask = itemdb_lookup_const_mask;
itemdb->addname_sub = itemdb_addname_sub;
+ itemdb->read_libconfig_lapineddukddak = itemdb_read_libconfig_lapineddukddak;
+ itemdb->read_libconfig_lapineddukddak_sub = itemdb_read_libconfig_lapineddukddak_sub;
+ itemdb->read_libconfig_lapineddukddak_sub_sources = itemdb_read_libconfig_lapineddukddak_sub_sources;
}
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index 17fff2cf5..a2876c2a9 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -482,6 +482,14 @@ struct itemdb_option {
struct script_code *script;
};
+struct item_lapineddukddak {
+ int16 NeedCount;
+ int8 NeedRefineMin;
+ int8 NeedRefineMax;
+ VECTOR_DECL(struct itemlist_entry) SourceItems;
+ struct script_code *script;
+};
+
struct item_data {
int nameid;
char name[ITEM_NAME_LENGTH],jname[ITEM_NAME_LENGTH];
@@ -551,6 +559,7 @@ struct item_data {
/* TODO add a pointer to some sort of (struct extra) and gather all the not-common vals into it to save memory */
struct item_group *group;
struct item_package *package;
+ struct item_lapineddukddak *lapineddukddak;
struct hplugin_data_store *hdata; ///< HPM Plugin Data Store
};
@@ -688,6 +697,9 @@ struct itemdb_interface {
bool (*lookup_const) (const struct config_setting_t *it, const char *name, int *value);
bool (*lookup_const_mask) (const struct config_setting_t *it, const char *name, int *value);
int (*addname_sub) (union DBKey key, struct DBData *data, va_list ap);
+ bool (*read_libconfig_lapineddukddak) (void);
+ bool (*read_libconfig_lapineddukddak_sub) (struct config_setting_t *it, const char *source);
+ bool (*read_libconfig_lapineddukddak_sub_sources) (struct config_setting_t *sources, struct item_data *data);
};
#ifdef HERCULES_CORE
diff --git a/src/map/packets.h b/src/map/packets.h
index e91421cfc..8fb47eb7a 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -1959,4 +1959,12 @@ packet(0x96e,clif->ackmergeitems);
packet(0x0b2c,clif->pGuildCastleInfoRequest);
#endif
+#if PACKETVER >= 20160302
+ packet(0x0a4f,clif->plapineDdukDdak_ack);
+#endif
+
+#if PACKETVER >= 20160504
+ packet(0x0a70,clif->plapineDdukDdak_close);
+#endif
+
#endif /* MAP_PACKETS_H */
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index 24bb718da..9c8c93865 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -3669,6 +3669,45 @@ struct PACKET_CZ_CASTLE_INFO_REQUEST {
DEFINE_PACKET_HEADER(CZ_CASTLE_INFO_REQUEST, 0x0b2c);
#endif
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_LAPINEDDUKDDAK_OPEN {
+ int16 packetType;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ int32 itemId;
+#else
+ int16 itemId;
+#endif
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_LAPINEDDUKDDAK_OPEN, 0x0a4e);
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+
+#if PACKETVER >= 20160302
+struct PACKET_CZ_LAPINEDDUKDDAK_ACK_sub {
+ int16 index;
+ int16 count;
+} __attribute__((packed));
+
+struct PACKET_CZ_LAPINEDDUKDDAK_ACK {
+ int16 packetType;
+ int16 packetLength;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ int32 itemId;
+#else
+ int16 itemId;
+#endif
+ struct PACKET_CZ_LAPINEDDUKDDAK_ACK_sub items[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_LAPINEDDUKDDAK_ACK, 0x0a4f);
+#endif // PACKETVER >= 20160302
+
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_LAPINEDDUKDDAK_RESULT {
+ int16 packetType;
+ int16 result;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_LAPINEDDUKDDAK_RESULT, 0x0a50);
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
#pragma pack(pop)
#endif // not NetBSD < 6 / Solaris
diff --git a/src/map/pc.h b/src/map/pc.h
index 2d21dabf6..7a42be5be 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -239,6 +239,7 @@ struct map_session_data {
unsigned int warp_clean : 1;
unsigned int refine_ui : 1;
unsigned int npc_unloaded : 1; ///< The player is talking with an unloaded NPCs (respawned tombstones)
+ unsigned int lapine_ui : 1;
} state;
struct {
unsigned char no_weapon_damage, no_magic_damage, no_misc_damage;
@@ -665,10 +666,10 @@ END_ZEROED_BLOCK;
#define pc_issit(sd) ( (sd)->vd.dead_sit == 2 )
#define pc_isidle(sd) ( (sd)->chat_id != 0 || (sd)->state.vending || (sd)->state.buyingstore || DIFF_TICK(sockt->last_tick, (sd)->idletime) >= battle->bc->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)->chat_id != 0 || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend || (sd)->state.refine_ui == 1)
+#define pc_cant_act(sd) ( (sd)->npc_id || (sd)->state.vending || (sd)->state.buyingstore || (sd)->chat_id != 0 || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend || (sd)->state.refine_ui == 1 || (sd)->state.lapine_ui == 1)
/* equals pc_cant_act except it doesn't check for chat rooms */
-#define pc_cant_act2(sd) ( (sd)->npc_id || (sd)->state.buyingstore || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend || (sd)->state.refine_ui == 1)
+#define pc_cant_act2(sd) ( (sd)->npc_id || (sd)->state.buyingstore || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend || (sd)->state.refine_ui == 1 || (sd)->state.lapine_ui == 1)
#define pc_setdir(sd,b,h) ( (sd)->ud.dir = (b) ,(sd)->head_dir = (h) )
#define pc_setchatid(sd,n) ( (sd)->chat_id = (n) )
diff --git a/src/map/script.c b/src/map/script.c
index 604213982..9a9b46615 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -25755,6 +25755,25 @@ static BUILDIN(identifyidx)
return true;
}
+static BUILDIN(openlapineddukddakboxui)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ const int item_id = script_getnum(st, 2);
+ struct item_data *it = itemdb->exists(item_id);
+ if (it == NULL) {
+ ShowError("buildin_openlapineddukddakboxui: Item %d is not valid\n", item_id);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ clif->lapineDdukDdak_open(sd, item_id);
+ script_pushint(st, true);
+ return true;
+}
+
/**
* Adds a built-in script function.
*
@@ -25934,6 +25953,22 @@ static void script_run_item_rental_end_script(struct map_session_data *sd, struc
script->current_item_id = 0;
}
+static void script_run_item_lapineddukddak_script(struct map_session_data *sd, struct item_data *data, int oid) __attribute__((nonnull (1, 2)));
+
+/**
+ * Run item lapineddukddak script for item.
+ *
+ * @param sd player session data. Must be correct and checked before.
+ * @param data unequipped item data. Must be correct and checked before.
+ * @param oid npc id. Can be also 0 or fake npc id.
+ */
+static void script_run_item_lapineddukddak_script(struct map_session_data *sd, struct item_data *data, int oid)
+{
+ script->current_item_id = data->nameid;
+ script->run(data->lapineddukddak->script, 0, sd->bl.id, oid);
+ script->current_item_id = 0;
+}
+
#define BUILDIN_DEF(x,args) { buildin_ ## x , #x , args, false }
#define BUILDIN_DEF2(x,x2,args) { buildin_ ## x , x2 , args, false }
#define BUILDIN_DEF_DEPRECATED(x,args) { buildin_ ## x , #x , args, true }
@@ -26549,6 +26584,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(identify, "i"),
BUILDIN_DEF(identifyidx, "i"),
+ BUILDIN_DEF(openlapineddukddakboxui, "i"),
};
int i, len = ARRAYLENGTH(BUILDIN);
RECREATE(script->buildin, char *, script->buildin_count + len); // Pre-alloc to speed up
@@ -27489,4 +27525,5 @@ void script_defaults(void)
script->run_item_unequip_script = script_run_item_unequip_script;
script->run_item_rental_start_script = script_run_item_rental_start_script;
script->run_item_rental_end_script = script_run_item_rental_end_script;
+ script->run_item_lapineddukddak_script = script_run_item_lapineddukddak_script;
}
diff --git a/src/map/script.h b/src/map/script.h
index a75b948ab..57652e77a 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -1051,6 +1051,7 @@ struct script_interface {
void (*run_item_unequip_script) (struct map_session_data *sd, struct item_data *data, int oid);
void (*run_item_rental_end_script) (struct map_session_data *sd, struct item_data *data, int oid);
void (*run_item_rental_start_script) (struct map_session_data *sd, struct item_data *data, int oid);
+ void (*run_item_lapineddukddak_script) (struct map_session_data *sd, struct item_data *data, int oid);
};
#ifdef HERCULES_CORE