Преглед изворни кода

props

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@508 54d463be-8e91-2dee-dedb-b68131a5f0ec
amber пре 20 година
родитељ
комит
717714e5b8

+ 18 - 18
conf-tmpl/charcommand_athena.conf

@@ -1,18 +1,18 @@
-// Athena charcommand Configuration file.
-// Translated by Peter Kieser <pfak@telus.net>
-
-// Set here the symbol that you want to use for your commands
-// Only 1 character is get (default is '#'). You can set any character,
-// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands)
-// and '@' (Standard GM Commands)
-// With default character, all commands begin by a '#', example: #save SomePlayer
-command_symbol: #
-
-job: 60
-jobchange: 60
-petrename: 50
-petfriendly: 50
-stats: 40
-option: 60
-save: 60
-statsall: 40
+// Athena charcommand Configuration file.
+// Translated by Peter Kieser <pfak@telus.net>
+
+// Set here the symbol that you want to use for your commands
+// Only 1 character is get (default is '#'). You can set any character,
+// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands)
+// and '@' (Standard GM Commands)
+// With default character, all commands begin by a '#', example: #save SomePlayer
+command_symbol: #
+
+job: 60
+jobchange: 60
+petrename: 50
+petfriendly: 50
+stats: 40
+option: 60
+save: 60
+statsall: 40

+ 1697 - 1697
db/item_db.txt

@@ -1,1697 +1,1697 @@
-//ID,Name,Name,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Gender,Loc,wLV,eLV,View,{UseScript},{EquipScript}
-
-// Healing Items
-//=============================================================
-0,DEFAULT,Default,0,20,,10,,,,,0,2,0,0,,,{},{},,
-501,Red_Potion,Red Potion,0,50,0,70,,,,,10477567,2,,,,,{ itemheal rand(45,64),0; },{}
-502,Orange_Potion,Orange Potion,0,200,0,100,,,,,10477567,2,,,,,{ itemheal rand(105,144),0; },{}
-503,Yellow_Potion,Yellow Potion,0,550,0,130,,,,,10477567,2,,,,,{ itemheal rand(175,234),0; },{}
-504,White_Potion,White Potion,0,1200,0,150,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
-505,Blue_Potion,Blue Potion,0,5000,0,150,,,,,10477567,2,,,,,{ itemheal 0,rand(40,59); },{}
-506,Green_Potion,Green Potion,0,40,0,70,,,,,10477567,2,,,,,{ sc_end SC_Poison; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; },{}
-507,Red_Herb,Red Herb,0,18,0,30,,,,,10477567,2,,,,,{ itemheal rand(18,27),0; },{}
-508,Yellow_Herb,Yellow Herb,0,40,0,50,,,,,10477567,2,,,,,{ itemheal rand(38,57),0; },{}
-509,White_Herb,White Herb,0,120,0,70,,,,,10477567,2,,,,,{ itemheal rand(75,114),0; },{}
-510,Blue_Herb,Blue Herb,0,60,0,70,,,,,10477567,2,,,,,{ itemheal 0,rand(15,29); },{}
-511,Green_Herb,Green Herb,0,10,0,30,,,,,10477567,2,,,,,{ sc_end SC_Poison; },{}
-512,mace,Apple,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(16,21),0; },{}
-513,Banana,Banana,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(17,20),0; },{}
-514,Grape,Grape,0,200,0,20,,,,,10477567,2,,,,,{ itemheal 0,rand(10,14); },{}
-515,Carrot,Carrot,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(18,19),0; },{}
-516,Sweet_Potato,Sweet Potato,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(15,22),0; },{}
-517,Meat,Meat,0,50,0,150,,,,,10477567,2,,,,,{ itemheal rand(70,99),0; },{}
-518,Honey,Honey,0,500,0,100,,,,,10477567,2,,,,,{ itemheal rand(70,99),rand(20,39); },{}
-519,Milk,Milk,0,25,0,30,,,,,10477567,2,,,,,{ itemheal rand(27,36),0; },{}
-520,Hinalle_Leaflet,Hinalle Leaflet,0,150,0,10,,,,,10477567,2,,,,,{ itemheal rand(175,234),0; },{}
-521,Aloe_Leaflet,Aloe Leaflet,0,360,0,20,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
-522,Mastela_Fruit,Mastela Fruit,0,840,0,30,,,,,10477567,2,,,,,{ itemheal rand(400,599),0; },{}
-523,Holy_Water,Holy Water,0,20,0,30,,,,,10477567,2,,,,,{ sc_end SC_Curse; },{}
-525,Panacea,Panacea,0,500,0,100,,,,,10477567,2,,,,,{ sc_end SC_Poison; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; sc_end SC_Curse; },{}
-526,Royal_Jelly,Royal Jelly,0,7000,0,150,,,,,10477567,2,,,,,{ itemheal rand(325,404),rand(40,59); sc_end SC_Posion; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; sc_end SC_Curse; },{}
-528,Monster's_Feed,Monster Food,0,60,0,150,,,,,10477567,2,,,,,{ itemheal rand(72,107),0; },{}
-529,Candy,Candy,0,10,0,30,,,,,10477567,2,,,,,{ itemheal rand(45,64),0; },{}
-530,Candy_Cane,Candy Cane,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(105,144),0; },{}
-531,Apple_Juice,Apple Juice,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(25,34),0; },{}
-532,Banana_Juice,Banana Juice,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(26,33),0; },{}
-533,Grape_Juice,Grape Juice,0,250,0,40,,,,,10477567,2,,,,,{ itemheal 0,rand(15,24); },{}
-534,Carrot_Juice,Carrot Juice,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(27,32),0; },{}
-535,Pumkin,Pumpkin,0,15,0,20,,,,,10477567,2,,,,,{ itemheal 19,0; },{}
-536,Ice_Cream,Ice Cream,0,150,0,80,,,,,10477567,2,,,,,{ itemheal rand(105,144),0; },{}
-537,Pet_Food,Pet Food,0,1000,0,10,,,,,10477567,2,,,,,{ itemheal rand(50,89),0; },{}
-538,Well-baked_Cookie,Well-baked Cookie,0,1000,0,30,,,,,10477567,2,,,,,{ itemheal rand(160,199),0; },{}
-539,Piece_of_Cake,Piece of Cake,0,3000,0,100,,,,,10477567,2,,,,,{ itemheal rand(270,329),0; },{}
-540,Falcon_food,Falcon food,0,20,0,50,,,,,10477567,2,,,,,{},{}
-541,Pecopeco_food,Pecopeco food,0,20,0,50,,,,,10477567,2,,,,,{},{}
-542,Festive_Cookie,Festive Cookie,0,10,0,10,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
-543,Festive_Rainbow_Cake,Festive Rainbow Cake,0,20,0,10,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
-544,Raw_Fish,Raw Fish,0,20,0,30,,,,,10477567,2,,,,,{ itemheal rand(25,59),0; },{}
-545,Condensed_Red_Potion,Condensed Red Potion,0,20,0,20,,,,,10477567,2,,,,,{ itemheal rand(45,64),0; },{}
-546,Condensed_Yellow_Potion,Condensed Yellow Potion,0,20,0,30,,,,,10477567,2,,,,,{ itemheal rand(175,234),0; },{}
-547,Condensed_White_Potion,Condensed White Potion,0,20,0,50,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
-548,Cheese,Cheese,0,2800,0,50,,,,,10477567,2,,,,,{ itemheal 0,rand(10,14); },{}
-549,Yam,Hot Potato,0,180,0,80,,,,,10477567,2,,,,,{ itemheal rand(50,99),0; },{}
-550,Rice_Cake,Rice Popper,0,20,5,10,,,,,10477567,2,,,,,{ itemheal rand(10,14),0; },{}
-551,Sushi,Sushi,0,20,0,50,,,,,10477567,2,,,,,{ itemheal rand(50,60),0; },{}
-552,Ketupat,Ketupat,0,20,0,10,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
-553,Dumpling,Dumpling,0,20,0,50,,,,,10477567,2,,,,,{ itemheal rand(39,68),0; },{}
-554,Mochi,Mochi,0,100,0,80,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
-556,Rolled_Rice,Rolled Rice,0,20,0,10,,,,,10477567,3,,,,,{ itemheal rand(10,50),0; },{}
-557,Cut_Rice_Rolls,Cut Rice Rolls,0,20,0,10,,,,,0,3,,,,,{ itemheal rand(10,200),0; },{}
-558,Chocolate,Chocolate,0,500,0,20,,,,,10477567,2,,,,,{ itemheal 1,1; },{}
-559,Hand-made_Chocolate,Hand-made Chocolate,0,5000,0,80,,,,,10477567,2,,,,,{ itemheal 50,50; },{}
-560,White_Chocolate,White Chocolate,0,0,0,80,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
-561,Milk_Chocolate_Bar,Milk Chocolate,0,0,0,80,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
-562,Pizza,Pizza,0,20,0,150,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
-563,Double_Growing_Swiss_Pong_Tyu_,Unknown Item,0,20,0,150,,,,,10477567,3,,,,,{ itemheal rand(100,200),0; },{}
-564,Meat_Dumpling,Meat Dumpling,0,20,0,30,,,,,0,2,,,,,{ itemheal rand(175,234),0; },{}
-565,Vita_500_Bottle,Vita 500,0,2000,0,30,,,,,10477567,2,,,,,{ itemheal 500,0; },{}
-566,Tom_Yum_Goong,Tom_Yum_Goong,0,20,150,0,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
-567,Prawn,Prawn,0,20,40,0,,,,,10477567,3,,,,,{ itemheal rand(50,100),0; },{}
-568,Lemon,Lemon,0,20,40,0,,,,,0,3,,,,,{},{}
-
-// Usable Items
-//===================================================================
-601,Fly_Wing,Fly Wing,2,60,0,50,,,,,10477567,2,,,,,{ warp "Random",0,0; },{}
-602,Butterfly_Wing,Butterfly Wing,2,300,0,50,,,,,10477567,2,,,,,{ warp "SavePoint",0,0; },{}
-603,Old_Blue_Box,Old Blue Box,2,10000,0,200,,,,,10477567,2,,,,,{ getitem -1,1; },{}
-604,Dead_Branch,Dead Branch,2,50,0,50,,,,,10477567,2,,,,,{ monster "this",0,0,"--ja--",-1,1,; },{}
-605,Anodyne,Anodyne,2,2000,0,100,,,,,10477567,2,,,,,{ itemskill 8,1,"??????????"; },{}
-606,Aloevera,Aloevera,2,1500,0,100,,,,,10477567,2,,,,,{ itemskill 6,1,"?????"; },{}
-607,Yggdrasilberry,Yggdrasilberry,0,2,0,300,,,,,10477567,2,,,,,{ percentheal 100,100; },{}
-608,Yggdrasil_Seed,Yggdrasil Seed,0,5000,0,300,,,,,10477567,2,,,,,{ percentheal 50,50; },{}
-609,Amulet,Amulet,2,100,0,100,,,,,10477567,2,,,,,{},{}
-610,Yggdrasil_Leaf,Yggdrasil Leaf,2,4000,0,100,,,,,10477567,2,,,,,{ itemskill 54,1,"????????"; },{}
-611,Magnifier,Magnifier,2,40,0,50,,,,,10477567,2,,,,,{ itemskill 40,1,"???"; },{}
-// Smithing Items
-612,Mini_Furnace,Mini Furnace,2,150,0,200,,,,,10477567,2,,,,,{ produce 16; },{}
-613,Iron_Hammer,Iron Hammer,2,1000,0,200,,,,,10477567,2,,,,,{ produce 1; },{}
-614,Golden_Hammer,Golden Hammer,2,3000,0,300,,,,,10477567,2,,,,,{ produce 2; },{}
-615,Oridecon_Hammer,Oridecon Hammer,2,5000,0,400,,,,,10477567,2,,,,,{ produce 3; },{}
-// Item Givers
-616,Old_Card_Album,Old Card Album,2,10000,0,50,,,,,10477567,2,,,,,{ getitem -3,1; },{}
-617,Old_Violet_Box,Old Violet Box,2,10000,0,200,,,,,10477567,2,,,,,{ getitem -2,1; },{}
-618,Worn_Out_Scroll,Worn Out Scroll,2,50,0,20,,,,,10477567,2,,,,,{ getitem -5,1; },{}
-
-// Pet Tames
-//===================================================================
-619,Unripe_Apple,Unripe Apple,2,1000,0,50,,,,,10477567,2,,,,,{ pet 1002; },{}
-620,Orange_Juice,Orange Juice,2,1500,0,50,,,,,10477567,2,,,,,{ pet 1113; },{}
-621,Bitter_Herb,Bitter Herb,2,20,0,50,,,,,10477567,2,,,,,{ pet 1031; },{},
-622,Rainbow_Carrot,Rainbow Carrot,2,2500,0,50,,,,,10477567,2,,,,,{ pet 1063; },{},
-623,Earthworm_the_Dude,Earthworm the Dude,2,4000,0,50,,,,,10477567,2,,,,,{ pet 1049; },{},
-624,Rotten_Fish,Rotten Fish,2,2500,0,50,,,,,10477567,2,,,,,{ pet 1011; },{},
-625,Rusty_Iron,Rusty Iron,2,100,0,50,,,,,10477567,2,,,,,{ pet 1042; },{},
-626,Monster_Juice,Monster Juice,2,1500,0,50,,,,,10477567,2,,,,,{ pet 1035; },{}
-627,Sweet_Milk,Sweet Milk,2,7000,0,50,,,,,10477567,2,,,,,{ pet 1167; },{}
-628,Well_Dried_Bone,Well Dried Bone,2,10000,0,50,,,,,10477567,2,,,,,{ pet 1107; },{}
-629,Singing_Flower,Singing Flower,2,300,0,50,,,,,10477567,2,,,,,{ pet 1052; },{}
-630,Dew_Laden_Moss,Dew Laden Moss,2,10,0,50,,,,,10477567,2,,,,,{ pet 1014; },{},
-631,Deadly_Noxious_Herb,Deadly Noxious Herb,2,20,0,50,,,,,10477567,2,,,,,{ pet 1077; },{},
-632,Fatty_Chubby_Earthworm,Fatty Chubby Earthworm,2,5000,0,50,,,,,10477567,2,,,,,{ pet 1019; },{},
-633,Baked_Yam,Baked Yam,2,20,0,50,,,,,10477567,2,,,,,{ pet 1056; },{},,
-634,Tropical_Banana,Tropical Banana,2,20,0,50,,,,,10477567,2,,,,,{ pet 1057; },{},,
-635,Horror_of_Tribe,Horror of Tribe,2,300,0,50,,,,,10477567,2,,,,,{ pet 1023; },{},,
-636,No_Recipient,No Recipient,2,100,0,50,,,,,10477567,2,,,,,{ pet 1026; },{},,
-637,Old_Broom,Old Broom,2,350,0,50,,,,,10477567,2,,,,,{ pet 1110; },{},,
-638,Silver_Knife_of_Chastity,Silver Knife of Chastity,2,12000,0,50,,,,,10477567,2,,,,,{ pet 1170; },{},,
-639,Armlet_of_Obedience,Armlet of Obedience,2,18000,0,50,,,,,10477567,2,,,,,{ pet 1029; },{},,
-640,Shining_Stone,Shining Stone,2,3000,0,50,,,,,10477567,2,,,,,{ pet 1155; },{},,
-641,Contract_in_Shadow,Contracts in Shadow,2,100,0,50,,,,,10477567,2,,,,,{ pet 1109; },{},,
-642,Book_of_Devil,Book of Devil,2,1800,0,50,,,,,10477567,2,,,,,{ pet 1101; },{},,
-643,Pet_Incubator,Pet Incubator,2,3000,,30,,,,,10477567,2,,,,,{ if((countitem(9030)<1)&&(countitem(9031)<1)&&(countitem(9032)<1)&&(countitem(9033)<1)&&(countitem(9034)<1)&&(countitem(9035)<1)&&(countitem(9036)<1)&&(countitem(9037)<1)&&(countitem(9038)<1)&&(countitem(9039)<1)) bpet; },{},,
-
-// Misc Items
-//===================================================================
-644,Gift_Box,Gift Box,2,2,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
-645,Concentration_Potion,Concentration Potion,2,800,0,100,,,,,10477567,2,,,,,{ sc_start SC_SpeedPot0,1800,0; },{}
-656,Awakening_Potion,Awakening Potion,2,1500,0,150,,,,,8904431,2,,,40,,{ sc_start SC_SpeedPot1,1800,0; },{}
-657,Berserk_Potion,Berserk Potion,2,3000,0,200,,,,,410786,2,,,85,,{ sc_start SC_SpeedPot2,1800,0; },{}
-658,Tribal_Solidarity,Tribal Solidarity,3,1000,0,500,,,,,,,,,,,{},{}
-659,Her_Heart,Her Heart,2,500,0,50,,,,,10477567,2,,,,,{ pet 1188; },{},,
-660,Forbidden_Red_Candle,Red Candle,2,20,0,50,,,,,10477567,2,,,,,{ pet 1200; },{},,
-661,Sky_Apron,Soft Apron,2,20,0,50,,,,,10477567,2,,,,,{ pet 1275; },{}
-
-// Newer Items 
-664,Gift_Box_,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
-665,Gift_Box__,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
-666,Gift_Box___,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
-667,Gift_Box____,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
-668,Angpow,Angpow,0,1,0,2,,,,,10477567,2,,,,,{ set Zeny,Zeny+rand(100,10000); },{}
-669,Rice_Cake_Soup,Rice Cake Soup,2,20,0,100,,,,,,,,,,,{},{},,
-670,Gold_Coin_Pouch,Gold Coin Pouch,2,20,0,400,,,,,,,,,,,{},{},,
-671,Gold_Coin,Gold Coin,2,20,0,40,,,,,,,,,,,{},{},,
-672,Copper_Coin_Pouch,Copper Coin Pouch,2,20,0,400,,,,,,,,,,,{},{},,
-673,Copper_Coin,Copper Coin,2,20,0,40,,,,,,,,,,,{},{},,
-674,Mysterious_Ore_Coin,Mysterious Ore Coin,2,20,0,40,,,,,0,3,,,,,{},{}
-675,Silver_Coin,Silver Coin,2,20,0,40,,,,,0,3,,,,,{},{}
-676,Silver_Coin_Pouch,Silver Coin Pouch,2,20,0,400,,,,,0,3,,,,,{},{}
-677,Platinum_Coin,Platinum Coin,2,20,0,40,,,,,0,3,,,,,{},{}
-678,Deadly_Poison_Bottle,Deadly Poison Bottle,2,20,0,100,,,,,0,3,,,,,{},{}
-679,Recall_Pills,Recall Pills,2,20,0,300,,,,,0,3,,,,,{},{}
-680,Carnation,Carnation,2,20,0,1000,,,,,0,3,,,,,{},{}
-681,Wedding_Photo_Album,Wedding_Photo_Album,2,20,0,10,,,,,0,3,,,,,{},{}
-682,Realgar_Wine,Realgar Wine,2,20,0,50,,,,,10477567,2,,,,,{ sc_start SC_ATKPOT,30,30; },{}
-683,Exorcize_Herb,Exorcize Herb,2,20,0,50,,,,,10477567,2,,,,,{ sc_start SC_MATKPOT,30,30; },{}
-684,Durian,Durian,2,20,0,10,,,,,0,3,,,,,{},{}
-685,Ramadan,Ramadan,2,20,10,10,,,,,0,3,,,,,{},{}
-
-701,Ora_Ora,Ora Ora,3,55000,0,200,,,,,,,,,,,{},{}
-702,Animal_Gore,Animal Gore,3,2,0,100,,,,,,,,,,,{},{}
-703,Hinalle,Hinalle,3,2,0,10,,,,,,,,,,,{},{}
-704,Aloe,Aloe,3,2,0,10,,,,,,,,,,,{},{}
-705,Clover,Clover,3,10,0,10,,,,,,,,,,,{},{}
-706,Four_Leaf_Clover,Four-Leaf Clover,3,80000,0,10,,,,,,,,,,,{},{}
-707,Singing_Plant,Singing Plant,3,2,0,10,,,,,,,,,,,{},{}
-708,Ment,Ment,3,2,0,10,,,,,,,,,,,{},{}
-709,Izidor,Izidor,3,2,0,10,,,,,,,,,,,{},{}
-710,Illusion_Flower,Illusion Flower,3,2,0,10,,,,,,,,,,,{},{}
-711,Shoot,Shoot,3,16,0,10,,,,,,,,,,,{},{}
-712,Flower,Flower,3,2,0,10,,,,,,,,,,,{},{}
-713,Empty_Bottle,Empty Bottle,3,6,0,20,,,,,,,,,,,{},{}
-714,Emperium,Emperium,3,2,0,1000,,,,,,,,,,,{},{}
-715,Yellow_Gemstone,Yellow Gemstone,3,600,0,30,,,,,,,,,,,{},{}
-716,Red_Gemstone,Red Gemstone,3,600,0,30,,,,,,,,,,,{},{}
-717,Blue_Gemstone,Blue Gemstone,3,600,0,30,,,,,,,,,,,{},{}
-718,Garnet,Garnet,3,6000,0,100,,,,,,,,,,,{},{}
-719,Amethyst,Amethyst,3,6000,0,100,,,,,,,,,,,{},{}
-720,Aquamarine,Aquamarine,3,6000,0,100,,,,,,,,,,,{},{}
-721,Emerald,Emerald,3,6000,0,100,,,,,,,,,,,{},{}
-722,Pearl,Pearl,3,6000,0,100,,,,,,,,,,,{},{}
-723,Ruby,Ruby,3,6000,0,100,,,,,,,,,,,{},{}
-724,Cursed_Ruby,Cursed Ruby,3,1000,0,100,,,,,,,,,,,{},{}
-725,Sardonyx,Sardonyx,3,6000,0,100,,,,,,,,,,,{},{}
-726,Sapphire,Sapphire,3,6000,0,100,,,,,,,,,,,{},{}
-727,Opal,Opal,3,6000,0,100,,,,,,,,,,,{},{}
-728,Topaz,Topaz,3,6000,0,100,,,,,,,,,,,{},{}
-729,Zircon,Zircon,3,6000,0,100,,,,,,,,,,,{},{}
-730,1_Carat_Diamond,1 Carat Diamond,3,10000,0,100,,,,,,,,,,,{},{}
-731,2_Carat_Diamond,2 Carat Diamond,3,25000,0,100,,,,,,,,,,,{},{}
-732,3_Carat_Diamond,3 Carat Diamond,3,55000,0,100,,,,,,,,,,,{},{}
-733,Cracked_Diamond,Cracked Diamond,3,2,0,100,,,,,,,,,,,{},{}
-734,Red_Frame,Red Frame,3,3000,0,200,,,,,,,,,,,{},{}
-735,Chung_Jah,Chung Jah,3,5000,0,500,,,,,,,,,,,{},{}
-736,China,China,3,1000,0,300,,,,,,,,,,,{},{}
-737,Black_Ladle,Black Ladle,3,400,0,50,,,,,,,,,,,{},{}
-738,Pencil_Case,Pencil Case,3,300,0,100,,,,,,,,,,,{},{}
-739,Rouge,Rouge,3,10000,0,10,,,,,,,,,,,{},{}
-740,Puppet,Puppet,3,1000,0,100,,,,,,,,,,,{},{}
-741,Poring_Doll,Poring Doll,3,1800,0,100,,,,,,,,,,,{},{}
-742,Chonchon_Doll,Chonchon Doll,3,3000,1000,100,,,,,,,,,,,{},{}
-743,Spore_Doll,Spore Doll,3,5500,0,100,,,,,,,,,,,{},{}
-744,Bouquet,Bouquet,3,2000,0,50,,,,,,,,,,,{},{}
-745,Wedding_Bouquet,Wedding Bouquet,3,10000,0,50,,,,,,,,,,,{},{}
-746,Glass_Bead,Glass Bead,3,1400,0,50,,,,,,,,,,,{},{}
-747,Crystal_Mirror,Crystal Mirror,3,15000,0,50,,,,,,,,,,,{},{}
-748,Witherless_Rose,Witherless Rose,3,55000,0,10,,,,,,,,,,,{},{}
-749,Frozen_Rose,Frozen Rose,3,35000,0,10,,,,,,,,,,,{},{}
-750,Baphomet_Doll,Baphomet Doll,3,18000,0,100,,,,,,,,,,,{},{}
-751,Osiris_Doll,Osiris Doll,3,14000,0,100,,,,,,,,,,,{},{}
-752,Rocker_Doll,Grasshopper Doll,3,4000,0,100,,,,,,,,,,,{},{}
-753,Yoyo_Doll,Yoyo Doll,3,6000,0,100,,,,,,,,,,,{},{}
-754,Raccoon_Doll,Raccoon Doll,3,5000,0,100,,,,,,,,,,,{},{}
-756,Rough_Oridecon,Rough Oridecon,3,548,0,200,,,,,,,,,,,{},{}
-757,Rough_Elunium,Rough Elunium,3,648,0,200,,,,,,,,,,,{},{}
-901,Danggie,Danggie,3,250,0,10,,,,,,,,,,,{},{}
-902,Tree_Root,Tree Root,3,12,0,10,,,,,,,,,,,{},{}
-903,Reptile_Tongue,Reptile Tongue,3,50,0,10,,,,,,,,,,,{},{}
-904,Scorpion_Tail,Scorpion Tail,3,124,0,10,,,,,,,,,,,{},{}
-905,Stem,Stem,3,58,0,10,,,,,,,,,,,{},{}
-906,Pointed_Scale,Pointed Scale,3,70,0,10,,,,,,,,,,,{},{}
-907,Resin,Resin,3,120,0,10,,,,,,,,,,,{},{}
-908,Spawn,Spawn,3,148,0,10,,,,,,,,,,,{},{}
-909,Jellopy,Jellopy,3,6,0,10,,,,,,,,,,,{},{}
-910,Garlet,Garlet,3,40,0,10,,,,,,,,,,,{},{}
-911,Scell,Scell,3,160,0,10,,,,,,,,,,,{},{}
-912,Zargon,Zargon,3,480,0,10,,,,,,,,,,,{},{}
-913,Tooth_of_Bat,Tooth of Bat,3,34,0,10,,,,,,,,,,,{},{}
-914,Fluff,Fluff,3,8,0,10,,,,,,,,,,,{},{}
-915,Chrysalis,Chrysalis,3,8,0,10,,,,,,,,,,,{},{}
-916,Feather_of_Birds,Feather of Birds,3,10,0,10,,,,,,,,,,,{},{}
-917,Talon,Talon,3,20,0,10,,,,,,,,,,,{},{}
-918,Sticky_Webfoot,Sticky Webfoot,3,20,0,10,,,,,,,,,,,{},{}
-919,Animal_Skin,Animal Skin,3,36,0,10,,,,,,,,,,,{},{}
-920,Wolf_Claw,Wolf Claw,3,58,0,10,,,,,,,,,,,{},{}
-921,Mushroom_Spore,Mushroom Spore,3,36,0,10,,,,,,,,,,,{},{}
-922,Orc's_Fang,Orcish Fang,3,220,0,10,,,,,,,,,,,{},{}
-923,Evil_Horn,Evil Horn,3,1020,0,10,,,,,,,,,,,{},{}
-924,Powder_of_Butterfly,Powder of Butterfly,3,90,0,10,,,,,,,,,,,{},{}
-925,Bill_of_Birds,Bill of Birds,3,64,0,10,,,,,,,,,,,{},{}
-926,Snake_Scale,Snake Scale,3,82,0,10,,,,,,,,,,,{},{}
-928,Insect_Feeler,Insect Feeler,3,114,0,10,,,,,,,,,,,{},{}
-929,Immortal_Heart,Immortal Heart,3,374,0,10,,,,,,,,,,,{},{}
-930,Rotten_Bandage,Rotten Bandage,3,358,0,10,,,,,,,,,,,{},{}
-931,Orcish_Voucher,Orcish Voucher,3,168,0,10,,,,,,,,,,,{},{}
-932,Skel-Bone,Skel-Bone,3,232,0,10,,,,,,,,,,,{},{}
-934,Memento,Memento,3,600,0,10,,,,,,,,,,,{},{}
-935,Shell,Shell,3,14,0,10,,,,,,,,,,,{},{}
-936,Scale_Shell,Scale Shell,3,466,0,10,,,,,,,,,,,{},{}
-937,Venom_Canine,Venom Canine,3,148,0,10,,,,,,,,,,,{},{}
-938,Sticky_Mucus,Sticky Mucus,3,70,0,10,,,,,,,,,,,{},{}
-939,Bee_Sting,Bee Sting,3,32,0,10,,,,,,,,,,,{},{}
-940,Grasshopper's_Leg,Grasshoppers Leg,3,36,0,10,,,,,,,,,,,{},{}
-941,Nose_Ring,Nose Ring,3,568,0,10,,,,,,,,,,,{},{}
-942,Yoyo_Tail,Yoyo Tail,3,114,0,10,,,,,,,,,,,{},{}
-943,Solid_Shell,Solid Shell,3,448,0,10,,,,,,,,,,,{},{}
-944,Horseshoe,Horseshoe,3,588,0,10,,,,,,,,,,,{},{}
-945,Raccoon_Leaf,Raccoon Leaf,3,106,0,10,,,,,,,,,,,{},{}
-946,Snail's_Shell,Snails Shell,3,64,0,10,,,,,,,,,,,{},{}
-947,Horn,Horn,3,116,0,10,,,,,,,,,,,{},{}
-948,Bear's_Footskin,Bears Footskin,3,174,0,10,,,,,,,,,,,{},{}
-949,Feather,Feather,3,20,0,10,,,,,,,,,,,{},{}
-950,Heart_of_Mermaid,Heart of Mermaid,3,264,0,10,,,,,,,,,,,{},{}
-951,Fin,Fin,3,412,0,10,,,,,,,,,,,{},{}
-952,Cactus_Needle,Cactus Needle,3,82,0,10,,,,,,,,,,,{},{}
-953,Stone_Heart,Stone Heart,3,184,0,10,,,,,,,,,,,{},{}
-954,Shining_Scale,Shining Scale,3,466,0,10,,,,,,,,,,,{},{}
-955,Worm_Peeling,Worm Peeling,3,52,0,10,,,,,,,,,,,{},{}
-956,Gill,Gill,3,342,0,10,,,,,,,,,,,{},{}
-957,Decayed_Nail,Decayed Nail,3,82,0,10,,,,,,,,,,,{},{}
-958,Horrendous_Mouth,Horrendous Mouth,3,390,0,10,,,,,,,,,,,{},{}
-959,Stinky_Scale,Stinky Scale,3,168,0,10,,,,,,,,,,,{},{}
-960,Nipper,Nipper,3,114,0,10,,,,,,,,,,,{},{}
-961,Conch,Conch,3,158,0,10,,,,,,,,,,,{},{}
-962,Tentacle,Tentacle,3,70,0,10,,,,,,,,,,,{},{}
-963,Sharp_scale,Sharp Scale,3,250,0,10,,,,,,,,,,,{},{}
-964,Crab_Shell,Crab Shell,3,90,5,10,,,,,,,,,,,{},{}
-965,Clam_Shell,Clam Shell,3,56,5,10,,,,,,,,,,,{},{}
-966,Clam_Flesh,Clam Flesh,3,158,0,10,,,,,,,,,,,{},{}
-967,Turtle_Shell,Turtle Shell,3,680,0,10,,,,,,,,,,,{},{}
-968,Heroic_Emblem,Heroic Emblem,3,3000,0,10,,,,,,,,,,,{},{}
-969,Gold,Gold,3,200000,0,200,,,,,,,,,,,{},{}
-970,Alcohol,Alcohol,3,400,0,30,,,,,,,,,,,{},{}
-971,Detrimindexta,Detrimindexta,3,400,0,30,,,,,,,,,,,{},{}
-972,Karvodailnirol,Karvodailnirol,3,400,0,30,,,,,,,,,,,{},{}
-973,Counteragent,Counteragent,3,200,0,70,,,,,,,,,,,{},{}
-974,Mixture,Mixture,3,200,0,70,,,,,,,,,,,{},{}
-975,Scarlet_Dyestuffs,Scarlet Dyestuffs,3,1000,0,150,,,,,,,,,,,{},{}
-976,Lemon_Dyestuffs,Lemon Dyestuffs,3,1000,0,150,,,,,,,,,,,{},{}
-978,Cobaltblue_Dyestuff,Cobaltblue Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
-979,Darkgreen_Dyestuff,Darkgreen Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
-980,Orange_Dyestuff,Orange Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
-981,Violet_Dyestuff,Violet Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
-982,White_Dyestuff,White Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
-983,Black_Dyestuff,Black Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
-984,Oridecon,Oridecon,3,1100,0,200,,,,,,,,,,,{},{}
-985,Elunium,Elunium,3,1100,0,200,,,,,,,,,,,{},{}
-986,Anvil,Anvil,3,30000,0,500,,,,,,,,,,,{},{}
-987,Oridecon_Anvil,Oridecon Anvil,3,120000,0,700,,,,,,,,,,,{},{}
-988,Golden_Anvil,Golden Anvil,3,300000,0,900,,,,,,,,,,,{},{}
-989,Emperium_Anvil,Emperium Anvil,3,600000,0,1000,,,,,,,,,,,{},{}
-990,Red_Blood,Red Blood,3,1000,0,50,,,,,,,,,,,{},{}
-991,Crystal_Blue,Crystal Blue,3,1000,0,50,,,,,,,,,,,{},{}
-992,Wind_of_Verdure,Wind of Verdure,3,1000,0,50,,,,,,,,,,,{},{}
-993,Green_Live,Green Live,3,1000,0,50,,,,,,,,,,,{},{}
-994,Flame_Heart,Flame Heart,3,3000,0,300,,,,,,,,,,,{},{}
-995,Mystic_Frozen,Mystic Frozen,3,3000,0,300,,,,,,,,,,,{},{}
-996,Rough_Wind,Rough Wind,3,3000,0,300,,,,,,,,,,,{},{}
-997,Great_Nature,Great Nature,3,3000,0,300,,,,,,,,,,,{},{}
-998,Iron,Iron,3,100,0,50,,,,,,,,,,,{},{}
-999,Steel,Steel,3,1000,0,100,,,,,,,,,,,{},{}
-1000,Star_Crumb,Star Crumb,3,4500,0,100,,,,,,,,,,,{},{}
-1001,Star_Dust,Star Dust,3,1500,0,10,,,,,,,,,,,{},{}
-1002,Iron_Ore,Iron Ore,3,50,0,150,,,,,,,,,,,{},{}
-1003,Coal,Coal,3,500,0,50,,,,,,,,,,,{},{}
-1004,Chivalry_Emblem,Chivalry Emblem,3,2,0,100,,,,,,,,,,,{},{}
-1005,Hammer_of_Blacksmith,Hammer of Blacksmith,3,2,0,800,,,,,,,,,,,{},{}
-1006,Old_Magic_Book,Old Magic Book,3,2,0,30,,,,,,,,,,,{},{}
-1007,Necklace_of_Wisdom,Necklace of Wisdom,3,2,0,40,,,,,,,,,,,{},{}
-1008,Necklace_of_Oblivion,Necklace of Oblivion,3,2,0,100,,,,,,,,,,,{},{}
-1009,Hand_of_God,Hand of God,3,2,0,20,,,,,,,,,,,{},{}
-1010,Phracon,Phracon,3,200,0,200,,,,,,,,,,,{},{}
-1011,Emveretarcon,Emveretarcon,3,1000,0,200,,,,,,,,,,,{},{}
-1012,Frill,Frill,3,250,0,10,,,,,,,,,,,{},{}
-1013,Rainbow_Shell,Rainbow Shell,3,90,0,10,,,,,,,,,,,{},{}
-1014,Ant_Jaw,Ant Jaw,3,232,0,10,,,,,,,,,,,{},{}
-1015,Tongue,Tongue,3,528,0,10,,,,,,,,,,,{},{}
-1016,Rat_Tail,Rat Tail,3,52,0,10,,,,,,,,,,,{},{}
-1017,Mole_Whiskers,Mole Whiskers,3,106,0,10,,,,,,,,,,,{},{}
-1018,Mole_Claw,Mole Claw,3,210,0,10,,,,,,,,,,,{},{}
-1019,Trunk,Trunk,3,60,0,10,,,,,,,,,,,{},{}
-1020,Black_Hair,Black Hair,3,292,0,10,,,,,,,,,,,{},{}
-1021,Dokkaebi_Horn,Dokkaebi Horn,3,292,0,10,,,,,,,,,,,{},{}
-1022,Nine_Tails,Nine Tails,3,650,0,10,,,,,,,,,,,{},{}
-1023,Fish_Tail,Fish Tail,3,196,0,10,,,,,,,,,,,{},{}
-1024,Squid_Ink,Squid Ink,3,264,0,10,,,,,,,,,,,{},{}
-1025,Cobweb,Cobweb,3,184,0,10,,,,,,,,,,,{},{}
-1026,Acorn,Acorn,3,98,0,10,,,,,,,,,,,{},{}
-1027,Porcupine_Quill,Porcupine Quill,3,158,0,10,,,,,,,,,,,{},{}
-1028,Mane,Mane,3,196,0,10,,,,,,,,,,,{},{}
-1029,Tiger_Skin,Tiger Skin,3,548,0,10,,,,,,,,,,,{},{}
-1030,Tiger's_Footskin,Tigers Footskin,3,1500,0,10,,,,,,,,,,,{},{}
-1031,Mantis_Scythe,Mantis Scythe,3,196,0,10,,,,,,,,,,,{},{}
-1032,Maneater_Blossom,Maneater Blossom,3,196,0,10,,,,,,,,,,,{},{}
-1033,Maneater_Root,Maneater Root,3,208,0,10,,,,,,,,,,,{},{}
-1034,Blue_Hair,Blue Hair,3,342,0,10,,,,,,,,,,,{},{}
-1035,Dragon_Canine,Dragon Canine,3,484,0,10,,,,,,,,,,,{},{}
-1036,Dragon_Scale,Dragon Scale,3,500,0,10,,,,,,,,,,,{},{}
-1037,Dragon_Tail,Dragon Tail,3,1200,0,10,,,,,,,,,,,{},{}
-1038,Little_Evil_Horn,Little Evil Horn,3,528,0,10,,,,,,,,,,,{},{}
-1039,Little_Evil_Wing,Little Evil Wing,3,2000,0,10,,,,,,,,,,,{},{}
-1040,Elder_Pixie's_Moustache,Elder Pixies Moustache,3,232,0,10,,,,,,,,,,,{},{}
-1041,Lantern,Lantern,3,250,0,10,,,,,,,,,,,{},{}
-1042,Bug_Leg,Bug Leg,3,430,0,10,,,,,,,,,,,{},{}
-1043,Orc_Claw,Orc Claw,3,168,0,10,,,,,,,,,,,{},{}
-1044,Zenorc's_Fang,Zenorcs Fang,3,264,0,10,,,,,,,,,,,{},{}
-1045,Cultish_Masque,Cultish Masque,3,412,0,10,,,,,,,,,,,{},{}
-1046,Scorpion_Nipper,Scorpion Nipper,3,614,0,10,,,,,,,,,,,{},{}
-1047,Dead_Medusa,Dead Medusa,3,548,0,10,,,,,,,,,,,{},{}
-1048,Horrendous_Hair,Horrendous Hair,3,800,0,10,,,,,,,,,,,{},{}
-1049,Skirt_of_Virgin,Skirt of Virgin,3,1700,0,10,,,,,,,,,,,{},{}
-1050,Tendon,Tendon,3,220,0,10,,,,,,,,,,,{},{}
-1051,Detonator,Detonator,3,450,0,10,,,,,,,,,,,{},{}
-1052,Single_Cell,Single Cell,3,46,0,10,,,,,,,,,,,{},{}
-1053,Ancient_Tooth,Ancient Tooth,3,548,0,10,,,,,,,,,,,{},{}
-1054,Ancient_Lips,Ancient Lips,3,1000,0,10,,,,,,,,,,,{},{}
-1055,Earthworm_Peeling,Earthworm Peeling,3,196,0,10,,,,,,,,,,,{},{}
-1056,Grit,Grit,3,306,0,10,,,,,,,,,,,{},{}
-1057,Moth_Dust,Moth Dust,3,138,0,10,,,,,,,,,,,{},{}
-1058,Moth_Wings,Moth Wings,3,200,0,10,,,,,,,,,,,{},{}
-1059,Fabric,Fabric,3,306,0,10,,,,,,,,,,,{},{}
-1060,Golden_Hair,Golden Hair,3,430,0,10,,,,,,,,,,,{},{}
-1061,Witched_Starsand,Witched Starsand,3,484,0,10,,,,,,,,,,,{},{}
-1062,Jack_o'_Pumpkin,Jack o' Pumpkin,3,374,0,10,,,,,,,,,,,{},{}
-1063,Fang,Fang,3,680,0,10,,,,,,,,,,,{},{}
-1064,Reins,Reins,3,802,0,10,,,,,,,,,,,{},{}
-1065,Trap,Trap,3,100,0,10,,,,,,,,,,,{},{}
-1066,Fine-grained_Trunk,Fine-grained Trunk,3,2,0,10,,,,,,,,,,,{},{}
-1067,Solid_Trunk,Solid Trunk,3,2,0,10,,,,,,,,,,,{},{}
-1068,Barren_Trunk,Barren Trunk,3,2,0,10,,,,,,,,,,,{},{}
-1069,Orange_Net_Mushroom,Orange Net Mushroom,3,2,0,10,,,,,,,,,,,{},{}
-1070,Orange_Gooey_Mushroom_,Orange Gooey Mushroom,3,2,0,10,,,,,,,,,,,{},{}
-1071,Unknown_Test_Tube,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
-1072,Delivery_Message,DEL Message,3,2,0,10,,,,,,,,,,,{},{}
-1073,Voucher,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1074,Voucher_,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1075,Voucher__,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1076,Voucher___,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1077,Voucher____,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1078,Voucher_____,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1079,Voucher______,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1080,Voucher_______,Voucher,3,2,0,10,,,,,,,,,,,{},{}
-1081,Delivery_Box,DEL Box,3,2,0,1200,,,,,,,,,,,{},{}
-1082,Delivery_Box_,DEL Box,3,2,0,1200,,,,,,,,,,,{},{}
-1083,Delivery_Box__,DEL Box,3,2,0,1200,,,,,,,,,,,{},{}
-1084,Kafra_Pass,Kafra Pass,3,0,0,10,,,,,,,,,,,{},{}
-1085,Unknown_Test_Tube_,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
-1086,Unknown_Test_Tube__,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
-1087,Unknown_Test_Tube___,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
-1088,Morroc_Solution,Morocc Solution,3,2,0,30,,,,,,,,,,,{},{}
-1089,Payon_Solution,Payon Solution,3,2,0,30,,,,,,,,,,,{},{}
-1090,Unknown_Test_Tube____,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
-1092,Empty_Test_Tube,Empty Testtube,3,3,0,20,,,,,,,,,,,{},{}
-1093,Empty_Potion_Bottle,Empty Potion Bottle,3,10,0,10,,,,,,,,,,,{},{}
-1094,Short_Daenggie,Short Daenggie,3,278,0,10,,,,,,,,,,,{},{}
-1095,Clock_Hand,Needle of Alarm,3,546,0,10,,,,,,,,,,,{},{}
-1096,Round_Shell,Round Shell,3,954,0,10,,,,,,,,,,,{},{}
-1097,Worn_Out_Page,Worn Out Page,3,820,0,10,,,,,,,,,,,{},{}
-1098,Manacles,Manacles,3,658,0,10,,,,,,,,,,,{},{}
-1099,Worn-out_Prison_Uniform,Worn-out Prison Uniform,3,680,0,10,,,,,,,,,,,{},{}
-
-// Weapons
-//===================================================================
-// 1 Handed Swords
-1101,Sword,Sword,4,100,0,500,25,,1,3,8803555,2,2,1,2,2,{},{}
-1102,Sword_,Sword,4,100,0,500,25,,1,4,8803555,2,2,1,2,2,{},{}
-1103,Sword__,Sword,4,100,0,500,25,,1,0,8803555,2,2,1,2,2,{},{}
-1104,Falchion,Falchion,4,1500,0,600,39,,1,3,8803555,2,2,1,2,2,{},{}
-1105,Falchion_,Falchion,4,1500,0,600,39,,1,4,8803555,2,2,1,2,2,{},{}
-1106,Falchion__,Falchion,4,1500,0,600,39,,1,0,8803555,2,2,1,2,2,{},{}
-1107,Blade,Blade,4,2900,0,700,53,,1,3,8803555,2,2,1,2,2,{},{}
-1108,Blade_,Blade,4,2900,0,700,53,,1,4,8803555,2,2,1,2,2,{},{}
-1109,Blade__,Blade,4,2900,0,700,53,,1,0,8803555,2,2,1,2,2,{},{}
-1110,Rapier,Rapier,4,10000,0,500,70,,1,2,8803555,2,2,2,14,2,{},{}
-1111,Rapier_,Rapier,4,10000,0,500,70,,1,3,8803555,2,2,2,14,2,{},{}
-1112,Rapier__,Rapier,4,10000,0,500,70,,1,0,8803555,2,2,2,14,2,{},{}
-1113,Scimiter,Scimiter,4,17000,0,700,85,,1,2,8803555,2,2,2,14,2,{},{}
-1114,Scimiter_,Scimiter,4,17000,0,700,85,,1,3,8803555,2,2,2,14,2,{},{}
-1115,Scimiter__,Scimiter,4,17000,0,700,85,,1,0,8803555,2,2,2,14,2,{},{}
-1116,Katana,Katana,4,2000,0,1000,60,,1,3,16514,2,34,1,4,3,{},{}
-1117,Katana_,Katana,4,2000,0,1000,60,,1,4,16514,2,34,1,4,3,{},{}
-1118,Katana__,Katana,4,2000,0,1000,60,,1,0,16514,2,34,1,4,3,{},{}
-1119,Tsurugi,Tsurugi,4,51000,0,1200,130,,1,1,414946,2,2,3,27,2,{},{}
-1120,Tsurugi_,Tsurugi,4,51000,0,1200,130,,1,2,414946,2,2,3,27,2,{},{}
-1121,Tsurugi__,Tsurugi,4,51000,0,1200,130,,1,0,414946,2,2,3,27,2,{},{}
-1122,Ring_Pommel_Saber,Ring Pommel Saber,4,24000,0,900,100,,1,2,414946,2,2,2,14,2,{},{}
-1123,Haedonggum,Haedonggum,4,50000,0,900,120,,1,1,414946,2,2,3,27,2,{},{ bonus bInt,3; },,,,,,
-1124,Orcish_Sword,Orcish sword,4,20,0,800,90,,1,0,8803555,2,2,3,5,2,{},{ bonus bUnbreakable,100; },,,,,,,
-1125,Ring_Pommel_Saber_,Ring Pommel Saber,4,24000,0,900,100,,1,3,414946,2,2,2,14,2,{},{},,,,,,,
-1126,Saber,Saber,4,49000,0,1000,115,,1,2,414946,2,2,3,27,2,{},{},,,,,,,
-1127,Saber_,Saber,4,49000,0,1000,115,,1,3,414946,2,2,3,27,2,{},{},,,,,,,
-1128,Haedonggum_,Haedonggum,4,50000,0,900,120,,1,2,414946,2,2,3,27,2,{},{ bonus bInt,3; },,,,,,
-1129,Flamberge,Flamberge,4,60000,0,1500,150,,1,0,16512,2,2,3,27,2,{},{},,,,,,,
-1130,Nagan,Nagan,4,20,0,500,120,,1,0,414946,2,2,4,40,2,{},{ bonus bDoubleRate,25; bonus2 bAddRace,7,5; },,,,
-1131,Ice_Falchion,Ice Falchion,4,20,0,600,100,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,1; skill 14,3; bonus2 bAddEff,Eff_Freeze,500; bonus3 bAutoSpell,14,3,25; }
-1132,Edge,Edge,4,20,0,700,115,,1,0,414946,2,2,4,40,2,{},{ bonus2 bAddEff,Eff_Curse,300; bonus2 bWeaponComaRace,11,10; },,,
-1133,Fire_Brand,Fire Brand,4,20,0,500,100,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,3; skill 19,3; bonus3 bAutoSpell,19,3,25; },,
-1134,Caesar's_Sword,Caesar's Sword,4,20,0,700,140,,1,0,414946,2,2,4,40,2,{},{ bonus2 bAddRace,3,25; bonus bIgnoreDefRace,3; },,,,
-1135,Cutlas,Cutlas,4,20,0,900,150,,1,0,414946,2,2,4,40,2,{},{ skill 5,5; bonus bStr,2; bonus bDef,1; },,,,
-1136,Solar_Sword,Solar Sword,4,20,0,1200,85,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,3; bonus2 bHPDrainRate,100,1; bonus2 bSPDrainRate,5,-15; },,,,
-1137,Excalibur,Excalibur,4,20,0,1200,150,,1,0,414946,2,2,4,40,2,{},{ bonus bInt,5; bonus bLuk,10; bonus bDex,-1; bonus bAtkEle,6; },,,
-1138,Mysteltainn_,Mysteltainn,4,20,0,1000,170,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,7; bonus2 bAddEle,8,15; bonus2 bAddEff,Eff_Stone,100; bonus bDex,3; },
-1139,Talefing_,Talefing,4,20,0,1000,200,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,7; bonus2 bSPDrainRate,5,-35; },,,,,,,,,
-1140,Byeollungum,Byeollungum,4,20,0,900,150,,1,0,414946,2,2,4,40,2,{},{ bonus2 bSubRace,11,-10; bonus2 bAddRace,10,50; bonus bAllStats,2; }
-1141,Immaterial_Sword,Immaterial Sword,4,20,0,900,140,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,8; bonus2 bSPDrainRate,1,30; bonus2 bSPDrainRate,100,-1; },,,,,,,,,
-1142,Jewel_Sword,Crystal Sword,4,20,0,2200,104,,1,0,414946,2,2,3,68,2,{},{},,,,,,,,,,
-1143,Gaia_Sword,Gaia Sword,4,20,0,2500,115,,1,0,414946,2,2,3,74,2,{},{ bonus3 bAddMonsterDropItem,1002,50,25000; },,,,,,,,,,
-1144,Sashimi,Sashimi,4,20,0,1400,75,,1,0,414946,2,2,3,48,2,{},{ bonus bAtkEle,4; bonus3 bAddMonsterDropItem,544,5,4000; },,,,,,
-1145,Holy_Avenger,Holy Avenger,4,20,0,1350,125,,1,0,16384,2,2,3,75,2,{},{ bonus bAtkEle,6; },,,,,,,,
-// 2 Handed Swords
-1151,Slayer,Slayer,4,15000,0,1300,90,,1,2,16514,2,34,2,18,3,{},{},,,,,,,,,,
-1152,Slayer_,Slayer,4,15000,0,1300,90,,1,3,16514,2,34,2,18,3,{},{},,,,,,,,,,
-1153,Slayer__,Slayer,4,15000,0,1300,90,,1,0,16514,2,34,2,18,3,{},{},,,,,,,,,,
-1154,Bastard_Sword,Bastard Sword,4,22500,0,1600,115,,1,2,16514,2,34,2,18,3,{},{},,,,,,,,,,
-1155,Bastard_Sword_,Bastard Sword,4,22500,0,1600,115,,1,3,16514,2,34,2,18,3,{},{},,,,,,,,,,
-1156,Bastard_Sword__,Bastard Sword,4,22500,0,1600,115,,1,0,16514,2,34,2,18,3,{},{},,,,,,,,,,
-1157,Two_handed_Sword,Two-handed Sword,4,60000,0,2200,160,,1,1,16514,2,34,3,33,3,{},{},,,,,,,,,,
-1158,Two_handed_Sword_,Two-handed Sword,4,60000,0,2200,160,,1,2,16514,2,34,3,33,3,{},{},,,,,,,,,,
-1159,Two_handed_Sword__,Two-handed Sword,4,60000,0,2200,160,,1,0,16514,2,34,3,33,3,{},{},,,,,,
-1160,Broad_Sword,Broad Sword,4,65000,0,2000,140,,1,1,16514,2,34,3,33,3,{},{ bonus bDef,5; },,,,,
-1161,Balmung,Balmung,4,20,0,1000,250,,2,0,2088959,2,2,4,48,1,{},{ bonus bInt,20; bonus bLuk,20; },,,,
-1162,Broad_Sword_,Broad Sword,4,65000,0,2000,140,,1,2,16514,2,34,3,33,3,{},{ bonus bDef,5; },,,,,
-1163,Claymore,Claymore,4,74000,0,2500,180,,1,0,16512,2,34,3,33,3,{},{},,,,,,
-1164,Muramasa,Muramasa,4,20,0,1000,155,,1,0,16514,2,34,4,48,3,{},{ bonus bCritical,30; bonus bAspdAddRate,8; bonus2 bAddEff2,Eff_Curse,200; },,
-1165,Masamune,Masamune,4,20,0,1000,200,,1,0,16514,2,34,4,48,3,{},{ bonus bFlee,30; bonus bStr,-5; bonus bAspd,2; bonus bDefRate,-50; bonus bDef2Rate,-50; },
-1166,Dragon_Slayer,Dragon Slayer,4,20,0,1300,150,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,9; bonus2 bAddRace,9,15; },,,
-1167,Schweizersabel,Schweizersabel,4,20,0,1600,160,,1,0,16514,2,34,4,48,3,{},{ bonus bAtkEle,4; skill 20,3; bonus bDef,1; bonus3 bAutoSpell,20,3,25; }
-1168,Zweihander,Zweihander,4,20,0,2200,200,,1,0,16514,2,34,4,48,3,{},{bonus bUnbreakable,100; },,,,,,
-1169,Executioner_,Executioner,4,20,0,2200,155,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,7; bonus2 bAddRace,7,20; bonus2 bSubRace,7,-10; bonus bAtkEle,7; }
-1170,Katzbalger,Katzbalger,4,20,0,2000,175,,1,0,16514,2,34,4,48,3,{},{ bonus bVit,10; bonus bDef,10; },,,,
-// Knifes and Daggers
-1201,Knife,Knife,4,50,0,400,17,,1,3,10444527,2,2,1,1,1,{},{},,,,,,
-1202,Knife_,Knife,4,50,0,400,17,,1,4,10444527,2,2,1,1,1,{},{},,,,,,
-1203,Knife__,Knife,4,50,0,400,17,,1,0,10444527,2,2,1,1,1,{},{},,,,,,
-1204,Cutter,Cutter,4,1250,0,500,30,,1,3,10444527,2,2,1,1,1,{},{}
-1205,Cutter_,Cutter,4,1250,0,500,30,,1,4,10444527,2,2,1,1,1,{},{}
-1206,Cutter__,Cutter,4,1250,0,500,30,,1,0,10444527,2,2,1,1,1,{},{}
-1207,Main_Gauche,Main Gauche,4,2400,0,600,43,,1,3,10444527,2,2,1,1,1,{},{}
-1208,Main_Gauche_,Main Gauche,4,2400,0,600,43,,1,4,10444527,2,2,1,1,1,{},{}
-1209,Main_Gauche__,Main Gauche,4,2400,0,600,43,,1,0,10444527,2,2,1,1,1,{},{}
-1210,Dirk,Dirk,4,8500,0,500,59,,1,2,10444527,2,2,2,12,1,{},{}
-1211,Dirk_,Dirk,4,8500,0,500,59,,1,3,10444527,2,2,2,12,1,{},{}
-1212,Dirk__,Dirk,4,8500,0,500,59,,1,0,10444527,2,2,2,12,1,{},{}
-1213,Dagger,Dagger,4,14000,0,600,73,,1,2,10444527,2,2,2,12,1,{},{}
-1214,Dagger_,Dagger,4,14000,0,600,73,,1,3,10444527,2,2,2,12,1,{},{}
-1215,Dagger__,Dagger,4,14000,0,600,73,,1,0,10444527,2,2,2,12,1,{},{}
-1216,Stiletto,Stiletto,4,19500,0,700,87,,1,2,10444527,2,2,2,12,1,{},{}
-1217,Stiletto_,Stiletto,4,19500,0,700,87,,1,3,10444527,2,2,2,12,1,{},{}
-1218,Stiletto__,Stiletto,4,19500,0,700,87,,1,0,10444527,2,2,2,12,1,{},{}
-1219,Gladius,Gladius,4,43000,0,700,105,,1,2,2055918,2,2,3,24,1,{},{}
-1220,Gladius_,Gladius,4,43000,0,700,105,,1,3,2055918,2,2,3,24,1,{},{},,,,,,
-1221,Gladius__,Gladius,4,43000,0,700,105,,1,0,2055918,2,2,3,24,1,{},{},,,,,,
-1222,Damascus,Damascus,4,49000,0,800,118,,1,1,2055918,2,2,3,24,1,{},{},,,,,,
-1223,Fortune_Sword,Fortune Sword,4,20,0,500,90,,1,0,2055918,2,2,4,24,1,{},{ bonus bLuk,5; bonus bFlee2,20; },,,,
-1224,Sword_Breaker,Swordbreaker,4,20,0,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bBreakWeaponRate,500; },,,,,,
-1225,Mail_Breaker,Mailbreaker,4,20,0,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bBreakArmorRate,500; },,,,,,
-1226,Damascus_,Damascus,4,49000,0,800,118,,1,2,2055918,2,2,3,24,1,{},{},,,,,,
-1227,Weeder_Knife,Weeder Knife,4,20,0,400,80,,1,0,2055918,2,2,4,36,1,{},{ bonus bIgnoreDefRace,3; bonus2 bAddRace,3,15; bonus2 bSubRace,3,15; },
-1228,Combat_Knife,Combat Knife,4,20,0,400,80,,1,0,2055918,2,2,4,36,1,{},{ bonus bIgnoreDefRace,7; bonus2 bSubRace,7,10; bonus2 bSubRace,6,-10; },
-1229,Mama's_Knife,Mama's Knife,4,20,0,500,75,,1,0,2055918,2,2,4,36,1,{},{ bonus bCritical,30; bonus2 bAddRace,7,3; bonus3 bAddMonsterDropItem,517,2,5000; }
-1230,House_Auger,House Auger,4,20,0,600,80,,1,0,2055918,2,2,4,36,1,{},{ bonus bDefRatioAtkRace,10; bonus bDefRatioAtkRace,11; },,,,
-1231,Bazerald,Bazerald,4,20,0,500,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bAtkEle,3; bonus bInt,5; bonus bMatkRate,10; },,,
-1232,Assassin_Dagger,Assasin Dagger,4,20,0,600,140,,1,0,4096,2,2,4,36,1,{},{ bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdAddRate,2; bonus bAtkEle,7; },,
-1233,Exercise,Excorcise,4,20,0,700,90,,1,0,2055918,2,2,4,36,1,{},{ bonus bIgnoreDefRace,6; bonus2 bSubRace,6,5; bonus2 bSubRace,7,-10; },
-1234,Moonlight_Sword,Walgwanggum,4,20,0,700,50,,1,0,2055918,2,2,4,36,1,{},{ bonus bMaxSPrate,10; bonus2 bSPDrainRate,100,3; },,,,,
-1235,Azoth,Azoth,4,20,0,700,110,,1,0,262144,2,2,4,36,1,{},{ bonus bClassChange,50; },,,,,,
-1236,Sucsamad,Sucsamad,4,20,0,800,140,,1,0,2055918,2,2,4,36,1,{},{ bonus2 bAddEle,2,10; bonus2 bAddEle,4,10; bonus bUnbreakable,100; },,
-1237,Grimtooth_,Grimtooth,4,20,0,800,180,,1,0,2055918,2,2,4,36,1,{},{ bonus bFlee,10; bonus bFlee2,5; bonus bDefRate,-50; bonus bDef2Rate,-50; },,
-1238,Zeny_Knife,Zeny Knife,4,20,0,1200,64,,1,0,2055918,2,2,3,40,1,{},{ bonus bGetZenyNum,100; },,,,,
-1239,Poison_Knife,Poison Knife,4,20,0,800,64,,1,0,2055918,2,2,3,65,1,{},{ bonus bAtkEle,5; bonus2 bAddEff,Eff_Poison,2000; },,,,,
-1240,Princess_Knife,Princess Knife,4,20,0,400,84,,1,0,2055918,2,2,4,1,1,{},{ bonus bAllStats,1; }
-1241,Cursed_Dagger,Cursed Dagger,4,20,0,400,55,,1,0,66052,2,2,4,85,1,{},{ bonus2 bAddEff,Eff_Curse,500; },,,,
-1242,Counter_Dagger,Counter Dagger,4,20,0,550,75,,1,0,66052,2,2,4,55,1,{},{ bonus bCritical,5; bonus3 bAutoSpell,61,1,25; },,,,,
-1243,Main_Gauche_For_Novice,Novice Main Gauche,4,20,0,1,45,,1,0,8388609,2,2,1,1,1,{},{},,,,,,
-// Katars
-1250,Jur,Jur,4,19500,0,800,125,,1,2,4096,2,34,2,18,16,{},{},,,,,,
-1251,Jur_,Jur,4,19500,0,800,125,,1,3,4096,2,34,2,18,16,{},{},,,,,,
-1252,Katar,Katar,4,41000,0,1200,148,,1,1,4096,2,34,3,33,16,{},{ bonus bDex,1; },,,,,
-1253,Katar_,Katar,4,41000,0,1200,148,,1,2,4096,2,34,3,33,16,{},{ bonus bDex,1; },,,,,
-1254,Jamadhar,Jamadhar,4,37200,0,1500,165,,1,0,4096,2,34,3,33,16,{},{},,,,,,
-1255,Jamadhar_,Jamadhar,4,37200,0,1500,165,,1,1,4096,2,34,3,33,16,{},{},,,,,,
-1256,Katar_of_Cold_Icicle,Katar of Cold Icicle,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,1; bonus2 bAddEff,Eff_Freeze,500; },,,
-1257,Katar_of_Thornbush,Katar of Dusty Thornbush,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,2; bonus2 bAddEff,Eff_Blind,500; },,
-1258,Katar_of_Raging_Blaze,Katar of Raging Blaze,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,3; bonus2 bAddEff,Eff_Silence,500; },,
-1259,Katar_of_Piercing_Wind,Katar of Piercing Wind,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,4; bonus2 bAddEff,Eff_Sleep,500; },,
-1260,Sharpened_Legbone_of_Ghoul,Sharpened Legbone of Ghoul,4,52500,0,1700,150,,1,0,4096,2,34,3,65,16,{},{ bonus bAtkEle,9; },,,,
-1261,Infiltrator,Infiltrator,4,57000,0,1500,140,,1,0,4096,2,34,4,75,16,{},{ bonus2 bAddRace,7,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; }
-// Axes
-1301,Axe,Axe,4,500,0,800,38,,1,3,8803555,2,2,1,3,6,{},{},,,,,
-1302,Axe_,Axe,4,500,0,800,38,,1,4,8803555,2,2,1,3,6,{},{},,,,,
-1303,Axe__,Axe,4,500,0,800,38,,1,0,8803555,2,2,1,3,6,{},{},,,,,
-1304,Orcish_Axe,Orcish Axe,4,20,0,1500,75,,1,0,8803555,2,2,3,3,6,{},{},,,,,
-1305,Cleaver,Cleaver,4,20,0,1200,140,,1,0,279714,2,2,4,44,6,{},{ bonus2 bAddRace,7,5; bonus3 bAddMonsterDropItem,517,2,3000; }
-1306,War_Axe,War Axe,4,20,0,4200,145,,1,1,263168,2,2,3,76,6,{},{ bonus bDex,2; bonus bLuk,2; },,,
-1351,Battle_Axe,Battle Axe,4,5400,0,1500,80,,1,3,279714,2,34,1,3,7,{},{},,,,,
-1352,Battle_Axe_,Battle Axe,4,5400,0,1500,80,,1,4,279714,2,34,1,3,7,{},{},,,,,
-1353,Battle_Axe__,Battle Axe,4,5400,0,1500,80,,1,0,279714,2,34,1,3,7,{},{},,,,,
-1354,Hammer,Hammer,4,15500,0,2000,120,,1,2,279714,2,34,2,16,7,{},{},,,,
-1355,Hammer_,Hammer,4,15500,0,2000,120,,1,3,279714,2,34,2,16,7,{},{},,,,
-1356,Hammer__,Hammer,4,15500,0,2200,120,,1,0,279714,2,34,2,16,7,{},{},,,,
-1357,Buster,Buster,4,34000,0,2200,155,,1,1,279714,2,34,3,30,7,{},{},,,,
-1358,Buster_,Buster,4,34000,0,2200,155,,1,2,279714,2,34,3,30,7,{},{},,,,
-1359,Buster__,Buster,4,34000,0,2200,155,,1,0,279714,2,34,3,30,7,{},{},,,,
-1360,Two_handed_Axe,Two-handed Axe,4,55000,0,2500,185,,1,1,279714,2,34,3,30,7,{},{},,,,
-1361,Two_handed_Axe_,Two-handed Axe,4,55000,0,2500,185,,1,2,279714,2,34,3,30,7,{},{},,,,
-1362,Two_handed_Axe__,Two-handed Axe,4,55000,0,2500,185,,1,0,279714,2,34,3,30,7,{},{},,,,
-1363,Blood_Axe,Bloody Axe,4,20,0,400,170,,1,0,279714,2,34,4,44,7,{},{ bonus bStr,10; bonus bSpeedRate,25; },,
-1364,Great_Axe,Great Axe,4,20,0,1800,187,,1,0,279714,2,34,4,44,7,{},{ bonus2 bAddEff,Eff_Stan,1500; },,
-1365,Sabbath,Sabbath,4,20,0,2300,120,,1,0,279714,2,34,4,44,7,{},{ bonus2 bWeaponComaRace,6,50; bonus bAtkEle,7; },
-1366,Light_Epsilon,Light Epsilon,4,20,0,2300,180,,1,0,279714,2,34,4,44,7,{},{ bonus bAtkEle,6; skill 28,3; bonus2 bAddRace,6,3; }
-1367,Slaughter,Slaughter,4,20,0,2500,120,,1,0,279714,2,34,4,44,7,{},{ bonus bIgnoreDefRace,2; bonus2 bWeaponComaRace,2,50; },
-1368,Tomahawk,Tomahawk,4,20,0,2500,165,,1,0,279714,2,34,4,44,7,{},{ bonus bAtkEle,4; },,,
-1369,Guillotine,Guillotine,4,20,0,3000,215,,1,0,279714,2,34,4,44,7,{},{ bonus2 bWeaponComaRace,7,30; bonus2 bSPDrainRate,5,2; },,
-// Spears
-1401,Javelin,Javelin,4,150,0,700,28,,3,3,16514,2,2,1,4,4,{},{},,,
-1402,Javelin_,Javelin,4,150,0,700,28,,3,4,16514,2,2,1,4,4,{},{},,,
-1403,Javelin__,Javelin,4,150,0,700,28,,3,0,16514,2,2,1,4,4,{},{},,,
-1404,Spear,Spear,4,1700,0,850,44,,3,3,16514,2,2,1,4,4,{},{},,,
-1405,Spear_,Spear,4,1700,0,850,44,,3,4,16514,2,2,1,4,4,{},{},,,
-1406,Spear__,Spear,4,1700,0,850,44,,3,0,16514,2,2,1,4,4,{},{},,,
-1407,Pike,Pike,4,3450,0,1000,60,,3,3,16514,2,2,1,4,4,{},{},,,
-1408,Pike_,Pike,4,3450,0,1000,60,,3,4,16514,2,2,1,4,4,{},{},,,
-1409,Pike__,Pike,4,3450,0,1000,60,,3,0,16514,2,2,1,4,4,{},{},,,
-1410,Lance,Lance,4,60000,0,2500,185,,3,0,16514,2,34,3,33,5,{},{},,,
-1411,Lance_,Lance,4,60000,0,2500,185,,3,0,16514,2,34,3,33,5,{},{},,,
-1412,Lance__,Lance,4,60000,0,2500,185,,3,0,16514,2,34,3,33,5,{},{},,,
-1413,Gungnir,Gungnir,4,20,0,500,120,,3,0,16514,2,2,4,4,4,{},{ bonus bPerfectHitRate,25; bonus bHit,30; }
-1414,Gelerdria,Gelerdria,4,20,0,700,145,,3,0,16514,2,2,4,48,4,{},{ bonus bAtkEle,2; bonus bMaxHP,500; bonus bMaxSP,-50; }
-1415,Skewer,Brocca,4,20,0,850,100,,3,0,16514,2,2,4,48,4,{},{ bonus bIgnoreDefRace,11; bonus2 bAddEle,0,25; }
-1416,Tjungkuletti,Tjungkuletti,4,20,0,1000,95,,3,0,16514,2,2,4,48,4,{},{ bonus2 bSPDrainRate,100,1; bonus2 bSPDrainRate,1,5; },,,
-1417,Pole_Axe,Pole Axe,4,20,0,3800,160,,3,1,16514,2,2,3,71,4,{},{ bonus bStr,1; bonus bInt,2; bonus bDex,1; }
-1451,Guisarme,Guisarme,4,13000,0,1000,84,,3,2,16514,2,34,2,18,5,{},{},,,
-1452,Guisarme_,Guisarme,4,13000,0,1000,84,,3,3,16514,2,34,2,18,5,{},{},,,
-1453,Guisarme__,Guisarme,4,13000,0,1000,84,,3,0,16514,2,34,2,18,5,{},{},,,
-1454,Glaive,Glaive,4,20000,0,1200,104,,3,2,16514,2,34,2,18,5,{},{},,,
-1455,Glaive_,Glaive,4,20000,0,1200,104,,3,3,16514,2,34,2,18,5,{},{},,,
-1456,Glaive__,Glaive,4,20000,0,1200,104,,3,0,16514,2,34,2,18,5,{},{},,,
-1457,Partizan,Partizan,4,27000,0,2000,124,,3,1,16514,2,34,2,18,5,{},{},,,
-1458,Partizan_,Partizan,4,27000,0,2000,124,,3,2,16514,2,34,2,18,5,{},{},,,
-1459,Partizan__,Partizan,4,27000,0,2000,124,,3,0,16514,2,34,3,33,5,{},{},,,
-1460,Trident,Trident,4,51000,0,1200,150,,3,2,16514,2,34,3,33,5,{},{},,,
-1461,Trident_,Trident,4,51000,0,1200,150,,3,3,16514,2,34,3,33,5,{},{},,,
-1462,Trident__,Trident,4,51000,0,1200,150,,3,0,16514,2,34,3,33,5,{},{},,,
-1463,Halberd,Halberd,4,54000,0,2500,165,,3,1,16514,2,34,3,33,5,{},{},,,
-1464,Halberd_,Halberd,4,54000,0,2500,165,,3,2,16514,2,34,3,33,5,{},{},,,,,,,
-1465,Halberd__,Halberd,4,54000,0,2500,165,,3,0,16514,2,34,3,33,5,{},{},,,,,,,
-1466,Crescent_Scythe,Crescent Scythe,4,20,0,2500,180,,3,0,16514,2,34,4,48,5,{},{ bonus bCritical,30; bonus bHit,10; },,,,,
-1467,Bill_Guisarme,Bill Guisarme,4,20,0,1000,183,,3,0,16514,2,34,4,48,5,{},{ bonus2 bAddRace,2,10; bonus2 bAddRace,7,5; },,,
-1468,Zephyrus,Zephyrus,4,20,0,2000,170,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,4; skill 21,3; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,21,3,25; }
-1469,Longinus's_Spear,Longinus's Spear,4,20,0,2500,180,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,7; bonus2 bAddRace,7,10; bonus2 bAddRace,8,10; },,
-1470,Brionac,Brionac,4,20,0,3000,190,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,6; skill 28,5; skill 13,3; bonus3 bAutoSpell,13,3,25; bonus2 bAddRace,10,5; },
-1471,Hellfire,Hellfire,4,20,0,3500,200,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,3; skill 17,3; bonus3 bAutoSpell,17,3,25; bonus bStr,3; },,
-// 2 Handed Staffs
-1472,Staff_of_Soul,Soul Staff,4,20,0,1400,25,,1,0,66052,2,34,3,73,10,{},{ bonus bInt,5; bonus bAgi,2; bonus bMatkRate,15; },,,,
-1473,Wizardy_Staff,Wizardy Staff,4,20,0,2400,120,,1,0,66052,2,34,4,90,10,{},{ bonus bInt,6; bonus bDex,2; bonus bMatkRate,15; },,,,
-// Clubs and Maces
-1501,Club,Club,4,120,0,700,23,,1,3,8701363,2,2,1,2,8,{},{},,,,,,,
-1502,Club_,Club,4,120,0,700,23,,1,4,8701363,2,2,1,2,8,{},{},,,,,,,
-1503,Club__,Club,4,120,0,700,23,,1,0,8701363,2,2,1,2,8,{},{},,,,,,,
-1504,Mace,Mace,4,1600,0,800,37,,1,3,8701363,2,2,1,2,8,{},{},,,,,,,
-1505,Mace_,Mace,4,1600,0,800,37,,1,4,8701363,2,2,1,2,8,{},{},,,,,,,
-1506,Mace__,Mace,4,1600,0,800,37,,1,0,8701363,2,2,1,2,8,{},{}
-1507,Smasher,Smasher,4,9000,0,1000,54,,1,2,8701363,2,2,2,14,8,{},{}
-1508,Smasher_,Smasher,4,9000,0,1000,54,,1,3,8701363,2,2,2,14,8,{},{}
-1509,Smasher__,Smasher,4,9000,0,1000,54,,1,3,8701363,2,2,2,14,8,{},{}
-1510,Flail,Flail,4,16000,0,900,69,,1,2,312754,2,2,2,14,8,{},{}
-1511,Flail_,Flail,4,16000,0,900,69,,1,3,312754,2,2,2,14,8,{},{}
-1512,Flail__,Flail,4,16000,0,900,69,,1,3,312754,2,2,2,14,8,{},{}
-1513,Morning_Star,Morning Star,4,41000,0,1500,110,,1,1,312754,2,2,3,27,8,{},{}
-1514,Morning_Star_,Morning Star,4,41000,0,1500,110,,1,2,312754,2,2,3,27,8,{},{}
-1515,Morning_Star__,Morning Star,4,41000,0,1500,110,,1,2,312754,2,2,3,27,8,{},{}
-1516,Sword_Mace,Sword Mace,4,50000,0,1200,130,,1,0,312754,2,2,3,27,8,{},{}
-1517,Sword_Mace_,Sword Mace,4,50000,0,1200,130,,1,1,312754,2,2,3,27,8,{},{}
-1518,Sword_Mace__,Sword Mace,4,50000,0,1200,130,,1,1,312754,2,2,3,27,8,{},{}
-1519,Chain,Chain,4,23000,0,800,84,,1,2,312754,2,2,2,14,8,{},{}
-1520,Chain_,Chain,4,23000,0,800,84,,1,3,312754,2,2,2,14,8,{},{}
-1521,Chain__,Chain,4,23000,0,800,84,,1,3,312754,2,2,2,14,8,{},{}
-1522,Stunner,Stunner,4,60000,0,2000,140,,1,0,256,2,2,3,27,8,{},{ bonus2 bAddEff,Eff_Stan,1000; },,,,
-1523,Spike,Spike,4,20,0,700,85,,1,0,33040,2,2,4,40,8,{},{ bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67; },,,
-1524,Golden_Mace,Golden Mace,4,20,0,800,110,,1,1,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,10; bonus bUnbreakable,100; },,,,
-1525,Long_Mace,Long Mace,4,20,0,800,135,,3,0,33040,2,2,4,40,8,{},{ bonus bLongAtkDef,10; },,,,,
-1526,Slash,Slash,4,20,0,1000,145,,1,0,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,15; bonus2 bWeaponComaRace,1,50; },,
-1527,Quadrille,Quadrille,4,20,0,900,165,,1,0,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,10; bonus2 bAddRace,7,10; bonus2 bAddEle,2,10; }
-1528,Grand_Cross,Grand Cross,4,20,0,1500,140,,1,0,33040,2,2,4,40,8,{},{ bonus bAtkEle,6; skill 77,3; bonus3 bAutoSpell,77,3,25; bonus2 bHPDrainRate,100,1; },
-1529,Iron_Driver,Iron Driver,4,20,0,3000,155,,1,0,33024,2,2,3,78,8,{},{},,,,,,
-1530,Mjolnir,Mjolnir,4,20,0,6000,250,,1,0,8701363,2,2,4,98,8,{},{ bonus bAtkEle,4; bonus bDex,40; bonus bStr,15; bonus bAspdRate,30; },,
-1531,Spanner,Spanner,4,20,0,2500,115,,1,0,33040,2,2,3,55,8,{},{ bonus2 bAddEff,Eff_Blind,100; bonus2 bAddEff,Eff_Stan,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Freeze,100; },,,,,,
-// Books
-1550,Book,Book,4,30000,0,600,85,,1,3,65792,2,2,2,14,15,{},{},,,,,,
-1551,Bible,Bible,4,60000,0,1000,115,,1,2,65792,2,2,3,27,15,{},{ bonus bInt,2; },,,,,
-1552,Tablet,Tablet,4,51000,0,800,125,,1,1,65792,2,2,3,27,15,{},{},,,,,,
-1553,Book_of_Billows,Book of Billows,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,1; },,,,,
-1554,Book_of_Mother_Earth,Book of Mother Earth,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,2; },,,,,
-1555,Book_of_Blazing_Sun,Book of Blazing Sun,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,3; },,,,,,,,,,
-1556,Book_of_Gust_of_Wind,Book of Gust of Wind,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,4; },,,,,,,,,,
-1557,Book_of_the_Apocalypse,Book of the Apocalypse,4,35000,0,800,120,,1,0,65792,2,2,4,40,15,{},{ bonus bAtkEle,7; bonus2 bSubEle,6,-5; bonus2 bAddEle,1,7; bonus2 bAddEle,2,7; bonus2 bAddEle,3,7; bonus2 bAddEle,4,7; }
-1558,Girl's_Diary,Girl's Diary,4,20,0,300,60,,1,1,65792,2,2,4,40,15,{},{ bonus2 bAddDamageClass,1188,150; },,,,,,,,,
-1599,Angra_Manyu,Angra Manyu,4,120,0,10,1,,1,5,10477567,2,2,4,2,8,{},{},,,,,,,,,,,
-// Rods and Staffs
-1601,Rod,Rod,4,50,0,400,15,,1,3,8487701,2,2,1,1,10,{},{ bonus bMatkRate,15; },,,,,,,,,,
-1602,Rod_,Rod,4,50,0,400,15,,1,4,8487701,2,2,1,1,10,{},{ bonus bMatkRate,15; },,,,,,,,,,
-1603,Rod__,Rod,4,50,0,400,15,,1,0,8487701,2,2,1,1,10,{},{ bonus bMatkRate,15; },,,,,,,,,,
-1604,Wand,Wand,4,2500,0,400,25,,1,2,8487701,2,2,2,12,10,{},{ bonus bInt,1; bonus bMatkRate,15; },,,,,,,,,
-1605,Wand_,Wand,4,2500,0,400,25,,1,3,8487701,2,2,2,12,10,{},{ bonus bInt,1; bonus bMatkRate,15; },,,,,,,,,
-1606,Wand__,Wand,4,2500,0,400,25,,1,0,8487701,2,2,2,12,10,{},{ bonus bInt,1; bonus bMatkRate,15; },,,,,,,,,
-1607,Staff,Staff,4,9500,0,400,40,,1,2,99092,2,2,2,12,10,{},{ bonus bInt,2; bonus bMatkRate,15; },,,,,,,,,
-1608,Staff_,Staff,4,9500,0,400,40,,1,3,99092,2,2,2,12,10,{},{ bonus bInt,2; bonus bMatkRate,15; },,,,,,,,,
-1609,Staff__,Staff,4,9500,0,400,40,,1,0,99092,2,2,2,12,10,{},{ bonus bInt,2; bonus bMatkRate,15; },,,,,,,,,
-1610,Arc_Wand,Arc Wand,4,45000,0,400,60,,1,1,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
-1611,Arc_Wand_,Arc Wand,4,45000,0,400,60,,1,2,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
-1612,Arc_Wand__,Arc Wand,4,45000,0,400,60,,1,0,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
-1613,Mighty_Staff,Mighty Staff,4,20,0,700,130,,1,0,99092,2,2,3,24,10,{},{ bonus bStr,10; bonus bMatkRate,15; bonus2 bSpDrainRate,100,-2; },
-1614,Blessed_Wand,Wand of Occult,4,20,0,700,75,,1,0,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
-1615,Bone_Wand,Bone Wand,4,20,0,700,40,,1,0,99092,2,2,3,24,10,{},{ bonus bInt,4; bonus bAtkEle,9; bonus bMatkRate,15; }
-// Bows
-1701,Bow,Bow,4,1000,0,500,15,,5,3,1706056,2,34,1,4,11,{},{},,,
-1702,Bow_,Bow,4,1000,0,500,15,,5,4,1706056,2,34,1,4,11,{},{},,,
-1703,Bow__,Bow,4,1000,0,500,15,,5,0,1706056,2,34,1,4,11,{},{},,,
-1704,Composite_Bow,Composite Bow,4,2500,0,600,29,,5,3,1706056,2,34,1,4,11,{},{},,,
-1705,Composite_Bow_,Composite Bow,4,2500,0,600,29,,5,4,1706056,2,34,1,4,11,{},{},,,
-1706,Composite_Bow__,Composite Bow,4,2500,0,600,29,,5,0,1706056,2,34,1,4,11,{},{},,,
-1707,Great_Bow,Great Bow,4,10000,0,1000,50,,5,2,1706056,2,34,2,18,11,{},{},,,
-1708,Great_Bow_,Great Bow,4,10000,0,1000,50,,5,3,1706056,2,34,2,18,11,{},{},,,
-1709,Great_Bow__,Great Bow,4,10000,0,1000,50,,5,0,1706056,2,34,2,18,11,{},{},,,
-1710,CrossBow,Cross Bow,4,17000,0,900,65,,5,2,1706056,2,34,2,18,11,{},{},,,,,,,,,,,,,,
-1711,CrossBow_,Cross Bow,4,17000,0,900,65,,5,3,1706056,2,34,2,18,11,{},{},,,,,,,,,,,,,,
-1712,CrossBow__,Cross Bow,4,17000,0,900,65,,5,0,1706056,2,34,2,18,11,{},{},,,,,,,,,,,,,,
-1713,Arbalest,Arbalest,4,48000,0,1000,90,,5,1,1706056,2,34,3,33,11,{},{ bonus bDex,2; },,,,,,,,,,,,,
-1714,Gakkung,Gakkung,4,42000,0,1100,100,,5,1,1706056,2,34,3,33,11,{},{},,,,,,,,,,,,,,
-1715,Arbalest_,Arbalest,4,48000,0,1000,90,,5,2,1706056,2,34,3,33,11,{},{ bonus bDex,2; },,,,,,,,,,,,,
-1716,Gakkung_,Gakkung,4,42000,0,1100,100,,5,2,1706056,2,34,3,33,11,{},{},,,,,,,,,,,,,,
-1718,Hunter_Bow,Hunter Bow,4,64000,0,1500,125,,5,0,2048,2,34,3,33,11,{},{},,,,,,,,,,,,,,
-1719,Bow_of_Roguemaster,Roguemaster's Bow,4,20,0,500,75,,11,0,131136,2,34,4,48,11,{},{ bonus2 bAddStealRate,100,0; },,,,,,,,,,,,,,
-1720,Bow_of_Rudra,Rudra's Bow,4,20,0,1200,150,,5,0,1705992,2,34,4,48,11,{},{ bonus bAtkEle,6; bonus bInt,5; skill 35,1; skill 28,1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000; }
-1721,Repeating_Crossbow,Repeating Crossbow,4,89000,0,2000,95,,9,1,133184,2,34,3,65,11,{},{},,,,,,,,,,,,,,
-1722,Ballista,Ballista,4,20,0,3500,145,,5,0,1574912,2,34,4,77,11,{},{},,,,,,,,,,,,,,
-// Arrows
-1750,Arrow,Arrow,10,1,0,1,25,,,,1706056,2,32768,,1,,{},{},,,,,,,,,,,,,,
-1751,Silver_Arrow,Silver Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,6; },,,,,,,,,,,,,
-1752,Fire_Arrow,Fire Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,3; },,
-1753,Steel_Arrow,Steel Arrow,10,3,0,2,40,,,,1706056,2,32768,,1,,{},{},,,
-1754,Crystal_Arrow,Crystal Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,1; },,
-1755,Arrow_of_Wind,Arrow of Wind,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,4; },,
-1756,Stone_Arrow,Stone Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,2; },,
-1757,Immaterial_Arrow,Immaterial Arrow,10,3,0,1,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,8; },,
-1758,Stun_Arrow,Stun Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Stan,500; },
-1759,Freezing_Arrow,Freeze Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,1; bonus2 bAddEff,Eff_Freeze,500; }
-1760,Flash_Arrow,Flash Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Blind,500; },
-1761,Curse_Arrow,Curse Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Curse,500; },
-1762,Rusty_Arrow,Rusted Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,5; },,
-1763,Poison_Arrow,Poison Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,5; bonus2 bAddEff,Eff_Poison,500; }
-1764,Incisive_Arrow,Sharp Arrow,10,3,0,3,10,,,,1706056,2,32768,,1,,{},{ bonus bCritical,10; },,
-1765,Oridecon_Arrow,Oridecon Arrow,10,3,0,3,50,,,,1706056,2,32768,,1,,{},{},,,
-1766,Arrow_of_Counter_Evil,Arrow of Counter Evil,10,40,0,3,50,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,6; },,
-1767,Arrow_of_Shadow,Shadow Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,7; },,
-1768,Sleep_Arrow,Sleep Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Sleep,500; }
-1769,Silence_Arrow,Mute Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Silence,500; }
-1770,Iron_Arrow,Iron Arrow,10,2,0,1,30,,,,1706056,2,32768,,1,,{},{},,
-// Knuckles
-1801,Waghnakh,Waghnakh,4,8000,0,400,30,,1,3,33024,2,2,1,1,12,{},{},,
-1802,Waghnakh_,Waghnakh,4,8000,0,400,30,,1,4,33024,2,2,1,1,12,{},{},,
-1803,Knuckle_Duster,Knuckle Duster,4,25000,0,450,50,,1,2,33024,2,2,2,12,12,{},{},,
-1804,Knuckle_Duster_,Knuckle Duster,4,25000,0,450,50,,1,3,33024,2,2,2,12,12,{},{},,
-1805,Hora,Hora,4,32000,0,450,65,,1,2,33024,2,2,2,12,12,{},{},,
-1806,Hora_,Hora,4,32000,0,450,65,,1,3,33024,2,2,2,12,12,{},{},,
-1807,Fist,Fist,4,53000,0,650,115,,1,0,33024,2,2,3,24,12,{},{},,
-1808,Fist_,Fist,4,53000,0,650,115,,1,1,33024,2,2,3,24,12,{},{},,
-1809,Claw,Claw,4,55000,0,500,86,,1,1,33024,2,2,3,24,12,{},{ bonus bStr,2; },
-1810,Claw_,Claw,4,55000,0,500,86,,1,2,33024,2,2,3,24,12,{},{ bonus bStr,2; },
-1811,Finger,Finger,4,58000,0,500,97,,1,1,33024,2,2,3,24,12,{},{},,
-1812,Finger_,Finger,4,58000,0,500,97,,1,2,33024,2,2,3,24,12,{},{},,
-1813,Kaiser_Knuckle,Kaiser Knuckle,4,20,0,450,110,,1,0,33024,2,2,4,36,12,{},{ bonus bAtkEle,4; bonus2 bAddRace,1,5; bonus2 bAddEle,1,10; bonus2 bAddEle,2,10; bonus2 bAddEle,3,10; bonus2 bAddEle,4,10; }
-1814,Berserk,Berserk,4,20,0,500,120,,1,0,33024,2,2,4,36,12,{},{ bonus bAspdRate,12; },,,,,,,,,,
-// Instruments
-1901,Violin,Violin,4,4000,0,700,50,,1,3,524288,2,2,1,2,13,{},{},,,,,,,,,,,
-1902,Violin_,Violin,4,4000,0,700,50,,1,4,524288,2,2,1,2,13,{},{},,,,,,,,,,,
-1903,Mandolin,Mandolin,4,18000,0,400,90,,1,2,524288,2,2,2,14,13,{},{},,,,,,,,,,,
-1904,Mandolin_,Mandolin,4,18000,0,400,90,,1,3,524288,2,2,2,14,13,{},{},,,,,,,,,,,
-1905,Lute,Lute,4,24500,0,500,105,,1,2,524288,2,2,2,14,13,{},{},,,,,,,,,,,
-1906,Lute_,Lute,4,24500,0,500,105,,1,3,524288,2,2,2,14,13,{},{},,,,,,,,,,,
-1907,Guitar,Guitar,4,47000,0,900,142,,1,0,524288,2,2,3,27,13,{},{},,,,,,,,,,,
-1908,Guitar_,Guitar,4,47000,0,900,142,,1,1,524288,2,2,3,27,13,{},{},,,,,,,,,,,
-1909,Harp,Harp,4,62000,0,900,114,,1,1,524288,2,2,3,27,13,{},{ bonus bInt,2; },,,,,,,,,,
-1910,Harp_,Harp,4,62000,0,900,114,,1,2,524288,2,2,3,27,13,{},{ bonus bInt,2; },,,,,,,,,,
-1911,Guh_Moon_Goh,Guhmoongoh,4,54000,0,1300,126,,1,1,524288,2,2,3,27,13,{},{},,,,,,,,,,,
-1912,Guh_Moon_Goh_,Guhmoongoh,4,54000,0,1300,126,,1,2,524288,2,2,3,27,13,{},{},,,,,,,,,,,
-1913,Electric_Guitar,Electric Guitar,4,20,0,1800,110,,1,0,524288,2,2,4,70,13,{},{ bonus3 bAutoSpell,84,1,25; bonus bAtkEle,4; bonus bInt,2; bonus bAgi,1; }
-// Whips
-1950,Rope,Rope,4,2500,0,400,45,,2,3,1048576,2,2,1,3,14,{},{},,,
-1951,Rope_,Rope,4,2500,0,400,45,,2,4,1048576,2,2,1,3,14,{},{},,,
-1952,Line,Line,4,12000,0,300,80,,2,2,1048576,2,2,2,16,14,{},{},,,
-1953,Line_,Line,4,12000,0,300,80,,2,3,1048576,2,2,2,16,14,{},{},,,
-1954,Wire,Wire,4,17500,0,1000,95,,2,2,1048576,2,2,2,16,14,{},{},,,
-1955,Wire_,Wire,4,17500,0,1000,95,,2,3,1048576,2,2,2,16,14,{},{},,,
-1956,Rante_Whip,Rante Whip,4,32000,0,900,135,,2,0,1048576,2,2,3,30,14,{},{},,,
-1957,Rante_Whip_,Rante Whip,4,32000,0,900,135,,2,1,1048576,2,2,3,30,14,{},{},,,
-1958,Tail,Tail,4,41000,0,700,105,,2,1,1048576,2,2,3,30,14,{},{ bonus bLuk,3; },,
-1959,Tail_,Tail,4,41000,0,700,105,,2,2,1048576,2,2,3,30,14,{},{ bonus bLuk,3; },,
-1960,Whip,Whip,4,38000,0,700,120,,2,1,1048576,2,2,3,30,14,{},{},,,
-1961,Whip_,Whip,4,38000,0,700,120,,2,2,1048576,2,2,3,30,14,{},{},,,
-1962,Lariat,Lariat,4,20,0,400,100,,2,0,1048576,2,2,4,44,14,{},{ bonus bDex,5; bonus bAgi,1; },
-1963,Rapture_Rose,Rapture Rose,4,20,0,300,115,,2,0,1048576,2,2,4,44,14,{},{ bonus bAtkEle,5; bonus2 bAddEff,Eff_Poison,5000; }
-1964,Chemeti,Chemeti,4,20,0,700,135,,2,0,1048576,2,2,4,44,14,{},{ bonus bCritical,5; bonus bFlee,10; bonus bFlee2,2; }
-
-1998,Jeramiah's_Jur,Jeramiah's Jur,3,20,0,10,,,,,,,,,,,{},{}
-1999,Zed's_Staff,Zed's Staff,3,20,0,10,,,,,,,,,,,{},{}
-
-// Shields
-//===================================================================
-2101,Guard,Guard,5,500,0,300,,3,,0,10477567,2,32,,0,1,{},{},,,
-2102,Guard_,Guard,5,500,0,300,,3,,1,10477567,2,32,,0,1,{},{},,,
-2103,Buckler,Buckler,5,14000,0,600,,4,,0,2020850,2,32,,0,2,{},{},,,
-2104,Buckler_,Buckler,5,14000,0,600,,4,,1,2020850,2,32,,0,2,{},{},,,
-2105,Shield,Shield,5,56000,0,1300,,6,,0,16514,2,32,,0,3,{},{},,,
-2106,Shield_,Shield,5,56000,0,1300,,6,,1,16514,2,32,,0,3,{},{},,,
-2107,Mirror_Shield,Mirror Shield,5,60000,0,1000,,4,,0,16514,2,32,,0,4,{},{ bonus bMdef,5; },,
-2108,Mirror_Shield_,Mirror Shield,5,60000,0,1000,,4,,1,16514,2,32,,0,4,{},{ bonus bMdef,5; },,
-2109,Memorize_Book,Book of Summoning,5,20,0,1000,,3,,0,66052,2,32,,0,,{},{ bonus bInt,1; bonus bMdef,2; },
-2110,Holy_Guard,Holy Guard,5,20,0,1400,,5,,0,16384,2,32,,68,3,{},{ bonus bVit,2; bonus bMdef,2; },
-2111,Evangelist,Evangelist,5,20,0,1400,,5,,0,16384,2,32,,83,3,{},{ bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakable,100; }
-2112,Novice_Guard,Novice Guard,5,20,0,1,,3,,0,8388609,2,32,,0,1,{},{},,,
-2199,Ahura_Mazda,Ahura Mazda,5,20,0,100,,,,0,10477567,2,32,,,,{},{ bonus bMdef,1; bonus bDef,1; bonus bFlee2,1; bonus2 bSubEle,0,1; }
-
-// Headgear items
-//===================================================================
-2201,Sunglasses,Sunglasses,5,5000,0,100,,0,,0,10477567,2,512,,0,12,{},{ bonus2 bResEff,Eff_Blind,500; },
-2202,Sunglasses_,Sunglasses,5,5000,0,100,,0,,1,10477567,2,512,,0,12,{},{ bonus2 bResEff,Eff_Blind,500; }
-2203,Glasses,Glasses,5,4000,0,100,,0,,0,10477567,2,512,,0,3,{},{},,
-2204,Glasses_,Glasses,5,4000,0,100,,0,,1,10477567,2,512,,0,3,{},{},,
-2205,Diver's_Goggles,Diver Goggles,5,3500,0,100,,0,,0,10477567,2,512,,0,10,{},{},,
-2206,Wedding_Veil,Wedding Veil,5,23000,0,100,,0,,0,10477567,0,256,,0,44,{},{ bonus bMdef,5; },
-2207,Fancy_Flower,Fancy Flower,5,20,0,100,,0,,0,10477567,2,256,,0,4,{},{ bonus2 bSubRace,3,10; }
-2208,Ribbon,Ribbon,5,800,0,100,,1,,0,10477567,2,256,,0,17,{},{ bonus bMdef,3; },
-2209,Ribbon_,Ribbon,5,800,0,100,,1,,1,10477567,2,256,,0,17,{},{ bonus bMdef,3; },
-2210,Hair_Band,Hair Band,5,500,0,100,,1,,0,10477567,2,256,,0,9,{},{},,
-2211,Bandana,Bandana,5,400,0,100,,1,,0,10477567,2,256,,0,6,{},{},,
-2212,Eye_Bandage,Eye Patch,5,1000,0,100,,0,,0,10477567,2,512,,0,13,{},{},,
-2213,Kitty_Band,Kitty Band,5,20,0,100,,2,,0,10477567,2,256,,0,2,{},{},,
-2214,Bunny_Band,Bunny Band,5,20,0,100,,2,,0,10477567,2,256,,0,15,{},{ bonus bLuk,2; },
-2215,Flower_Hairband,Flower Band,5,20,0,100,,2,,0,10477567,2,256,,0,5,{},{},,
-2216,Biretta,Biretta,5,9000,0,100,,4,,0,33040,2,256,,0,11,{},{},,
-2217,Biretta_,Biretta,5,9000,0,100,,4,,1,33040,2,256,,0,11,{},{},,
-2218,Flu_Mask,Flu Mask,5,300,0,100,,0,,0,10477567,2,1,,0,8,{},{ bonus2 bResEff,Eff_Silence,1000; }
-2219,Flu_Mask_,Flu Mask,5,300,0,100,,0,,1,10477567,2,1,,0,8,{},{ bonus2 bResEff,Eff_Silence,1000; }
-2220,Hat,Hat,5,1000,0,200,,2,,0,10477567,2,256,,0,16,{},{},,
-2221,Hat_,Hat,5,1000,0,200,,2,,1,10477567,2,256,,0,16,{},{},,
-2222,Turban,Turban,5,4500,0,300,,3,,0,2088958,2,256,,0,7,{},{},,
-2223,Turban_,Turban,5,4500,0,300,,3,,1,2088958,2,256,,0,7,{},{},,
-2224,Goggles,Goggles,5,10000,0,300,,5,,0,1989866,2,768,,0,1,{},{},,
-2225,Goggles_,Goggles,5,10000,0,300,,5,,1,1989866,2,768,,0,1,{},{},,
-2226,Cap,Cap,5,12000,0,400,,4,,0,1989866,2,256,,0,14,{},{},,
-2227,Cap_,Cap,5,12000,0,400,,4,,1,1989866,2,256,,0,14,{},{},,
-2228,Helm,Helm,5,44000,0,600,,6,,0,16514,2,256,,0,40,{},{},,
-2229,Helm_,Helm,5,44000,0,600,,6,,1,16514,2,256,,0,40,{},{},,
-2230,Gemmed_Sallet,Gemmed Sallet,5,50000,0,500,,4,,0,414946,2,256,,0,0,{},{ bonus bMdef,3; },
-2231,Gemmed_Sallet_,Gemmed Sallet,5,50000,0,500,,4,,1,414946,2,256,,0,0,{},{ bonus bMdef,3; },
-2232,Circlet,Circlet,5,7500,0,300,,3,,0,99092,2,256,,0,18,{},{ bonus bMdef,3; },
-2233,Circlet_,Circlet,5,7500,0,300,,3,,1,99092,2,256,,0,18,{},{ bonus bMdef,3; },
-2234,Tiara,Tiara,5,20,0,400,,4,,0,2088958,0,256,,45,19,{},{ bonus bInt,2; },
-2235,Crown,Crown,5,20,0,400,,4,,0,2088958,1,256,,45,45,{},{ bonus bInt,2; },
-2236,Santa's_Hat,Santa's Hat,5,20,0,100,,1,,0,10477567,2,256,,0,20,{},{ bonus bMdef,1; bonus bLuk,1; }
-2237,Bandit_Beard,Bandit Beard,5,2,0,100,,0,,0,10477567,2,1,,0,21,{},{},,
-2238,Moustache,Moustache,5,2,0,100,,0,,0,10477567,2,1,,0,22,{},{},,
-2239,Single_Glass,Single Glass,5,10000,0,100,,0,,0,10477567,2,512,,0,23,{},{},,
-2240,Beard,Beard,5,2,0,100,,0,,0,10477567,2,1,,0,24,{},{},,
-2241,Granpa_Beard,Granpa Beard,5,5000,0,100,,0,,0,10477567,2,1,,0,25,{},{},,
-2242,Purple_Sunglasses,Purple Glasses,5,24000,0,100,,1,,0,10477567,2,512,,0,26,{},{ bonus2 bResEff,Eff_Blind,1000; }
-2243,Geek_Glasses,Geek Glasses,5,20000,0,100,,1,,0,10477567,2,512,,0,27,{},{ bonus2 bResEff,Eff_Blind,1500; }
-2244,Big_Ribbon,Big Ribbon,5,15000,0,200,,2,,0,2088958,2,256,,0,28,{},{ bonus bMdef,3; },
-2245,Sweet_Gent,Sweet Gent,5,15000,0,400,,3,,0,2088958,2,256,,0,29,{},{},,
-2246,Golden_Gear,Golden Gear,5,20,0,900,,5,,0,2088958,2,256,,40,30,{},{ bonus2 bSubEle,0,10; },,
-2247,Romantic_Gent,Romantic Gent,5,15000,0,400,,3,,0,2088958,2,256,,0,31,{},{},,
-2248,Western_Grace,Western Grace,5,15000,0,400,,3,,0,2088958,2,256,,0,32,{},{},,
-2249,Coronet,Coronet,5,20,0,300,,3,,0,2088958,2,256,,0,33,{},{ bonus bInt,1; },
-2250,Fillet,Cute Ribbon,5,500,0,100,,1,,0,2088958,2,256,,0,34,{},{ bonus bMaxSP,20; },,,,
-2251,Holy_Bonnet,Monk Hat,5,30000,0,100,,5,,0,33040,2,256,,0,35,{},{ bonus bMdef,3; },,,,
-2252,Wizard_Hat,Wizard Hat,5,20,0,300,,4,,0,66052,2,256,,0,36,{},{ bonus bMaxSP,100; },,,,
-2253,Sunflower,Sunflower,5,20,0,100,,1,,0,10477567,2,256,,0,37,{},{ bonus2 bSubRace,4,10; },,,
-2254,Angel_Wing,Angel Wing,5,20,0,100,,2,,0,2088958,2,256,,0,38,{},{ bonus bMdef,3; bonus bAgi,1; bonus bLuk,1; bonus2 bSubRace,6,3; }
-2255,Evil_Wing,Evil Wing,5,20,0,100,,3,,0,2088958,2,256,,0,39,{},{ bonus bMdef,2; bonus bStr,1; bonus2 bSubRace,8,3; },
-2256,Majestic_Goat,Majestic Goat,5,20,0,800,,5,,0,279714,2,256,,0,41,{},{ bonus bStr,1; },,,,
-2257,Snow_Horn,Snow Horn,5,20,0,100,,2,,0,10477567,2,256,,0,42,{},{},,,,,
-2258,Spiky_Band,Spiky Band,5,20,0,1000,,6,,0,447986,2,256,,50,43,{},{},,,,,
-2259,Mini_Propeller,Mini Propeller,5,20,0,100,,1,,0,10477567,2,256,,0,46,{},{},,,,,
-2260,Mini_Glasses,Mini Glasses,5,28000,0,100,,1,,0,2088958,2,512,,0,47,{},{},,,,,
-2261,Army_Cap,Army Cap,5,20,0,400,,4,,0,414946,2,256,,0,48,{},{},,,,,
-2262,Pierrot_Nose,Pierrot Nose,5,20,0,100,,0,,0,10477567,2,1,,0,49,{},{},,,,,
-2263,Zorro_Masque,Zorro Masque,5,20,0,100,,0,,0,2088958,2,512,,0,50,{},{},,,,,
-2264,Munak_Hat,Munak Hat,5,20,0,300,,5,,0,10477567,2,769,,0,51,{},{ bonus2 bSubRace,1,10; },,,
-2265,Gangster_Mask,Gangster Mask,5,20,0,100,,0,,0,10477567,2,1,,0,52,{},{ bonus2 bResEff,Eff_Silence,1500; },,,
-2266,Iron_Cain,Iron Cain,5,20,0,300,,1,,0,16514,2,1,,50,53,{},{},,,
-2267,Cigar,Cigar,5,20,0,100,,0,,0,2088958,2,1,,0,54,{},{ bonus2 bSubRace,4,3; },
-2268,Pipe,Pipe,5,20,0,100,,0,,0,2088958,2,1,,0,55,{},{ bonus2 bSubRace,4,3; },
-2269,Centimental_Flower,Romantic Flower,5,20,0,100,,0,,0,2088958,2,1,,0,56,{},{ bonus2 bSubRace,3,3; },
-2270,Centimental_Leaf,Romantic Leaf,5,20,0,100,,0,,0,2088958,2,1,,0,57,{},{ bonus2 bSubRace,3,3; },
-2271,Jack_a_Dandy,Jack a Dandy,5,45000,0,100,,1,,0,2088958,2,256,,0,58,{},{},,,
-2272,Stop_Post,Stop Post,5,20,0,400,,1,,0,10477567,2,256,,0,59,{},{},,,
-2273,Doctor_Cap,Doctor Band,5,20,0,100,,1,,0,2088958,2,256,,0,60,{},{ bonus bInt,1; },,
-2274,Ghost_Bandana,Ghost Bandana,5,20,0,100,,0,,0,2088958,2,256,,0,61,{},{ bonus bAgi,2; bonus2 bSubEle,8,10; }
-2275,Red_Bandana,Red Bandana,5,20,0,100,,2,,0,10477567,2,256,,0,62,{},{},,,
-2276,Eagle_Eyes,Eagle Eyes,5,20,0,100,,1,,0,10477567,2,512,,0,63,{},{},,,
-2277,Nurse_Cap,Nurse Cap,5,20,0,100,,1,,0,33040,2,256,,0,64,{},{ bonus bInt,1; bonus bLuk,1; },
-2278,Mr_Smile,Mr. Smile,5,60,0,100,,1,,0,10477567,2,513,,0,65,{},{},,,
-2279,Bomb_Wick,Bomb Wick,5,20,0,100,,1,,0,10477567,2,256,,0,66,{},{},,,
-2280,Sakkat,Sakkat,5,20,0,300,,3,,0,10477567,2,256,,0,67,{},{ bonus bAgi,1; },,
-2281,Opera_Masque,Opera Masque,5,8000,0,200,,2,,0,2088958,2,513,,0,68,{},{},,,
-2282,Heaven_Ring,Heaven Ring,5,20,0,100,,0,,0,10477567,2,256,,0,69,{},{ bonus2 bSubEle,6,10; }
-2283,Ear_Mufs,Ear Mufs,5,20,0,200,,3,,0,10477567,2,256,,0,70,{},{ bonus2 bResEff,Eff_Curse,1000; }
-2284,Antler,Antler,5,20,0,500,,4,,0,2088958,2,256,,0,71,{},{},,
-2285,Apple_o'_Archer,Apple o' Archer,5,20,0,200,,0,,0,2088958,2,256,,30,72,{},{ bonus bDex,3; },
-2286,Elven_Ears,Elven Ears,5,20,0,100,,0,,0,2088958,2,512,,70,73,{},{},,
-2287,Pirate_Bandana,Pirate Bandana,5,20,0,100,,3,,0,2088958,2,256,,0,74,{},{ bonus bStr,1; },
-2288,Mr_Scream,Mr. Scream,5,20,0,100,,1,,0,2088958,2,513,,0,75,{},{},,
-2289,Poo_Poo_Hat,Poo Poo Hat,5,20,0,700,,0,,0,10477567,2,256,,0,76,{},{ bonus2 bSubRace,7,10; }
-2290,Funeral_Hat,Funeral Hat,5,3000,0,100,,1,,0,10477567,2,256,,0,77,{},{},,
-2291,Masquerade,Masquerade,5,20,0,100,,0,,0,2088958,2,512,,0,78,{},{ bonus2 bAddRace,7,3; }
-2292,Welding_Mask,Welding Mask,5,20,0,300,,2,,0,263200,2,513,,50,79,{},{ bonus2 bSubEle,3,10; }
-2293,Pretend_Murdered,Pretend Murdered,5,20,0,100,,1,,0,10477567,2,256,,0,80,{},{},,
-2294,Stellar,Stellar,5,20,0,100,,1,,0,10477567,2,256,,0,81,{},{},,
-2295,Blinker,Blinker,5,1500,0,100,,0,,0,2088958,2,512,,0,82,{},{ bonus2 bResEff,Eff_Blind,10000; }
-2296,Binoculars,Binoculars,5,20,0,100,,1,,0,1574920,2,512,,50,83,{},{ bonus bDex,1; },
-2297,Goblini_Mask,Goblini Mask,5,20,0,100,,1,,0,2088958,2,513,,0,84,{},{},,
-2298,Green_Feeler,Green Feeler,5,20,0,100,,2,,0,10477567,2,256,,0,85,{},{}
-2299,Viking_Helm,Viking Helm,5,20,0,500,,5,,0,414946,2,256,,0,86,{},{}
-
-// Armor
-//===================================================================
-2301,Cotton_Shirt,Cotton Shirt,5,10,0,100,,1,,0,10477567,2,16,,0,0,{},{}
-2302,Cotton_Shirt_,Cotton Shirt,5,10,0,100,,1,,1,10477567,2,16,,0,0,{},{}
-2303,Leather_Jacket,Leather Jacket,5,200,0,200,,2,,0,10477567,2,16,,0,0,{},{}
-2304,Leather_Jacket_,Leather Jacket,5,200,0,200,,2,,1,10477567,2,16,,0,0,{},{}
-2305,Adventure_Suit,Adventurer's Suit,5,1000,0,300,,3,,0,10477567,2,16,,0,0,{},{}
-2306,Adventure_Suit_,Adventurer's Suit,5,1000,0,300,,3,,1,10477567,2,16,,0,0,{},{}
-2307,Mantle,Mantle,5,10000,0,600,,4,,0,2088958,2,16,,0,0,{},{}
-2308,Mantle_,Mantle,5,10000,0,600,,4,,1,2088958,2,16,,0,0,{},{}
-2309,Coat,Coat,5,22000,0,1200,,5,,0,2088958,2,16,,0,0,{},{}
-2310,Coat_,Coat,5,22000,0,1200,,5,,1,2088958,2,16,,0,0,{},{}
-2311,Mink_Coat,Mink Coat,5,50000,0,2300,,6,,1,2088958,2,16,,30,0,{},{}
-2312,Padded_Armor,Padded Armor,5,48000,0,2800,,7,,0,414946,2,16,,0,0,{},{}
-2313,Padded_Armor_,Padded Armor,5,48000,0,2800,,7,,1,414946,2,16,,0,0,{},{}
-2314,Chain_Mail,Chain Mail,5,65000,0,3300,,8,,0,414946,2,16,,0,0,{},{},,,,,
-2315,Chain_Mail_,Chain Mail,5,65000,0,3300,,8,,1,414946,2,16,,0,0,{},{},,,,,
-2316,Full_Plate,Full Plate,5,80000,0,4500,,10,,0,16514,2,16,,40,0,{},{},,,,,
-2317,Full_Plate_,Full Plate,5,80000,0,4500,,10,,1,16514,2,16,,40,0,{},{},,,,,
-2318,Clothes_of_the_Lord,Lord's Clothes,5,20,0,2500,,8,,1,263200,2,16,,70,0,{},{ bonus bMdef,5; bonus bInt,1; },,,
-2319,Glittering_Clothes,Glittering Jacket,5,20,0,2500,,7,,1,2088958,2,16,,60,0,{},{ bonus bMdef,5; bonus2 bAddEffect,Eff_Blind,500; },,,,
-2320,Formal_Suit,Formal Suit,5,20,0,300,,5,,1,2088958,2,16,,0,0,{},{},,,,,
-2321,Silk_Robe,Silk Robe,5,8000,0,400,,3,,0,378806,2,16,,0,0,{},{ bonus bMdef,10; },,,,
-2322,Silk_Robe_,Silk Robe,5,8000,0,400,,3,,1,378806,2,16,,0,0,{},{ bonus bMdef,10; },,,,
-2323,Scapulare,Scapulare,5,6500,0,400,,4,,0,33040,2,16,,0,0,{},{},,,,,
-2324,Scapulare_,Scapulare,5,6500,0,400,,4,,1,33040,2,16,,0,0,{},{},,,,,
-2325,Saint_Robe,Saint's Robe,5,54000,0,600,,6,,0,296240,2,16,,0,0,{},{ bonus bMdef,5; },,,,
-2326,Saint_Robe_,Saint's Robe,5,54000,0,600,,6,,1,296240,2,16,,0,0,{},{ bonus bMdef,5; },,,,
-2327,Holy_Robe,Holy Robe,5,20,0,1700,,7,,0,33040,2,16,,60,0,{},{ bonus bMdef,5; bonus2 bSubRace,6,15; bonus2 bSubEle,7,10; }
-2328,Wooden_Mail,Wooden Mail,5,5500,0,1000,,4,,0,279714,2,16,,0,0,{},{},,,,,
-2329,Wooden_Mail_,Wooden Mail,5,5500,0,1000,,4,,1,279714,2,16,,0,0,{},{},,,,,
-2330,Tights,Tights,5,71000,0,500,,6,,0,1574920,2,16,,45,0,{},{ bonus bDex,1; },
-2331,Tights_,Tights,5,71000,0,500,,6,,1,1574920,2,16,,45,0,{},{ bonus bDex,1; },
-2332,Silver_Robe,Silver Robe,5,7000,0,700,,4,,0,66052,2,16,,0,0,{},{},,
-2333,Silver_Robe_,Silver Robe,5,7000,0,700,,4,,1,66052,2,16,,0,0,{},{},,
-2334,Mage_Coat,Mage Coat,5,20,0,600,,5,,0,66052,2,16,,50,0,{},{ bonus bMdef,5; bonus bInt,1; }
-2335,Thief_Clothes,Thief Clothes,5,74000,0,100,,6,,0,135232,2,16,,0,0,{},{ bonus bAgi,1; },
-2336,Thief_Clothes_,Thief Clothes,5,74000,0,100,,6,,1,135232,2,16,,0,0,{},{ bonus bAgi,1; },
-2337,Ninja_Suit,Ninja Suit,5,20,0,1500,,7,,0,135232,2,16,,50,0,{},{ bonus bAgi,1; bonus bMdef,3; }
-2338,Wedding_Dress,Wedding Dress,5,43000,0,500,,0,,0,10477566,0,16,,0,0,{},{ bonus bMdef,15; changebase 22; },
-2339,Pantie,Pantie,5,1000,0,100,,4,,0,10477567,2,16,,0,0,{},{},,
-2340,Novice_Breastplate,Novice Breastplate,5,89000,0,500,,4,,1,8388609,2,16,,10,0,{},{},,
-2341,Legion_Plate_Armor,Legion Plate Armor,5,94000,0,5500,,11,,0,16384,2,16,,70,0,{},{},,
-2342,Legion_Plate_Armor_,Legion Plate Armor,5,94000,0,5500,,11,,1,16384,2,16,,70,0,{},{},,
-2343,Robe_of_Casting,Casting Robe,5,20,0,1100,,5,,0,66048,2,16,,75,0,{},{ bonus bCastrate,-3; },
-2344,Armor_of_Fire,Lucias's Volcano Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,3; },
-2345,Armor_of_Fire_,Lucias's Volcano Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,3; },
-2346,Armor_of_Water,Sapien's Ocean Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,1; },
-2347,Armor_of_Water_,Sapien's Ocean Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,1; },
-2348,Armor_of_Wind,Ebeshi's Typhoon Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,4; },
-2349,Armor_of_Wind_,Ebeshi's Typhoon Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,4; },
-2350,Armor_of_Land,Kreitos's Earth Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,2; },
-2351,Armor_of_Land_,Kreitos's Earth Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,2; },
-2352,Armor_For_Novice,Novice Ninja Suit,5,20,0,1,,4,,0,8388609,2,16,,0,0,{},{},,
-
-// Foot gear
-//===================================================================
-2401,Sandals,Sandals,5,400,0,200,,1,,0,10477567,2,64,,0,0,{},{}
-2402,Sandals_,Sandals,5,400,0,200,,1,,1,10477567,2,64,,0,0,{},{}
-2403,Shoes,Shoes,5,3500,0,400,,2,,0,2088958,2,64,,0,0,{},{}
-2404,Shoes_,Shoes,5,3500,0,400,,2,,1,2088958,2,64,,0,0,{},{}
-2405,Boots,Boots,5,18000,0,600,,4,,0,1989866,2,64,,0,0,{},{}
-2406,Boots_,Boots,5,18000,0,600,,4,,1,1989866,2,64,,0,0,{},{}
-2407,Crystal_Pumps,Crystal Pumps,5,20,0,100,,0,,0,2088958,0,64,,0,0,{},{ bonus bMdef,10; bonus bLuk,5; }
-2408,Cuffs,Cuffs,5,5000,0,3000,,3,,0,10477567,2,64,,0,0,{},{}
-2409,Spiky_Heel,Spiky Heel,5,8500,0,600,,2,,0,2088958,2,64,,0,0,{},{ bonus bMdef,5; }
-2410,Sleipnir,Sleipnir,5,20,0,3500,,0,,0,10477567,2,64,,95,0,{},{ bonus bMdef,10; bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bSPrecovRate,15; bonus bSpeedRate,25; }
-2411,Greaves,Greaves,5,48000,0,750,,5,,0,16512,2,64,,65,0,{},{},,,,
-2412,Greaves_,Greaves,5,48000,0,750,,5,,1,16512,2,64,,65,0,{},{},,,,
-2413,Safety_Shoes,Safety Shoes,5,20,0,350,,6,,0,16514,2,64,,30,0,{},{},,,,
-2414,Sandal_For_Novice,Novice Sandals,5,20,0,1,,2,,0,8388609,2,64,,0,0,{},{},,,,
-2415,Bunny_Slippers,Bunny Slippers,5,20,0,300,,,,,2088958,0,64,,,0,{},{ bonus bLuk,3; }
-
-// Garments
-//===================================================================
-2501,Hood,Hood,5,1000,0,200,,1,,0,10477567,2,4,,0,0,{},{},,,,
-2502,Hood_,Hood,5,1000,0,200,,1,,1,10477567,2,4,,0,0,{},{},,,,
-2503,Muffler,Muffler,5,5000,0,400,,2,,0,2088958,2,4,,0,0,{},{},,,,
-2504,Muffler_,Muffler,5,5000,0,400,,2,,1,2088958,2,4,,0,0,{},{},,,,
-2505,Manteau,Manteau,5,32000,0,600,,4,,0,414946,2,4,,0,0,{},{},,,,
-2506,Manteau_,Manteau,5,32000,0,600,,4,,1,414946,2,4,,0,0,{},{},,,,
-2507,Cape_Of_Ancient_Lord,Cape of Old Marquess,5,20,0,600,,2,,0,2088958,2,4,,40,0,{},{ bonus bAgi,1; },,,
-2508,Ragamuffin_Cape,Ragamuffin Manteau,5,20,0,500,,1,,0,2088958,2,4,,0,0,{},{ bonus bMdef,10; bonus bUnbreakable,100; },,,
-2509,Manteau_of_Survival,Manteau of Life,5,20,0,550,,0,,0,66052,2,4,,75,0,{},{ bonus bVit,10; },,,
-2510,Hood_For_Novice,Novice Hood,5,20,0,1,,2,,0,8388609,2,4,,0,0,{},{},,
-
-// Accessories
-//===================================================================
-2601,Ring,Ring,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bStr,2; },
-2602,Earring,Earring,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bInt,2; },
-2603,Necklace,Necklace,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bVit,2; },
-2604,Glove,Glove,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bDex,2; },
-2605,Brooch,Brooch,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bAgi,2; },
-2607,Clip,Clip,5,30000,0,100,,0,,1,10477567,2,136,,0,0,{},{ bonus bMaxSP,10; },
-2608,Rosary,Rosary,5,15000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bMdef,5; bonus bLuk,2; }
-2609,Skull_Ring,Skull Ring,5,10000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
-2610,Gold_Ring,Gold Ring,5,30000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
-2611,Silver_Ring,Silver Ring,5,20000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
-2612,Flower_Ring,Flower Ring,5,1500,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
-2613,Diamond_Ring,Diamond Ring,5,45000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
-2614,Eye_of_Dullahan,Eye of Dullahan,5,90000,0,100,,0,,0,2088958,2,136,,50,0,{},{ bonus2 bResEff,Eff_Poison,1000; bonus2 bResEff,Eff_Curse,1000; bonus2 bResEff,Eff_Silence,1000; bonus2 bResEff,Eff_Confusion,1000; bonus2 bResEff,Eff_Blind,1000;  },,
-2615,Safety_Ring,Safety Ring,5,75000,0,100,,3,,0,2088958,2,136,,40,0,{},{ bonus bMdef,3; },,,,
-2616,Critical_Ring,Critical Ring,5,75000,0,100,,0,,0,2088958,2,136,,40,0,{},{ bonus bCritical,5; },,,,
-2617,Celebrant's_Mitten,Celebrant's Mitten,5,20,0,100,,1,,0,2088958,2,136,,35,0,{},{ bonus bInt,1; },,,,
-2618,Matyr's_Leash,Matyr's Leash,5,20,0,100,,1,,0,2088958,2,136,,35,0,{},{ bonus bAgi,1; },,,,
-2619,Thimble_Of_Archer,Bow Thimble,5,30000,0,100,,0,,0,1574920,2,136,,65,0,{},{},,,,,
-2620,Ring_Of_Rogue,Rogue's Treasure,5,30000,0,100,,0,,0,135232,2,136,,70,0,{},{ bonus bAddStealRate,100; },,,,,
-2621,Ring_,Ancient Ring,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bStr,1; },,,,
-2622,Earring_,Ancient Earring,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bInt,1; },,,,
-2623,Necklace_,Ancient Necklace,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bVit,1; },,,,
-2624,Glove_,Ancient Glove,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bDex,1; },,,,
-2625,Brooch_,Ancient Brooch,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bAgi,1; },,,,
-2626,Rosary_,Ancient Rosary,5,15000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bMdef,3; bonus bLuk,1; },,,
-2627,Belt,Ancient Belt,5,20000,0,1200,,0,,1,10477567,2,136,,25,0,{},{},,,,,
-2628,Novice_Armlet,Novice Armlet,5,400,0,200,,0,,1,8388609,2,136,,0,0,{},{ bonus bStr,1; bonus bInt,1; bonus bLuk,1; },,
-2629,Megingjard,Megingjard,5,20,0,8000,,2,,0,10477567,2,136,,90,0,{},{ bonus bStr,40; bonus bMdef,7; },,,
-2630,Brisingamen,Brisingamen,5,20,0,1500,,1,,0,10477567,2,136,,95,0,{},{ bonus bStr,3; bonus bAgi,3; bonus bVit,3; bonus bInt,3; bonus bMdef,5; }
-2631,Celebration_Ring,Celebration Ring,5,20,0,10,,0,,0,10477567,2,136,,0,0,{},{ bonus bStr,2; bonus bAgi,2; bonus bVit,2; bonus bInt,2; bonus bDex,2; bonus bLuk,2; }
-2634,Wedding_Ring_M,Wedding Ring,4,20,0,0,,,,0,10477567,1,2,,0,,{},{ skill 334,1; skill 336,1; }
-2635,Wedding_Ring_F,Wedding Ring,4,20,0,0,,,,0,10477567,0,2,,0,,{},{ skill 335,1; skill 336,1; }
-2636,Gold_Christmas_Ring,Gold Xmas Ring,5,20,0,0,,0,,0,10477567,2,136,,0,,{},{}
-2637,Silver_Christmas_Ring,Silver Xmas Ring,5,20,0,0,,0,,0,10477567,2,136,,0,,{},{}
-2638,Exorcize_Sachet,Exorcize Sachet,5,20,0,100,,0,,,10477567,2,136,,0,,{},{ bonus bStr,1; bonus bLuk,1; },,,
-2639,Purification_Sachet,Purification Sachet,5,20,0,100,,0,,,10477567,2,136,,0,,{},{ bonus bAgi,1; bonus bInt,1; },,,
-2640,Kafra_Ring,Kafra Ring,5,20,0,10,,,,,2088958,2,136,,,,{},{ bonus bStr,1; bonus bAgi,1; bonus bInt,1; bonus bLuk,1; }
-
-// Cards
-//===================================================================
-4001,Poring_Card,Poring Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bLuk,2; bonus bFlee2,1; }
-4002,Fabre_Card,Fabre Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bVit,1; bonus bMaxHP,100; }
-4003,Pupa_Card,Pupa Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHP,700; }
-4004,Drops_Card,Drops Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDex,1; bonus bHit,3; }
-4005,Poring__Card,Poring  Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,7,20; }
-4006,Lunatic_Card,Lunatic Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bLuk,1; bonus bCritical,1; bonus bFlee2,1; }
-4007,Pecopeco_Egg_Card,Pecopeco Egg Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,0,20; }
-4008,Picky_Card,Picky Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bStr,1; bonus bBaseAtk,10; }
-4009,Chonchon_Card,Chonchon Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAgi,1; bonus bFlee,2; }
-4010,Wilow_Card,Wilow Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bMaxSP,80; }
-4011,Picky__Card,Picky  Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bVit,1; bonus bMaxHP,100; }
-4012,Thief_Bug_Egg_Card,Thief Bug Egg Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHP,400; }
-4013,Andre_Egg_Card,Andre Egg Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHPrate,5; }
-4014,Roda_Frog_Card,Roda Frog Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHP,400; bonus bMaxSP,50; }
-4015,Condor_Card,Condor Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee,10; }
-4016,Thief_Bug_Card,Thief Bug Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bAgi,1; }
-4017,Savage_Babe_Card,Savage Babe Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Stan,500; }
-4018,Andre_Larva_Card,Andre Larva Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bInt,1; bonus bMaxSP,10; }
-4019,Hornet_Card,Hornet Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bStr,1; bonus bBaseAtk,3; }
-4020,Farmiliar_Card,Farmiliar Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Blind,500; bonus bBaseAtk,5; }
-4021,Rocker_Card,Rocker Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDex,1; }
-4022,Spore_Card,Spore Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bVit,2; }
-4023,Desert_Wolf_Babe_Card,Desert Wolf Babe Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bInt,1; }
-4024,Plankton_Card,Plankton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Sleep,500; bonus bBaseAtk,5; }
-4025,Skeleton_Card,Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,10; bonus2 bAddEff,Eff_Stan,200; }
-4026,Thief_bug_Female_Card,Thief bug Female Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAgi,1; bonus bFlee,1; }
-4027,Kukre_Card,Kukre Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bAgi,2; }
-4028,Tarou_Card,Tarou Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bStr,2; }
-4029,Wolf_Card,Wolf Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,15; bonus bCritical,1; }
-4030,Mandragora_Card,Mandragora Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,4,20; }
-4031,Pecopeco_Card,Pecopeco Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHPrate,10; }
-4032,Ambernite_Card,Ambernite Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDef,2; }
-4033,Poporing_Card,Poporing Card,6,20,0,10,,,,,,,136,,,,{},{ skill 53,1; }
-4034,Worm_Tail_Card,Worm Tail Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bDex,2; }
-4035,Hydra_Card,Hydra Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,7,20; }
-4036,Muka_Card,Muka Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bHPrecovRate,10; }
-4037,Snake_Card,Snake Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Poison,500; bonus bBaseAtk,5; }
-4038,Zombie_Card,Zombie Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bHPrecovRate,20; }
-4039,Stainer_Card,Stainer Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Silence,2000; bonus bDef,1; }
-4040,Creamy_Card,Creamy Card,6,20,0,10,,,,,,,136,,,,{},{ skill 26,1; }
-4041,Coco_Card,Coco Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Sleep,2000; bonus bDef,1; }
-4042,Steel_Chonchon_Card,Steel Chonchon Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bSubEle,4,10; bonus bDef,2; }
-4043,Andre_Card,Andre Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,20; }
-4044,Smokie_Card,Smokie Card,6,20,0,10,,,,,,,136,,,,{},{ skill 51,1; }
-4045,horn_Card,horn Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bLongAtkDef,35; }
-4046,Martin_Card,Martin Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Blind,2000; bonus bDef,1; }
-4047,Ghostring_Card,Ghostring Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,8; bonus bHPrecovRate,-25; }
-4048,Poison_Spore_Card,Poison Spore Card,6,20,0,10,,,,,,,136,,,,{},{ skill 52,3; }
-4049,Vadon_Card,Vadon Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,3,20; }
-4050,Thief_bug_Male_Card,Thief bug Male Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAgi,2; }
-4051,Yoyo_Card,Yoyo Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bFlee2,5; bonus bAgi,1; }
-4052,Elder_Wilow_Card,Elder Wilow Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bInt,2; }
-4053,Vitata_Card,Vitata Card,6,20,0,10,,,,,,,136,,,,{},{ skill 28,1; bonus bUseSPrate,25; }
-4054,Angeling_Card,Angeling Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,6; }
-4055,Marina_Card,Marina Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Freeze,500; bonus bBaseAtk,5; }
-4056,Dustiness_Card,Dustiness Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,4,30; bonus bFlee,5; }
-4057,Metaller_Card,Metaller Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Silence,500; bonus bBaseAtk,5; }
-4058,Thara_Frog_Card,Thara Frog Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,7,30; }
-4059,Soldier_Andre_Card,Soldier Andre Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,3,30; }
-4060,Goblin_Card,Goblin Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,2,20; }
-4061,Cornutus_Card,Cornutus Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDef,1; }
-4062,Anacondaq_Card,Anacondaq Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,5,20; }
-4063,Caramel_Card,Caramel Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,4,20; }
-4064,Zerom_Card,Zerom Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bDex,3; }
-4065,Kaho_Card,Kaho Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,2,20; }
-4066,Orc_Warrior_Card,Orc Warrior Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,2,30; }
-4067,Megalodon_Card,Megalodon Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bResEff,Eff_Freeze,2000; bonus bDef,1; }
-4068,Scorpion_Card,Scorpion Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,3,20; }
-4069,Drainliar_Card,Drainliar Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,1,20; }
-4070,Eggyra_Card,Eggyra Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bSPrecovRate,15; }
-4071,Orc_Zombie_Card,Orc Zombie Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,9,30; bonus bFlee,5; }
-4072,Golem_Card,Golem Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,5; }
-4073,Pirate_Skel_Card,Pirate Skel Card,6,20,0,10,,,,,,,136,,,,{},{ skill 37,5; }
-4074,BigFoot_Card,BigFoot Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,4,30; }
-4075,Argos_Card,Argos Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bResEff,Eff_Stone,2000; bonus bDef,1; }
-4076,Magnolia_Card,Magnolia Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Curse,500; bonus bBaseAtk,5; }
-4077,Phen_Card,Phen Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bNoCastCancel,0; bonus bCastrate,25; }
-4078,Savage_Card,Savage Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bVit,3; }
-4079,Mantis_Card,Mantis Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bStr,3; }
-4080,Flora_Card,Flora Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,5,20; }
-4081,Hode_Card,Hode Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,2,30; bonus bFlee,5; }
-4082,Desert_Wolf_Card,Desert Wolf Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddSize,0,15; bonus bBaseAtk,5; }
-4083,Rafflesia_Card,Rafflesia Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,5,30; }
-4084,Marine_Sphere_Card,Marine Sphere Card,6,20,0,10,,,,,,,136,,,,{},{ skill 7,3; }
-4085,Orc_Skeleton_Card,Orc Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,6,20; }
-4086,Soldier_Skeleton_Card,Soldier Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritical,9; }
-4087,Giearth_Card,Giearth Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Confusion,10000; bonus2 bSubEle,2,15; }
-4088,Frilldora_Card,Frilldora Card,6,20,0,10,,,,,,,4,,,,{},{ skill 135,1; }
-4089,Sword_Fish_Card,Sword Fish Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,1; bonus bDef,1; }
-4090,Munak_Card,Munak Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bResEff,Eff_Stone,1500; bonus2 bSubEle,2,5; bonus bDef,1; }
-4091,Kobold_Card,Kobold Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bStr,1; bonus bCritical,4; }
-4092,Skel_Worker_Card,Skel Worker Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddSize,1,15; bonus bBaseAtk,5; }
-4093,Obeaune_Card,Obeaune Card,6,20,0,10,,,,,,,136,,,,{},{ skill 35,1; }
-4094,Archer_Skeleton_Card,Archer Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{}
-4095,Marse_Card,Marse Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,1,30; }
-4096,Zenorc_Card,Zenorc Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Poison,400; bonus bBaseAtk,10; }
-4097,Matyr_Card,Matyr Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxHPrate,10; bonus bAgi,1; }
-4098,Dokebi_Card,Dokebi Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,4; bonus bDef,1; }
-4099,Pasana_Card,Pasana Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,3; bonus bDef,1; }
-4100,Sohee_Card,Sohee Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxSPrate,15; bonus bSPrecovRate,3; }
-4101,Sand_Man_Card,Sand Man Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,2; bonus bDef,1; }
-4102,Whisper_Card,Whisper Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee,20; bonus2 bSubEle,8,-50; }
-4103,Horong_Card,Horong Card,6,20,0,10,,,,,,,136,,,,{},{ skill 10,1; }
-4104,Requiem_Card,Requiem Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Confusion,500; }
-4105,Marc_Card,Marc Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bSubEle,1,5; bonus2 bResEff,Eff_Freeze,10000; }
-4106,Mummy_Card,Mummy Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,20; }
-4107,Verit_Card,Verit Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxHPrate,8; bonus bMaxSPrate,8; }
-4108,Myst_Card,Myst Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,5,30; bonus bFlee,5; }
-4109,Jakk_Card,Jakk Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,3,30; bonus bFlee,5; }
-4110,Ghoul_Card,Ghoul Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Poison,2000; bonus bDef,1; }
-4111,Strouf_Card,Strouf Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,6,20; }
-4112,Marduk_Card,Marduk Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Silence,10000; }
-4113,Marionette_Card,Marionette Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,8,30; bonus bFlee,5; }
-4114,Argiope_Card,Argiope Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,5; bonus bDef,1; }
-4115,Hunter_Fly_Card,Hunter Fly Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bHpDrainRate,3,15; }
-4116,Isis_Card,Isis Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,7,30; bonus bFlee,5; }
-4117,Side_Winder_Card,Side Winder Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDoubleRate,5; }
-4118,Petit_Card,Petit Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,9,20; }
-4119,Bathory_Card,Bathory Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,7; }
-4120,Petit__Card,Petit  Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,9,30; }
-4121,Phreeoni_Card,Phreeoni Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,100; }
-4122,Deviruchi_Card,Deviruchi Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bStr,1; bonus2 bResEff,Eff_Blind,10000;  }
-4123,Eddga_Card,Eddga Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bInfiniteEndure,0; bonus bMaxHPrate,-25; }
-4124,Medusa_Card,Medusa Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,6,15; bonus2 bResEff,Eff_Stone,10000; }
-4125,Deviace_Card,Deviace Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,7,7; bonus2 bAddRace,2,7; bonus2 bAddRace,3,7; bonus2 bAddRace,4,7; }
-4126,Minorous_Card,Minorous Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddSize,2,15; bonus bBaseAtk,5; }
-4127,Nightmare_Card,Nightmare Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Sleep,10000; bonus bAgi,1; }
-4128,Golden_Bug_Card,Golden Bug Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bNoMagicDamage,0; bonus bUseSPrate,100; }
-4129,Baphomet__Card,Baphomet  Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bHit,-10; bonus bSplashRange,1; }
-4130,Scorpion_King_Card,Scorpion King Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,9,20; }
-4131,Moonlight_Flower_Card,Moonlight Flower Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bSpeedRate,25; }
-4132,Mistress_Card,Mistress Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bNoGemStone,0; bonus bUseSPrate,25; }
-4133,Daydric_Card,Daydric Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,0,20; }
-4134,Dracula_Card,Dracula Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bSpDrainRate,1,5; }
-4135,Orc_Lord_Card,Orc Lord Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bShortWeaponDamageReturn,30; }
-4136,Khalitzburg_Card,Khalitzburg Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,6,30; }
-4137,Drake_Card,Drake Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bNoSizeFix,0; }
-4138,Anubis_Card,Anubis Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,8,30; }
-4139,Joker_Card,Joker Card,6,20,0,10,,,,,,,136,,,,{},{ skill 50,1; }
-4140,Knight_Of_Abyss_Card,Knight Of Abyss Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,10,25; }
-4141,Evil_Druid_Card,Evil Druid Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,9; bonus bInt,1; bonus bDef,1; }
-4142,Doppelganger_Card,Doppelganger Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAspdRate,15; }
-4143,Orc_Hero_Card,Orc Hero Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bVit,3; bonus2 bResEff,Eff_Stan,10000; }
-4144,Osiris_Card,Osiris Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bRestartFullRecover,0; }
-4145,Berzebub_Card,Berzebub Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bCastrate,-30; bonus bMaxSPrate,-15; bonus bMaxHPrate,-5; }
-4146,Maya_Card,Maya Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMagicDamageReturn,30; }
-4147,Baphomet_Card,Baphomet Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,-10; bonus bSplashRange,1; }
-4148,Pharaoh_Card,Pharaoh Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bUseSPrate,-30; }
-4149,Bon_Gun_Card,Bon Gun Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bInt,2; }
-4150,Orc_Archer_Card,Orc Archer Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bRange,1; }
-4151,Mimic_Card,Mimic Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bAgi,1; bonus bDex,2; bonus bLuk,3; }
-4152,Wraith_Card,Wraith Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bMatk,8; }
-4153,Alarm_Card,Alarm Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bCastrate,-10; }
-4154,Arclouse_Card,Arclouse Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bStr,2; }
-4155,Rideword_Card,Rideword Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDex,4; }
-4156,Skeleton_Prisoner_Card,Skel Prisoner Card,6,20,0,10,,,,,,,136,,,,{},{ skill 45,3; }
-4157,Zombie_Prisoner_Card,Zombie Prisoner Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHPrate,10; }
-4158,Dark_Priest_Card,Dark Priest Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bUseSPrate,-15; }
-4159,Punk_Card,Punk Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bUseSPrate,-5; }
-4160,Zherlthsh_Card,Zherlthsh Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bUseSPrate,-10; }
-4161,Mysteltainn_Card,Mysteltainn Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAtk,30; bonus bMaxHPrate,-22; bonus bCastrate,-10; }
-4162,Tirfing_Card,Tirfing Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAgi,3; bonus bFlee,10; }
-4163,Executioner_Card,Executioner Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bRandomAttackIncrease,300, 4; }
-4164,Anolian_Card,Anolian Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bStr,2; }
-4165,Sting_Card,Sting Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bDex,4; }
-4166,Wander_Man_Card,Wander Man Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,25; bonus bCritical,5; }
-4167,Cramp_Card,Cramp Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,3; }
-4168,Filamentous_Card,Filamentous Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Stone,100; bonus2 bResEff,Eff_Freeze,100; bonus2 bResEff,Eff_Stan,100; bonus2 bResEff,Eff_Sleep,100; bonus2 bResEff,Eff_Poison,100; bonus2 bResEff,Eff_Curse,100; bonus2 bResEff,Eff_Silence,100; bonus2 bResEff,Eff_Confusion,100; bonus2 bResEff,Eff_Blind,100; }
-4169,Brilight_Card,Brilight Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bAgi,2; bonus bLuk,3; }
-4170,Iron_Fist_Card,Iron Fist Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bVit,2; }
-4171,High_Orc_Card,High Orc Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bStr,2; }
-4172,Choco_Card,Choco Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bStr,1; bonus bAgi,1; bonus bVit,1; bonus bInt,1; bonus bDex,1; bonus bLuk,1; bonus bAtk,10; bonus bDef,1; }
-4173,Stem_Worm_Card,Stem Worm Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDex,2; }
-4174,Penonema_Card,Penomena Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHPrate, 15; }
-4175,Marin_Card,Marin Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,1,20; }
-4176,Sasquatch_Card,Sasquatch Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bAddSize,1,20; bonus bAtk,-10; }
-4177,Antonio_Card,Antonio Card,6,20,0,10,,,,,,,136,,,,{},{ skill 50,5; skill 210,5; }
-4178,Cruiser_Card,Cruiser Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDex,3; }
-4179,Mystcase_Card,Mystcase Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bCastrate,-10; bonus bAtk,10; }
-4180,Chepet_Card,Chepet Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bLuk,5; }
-4181,Knight_of_Windstorm_Card,Knight Of Windstorm Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bAddEff,Eff_Freeze,500; bonus bAtk,25; }
-4182,Garm_Card,Garm Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bAddSize,2,20; bonus bAtk,-10; }
-4183,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bRange,5; }
-4184,Raggler_Card,Raggler Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Sleep,500; }
-4185,Neraid_Card,Neraid Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,2; }
-4186,Pest_Card,Pest Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,0,20; }
-4187,Injustice_Card,Injustice Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,9,20; }
-4188,Goblin_Archer_Card,Goblin Archer Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,2,20; }
-4189,Gryphon_Card,Gryphon Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Silence,500; bonus bAtk,25; }
-4190,Dark_Frame_Card,Dark Frame Card,6,20,0,10,,,,,,,769,,,,{},{ skill 32,2; }
-4191,Wind_Ghost_Card,Wind Ghost Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,4; }
-4192,Merman_Card,Merman Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,1; }
-4193,Cookie_Card,Cookie Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,7; }
-4194,Aster_Card,Aster Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,3,20; }
-4195,Carat_Card,Carat Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,6,20; }
-4196,Bloody_Knight_Card,Bloody Knight Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Blind,500; bonus bAtk,25; bonus bMaxHPrate,-10; }
-4197,Clock_Card,Clock Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bLuk,10; }
-4198,Clock_Tower_Manager_Card,C Tower Manager Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Curse,500; }
-4199,Alligator_Card,Alligator Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Poison,500; }
-4200,Dark_Lord_Card,Dark Lord Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,9; }
-4201,Orc_Lady_Card,Orc Lady Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,4,20; }
-4202,Megalith_Card,Megalith Card,6,20,0,10,,,,,,,4,,,,{},{ skill 9,1; }
-4203,Alice_Card,Alice Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,6; }
-4204,Raydric_Archer_Card,Raydric Archer Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,3; }
-4205,Greatest_General_Card,Greatest General Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,5,20; }
-4206,Stalatic_Golem_Card,Stalactic Golem Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHP,500; bonus bDex,-3; }
-4207,Tri_Joint_Card,Tri Joint Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,7,20; }
-4208,Steamrider_Goblin_Card,Steam Goblin Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,8,20; }
-4209,Sage_Worm_Card,Sage Worm Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,8; }
-4210,Kobold_Archer_Card,Kobold archer Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,15; bonus bAtk,15; }
-4211,Chimera_Card,Chimera Card,6,20,0,10,,,,,,,2,,,,{},{  bonus2 bAddEff,Eff_Stan,500; bonus bAtk,25; }
-
-// Extra Headgears
-//===================================================================
-5001,Headset,Headset,5,20,0,200,,3,,0,2088958,2,256,,0,87,{},{ bonus2 bResEff,Eff_Curse,1000; },
-5002,Jewel_Crown,Jewel Crown,5,20,0,600,,4,,0,414946,2,256,,60,88,{},{ bonus bMdef,3; bonus bInt,2; bonus bLuk,1; }
-5003,Joker_Jester,Joker Jester,5,20,0,100,,1,,0,2088958,2,256,,0,89,{},{ bonus bMdef,5; bonus bLuk,2; },
-5004,Oxygen_Mask,Oxygen Mask,5,20,0,200,,0,,0,2088958,2,1,,0,90,{},{ bonus2 bResEff,Eff_Poison,2000; },,,,
-5005,Gas_Mask,Gas Mask,5,20,0,100,,1,,0,2088958,2,513,,0,91,{},{ bonus2 bResEff,Eff_Poison,3000; },,,,
-5006,Machoman_Glasses,Machoman's Glasses,5,36000,0,100,,1,,0,2088958,2,512,,0,92,{},{},,,,,,
-5007,Grand_Circlet,Grand Circlet,5,20,0,200,,3,,0,2088958,2,256,,55,93,{},{ bonus bMdef,4; bonus bStr,1; bonus bInt,1; bonus bLuk,1; },,
-5008,Puppy_Love,Puppy Love,5,20,0,100,,1,,0,2088958,2,256,,0,94,{},{},,,,,,
-5009,Safety_Helmet,Safety Helmet,5,20,0,500,,3,,0,2088958,2,256,,0,95,{},{ bonus bMdef,3; bonus bUnbreakable,100; },,,,,
-5010,Indian_Hair_Piece,Indian Fillet,5,20,0,100,,3,,0,10477567,2,256,,0,96,{},{},,,,,,
-5011,Aerial,Aerial,5,20,0,100,,3,,0,10477567,2,256,,0,97,{},{},,,,,,
-5012,Ph.D_Hat,Ph.D Hat,5,20,0,200,,3,,0,2088958,2,256,,0,98,{},{ bonus bMdef,3; },,,,,
-5013,Horn_Of_Lord_Kaho,Lord Kaho's Horn,5,20,0,100,,5,,0,10477567,2,256,,0,99,{},{ bonus bMdef,10; bonus bStr,5; bonus bAgi,10; bonus bVit,10; bonus bInt,5; bonus bLuk,20; }
-5014,Fin_Helm,Fin Helm,5,20,0,300,,2,,0,16514,2,512,,65,100,{},{},,,,,,
-5015,Egg_Shell,Egg Shell,5,20,0,200,,3,,0,10477567,2,256,,0,101,{},{},,,,,,
-5016,Boy's_Cap,Boy's Cap,5,20,0,100,,2,,0,2088958,2,256,,0,102,{},{},,,,,,
-5017,Bone_Helm,Bone Helm,5,20,0,800,,7,,0,279714,2,256,,70,103,{},{ bonus2 bSubEle,7,-15; },,,,
-5018,Feather_Bonnet,Feather Bonnet,5,20,0,300,,4,,0,1574920,2,256,,0,104,{},{ bonus bAgi,1; },,,,,
-5019,Corsair,Corsair,5,20,0,500,,5,,0,2088958,2,256,,0,105,{},{ bonus bVit,1; },,,,,
-5020,Kafra_Band,Kafra's Band,5,20,0,500,,3,,0,10477567,2,256,,0,106,{},{ bonus bMdef,3; },,
-5021,Bankruptcy_of_Heart,Money Loser's Grief,5,20,0,1200,,4,,0,263200,2,256,,38,107,{},{ bonus bInt,1; bonus bDex,1; },
-5022,Solar_God_Helm,Solar God Helm,5,20,0,2400,,4,,0,2088832,2,768,,0,138,{},{ bonus bStr,3; bonus bInt,2; },
-5023,Parcel_Hat,Parcel Hat,5,20,0,1000,,0,,0,263200,2,256,,0,108,{},{},,,
-5024,Cake_Hat,Cake Hat,5,20,0,1500,,1,,0,10477567,2,256,,0,109,{},{},,,
-5025,Angel_Helm,Angel Helm,5,20,0,1600,,5,,0,2088832,2,256,,74,110,{},{ bonus bAgi,1; bonus bLuk,1; bonus bMdef,3; }
-5026,Chef_Hat,Chef's Hat,5,20,0,300,,1,,0,2088958,2,256,,50,111,{},{ bonus bDex,1; },,
-5027,Mage_Hat,Mage Hat,5,20,0,300,,1,,0,66052,2,256,,0,112,{},{ bonus bInt,2; bonus bMaxSP,150; },
-5028,Candle,Candle,5,20,0,150,,5,,0,10477567,2,256,,0,113,{},{},,,
-5029,Spore_Hat,Spore Hat,5,20,0,900,,3,,0,2088958,2,256,,20,114,{},{},,,
-5030,Panda_Hat,Panda Hat,5,20,0,800,,3,,0,2088958,2,256,,40,115,{},{},,,
-5031,Miner's_Helmet,Miner's Helmet,5,20,0,1500,,4,,0,447986,2,256,,55,116,{},{ bonus bDex,2; },,
-5032,Sunday_Hat,Sunday Hat,5,20,0,800,,1,,0,2088958,2,256,,0,117,{},{},,,
-5033,Smokie_Hat,Smokie Hat,5,20,0,900,,3,,0,2088958,2,256,,50,118,{},{},,,
-5034,Lightbulb_Hairband,Lightbulb Hairband,5,20,0,500,,0,,0,2088958,2,256,,0,119,{},{},,,
-5035,Poring_Hat,Poring Hat,5,20,0,700,,2,,0,2088958,2,256,,38,120,{},{},,,
-5036,Cross_Hairband,Cross Hairband,5,20,0,250,,1,,0,2088958,2,256,,10,121,{},{},,,
-5037,Fruit_Shell,Apple Hat,5,20,0,150,,4,,0,10477567,2,256,,5,122,{},{},,,
-5038,Deviruchi_Hat,Deviruchi Hat,5,20,0,800,,2,,0,2088958,2,256,,64,123,{},{ bonus bStr,1; bonus bInt,1; },
-5039,Rainbow_Eggshell,Rainbow Eggshell,5,20,0,400,,4,,0,10477567,2,256,,19,124,{},{},,,
-5040,Blush,Blush,5,20,0,100,,0,,0,10477567,2,512,,0,125,{},{},,,
-5041,Heart_Hairpin,Heart Hairpin,5,20,0,100,,0,,0,10477567,2,256,,0,126,{},{},,,
-5042,Hair_Protector,Dumpling Decoration,5,20,0,150,,0,,0,2088958,2,256,,14,127,{},{},,,
-5043,Opera_Ghost_Mask,Opera Ghost Mask,5,20,0,200,,1,,0,2088958,2,512,,20,128,{},{},,,
-5044,Wing_Of_Demon,Wings of Demon,5,20,0,350,,2,,0,10477567,2,256,,45,129,{},{},,,
-5045,Magician_Hat,Magic Hat,5,20,0,500,,3,,0,554319315732,2,256,,50,130,{},{ bonus bDex,1; bonus bAgi,1; bonus bMaxSP,50; }
-5046,Bongun_Hat,Bongun Hat,5,20,0,300,,5,,0,10477567,2,769,,0,139,{},{},,,
-5047,Fashion_Sunglasses,Fashion Sunglasses,5,20,0,100,,0,,0,2088958,2,256,,0,131,{},{},,,
-5048,Cresent_Hairpin,Cresent Hairpin,5,20,0,100,,0,,0,10477567,2,256,,0,132,{},{},,,
-5049,Striped_Bandana,Striped Bandana,5,20,0,150,,1,,0,10477567,2,256,,0,133,{},{},,,
-5050,Mysterious_Fruit_Shell,Mysterious Fruit Shell,5,20,0,300,,5,,0,10477567,2,256,,30,134,{},{},,,
-5051,Bell_of_Pussycat,Bell of Pussycat,5,20,0,100,,5,,0,10477567,2,1,,0,135,{},{},,,
-5052,Blue_Bandana,Blue Bandana,5,20,0,150,,1,,0,10477567,2,256,,0,136,{},{},,,
-5053,Sphinx_Hat,Sphinx Hat,5,20,0,3000,,5,,0,16514,2,256,,65,137,{},{ bonus bStr,2; },,
-5054,Assassin_Mask,Assassin Mask,5,20,0,100,,0,,0,4096,2,1,,70,180,{},{},,,
-5055,Novice_Eggshell,Novice Eggshell,5,20,0,10,,3,,0,8388609,2,256,,0,101,{},{},,,
-5056,Seed_Of_Love,Seed Of Love,5,20,0,200,,0,,0,2088958,2,256,,0,140,{},{}
-5057,Black_Cat_Ears,Black Cat Ears,5,20,0,200,,2,,0,10477567,2,256,,45,141,{},{}
-5058,Resting_Cat,Resting Cat,5,20,0,500,,1,,0,2088958,2,256,,0,142,{},{ bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15; }
-5059,Bear_Hat,Bear Hat,5,20,0,800,,3,,0,10477567,2,256,,50,143,{},{}
-5060,Pointy_Cap,Pointy Cap,5,20,0,300,,3,,0,10477567,2,256,,0,144,{},{ bonus bLuk,1; }
-5061,Flower_Hairpin,Flower Hairpin,5,20,0,100,,1,,0,10477567,2,256,,0,145,{},{}
-5062,Straw_Hat,Straw Hat,5,20,0,200,,3,,0,10477567,2,256,,50,146,{},{ bonus bAgi,1; }
-5063,Bandaid,Bandaid,5,20,0,100,,1,,0,2088958,2,256,,0,147,{},{}
-5064,Transformation_Leaf,Transformation Leaf,5,20,0,100,,1,,0,10477567,2,256,,0,148,{},{}
-5065,Fresh_Blueish_Fish,Fresh Blueish Fish,5,20,0,500,,2,,0,10477567,2,256,,50,149,{},{ bonus2 bAddRace,5,10; }
-5066,Horns_Of_Succubus,Horns of Succubus,5,20,0,800,,4,,0,2088958,2,256,,70,150,{},{ bonus bInt,1; bonus bMdef,10; }
-5067,Sombrero,Sombrero,5,20,0,350,,4,,0,2088958,2,256,,0,151,{},{ bonus bAgi,1; }
-5068,Ears_of_Demon,Ears Of Demon,5,20,0,100,,1,,0,10477567,2,512,,70,152,{},{ bonus bStr,1; }
-5069,Fox_Mask,Fox Mask,5,20,0,300,,1,,0,2088958,2,256,,0,153,{},{ bonus bAgi,1; bonus bLuk,1; }
-5070,Bandage,Bandage,5,20,0,100,,1,,0,2088958,2,256,,0,154,{},{ bonus bStr,2; }
-5071,Indian_Headband,Indian Headband,5,20,0,200,,1,,0,2088958,2,256,,0,155,{},{ bonus bDex,1; }
-5072,Horns_Of_Incubus,Horns Of Incubus,5,20,0,800,,4,,0,2088958,2,256,,70,156,{},{ bonus bAgi,1; bonus bMdef,10; }
-5073,Campus_Hat,Campus Hat,5,20,0,700,,2,,0,2088958,2,256,,0,157,{},{ bonus bDex,2; }
-5074,Ears_of_Angel,Ears of Angel,5,20,0,100,,1,,0,10477567,2,512,,70,158,{},{ bonus bStr,1; }
-5075,Cowboy_Hat,Cowboy Hat,5,20,0,500,,4,,0,10477567,2,256,,0,159,{},{}
-5076,Furry_Hat,Furry Hat,5,20,0,350,,2,,0,10477567,2,256,,0,160,{},{ bonus bLuk,1; }
-5077,Tulip_Hairpin,Tulip Hairpin,5,20,0,100,,1,,0,10477567,2,256,,0,161,{},{}
-5078,Sea_Otter_Hat,Sea Otter Hat,5,20,0,800,,3,,0,10477567,2,256,,50,162,{},{ bonus bVit,1; }
-5079,X_Hairpin,X Hairpin,5,20,0,100,,1,,0,10477567,2,256,,0,163,{},{}
-5080,Crown_of_the_Ancient_Queen,Crown of The Ancient Queen,5,20,0,400,,4,,0,10477567,2,256,,45,164,{},{}
-5081,Crown_of_Mistress,Crown of Mistress,5,20,0,100,,1,,0,2088958,0,256,,75,165,{},{ bonus bInt,2; bonus bMaxSP,100; }
-5082,Mushroom_Hairband,Mushroom Hairband,5,20,0,100,,2,,0,10477567,2,256,,0,166,{},{}
-5083,Back_Ribbon,Back Ribbon,5,20,0,200,,1,,0,10477567,0,256,,45,167,{},{ bonus bMdef,10; }
-5084,Lazy_Raccoon_Hat,Lazy Racoon Hat,5,20,0,500,,1,,0,2088958,2,256,,0,168,{},{ bonus2 bResEff,Eff_Sleep,2000; }
-5085,Small_Twin_Ribbons,Small Twin Ribbons,5,20,0,100,,1,,0,10477567,0,512,,45,169,{},{}
-5086,Sad_Mask,Sad Mask,5,20,0,100,,2,,0,10477567,2,513,,0,170,{},{ bonus2 bResEff,Eff_Blind,5000; }
-5087,Expressionless_Mask,Expressionless Mask,5,20,0,100,,1,,0,10477567,2,513,,0,171,{},{}
-5088,Surprised_Mask,Surprised Mask,5,20,0,100,,1,,0,10477567,2,513,,0,172,{},{}
-5089,Annoyed_Mask,Annoyed Mask,5,20,0,100,,1,,0,10477567,2,513,,0,173,{},{}
-5090,Mask_of_the_Goblin_Leader,Mask of The Goblin Leader,5,20,0,100,,2,,0,10477567,2,513,,0,174,{},{}
-5091,Big_Golden_Bell,Big Golden Bell,5,20,0,200,,2,,0,2088958,2,768,,35,175,{},{}
-5092,Nun_Hat,Nun Hat,5,20,0,300,,5,,0,33024,0,768,,65,176,{},{}
-5093,Nun_Hat_,Nun Hat,5,20,0,300,,5,,0,33024,0,768,,65,177,{},{ bonus bMaxSP,100; }
-5094,Orc_Hero_Helm,Orc Hero Helm,5,20,0,900,,5,,0,2088958,2,768,,55,178,{},{ bonus bStr,2; bonus bVit,1; }
-5096,Assassin_Mask_,Assassin Mask,5,20,0,100,,0,,0,4096,2,1,,70,180,{},{},,,
-5097,Annual_Commemoration_Hat,Annual Commemoration Hat,5,20,0,30,,3,,0,10477567,2,256,,0,166,{},{ bonus bAllStats,3; }
-5098,Tiger_Mask,Tiger Mask,5,20,0,400,,2,,,10477567,2,768,,,181,{},{ bonus bStr,3; bonus bMaxHP,100; }
-
-// Misc items
-//===================================================================
-7001,Mold_Powder,Mould Powder,3,680,0,10,,,,,,,,,,,{},{}
-7002,Ogre_Tooth,Ogre Tooth,3,658,0,10,,,,,,,,,,,{},{}
-7003,Anolian_Skin,Anolian Skin,3,928,0,10,,,,,,,,,,,{},{}
-7004,Mud_Lump,Mud Lump,3,876,0,10,,,,,,,,,,,{},{}
-7005,Skull,Skull,3,1044,0,10,,,,,,,,,,,{},{}
-7006,Wing_of_Red_Bat,Wing of Red Bat,3,168,0,10,,,,,,,,,,,{},{}
-7007,Claw_of_Rat,Claw of Rat,3,748,0,10,,,,,,,,,,,{},{}
-7008,Stiff_Horn,Stiff Horn,3,636,0,10,,,,,,,,,,,{},{}
-7009,Glitter_Shell,Glitter Shell,3,528,0,10,,,,,,,,,,,{},{}
-7010,Tail_of_Steel_Scorpion,Tail of Steel Scorpion,3,548,0,10,,,,,,,,,,,{},{}
-7011,Claw_of_Monkey,Claw of Monkey,3,466,0,10,,,,,,,,,,,{},{}
-7012,Tough_Scalelike_Stem,Tough Scalelike Stem,3,412,0,10,,,,,,,,,,,{},{}
-7013,Coral_Reef,Coral Reef,3,772,0,10,,,,,,,,,,,{},{}
-7014,Old_Portrait,Old Portrait,3,1500,0,100,,,,,,,,,,,{},{}
-7015,Bookclip_in_Memory,Bookclip in Memory,3,3000,0,20,,,,,,,,,,,{},{}
-7016,Spoon_Stub,Spoon Stub,3,2500,0,20,,,,,,,,,,,{},{}
-7017,Executioner's_Mitten,Executioner's Mitten,3,4500,0,30,,,,,,,,,,,{},{}
-7018,Young_Twig,Young Twig,3,50,0,10,,,,,,,,,,,{},{}
-7019,Loki's_Whispers,Loki's Whispers,3,20,0,10,,,,,,,,,,,{},{}
-7020,Mother's_Nightmare,Mother's Nightmare,3,20,0,10,,,,,,,,,,,{},{}
-7021,Foolishness_of_the_Blind,Foolishness of the Blind,3,20,0,10,,,,,,,,,,,{},{}
-7022,Old_Hilt,Old Hilt,3,150,0,30,,,,,,,,,,,{},{}
-7023,Blade_Lost_in_Darkness,Blade Lost in Darkness,3,12000,0,40,,,,,,,,,,,{},{}
-7024,Bloody_Edge,Bloody Edge,3,10000,0,40,,,,,,,,,,,{},{}
-7025,Lucifer's_Lament,Lucifer's Lament,3,30000,0,50,,,,,,,,,,,{},{}
-7026,Key_of_Clock_Tower,Key of Clock Tower,3,2,0,30,,,,,,,,,,,{},{}
-7027,Key_of_Underground,Key of Underground,3,2,0,30,,,,,,,,,,,{},{}
-7028,Invite_for_Duel,Invite for Duel,3,0,0,10,,,,,,,,,,,{},{}
-7029,Admission_for_Duel,Admission for Duel,3,20,0,10,,,,,,,,,,,{},{}
-7030,Claw_of_Desert_Wolf,Claw of Desert Wolf,3,208,0,10,,,,,,,,,,,{},{}
-7031,Old_Frying_Pan,Old Frying Pan,3,196,0,10,,,,,,,,,,,{},{}
-7032,Piece_of_Egg_Shell,Piece of Egg Shell,3,168,0,10,,,,,,,,,,,{},{}
-7033,Poison_Spore,Poison Spore,3,114,0,10,,,,,,,,,,,{},{}
-7034,Red_Socks_with_Holes,Red Socks with Holes,3,100,0,10,,,,,,,,,,,{},{}
-7035,Matchstick,Matchstick,3,100,0,10,,,,,,,,,,,{},{}
-7036,Fang_of_Garm,Fang of Garm,3,100,0,10,,,,,,,,,,,{},{}
-7037,Coupon,Coupon,3,2000,0,10,,,,,,,,,,,{},{}
-7038,Yarn,Yarn,3,20,0,10,,,,,,,,,,,{},{}
-7039,Novice_Nametag,Novice Nametag,3,20,0,10,,,,,,,,,,,{},{}
-7040,Megaphone,Megaphone,3,20,0,10,,,,,,,,,,,{},{}
-7041,Fine_Grit,Fine Grit,3,20,0,10,,,,,,,,,,,{},{}
-7042,Leather_Bag_of_Infinity,Leather Bag of Infinity,3,20,0,10,,,,,,,,,,,{},{}
-7043,Fine_Sand,Fine Sand,3,100,0,10,,,,,,,,,,,{},{}
-7044,Vigorgra,Vigorgra,3,20,0,10,,,,,,,,,,,{},{}
-7045,Magic_Paint,Magic Paint,3,20,0,10,,,,,,,,,,,{},{}
-7046,Cart_Parts,Cart Parts,3,20,0,10,,,,,,,,,,,{},{}
-7047,Alice's_Apron,Alice's Apron,3,2424,0,10,,,,,,,,,,,{},{}
-7048,Talon_of_Griffon,Talon of Griffon,3,100,0,10,,,,,,,,,,,{},{}
-7049,Stone,Stone,3,0,0,30,,,,,,,,,,,{},{}
-7050,Cotton_Mat,Cotton Mat,3,20,0,10,,,,,,,,,,,{},{}
-7051,Silk_Mat,Silk Mat,3,20,0,10,,,,,,,,,,,{},{}
-7052,Wasted_Magazine,Wasted Magazine,3,20,0,10,,,,,,,,,,,{},{}
-7053,Cyfar,Cyfar,3,772,0,10,,,,,,,,,,,{},{}
-7054,Brigan,Brigan,3,746,0,10,,,,,,,,,,,{},{}
-7055,Animal_Poop,Animal Poop,3,20,0,50,,,,,,,,,,,{},{}
-7056,Payment_Statement_for_Kafra_Employee,Payment Statement for Ka,3,20,0,50,,,,,,,,,,,{},{}
-7057,Gjallar,Gjallar,3,20,0,500,,,,,,,,,,,{},{}
-7058,Gleipnir,Gleipnir,3,20,0,500,,,,,,,,,,,{},{}
-7059,Free_Ticket_for_Kafra_Storage,Free Ticket for Kafra St,3,20,0,10,,,,,,,,,,,{},{}
-7060,Free_Ticket_for_Kafra_Transportation,Free Ticket for Kafra Tr,3,20,0,10,,,,,,,,,,,{},{}
-7061,Free_Ticket_for_the_Cart_Service,Free Ticket for the Cart,3,20,0,10,,,,,,,,,,,{},{}
-7062,Broken_Turtle_Shell,Broken Turtle Shell,3,20,0,10,,,,,,,,,,,{},{}
-7063,Soft_Feather,Soft Feather,3,280,0,10,,,,,,,,,,,{},{}
-7064,Wing_of_Dragonfly,Wing of Dragonfly,3,520,0,10,,,,,,,,,,,{},{}
-7065,Sea-otter_Fur,Sea Otter Fur,3,820,0,10,,,,,,,,,,,{},{}
-7066,Ice_Cubic,Ice Cubic,3,660,0,10,,,,,,,,,,,{},{}
-7067,Stone_Fragment,Stone Fragment,3,640,0,10,,,,,,,,,,,{},{}
-7068,Burnt_Tree,Burnt Tree,3,722,0,10,,,,,,,,,,,{},{}
-7069,Destroyed_Armor,Destroyed Armor,3,1042,0,10,,,,,,,,,,,{},{}
-7070,Broken_Shell,Broken Shell,3,900,0,10,,,,,,,,,,,{},{}
-7071,Tattered_Clothes,Tattered Clothes,3,640,0,10,,,,,,,,,,,{},{}
-7072,Old_Shuriken,Old Shuriken,3,1780,0,10,,,,,,,,,,,{},{}
-7073,Freya's_Jewel,Freya's Jewel,3,20,0,500,,,,,,,,,,,{},{}
-7074,Thor's_Gauntlet,Thor's Gauntlet,3,20,0,500,,,,,,,,,,,{},{}
-7075,Iron_Maiden,Iron Maiden,3,20,0,500,,,,,,,,,,,{},{}
-7076,Wheel_of_the_Unknown,Wheel of the Unknown,3,20,0,500,,,,,,,,,,,{},{}
-7077,Silver_Ornament,Silver Ornament,3,20,0,500,,,,,,,,,,,{},{}
-7078,Wrath_of_Valkyrie,Wrath of Valkyrie,3,20,0,500,,,,,,,,,,,{},{}
-7079,Feather_of_Angel_Wing,Feather of Angel Wing,3,20,0,500,,,,,,,,,,,{},{}
-7080,Cat_Tread,Footprints of Cat,3,20,0,500,,,,,,,,,,,{},{}
-7081,Woman's_Moustache,Woman's Moustache,3,20,0,500,,,,,,,,,,,{},{}
-7082,Root_of_Stone,Root of Stone,3,20,0,500,,,,,,,,,,,{},{}
-7083,Spirit_of_Fish,Spirit of Fish,3,20,0,500,,,,,,,,,,,{},{}
-7084,Sputum_of_Bird,Sputum of Bird,3,20,0,500,,,,,,,,,,,{},{}
-7085,Sinew_of_Bear,Sinew of Bear,3,20,0,500,,,,,,,,,,,{},{}
-7086,Emblem_of_the_Sun_God,Emblem of the Sun God,3,20,0,500,,,,,,,,,,,{},{}
-7087,Breath_of_Spirit,Breath of Soul,3,20,0,500,,,,,,,,,,,{},{}
-7088,Snow_Crystal,Snow Crystal,3,20,0,500,,,,,,,,,,,{},{}
-7089,Omen_of_Tempest,Omen of Tempest,3,20,0,500,,,,,,,,,,,{},{}
-7090,Ripple,Ripple,3,20,0,500,,,,,,,,,,,{},{}
-7091,Billow,Billow,3,20,0,500,,,,,,,,,,,{},{}
-7092,Drifting_Air,Drifting Air,3,20,0,500,,,,,,,,,,,{},{}
-7093,Cogwheel,Metal Wheel,3,20,0,10,,,,,,,,,,,{},{}
-7094,Fragment,Cabinet Chip,3,20,0,10,,,,,,,,,,,{},{}
-7095,Metal_Fragment,Tooth Fragment,3,20,0,10,,,,,,,,,,,{},{}
-7096,Lava,Hardened Lava,3,1108,0,10,,,,,,,,,,,{},{}
-7097,Burning_Heart,Burning Heart,3,924,0,10,,,,,,,,,,,{},{}
-7098,Live_Coal,Fire Seed,3,638,0,10,,,,,,,,,,,{},{}
-7099,Worn-out_Magic_Scroll,Old Magical Circle,3,20,0,10,,,,,,,,,,,{},{}
-7100,Sharp_Leaf,Sharpened Leaf,3,20,0,10,,,,,,,,,,,{},{}
-7101,PecoPeco_Feather,Peco Feather,3,454,0,10,,,,,,,,,,,{},{}
-7102,Nightmare,Nightmare,3,20,0,10,,,,,,,,,,,{},{}
-7103,Unknown_Liquid_Bottle,Yellow Liquid Bottle,3,20,0,10,,,,,,,,,,,{},{}
-7104,Fake_Angel's_Wing,Fake Angel's Wing,3,756,0,10,,,,,,,,,,,{},{}
-7105,Fake_Heaven_Ring,Imitation Soul's Band,3,924,0,10,,,,,,,,,,,{},{}
-7106,Antelope_Horn,Antelope Horn,3,672,0,10,,,,,,,,,,,{},{}
-7107,Antelope_Skin,Antelope Skin,3,756,0,10,,,,,,,,,,,{},{}
-7108,Piece_of_Shield,Broken Shield,3,20,0,10,,,,,,,,,,,{},{}
-7109,Shining_Spear_Blade,Shiny Spear Tip,3,20,0,10,,,,,,,,,,,{},{}
-7110,Broken_Sword,Broken Sword,3,588,0,10,,,,,,,,,,,{},{}
-7111,Slick_Paper,String Paper,3,706,0,10,,,,,,,,,,,{},{}
-7112,Sharp_Paper,Transparent Paper,3,906,0,10,,,,,,,,,,,{},{}
-7113,Broken_Symbol_of_Pharaoh,Broken Symbol of Pharaoh,3,20,0,10,,,,,,,,,,,{},{}
-7114,Masque_of_Tutankhamen,Sphinx Mask,3,20,0,10,,,,,,,,,,,{},{}
-7115,Harpy_Feather,Blood Feather,3,1142,0,10,,,,,,,,,,,{},{}
-7116,Harpy_Talon,Tooth of Lowblood,3,1210,0,10,,,,,,,,,,,{},{}
-7117,Torn_Magic_Book,Torn Spell Book,3,20,0,10,,,,,,,,,,,{},{}
-7118,Torn_Scroll,Torn Scroll,3,20,0,10,,,,,,,,,,,{},{}
-7119,Bacillus,Hypha Body,3,1024,0,10,,,,,,,,,,,{},{}
-7120,Burning_Horseshoe,Burning Horseshoe,3,822,0,10,,,,,,,,,,,{},{}
-7121,Honey_Pot,Honey Jar,3,622,0,10,,,,,,,,,,,{},{}
-7122,Burning_Hair,Hot Feather,3,974,0,10,,,,,,,,,,,{},{}
-7123,Dragon_Skin,Dragon Skin,3,1024,0,10,,,,,,,,,,,{},{}
-7124,Sand_Clump,Sand Lump,3,706,0,10,,,,,,,,,,,{},{}
-7125,Scorpion_Claw,Crab Shot,3,706,0,10,,,,,,,,,,,{},{}
-7126,Large_Jellopy,Large Jellopy,3,840,0,10,,,,,,,,,,,{},{}
-7127,Alcohol_Creation_Book,Alcohol Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
-7128,Bottle_Grenade_Creation_Book,Fire Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
-7129,Acid_Bottle_Creation_Book,Acid Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
-7130,Plant_Bottle_Creation_Book,Plant Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
-7131,Mine_Bottle_Creation_Book,Mine Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
-7132,Glistening_Coat_Creation_Book,Glistening Coat Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
-7133,Condensed_Potion_Creation_Book,Condensed Potion Creation Book,3,240000,0,10,,,,,,,,,,,{},{}
-7134,Medicine_Bowl,Medicine Bowl,3,8,0,10,,,,,,,,,,,{},{}
-7135,Bottle_Grenade,Fire Bottle,3,20,0,10,,,,,,,,,,,{},{}
-7136,Acid_Bottle,Hydrobolic Acid Bottle,3,20,0,10,,,,,,,,,,,{},{}
-7137,Plant_Bottle,Water Bottle,3,20,0,10,,,,,,,,,,,{},{}
-7138,Marine_Sphere_Bottle,Mine Bottle,3,20,0,10,,,,,,,,,,,{},{}
-7139,Glistening_Coat,Coating Wax,3,20,0,10,,,,,,,,,,,{},{}
-7140,Seed_of_Life,Seed of Life,3,20,0,10,,,,,,,,,,,{},{}
-7141,Morning_Dew_of_Yggdrasil,Water Flow,3,20,0,10,,,,,,,,,,,{},{}
-7142,Ancient_Life,Embryo,3,20,0,10,,,,,,,,,,,{},{}
-7143,Glass_Tube,Seperation Tubes,2,50000,,1000,,,,,262144,2,,,,,{ bpet; },{}
-7144,Potion_Creation_Gude,Potion Making Book,3,100000,0,10,,,,,,,,,,,{},{}
-7145,Ragnarok_T-shirt,Ragnarok T-Shirt,3,20,0,10,,,,,,,,,,,{},{}
-7146,Vacation_Ticket,Vacation Ticket,3,20,0,10,,,,,,,,,,,{},{}
-7147,Jasmine,Jasmine,3,20,0,10,,,,,,,,,,,{},{}
-7148,Mother's_Letter,Mother's Letter,3,20,0,10,,,,,,,,,,,{},{}
-7149,Yellow_Plate,Yellow Plate,3,220,0,10,,,,,,,,,,,{},{}
-7150,A_piece_of_Bamboo,Bamboo Trunk,3,310,0,10,,,,,,,,,,,{},{}
-7151,Oil_Paper,Oiled Paper,3,310,0,10,,,,,,,,,,,{},{}
-7152,Glossy_Hair,Glossy Hair,3,340,0,10,,,,,,,,,,,{},{}
-7153,Worn-out_Kimono,Old Kimono,3,590,0,10,,,,,,,,,,,{},{}
-7154,Poisonous_Powder,Poison Powder,3,160,0,10,,,,,,,,,,,{},{}
-7155,Skin_of_Poisonous_Toad,Poisonous Toad Skin,3,280,0,10,,,,,,,,,,,{},{}
-7156,Broken_Shuriken,Broken Shuriken,3,470,0,10,,,,,,,,,,,{},{}
-7157,Black_Mask,Black Mask,3,20,0,10,,,,,,,,,,,{},{}
-7158,Broken_Liquor_Bottle,Broken Liquor Bottle,3,160,0,10,,,,,,,,,,,{},{}
-7159,Demon's_Nose,Demon's Nose,3,400,0,10,,,,,,,,,,,{},{}
-7160,Passport_From_King,Passport From King,3,20,0,10,,,,,,,,,,,{},{}
-7161,Skin_of_the_Black_Bear,Skin of the Black Bear,3,384,0,10,,,,,,,,,,,{},{}
-7162,Piece_of_Cloud,Piece of Cloud,3,390,0,10,,,,,,,,,,,{},{}
-7163,Hard_Antennae,Hard Antennae,3,570,0,10,,,,,,,,,,,{},{}
-7164,Very_Hard_Peach,Very Hard Peach,3,400,0,10,,,,,,,,,,,{},{}
-7165,Etherial_Winged_Clothing,Etherial Winged Clothing,3,650,0,10,,,,,,,,,,,{},{}
-7166,Soft_Silk_Fabric,Soft Silk Fabric,3,1200,0,10,,,,,,,,,,,{},{}
-7167,Strange_Piece_of_Iron,Strange Piece of Iron,3,430,0,10,,,,,,,,,,,{},{}
-7168,Big_Wing_of_Butterfly,Big Wing of Butterfly,3,614,0,10,,,,,,,,,,,{},{}
-7169,Tae_Guk_Tablet,Tae Guk Tablet,3,20,0,10,,,,,,,,,,,{},{}
-7170,Tuxedo,Tuxedo,5,43000,0,10,,0,,0,10477566,1,16,,0,0,{},{ changebase 22; }
-7171,Skin_of_Panther,Skin of Panther,3,282,0,10,,,,,,,,,,,{},{}
-7172,Claw_of_Panther,Claw of Panther,3,290,0,10,,,,,,,,,,,{},{}
-7173,Bun_Buster_Bag,Bun Buster Bag,3,20,0,10,,,,,,,,,,,{},{}
-7174,Wrapping_Thread,Wrapping Thread,3,20,0,10,,,,,,,,,,,{},{}
-7175,Wrapper,Wrapper,3,20,0,10,,,,,,,,,,,{},{}
-7176,King's_Proof_Document,King's Proof Document,3,20,0,10,,,,,,,,,,,{},{}
-7177,Piece_of_Starlight's_Sorrow,Piece of Starlight's Sorrow,3,20,0,10,,,,,,,,,,,{},{}
-7178,Starlight's_Sorrow,Starlight's Sorrow,3,20,0,10,,,,,,,,,,,{},{}
-7179,Donation_Ticket,Donation Ticket,3,20,0,10,,,,,,,,,,,{},{}
-7180,Letter_of_Introduction,Letter of Introduction,3,20,0,10,,,,,,,,,,,{},{}
-7181,Commodity_Receipt,Commodity Receipt,3,20,0,10,,,,,,,,,,,{},{}
-7182,Cacao,Cacao,3,200,0,20,,,,,,,,,,,{},{}
-7183,Letter_of_Younger_Sister,Letter of Younger Sister,3,20,0,10,,,,,,,,,,,{},{}
-7184,Piano_Key,Piano Key,3,20,0,10,,,,,,,,,,,{},{}
-7185,Quiz_Participation_Ticket,Quiz Participation Ticket,3,20,0,10,,,,,,,,,,,{},{}
-7186,Thin_Trunk,Thin Trunk,3,20,0,10,,,,,,,,,,,{},{}
-7187,Festival_Mask,Festival Mask,3,20,0,10,,,,,,,,,,,{},{}
-7188,Brown_Root,Brown_Root,3,20,0,10,,,,,,,,,,,{},{}
-7189,Wooden_Heart,Wooden Heart,3,20,0,10,,,,,,,,,,,{},{}
-7190,Hard_Back_Shell,Hard Back Shell,3,20,0,10,,,,,,,,,,,{},{}
-7191,Paper_Lantern,Paper Lantern,3,20,0,10,,,,,,,,,,,{},{}
-7192,Pin_Wheel,Pin Wheel,3,20,0,10,,,,,,,,,,,{},{}
-7193,Sprout,Sprout,3,20,0,10,,,,,,,,,,,{},{}
-7194,Soft_Grass_Leaf,Soft Grass Leaf,3,20,0,10,,,,,,,,,,,{},{}
-7195,Slingshot,Slingshot,3,20,0,10,,,,,,,,,,,{},{}
-7196,Shoulder_Guard,Shoulder Guard,3,20,0,10,,,,,,,,,,,{},{}
-7197,Durable_Vine,Durable Vine,3,20,0,10,,,,,,,,,,,{},{}
-7198,Huge_Leaf,Huge Leaf,3,20,0,10,,,,,,,,,,,{},{}
-7199,Hieroglyphic,Hieroglyphic,3,20,0,10,,,,,,,,,,,{},{}
-7200,Elastic_Band,Elastic Band,3,20,0,10,,,,,,,,,,,{},{}
-7201,Log,Log,3,20,0,10,,,,,,,,,,,{},{}
-7202,Insect_Pinchers,Insect Pinchers,3,20,0,10,,,,,,,,,,,{},{}
-7203,Healthy_Branch,Healthy Branch,3,20,0,10,,,,,,,,,,,{},{}
-7204,Gun_Powder,Gun Powder,3,20,0,10,,,,,,,,,,,{},{}
-7205,Black_Piece_of_Cloth,Black Piece of Cloth,3,20,0,10,,,,,,,,,,,{},{}
-7206,Cat_Doll,Black Cat Doll,3,20,0,10,,,,,,,,,,,{},{}
-7207,Old_Mantle,Old Mantle,3,20,0,10,,,,,,,,,,,{},{}
-7208,Rusted_Knife,Rusted Knife,3,20,0,10,,,,,,,,,,,{},{}
-7209,Dullahan's_Helm,Dullahan's Helm,3,20,0,10,,,,,,,,,,,{},{}
-7210,Piece_of_Dullahan's_Armor,Dullahan's Armor Piece,3,20,0,10,,,,,,,,,,,{},{}
-7211,Rosetta_Stone_Fragment,Rosetta Stone Fragment,3,20,0,10,,,,,,,,,,,{},{}
-7212,Hanging_Doll,Hanging Doll,3,20,0,10,,,,,,,,,,,{},{}
-7213,Pin_Cusion,Pin Cusion,3,20,0,10,,,,,,,,,,,{},{}
-7214,Bat_Cage,Bat Cage,3,20,0,10,,,,,,,,,,,{},{}
-7215,Broken_Needle,Broken Needle,3,20,0,10,,,,,,,,,,,{},{}
-7216,Red_Scarf,Red Scarf,3,20,0,10,,,,,,,,,,,{},{}
-7217,Spool_of_Thread,Spool of Thread,3,20,0,10,,,,,,,,,,,{},{}
-7218,Rotted_Rope,Rotted Rope,3,20,0,10,,,,,,,,,,,{},{}
-7219,Striped_Socks,Striped Socks,3,20,0,10,,,,,,,,,,,{},{}
-7220,Ectoplasm,Ectoplasm,3,20,0,10,,,,,,,,,,,{},{}
-7221,Chains,Chains,3,20,0,10,,,,,,,,,,,{},{}
-7222,Old_Tree_Branch,Old Tree Branch,3,20,0,10,,,,,,,,,,,{},{}
-7223,Ruined_Self_Portrait,Ruined Self Portrait,3,20,0,10,,,,,,,,,,,{},{}
-7224,Philosophers_Stone,Philosopher's Stone,3,20,0,10,,,,,,,,,,,{},{}
-7225,Silk_Lantern,Silk Lantern,3,20,0,10,,,,,,,,,,,{},{}
-7226,Hallucination_Pill,Hallucination Pill,3,20,0,10,,,,,,,,,,,{},{}
-7227,TCG_Card,TCG Card,3,20,0,10,,,,,,,,,,,{},{}
-7228,Gold_Nugget,Gold Nugget,3,20,0,300,,,,,,,,,,,{},{}
-7229,Iron_Nugget,Iron Nugget,3,20,0,300,,,,,,,,,,,{},{}
-7230,Silver_Nugget,Silver Nugget,3,20,0,30,,,,,,,,,,,{},{}
-7231,Gold_Ore,Gold Ore,3,20,0,150,,,,,,,,,,,{},{}
-7232,Silver_Ore,Silver Ore,3,20,0,150,,,,,,,,,,,{},{}
-7233,Mysterious_Ore,Mysterious Ore,3,20,0,150,,,,,,,,,,,{},{}
-
-// RWC Reward items
-7234,Spirit_of_Guild,Spirit of Guild,3,20,0,10,,,,,,,,,,,{},{}
-7235,Spirit_of_Assault,Spirit of Assault,3,20,0,10,,,,,,,,,,,{},{}
-7236,Spirit_of_Defense,Spirit of Defense,3,20,0,10,,,,,,,,,,,{},{}
-7237,Spirit_of_Cooperation,Spirit of Cooperation,3,20,0,10,,,,,,,,,,,{},{}
-7238,Spirit_of_Harmony,Spirit of Harmony,3,20,0,10,,,,,,,,,,,{},{}
-7239,Spirit_of_Advancement,Spirit of Advancement,3,20,0,10,,,,,,,,,,,{},{}
-7240,Spirit_of_Trust,Spirit of Trust,3,20,0,10,,,,,,,,,,,{},{}
-7241,Spirit_of_Concentration,Spirit of Concentration,3,20,0,10,,,,,,,,,,,{},{}
-7242,Spirit_of_Unity,Spirit of Unity,3,20,0,10,,,,,,,,,,,{},{}
-7243,Spirit_of_Integrity,Spirit of Integrity,3,20,0,10,,,,,,,,,,,{},{}
-7244,Spirit_of_Communion,Spirit of Communion,3,20,0,10,,,,,,,,,,,{},{}
-7245,Spirit_of_Friendship,Spirit of Friendship,3,20,0,10,,,,,,,,,,,{},{}
-7246,Spirit_of_Peace,Spirit of Peace,3,20,0,10,,,,,,,,,,,{},{}
-7247,Spirit_of_Nature,Spirit of Nature,3,20,0,10,,,,,,,,,,,{},{}
-7248,Spirit_of_Fame,Spirit of Fame,3,20,0,10,,,,,,,,,,,{},{}
-7249,Spirit_of_Contribution,Spirit of Contribution,3,20,0,10,,,,,,,,,,,{},{}
-7250,Spirit_of_Glory,Spirit of Glory,3,20,0,10,,,,,,,,,,,{},{}
-7251,Spirit_of_Victory,Spirit of Victory,3,20,0,10,,,,,,,,,,,{},{}
-
-//Gonryun Items
-7252,Chinese_Medicine,Chinese Medicine,3,20,0,10,,,,,,,,,,,{},{}
-7253,Golden_Flag,Golden Flag,3,20,0,10,,,,,,,,,,,{},{}
-7254,Digitally_Printed_Ticket,Digitally Printed Ticket,3,20,0,10,,,,,,,,,,,{},{}
-7262,Paper_Fan,Paper Fan,3,233,0,,,,,,,,,,,,{},{}
-7263,Cat's_Eye,Cat's-Eye,3,20,477,10,,,,,,,,,,,{},{}
-7264,Dried_Sand,Dried Sand,3,20,161,10,,,,,,,,,,,{},{}
-7265,Dragon_Horn,Dragon Horn,3,20,0,10,,,,,,,,,,,{},{}
-7266,Dragon_Teeth,Dragon Teeth,3,218,0,,,,,,,,,,,,{},{}
-7267,Tigerskin_Underwear,Tigerskin Underwear,3,20,107,10,,,,,,,,,,,{},{}
-7268,Ghost_Doll,Ghost Doll,3,20,605,10,,,,,,,,,,,{},{}
-7269,Baby_Bib,Baby Bib,3,20,0,10,,,,,,,,,,,{},{}
-7270,Baby_Bottle,Baby Bottle,3,20,0,,,,,,,,,,,,{},{}
-7271,Novice_Statue,Novice Statue,3,20,0,10,,,,,,,,,,,{},{}
-7272,Dumpling_Doll,Dumpling Doll,3,20,0,10,,,,,,,,,,,{},{}
-7273,RWC_Necklace,RWC_Necklace,3,20,0,10,,,,,,,,,,,{},{}
-7274,Ancient_Language_Book,Ancient_Language_Book,3,20,0,10,,,,,,,,,,,{},{}
-7275,Ancient_Language_Document,Ancient_Language_Document,3,20,0,10,,,,,,,,,,,{},{}
-7276,Picture_Letter,Picture Letter,3,20,0,10,,,,,,,,,,,{},{}
-7277,Munak_Doll,Munak Doll,3,20,0,10,,,,,,,,,,,{},{}
-7278,Welfare_Letter,Welfare Letter,3,20,0,10,,,,,,,,,,,{},{}
-7279,Vita_500_Bottlecap,Vita 500 Bottlecap,3,20,0,10,,,,,,,,,,,{},{}
-7280,Quiz_Participation_Certificate_1,QP Certificate 1,3,20,0,10,,,,,,,,,,,{},{}
-7281,Quiz_Participation_Certificate_2,QP Certificate 2,3,20,0,10,,,,,,,,,,,{},{}
-7282,Quiz_Participation_Certificate_3,QP Certificate 3,3,20,0,10,,,,,,,,,,,{},{}
-7283,Quiz_Participation_Certificate_4,QP Certificate 4,3,20,0,10,,,,,,,,,,,{},{}
-7284,Quiz_Participation_Certificate_5,QP Certificate 5,3,20,0,10,,,,,,,,,,,{},{}
-
-// 11/09(Ayothana) Items
-7285,Sacred_Wool_Charm,Sacred_Wool_Charm,3,20,10,0,,,,,,,,,,,{},{},,
-7286,Red_Chili,Red_Chili,3,20,10,0,,,,,,,,,,,{},{},,
-7287,Sacred_Wool_Charm_2,Sacred_Wool_Charm_2,3,20,10,0,,,,,,,,,,,{},{},,
-7288,Engagement_Ring,Engagement_Ring,3,20,10,0,,,,,,,,,,,{},{},,
-7289,Olivite,Olivite,3,20,100,0,,,,,,,,,,,{},{},,
-7290,Gold_Mica,Gold_Mica,3,20,100,0,,,,,,,,,,,{},{},,
-7291,Agate,Agate,3,20,100,0,,,,,,,,,,,{},{},,
-7292,White_Mica,White_Mica,3,20,100,0,,,,,,,,,,,{},{},,
-7293,Rose_Quartz,Rose_Quartz,3,20,100,0,,,,,,,,,,,{},{},,
-7294,Turquoise,Turquoise,3,20,100,0,,,,,,,,,,,{},{},,
-7295,Citrine,Citrine,3,20,100,0,,,,,,,,,,,{},{}
-7296,Augite,Augite,3,20,100,0,,,,,,,,,,,{},{},,
-7297,Black_Mica,Black_Mica,3,20,100,0,,,,,,,,,,,{},{},,
-7298,Leaf_Cloth,Leaf_Cloth,3,20,10,0,,,,,,,,,,,{},{},,
-7299,Bamboo_Basket,Bamboo_Basket,3,20,10,0,,,,,,,,,,,{},{},,
-7300,Jeweled_Ore,Jeweled_Ore,3,20,10,0,,,,,,,,,,,{},{}
-7301,Knife_Decoration,Knife_Decoration,3,20,10,0,,,,,,,,,,,{},{},,
-7302,Krathong,Krathong,3,20,10,0,,,,,,,,,,,{},{},,
-
-7500,THG_Membership,THG Membership,3,20,0,10,,,,,,,,,,,{},{}
-7501,Token_Bag,Token Bag,3,20,0,10,,,,,,,,,,,{},{}
-
-// Pet Eggs
-//===================================================================
-9001,Poring_Egg,Poring Egg,7,20,0,0,,,,,,,,,,,{},{}
-9002,Drops_Egg,Drops Egg,7,20,0,0,,,,,,,,,,,{},{}
-9003,Poporing_Egg,Poporing Egg,7,20,0,0,,,,,,,,,,,{},{}
-9004,Lunatic_Egg,Lunatic Egg,7,20,0,0,,,,,,,,,,,{},{}
-9005,Picky_Egg,Picky Egg,7,20,0,0,,,,,,,,,,,{},{}
-9006,Chonchon_Egg,Chonchon Egg,7,20,0,0,,,,,,,,,,,{},{}
-9007,Steel_Chonchon_Egg,Steel Chonchon Egg,7,20,0,0,,,,,,,,,,,{},{}
-9008,Hunter_Fly_Egg,Hunter Fly Egg,7,20,0,0,,,,,,,,,,,{},{}
-9009,Savage_Babe_Egg,Savage Babe Egg,7,20,0,0,,,,,,,,,,,{},{}
-9010,Baby_Desert_Wolf_Egg,Baby Desert Wolf Egg,7,20,0,0,,,,,,,,,,,{},{}
-9011,Rocker_Egg,Rocker Egg,7,20,0,0,,,,,,,,,,,{},{}
-9012,Spore_Egg,Spore Egg,7,20,0,0,,,,,,,,,,,{},{}
-9013,Poison_Spore_Egg,Poison Spore Egg,7,20,0,0,,,,,,,,,,,{},{}
-9014,PecoPeco_Egg,PecoPeco Egg,7,20,0,0,,,,,,,,,,,{},{}
-9015,Smokie_Egg,Smokie Egg,7,20,0,0,,,,,,,,,,,{},{}
-9016,Yoyo_Egg,Yoyo Egg,7,20,0,0,,,,,,,,,,,{},{}
-9017,Orc_Warrior_Egg,Orc Warrior Egg,7,20,0,0,,,,,,,,,,,{},{}
-9018,Munak_Egg,Munak Egg,7,20,0,0,,,,,,,,,,,{},{}
-9019,Dokkaebi_Egg,Dokkaebi Egg,7,20,0,0,,,,,,,,,,,{},{}
-9020,Sohee_Egg,Sohee Egg,7,20,0,0,,,,,,,,,,,{},{}
-9021,Isis_Egg,Isis Egg,7,20,0,0,,,,,,,,,,,{},{}
-9022,Green_Petite_Egg,Green Petite Egg,7,20,0,0,,,,,,,,,,,{},{}
-9023,Deviruchi_Egg,Deviruchi Egg,7,20,0,0,,,,,,,,,,,{},{}
-9024,Bapho_Jr._Egg,Bapho Jr. Egg,7,20,0,0,,,,,,,,,,,{},{}
-9025,Bongun_Egg,Bongun Egg,7,20,0,0,,,,,,,,,,,{},{}
-9026,Alice_Egg,Alice Egg,7,20,0,0,,,,,,,,,,,{},{}
-9027,Zherlthsh_Egg,Zherlthsh Egg,7,20,0,0,,,,,,,,,,,{},{}
-9028,test_Egg,Test Egg,7,20,0,0,,,,,,,,,,,{},{}
-9029,test_Egg_,Test Egg,7,20,0,0,,,,,,,,,,,{},{}
-
-// Pet Accessories
-//===================================================================
-10001,Skull_Helm,Skull Helm,8,20,0,0,,,,,,,,,,,{},{}
-10002,Monster_Oxygen_Mask,Monster Oxygen Mask,8,20,0,0,,,,,,,,,,,{},{}
-10003,Transparent_Head_Protector,Transparent Headgear,8,20,0,0,,,,,,,,,,,{},{}
-10004,Pacifier,Pacifier,8,20,0,0,,,,,,,,,,,{},{}
-10005,Wig,Wig,8,20,0,0,,,,,,,,,,,{},{}
-10006,Queen's_Hair_Ornament,Queen's Hair Ornament,8,20,0,0,,,,,,,,,,,{},{}
-10007,Silk_Ribbon,Silk Ribbon,8,20,0,0,,,,,,,,,,,{},{}
-10008,Punisher,Punisher,8,20,0,0,,,,,,,,,,,{},{}
-10009,Wild_Flower,Wild Flower,8,20,0,0,,,,,,,,,,,{},{}
-10010,Battered_Pot,Battered Pot,8,20,0,0,,,,,,,,,,,{},{}
-10011,Stellar_Hairpin,Stellar Hairpin,8,20,0,0,,,,,,,,,,,{},{}
-10012,Tiny_Egg_Shell,Tiny Egg Shell,8,20,0,0,,,,,,,,,,,{},{}
-10013,Backpack,Backpack,8,1500,0,0,,,,,,,,,,,{},{}
-10014,Rocker_Glasses,Rocker Glasses,8,2000,0,0,,,,,,,,,,,{},{}
-10015,Green_Lace,Green Lace,8,20,0,0,,,,,,,,,,,{},{}
-10016,Golden_Bell,Golden Bell,8,20,0,0,,,,,,,,,,,{},{}
-10017,Bark_Shorts,Bark Shorts,8,20,0,0,,,,,,,,,,,{},{}
-10018,Monkey_Circlet,Monkey Circlet,8,20,0,0,,,,,,,,,,,{},{}
-10019,Red_Muffler,Red Muffler,8,20,0,0,,,,,,,,,,,{},{}
-10020,Sword_of_Chinese_Exorcist,Sword of Chinese Exorcist,8,20,0,0,,,,,,,,,,,{},{}
-
-// History books
-//===================================================================
-11000,Prontera_History_Book,Prontera History Book,3,20,0,0,,,,,,,,,,,{},{}
-11001,Izlude_History_Book,Izlude History Book,3,20,0,0,,,,,,,,,,,{},{}
-11002,Yuno_History_Book,Yuno History Book,3,20,0,0,,,,,,,,,,,{},{}
-11003,Geffen_History_Book,Geffen History Book,3,20,0,0,,,,,,,,,,,{},{}
-11004,Aldebaran_History_Book,Aldebaran History Book,3,20,0,0,,,,,,,,,,,{},{}
-11005,Alberta_History_Book,Alberta History Book,3,20,0,0,,,,,,,,,,,{},{}
-11006,Payon_History_Book,Payon History Book,3,20,0,0,,,,,,,,,,,{},{}
-11007,History_Book,Unknown Item,3,20,0,0,,,,,,,,,,,{},{}
-11009,History_Book,Unknown Item,3,20,0,0,,,,,,,,,,,{},{}
-11010,Archer_Village_History_Book,Unknown Item,3,20,0,0,,,,,,,,,,,{},{}
-11011,Lutie_History_Book,Luite History Book,3,20,0,0,,,,,,,,,,,{},{}
-11012,Jawaii_History_Book,Jawaii History Book,3,20,0,0,,,,,,,,,,,{},{}
-11013,Gonryun_History_Book,Gonryun History Book,3,20,0,0,,,,,,,,,,,{},{}
-11014,Mjolnir_History_Book,Mjolnir History Book,3,20,0,0,,,,,,,,,,,{},{}
-11015,Amatsu_History_Book,Amatsu History Book,3,20,0,0,,,,,,,,,,,{},{}
-11016,Umbala_History_Book,Umbala History Book,3,20,0,0,,,,,,,,,,,{},{}
-11017,Nifleheim_History_Book,Nifflheim History Book,3,20,0,0,,,,,,,,,,,{},{}
-11018,Morroc_History_Book,Morroc History Book,3,20,0,0,,,,,,,,,,,{},{}
-11019,Comodo_History_Book,Comodo History Book,3,20,0,0,,,,,,,,,,,{},{}
-11020,Louyang_History_Book,Louyang History Book,3,20,0,0,,,,,,,,,,,{},{}
+//ID,Name,Name,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Gender,Loc,wLV,eLV,View,{UseScript},{EquipScript}
+
+// Healing Items
+//=============================================================
+0,DEFAULT,Default,0,20,,10,,,,,0,2,0,0,,,{},{},,
+501,Red_Potion,Red Potion,0,50,0,70,,,,,10477567,2,,,,,{ itemheal rand(45,64),0; },{}
+502,Orange_Potion,Orange Potion,0,200,0,100,,,,,10477567,2,,,,,{ itemheal rand(105,144),0; },{}
+503,Yellow_Potion,Yellow Potion,0,550,0,130,,,,,10477567,2,,,,,{ itemheal rand(175,234),0; },{}
+504,White_Potion,White Potion,0,1200,0,150,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
+505,Blue_Potion,Blue Potion,0,5000,0,150,,,,,10477567,2,,,,,{ itemheal 0,rand(40,59); },{}
+506,Green_Potion,Green Potion,0,40,0,70,,,,,10477567,2,,,,,{ sc_end SC_Poison; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; },{}
+507,Red_Herb,Red Herb,0,18,0,30,,,,,10477567,2,,,,,{ itemheal rand(18,27),0; },{}
+508,Yellow_Herb,Yellow Herb,0,40,0,50,,,,,10477567,2,,,,,{ itemheal rand(38,57),0; },{}
+509,White_Herb,White Herb,0,120,0,70,,,,,10477567,2,,,,,{ itemheal rand(75,114),0; },{}
+510,Blue_Herb,Blue Herb,0,60,0,70,,,,,10477567,2,,,,,{ itemheal 0,rand(15,29); },{}
+511,Green_Herb,Green Herb,0,10,0,30,,,,,10477567,2,,,,,{ sc_end SC_Poison; },{}
+512,mace,Apple,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(16,21),0; },{}
+513,Banana,Banana,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(17,20),0; },{}
+514,Grape,Grape,0,200,0,20,,,,,10477567,2,,,,,{ itemheal 0,rand(10,14); },{}
+515,Carrot,Carrot,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(18,19),0; },{}
+516,Sweet_Potato,Sweet Potato,0,15,0,20,,,,,10477567,2,,,,,{ itemheal rand(15,22),0; },{}
+517,Meat,Meat,0,50,0,150,,,,,10477567,2,,,,,{ itemheal rand(70,99),0; },{}
+518,Honey,Honey,0,500,0,100,,,,,10477567,2,,,,,{ itemheal rand(70,99),rand(20,39); },{}
+519,Milk,Milk,0,25,0,30,,,,,10477567,2,,,,,{ itemheal rand(27,36),0; },{}
+520,Hinalle_Leaflet,Hinalle Leaflet,0,150,0,10,,,,,10477567,2,,,,,{ itemheal rand(175,234),0; },{}
+521,Aloe_Leaflet,Aloe Leaflet,0,360,0,20,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
+522,Mastela_Fruit,Mastela Fruit,0,840,0,30,,,,,10477567,2,,,,,{ itemheal rand(400,599),0; },{}
+523,Holy_Water,Holy Water,0,20,0,30,,,,,10477567,2,,,,,{ sc_end SC_Curse; },{}
+525,Panacea,Panacea,0,500,0,100,,,,,10477567,2,,,,,{ sc_end SC_Poison; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; sc_end SC_Curse; },{}
+526,Royal_Jelly,Royal Jelly,0,7000,0,150,,,,,10477567,2,,,,,{ itemheal rand(325,404),rand(40,59); sc_end SC_Posion; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; sc_end SC_Curse; },{}
+528,Monster's_Feed,Monster Food,0,60,0,150,,,,,10477567,2,,,,,{ itemheal rand(72,107),0; },{}
+529,Candy,Candy,0,10,0,30,,,,,10477567,2,,,,,{ itemheal rand(45,64),0; },{}
+530,Candy_Cane,Candy Cane,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(105,144),0; },{}
+531,Apple_Juice,Apple Juice,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(25,34),0; },{}
+532,Banana_Juice,Banana Juice,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(26,33),0; },{}
+533,Grape_Juice,Grape Juice,0,250,0,40,,,,,10477567,2,,,,,{ itemheal 0,rand(15,24); },{}
+534,Carrot_Juice,Carrot Juice,0,20,0,40,,,,,10477567,2,,,,,{ itemheal rand(27,32),0; },{}
+535,Pumkin,Pumpkin,0,15,0,20,,,,,10477567,2,,,,,{ itemheal 19,0; },{}
+536,Ice_Cream,Ice Cream,0,150,0,80,,,,,10477567,2,,,,,{ itemheal rand(105,144),0; },{}
+537,Pet_Food,Pet Food,0,1000,0,10,,,,,10477567,2,,,,,{ itemheal rand(50,89),0; },{}
+538,Well-baked_Cookie,Well-baked Cookie,0,1000,0,30,,,,,10477567,2,,,,,{ itemheal rand(160,199),0; },{}
+539,Piece_of_Cake,Piece of Cake,0,3000,0,100,,,,,10477567,2,,,,,{ itemheal rand(270,329),0; },{}
+540,Falcon_food,Falcon food,0,20,0,50,,,,,10477567,2,,,,,{},{}
+541,Pecopeco_food,Pecopeco food,0,20,0,50,,,,,10477567,2,,,,,{},{}
+542,Festive_Cookie,Festive Cookie,0,10,0,10,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
+543,Festive_Rainbow_Cake,Festive Rainbow Cake,0,20,0,10,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
+544,Raw_Fish,Raw Fish,0,20,0,30,,,,,10477567,2,,,,,{ itemheal rand(25,59),0; },{}
+545,Condensed_Red_Potion,Condensed Red Potion,0,20,0,20,,,,,10477567,2,,,,,{ itemheal rand(45,64),0; },{}
+546,Condensed_Yellow_Potion,Condensed Yellow Potion,0,20,0,30,,,,,10477567,2,,,,,{ itemheal rand(175,234),0; },{}
+547,Condensed_White_Potion,Condensed White Potion,0,20,0,50,,,,,10477567,2,,,,,{ itemheal rand(325,404),0; },{}
+548,Cheese,Cheese,0,2800,0,50,,,,,10477567,2,,,,,{ itemheal 0,rand(10,14); },{}
+549,Yam,Hot Potato,0,180,0,80,,,,,10477567,2,,,,,{ itemheal rand(50,99),0; },{}
+550,Rice_Cake,Rice Popper,0,20,5,10,,,,,10477567,2,,,,,{ itemheal rand(10,14),0; },{}
+551,Sushi,Sushi,0,20,0,50,,,,,10477567,2,,,,,{ itemheal rand(50,60),0; },{}
+552,Ketupat,Ketupat,0,20,0,10,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
+553,Dumpling,Dumpling,0,20,0,50,,,,,10477567,2,,,,,{ itemheal rand(39,68),0; },{}
+554,Mochi,Mochi,0,100,0,80,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
+556,Rolled_Rice,Rolled Rice,0,20,0,10,,,,,10477567,3,,,,,{ itemheal rand(10,50),0; },{}
+557,Cut_Rice_Rolls,Cut Rice Rolls,0,20,0,10,,,,,0,3,,,,,{ itemheal rand(10,200),0; },{}
+558,Chocolate,Chocolate,0,500,0,20,,,,,10477567,2,,,,,{ itemheal 1,1; },{}
+559,Hand-made_Chocolate,Hand-made Chocolate,0,5000,0,80,,,,,10477567,2,,,,,{ itemheal 50,50; },{}
+560,White_Chocolate,White Chocolate,0,0,0,80,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
+561,Milk_Chocolate_Bar,Milk Chocolate,0,0,0,80,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
+562,Pizza,Pizza,0,20,0,150,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
+563,Double_Growing_Swiss_Pong_Tyu_,Unknown Item,0,20,0,150,,,,,10477567,3,,,,,{ itemheal rand(100,200),0; },{}
+564,Meat_Dumpling,Meat Dumpling,0,20,0,30,,,,,0,2,,,,,{ itemheal rand(175,234),0; },{}
+565,Vita_500_Bottle,Vita 500,0,2000,0,30,,,,,10477567,2,,,,,{ itemheal 500,0; },{}
+566,Tom_Yum_Goong,Tom_Yum_Goong,0,20,150,0,,,,,10477567,2,,,,,{ itemheal rand(100,200),0; },{}
+567,Prawn,Prawn,0,20,40,0,,,,,10477567,3,,,,,{ itemheal rand(50,100),0; },{}
+568,Lemon,Lemon,0,20,40,0,,,,,0,3,,,,,{},{}
+
+// Usable Items
+//===================================================================
+601,Fly_Wing,Fly Wing,2,60,0,50,,,,,10477567,2,,,,,{ warp "Random",0,0; },{}
+602,Butterfly_Wing,Butterfly Wing,2,300,0,50,,,,,10477567,2,,,,,{ warp "SavePoint",0,0; },{}
+603,Old_Blue_Box,Old Blue Box,2,10000,0,200,,,,,10477567,2,,,,,{ getitem -1,1; },{}
+604,Dead_Branch,Dead Branch,2,50,0,50,,,,,10477567,2,,,,,{ monster "this",0,0,"--ja--",-1,1,; },{}
+605,Anodyne,Anodyne,2,2000,0,100,,,,,10477567,2,,,,,{ itemskill 8,1,"??????????"; },{}
+606,Aloevera,Aloevera,2,1500,0,100,,,,,10477567,2,,,,,{ itemskill 6,1,"?????"; },{}
+607,Yggdrasilberry,Yggdrasilberry,0,2,0,300,,,,,10477567,2,,,,,{ percentheal 100,100; },{}
+608,Yggdrasil_Seed,Yggdrasil Seed,0,5000,0,300,,,,,10477567,2,,,,,{ percentheal 50,50; },{}
+609,Amulet,Amulet,2,100,0,100,,,,,10477567,2,,,,,{},{}
+610,Yggdrasil_Leaf,Yggdrasil Leaf,2,4000,0,100,,,,,10477567,2,,,,,{ itemskill 54,1,"????????"; },{}
+611,Magnifier,Magnifier,2,40,0,50,,,,,10477567,2,,,,,{ itemskill 40,1,"???"; },{}
+// Smithing Items
+612,Mini_Furnace,Mini Furnace,2,150,0,200,,,,,10477567,2,,,,,{ produce 16; },{}
+613,Iron_Hammer,Iron Hammer,2,1000,0,200,,,,,10477567,2,,,,,{ produce 1; },{}
+614,Golden_Hammer,Golden Hammer,2,3000,0,300,,,,,10477567,2,,,,,{ produce 2; },{}
+615,Oridecon_Hammer,Oridecon Hammer,2,5000,0,400,,,,,10477567,2,,,,,{ produce 3; },{}
+// Item Givers
+616,Old_Card_Album,Old Card Album,2,10000,0,50,,,,,10477567,2,,,,,{ getitem -3,1; },{}
+617,Old_Violet_Box,Old Violet Box,2,10000,0,200,,,,,10477567,2,,,,,{ getitem -2,1; },{}
+618,Worn_Out_Scroll,Worn Out Scroll,2,50,0,20,,,,,10477567,2,,,,,{ getitem -5,1; },{}
+
+// Pet Tames
+//===================================================================
+619,Unripe_Apple,Unripe Apple,2,1000,0,50,,,,,10477567,2,,,,,{ pet 1002; },{}
+620,Orange_Juice,Orange Juice,2,1500,0,50,,,,,10477567,2,,,,,{ pet 1113; },{}
+621,Bitter_Herb,Bitter Herb,2,20,0,50,,,,,10477567,2,,,,,{ pet 1031; },{},
+622,Rainbow_Carrot,Rainbow Carrot,2,2500,0,50,,,,,10477567,2,,,,,{ pet 1063; },{},
+623,Earthworm_the_Dude,Earthworm the Dude,2,4000,0,50,,,,,10477567,2,,,,,{ pet 1049; },{},
+624,Rotten_Fish,Rotten Fish,2,2500,0,50,,,,,10477567,2,,,,,{ pet 1011; },{},
+625,Rusty_Iron,Rusty Iron,2,100,0,50,,,,,10477567,2,,,,,{ pet 1042; },{},
+626,Monster_Juice,Monster Juice,2,1500,0,50,,,,,10477567,2,,,,,{ pet 1035; },{}
+627,Sweet_Milk,Sweet Milk,2,7000,0,50,,,,,10477567,2,,,,,{ pet 1167; },{}
+628,Well_Dried_Bone,Well Dried Bone,2,10000,0,50,,,,,10477567,2,,,,,{ pet 1107; },{}
+629,Singing_Flower,Singing Flower,2,300,0,50,,,,,10477567,2,,,,,{ pet 1052; },{}
+630,Dew_Laden_Moss,Dew Laden Moss,2,10,0,50,,,,,10477567,2,,,,,{ pet 1014; },{},
+631,Deadly_Noxious_Herb,Deadly Noxious Herb,2,20,0,50,,,,,10477567,2,,,,,{ pet 1077; },{},
+632,Fatty_Chubby_Earthworm,Fatty Chubby Earthworm,2,5000,0,50,,,,,10477567,2,,,,,{ pet 1019; },{},
+633,Baked_Yam,Baked Yam,2,20,0,50,,,,,10477567,2,,,,,{ pet 1056; },{},,
+634,Tropical_Banana,Tropical Banana,2,20,0,50,,,,,10477567,2,,,,,{ pet 1057; },{},,
+635,Horror_of_Tribe,Horror of Tribe,2,300,0,50,,,,,10477567,2,,,,,{ pet 1023; },{},,
+636,No_Recipient,No Recipient,2,100,0,50,,,,,10477567,2,,,,,{ pet 1026; },{},,
+637,Old_Broom,Old Broom,2,350,0,50,,,,,10477567,2,,,,,{ pet 1110; },{},,
+638,Silver_Knife_of_Chastity,Silver Knife of Chastity,2,12000,0,50,,,,,10477567,2,,,,,{ pet 1170; },{},,
+639,Armlet_of_Obedience,Armlet of Obedience,2,18000,0,50,,,,,10477567,2,,,,,{ pet 1029; },{},,
+640,Shining_Stone,Shining Stone,2,3000,0,50,,,,,10477567,2,,,,,{ pet 1155; },{},,
+641,Contract_in_Shadow,Contracts in Shadow,2,100,0,50,,,,,10477567,2,,,,,{ pet 1109; },{},,
+642,Book_of_Devil,Book of Devil,2,1800,0,50,,,,,10477567,2,,,,,{ pet 1101; },{},,
+643,Pet_Incubator,Pet Incubator,2,3000,,30,,,,,10477567,2,,,,,{ if((countitem(9030)<1)&&(countitem(9031)<1)&&(countitem(9032)<1)&&(countitem(9033)<1)&&(countitem(9034)<1)&&(countitem(9035)<1)&&(countitem(9036)<1)&&(countitem(9037)<1)&&(countitem(9038)<1)&&(countitem(9039)<1)) bpet; },{},,
+
+// Misc Items
+//===================================================================
+644,Gift_Box,Gift Box,2,2,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
+645,Concentration_Potion,Concentration Potion,2,800,0,100,,,,,10477567,2,,,,,{ sc_start SC_SpeedPot0,1800,0; },{}
+656,Awakening_Potion,Awakening Potion,2,1500,0,150,,,,,8904431,2,,,40,,{ sc_start SC_SpeedPot1,1800,0; },{}
+657,Berserk_Potion,Berserk Potion,2,3000,0,200,,,,,410786,2,,,85,,{ sc_start SC_SpeedPot2,1800,0; },{}
+658,Tribal_Solidarity,Tribal Solidarity,3,1000,0,500,,,,,,,,,,,{},{}
+659,Her_Heart,Her Heart,2,500,0,50,,,,,10477567,2,,,,,{ pet 1188; },{},,
+660,Forbidden_Red_Candle,Red Candle,2,20,0,50,,,,,10477567,2,,,,,{ pet 1200; },{},,
+661,Sky_Apron,Soft Apron,2,20,0,50,,,,,10477567,2,,,,,{ pet 1275; },{}
+
+// Newer Items 
+664,Gift_Box_,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
+665,Gift_Box__,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
+666,Gift_Box___,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
+667,Gift_Box____,Gift Box,2,20,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
+668,Angpow,Angpow,0,1,0,2,,,,,10477567,2,,,,,{ set Zeny,Zeny+rand(100,10000); },{}
+669,Rice_Cake_Soup,Rice Cake Soup,2,20,0,100,,,,,,,,,,,{},{},,
+670,Gold_Coin_Pouch,Gold Coin Pouch,2,20,0,400,,,,,,,,,,,{},{},,
+671,Gold_Coin,Gold Coin,2,20,0,40,,,,,,,,,,,{},{},,
+672,Copper_Coin_Pouch,Copper Coin Pouch,2,20,0,400,,,,,,,,,,,{},{},,
+673,Copper_Coin,Copper Coin,2,20,0,40,,,,,,,,,,,{},{},,
+674,Mysterious_Ore_Coin,Mysterious Ore Coin,2,20,0,40,,,,,0,3,,,,,{},{}
+675,Silver_Coin,Silver Coin,2,20,0,40,,,,,0,3,,,,,{},{}
+676,Silver_Coin_Pouch,Silver Coin Pouch,2,20,0,400,,,,,0,3,,,,,{},{}
+677,Platinum_Coin,Platinum Coin,2,20,0,40,,,,,0,3,,,,,{},{}
+678,Deadly_Poison_Bottle,Deadly Poison Bottle,2,20,0,100,,,,,0,3,,,,,{},{}
+679,Recall_Pills,Recall Pills,2,20,0,300,,,,,0,3,,,,,{},{}
+680,Carnation,Carnation,2,20,0,1000,,,,,0,3,,,,,{},{}
+681,Wedding_Photo_Album,Wedding_Photo_Album,2,20,0,10,,,,,0,3,,,,,{},{}
+682,Realgar_Wine,Realgar Wine,2,20,0,50,,,,,10477567,2,,,,,{ sc_start SC_ATKPOT,30,30; },{}
+683,Exorcize_Herb,Exorcize Herb,2,20,0,50,,,,,10477567,2,,,,,{ sc_start SC_MATKPOT,30,30; },{}
+684,Durian,Durian,2,20,0,10,,,,,0,3,,,,,{},{}
+685,Ramadan,Ramadan,2,20,10,10,,,,,0,3,,,,,{},{}
+
+701,Ora_Ora,Ora Ora,3,55000,0,200,,,,,,,,,,,{},{}
+702,Animal_Gore,Animal Gore,3,2,0,100,,,,,,,,,,,{},{}
+703,Hinalle,Hinalle,3,2,0,10,,,,,,,,,,,{},{}
+704,Aloe,Aloe,3,2,0,10,,,,,,,,,,,{},{}
+705,Clover,Clover,3,10,0,10,,,,,,,,,,,{},{}
+706,Four_Leaf_Clover,Four-Leaf Clover,3,80000,0,10,,,,,,,,,,,{},{}
+707,Singing_Plant,Singing Plant,3,2,0,10,,,,,,,,,,,{},{}
+708,Ment,Ment,3,2,0,10,,,,,,,,,,,{},{}
+709,Izidor,Izidor,3,2,0,10,,,,,,,,,,,{},{}
+710,Illusion_Flower,Illusion Flower,3,2,0,10,,,,,,,,,,,{},{}
+711,Shoot,Shoot,3,16,0,10,,,,,,,,,,,{},{}
+712,Flower,Flower,3,2,0,10,,,,,,,,,,,{},{}
+713,Empty_Bottle,Empty Bottle,3,6,0,20,,,,,,,,,,,{},{}
+714,Emperium,Emperium,3,2,0,1000,,,,,,,,,,,{},{}
+715,Yellow_Gemstone,Yellow Gemstone,3,600,0,30,,,,,,,,,,,{},{}
+716,Red_Gemstone,Red Gemstone,3,600,0,30,,,,,,,,,,,{},{}
+717,Blue_Gemstone,Blue Gemstone,3,600,0,30,,,,,,,,,,,{},{}
+718,Garnet,Garnet,3,6000,0,100,,,,,,,,,,,{},{}
+719,Amethyst,Amethyst,3,6000,0,100,,,,,,,,,,,{},{}
+720,Aquamarine,Aquamarine,3,6000,0,100,,,,,,,,,,,{},{}
+721,Emerald,Emerald,3,6000,0,100,,,,,,,,,,,{},{}
+722,Pearl,Pearl,3,6000,0,100,,,,,,,,,,,{},{}
+723,Ruby,Ruby,3,6000,0,100,,,,,,,,,,,{},{}
+724,Cursed_Ruby,Cursed Ruby,3,1000,0,100,,,,,,,,,,,{},{}
+725,Sardonyx,Sardonyx,3,6000,0,100,,,,,,,,,,,{},{}
+726,Sapphire,Sapphire,3,6000,0,100,,,,,,,,,,,{},{}
+727,Opal,Opal,3,6000,0,100,,,,,,,,,,,{},{}
+728,Topaz,Topaz,3,6000,0,100,,,,,,,,,,,{},{}
+729,Zircon,Zircon,3,6000,0,100,,,,,,,,,,,{},{}
+730,1_Carat_Diamond,1 Carat Diamond,3,10000,0,100,,,,,,,,,,,{},{}
+731,2_Carat_Diamond,2 Carat Diamond,3,25000,0,100,,,,,,,,,,,{},{}
+732,3_Carat_Diamond,3 Carat Diamond,3,55000,0,100,,,,,,,,,,,{},{}
+733,Cracked_Diamond,Cracked Diamond,3,2,0,100,,,,,,,,,,,{},{}
+734,Red_Frame,Red Frame,3,3000,0,200,,,,,,,,,,,{},{}
+735,Chung_Jah,Chung Jah,3,5000,0,500,,,,,,,,,,,{},{}
+736,China,China,3,1000,0,300,,,,,,,,,,,{},{}
+737,Black_Ladle,Black Ladle,3,400,0,50,,,,,,,,,,,{},{}
+738,Pencil_Case,Pencil Case,3,300,0,100,,,,,,,,,,,{},{}
+739,Rouge,Rouge,3,10000,0,10,,,,,,,,,,,{},{}
+740,Puppet,Puppet,3,1000,0,100,,,,,,,,,,,{},{}
+741,Poring_Doll,Poring Doll,3,1800,0,100,,,,,,,,,,,{},{}
+742,Chonchon_Doll,Chonchon Doll,3,3000,1000,100,,,,,,,,,,,{},{}
+743,Spore_Doll,Spore Doll,3,5500,0,100,,,,,,,,,,,{},{}
+744,Bouquet,Bouquet,3,2000,0,50,,,,,,,,,,,{},{}
+745,Wedding_Bouquet,Wedding Bouquet,3,10000,0,50,,,,,,,,,,,{},{}
+746,Glass_Bead,Glass Bead,3,1400,0,50,,,,,,,,,,,{},{}
+747,Crystal_Mirror,Crystal Mirror,3,15000,0,50,,,,,,,,,,,{},{}
+748,Witherless_Rose,Witherless Rose,3,55000,0,10,,,,,,,,,,,{},{}
+749,Frozen_Rose,Frozen Rose,3,35000,0,10,,,,,,,,,,,{},{}
+750,Baphomet_Doll,Baphomet Doll,3,18000,0,100,,,,,,,,,,,{},{}
+751,Osiris_Doll,Osiris Doll,3,14000,0,100,,,,,,,,,,,{},{}
+752,Rocker_Doll,Grasshopper Doll,3,4000,0,100,,,,,,,,,,,{},{}
+753,Yoyo_Doll,Yoyo Doll,3,6000,0,100,,,,,,,,,,,{},{}
+754,Raccoon_Doll,Raccoon Doll,3,5000,0,100,,,,,,,,,,,{},{}
+756,Rough_Oridecon,Rough Oridecon,3,548,0,200,,,,,,,,,,,{},{}
+757,Rough_Elunium,Rough Elunium,3,648,0,200,,,,,,,,,,,{},{}
+901,Danggie,Danggie,3,250,0,10,,,,,,,,,,,{},{}
+902,Tree_Root,Tree Root,3,12,0,10,,,,,,,,,,,{},{}
+903,Reptile_Tongue,Reptile Tongue,3,50,0,10,,,,,,,,,,,{},{}
+904,Scorpion_Tail,Scorpion Tail,3,124,0,10,,,,,,,,,,,{},{}
+905,Stem,Stem,3,58,0,10,,,,,,,,,,,{},{}
+906,Pointed_Scale,Pointed Scale,3,70,0,10,,,,,,,,,,,{},{}
+907,Resin,Resin,3,120,0,10,,,,,,,,,,,{},{}
+908,Spawn,Spawn,3,148,0,10,,,,,,,,,,,{},{}
+909,Jellopy,Jellopy,3,6,0,10,,,,,,,,,,,{},{}
+910,Garlet,Garlet,3,40,0,10,,,,,,,,,,,{},{}
+911,Scell,Scell,3,160,0,10,,,,,,,,,,,{},{}
+912,Zargon,Zargon,3,480,0,10,,,,,,,,,,,{},{}
+913,Tooth_of_Bat,Tooth of Bat,3,34,0,10,,,,,,,,,,,{},{}
+914,Fluff,Fluff,3,8,0,10,,,,,,,,,,,{},{}
+915,Chrysalis,Chrysalis,3,8,0,10,,,,,,,,,,,{},{}
+916,Feather_of_Birds,Feather of Birds,3,10,0,10,,,,,,,,,,,{},{}
+917,Talon,Talon,3,20,0,10,,,,,,,,,,,{},{}
+918,Sticky_Webfoot,Sticky Webfoot,3,20,0,10,,,,,,,,,,,{},{}
+919,Animal_Skin,Animal Skin,3,36,0,10,,,,,,,,,,,{},{}
+920,Wolf_Claw,Wolf Claw,3,58,0,10,,,,,,,,,,,{},{}
+921,Mushroom_Spore,Mushroom Spore,3,36,0,10,,,,,,,,,,,{},{}
+922,Orc's_Fang,Orcish Fang,3,220,0,10,,,,,,,,,,,{},{}
+923,Evil_Horn,Evil Horn,3,1020,0,10,,,,,,,,,,,{},{}
+924,Powder_of_Butterfly,Powder of Butterfly,3,90,0,10,,,,,,,,,,,{},{}
+925,Bill_of_Birds,Bill of Birds,3,64,0,10,,,,,,,,,,,{},{}
+926,Snake_Scale,Snake Scale,3,82,0,10,,,,,,,,,,,{},{}
+928,Insect_Feeler,Insect Feeler,3,114,0,10,,,,,,,,,,,{},{}
+929,Immortal_Heart,Immortal Heart,3,374,0,10,,,,,,,,,,,{},{}
+930,Rotten_Bandage,Rotten Bandage,3,358,0,10,,,,,,,,,,,{},{}
+931,Orcish_Voucher,Orcish Voucher,3,168,0,10,,,,,,,,,,,{},{}
+932,Skel-Bone,Skel-Bone,3,232,0,10,,,,,,,,,,,{},{}
+934,Memento,Memento,3,600,0,10,,,,,,,,,,,{},{}
+935,Shell,Shell,3,14,0,10,,,,,,,,,,,{},{}
+936,Scale_Shell,Scale Shell,3,466,0,10,,,,,,,,,,,{},{}
+937,Venom_Canine,Venom Canine,3,148,0,10,,,,,,,,,,,{},{}
+938,Sticky_Mucus,Sticky Mucus,3,70,0,10,,,,,,,,,,,{},{}
+939,Bee_Sting,Bee Sting,3,32,0,10,,,,,,,,,,,{},{}
+940,Grasshopper's_Leg,Grasshoppers Leg,3,36,0,10,,,,,,,,,,,{},{}
+941,Nose_Ring,Nose Ring,3,568,0,10,,,,,,,,,,,{},{}
+942,Yoyo_Tail,Yoyo Tail,3,114,0,10,,,,,,,,,,,{},{}
+943,Solid_Shell,Solid Shell,3,448,0,10,,,,,,,,,,,{},{}
+944,Horseshoe,Horseshoe,3,588,0,10,,,,,,,,,,,{},{}
+945,Raccoon_Leaf,Raccoon Leaf,3,106,0,10,,,,,,,,,,,{},{}
+946,Snail's_Shell,Snails Shell,3,64,0,10,,,,,,,,,,,{},{}
+947,Horn,Horn,3,116,0,10,,,,,,,,,,,{},{}
+948,Bear's_Footskin,Bears Footskin,3,174,0,10,,,,,,,,,,,{},{}
+949,Feather,Feather,3,20,0,10,,,,,,,,,,,{},{}
+950,Heart_of_Mermaid,Heart of Mermaid,3,264,0,10,,,,,,,,,,,{},{}
+951,Fin,Fin,3,412,0,10,,,,,,,,,,,{},{}
+952,Cactus_Needle,Cactus Needle,3,82,0,10,,,,,,,,,,,{},{}
+953,Stone_Heart,Stone Heart,3,184,0,10,,,,,,,,,,,{},{}
+954,Shining_Scale,Shining Scale,3,466,0,10,,,,,,,,,,,{},{}
+955,Worm_Peeling,Worm Peeling,3,52,0,10,,,,,,,,,,,{},{}
+956,Gill,Gill,3,342,0,10,,,,,,,,,,,{},{}
+957,Decayed_Nail,Decayed Nail,3,82,0,10,,,,,,,,,,,{},{}
+958,Horrendous_Mouth,Horrendous Mouth,3,390,0,10,,,,,,,,,,,{},{}
+959,Stinky_Scale,Stinky Scale,3,168,0,10,,,,,,,,,,,{},{}
+960,Nipper,Nipper,3,114,0,10,,,,,,,,,,,{},{}
+961,Conch,Conch,3,158,0,10,,,,,,,,,,,{},{}
+962,Tentacle,Tentacle,3,70,0,10,,,,,,,,,,,{},{}
+963,Sharp_scale,Sharp Scale,3,250,0,10,,,,,,,,,,,{},{}
+964,Crab_Shell,Crab Shell,3,90,5,10,,,,,,,,,,,{},{}
+965,Clam_Shell,Clam Shell,3,56,5,10,,,,,,,,,,,{},{}
+966,Clam_Flesh,Clam Flesh,3,158,0,10,,,,,,,,,,,{},{}
+967,Turtle_Shell,Turtle Shell,3,680,0,10,,,,,,,,,,,{},{}
+968,Heroic_Emblem,Heroic Emblem,3,3000,0,10,,,,,,,,,,,{},{}
+969,Gold,Gold,3,200000,0,200,,,,,,,,,,,{},{}
+970,Alcohol,Alcohol,3,400,0,30,,,,,,,,,,,{},{}
+971,Detrimindexta,Detrimindexta,3,400,0,30,,,,,,,,,,,{},{}
+972,Karvodailnirol,Karvodailnirol,3,400,0,30,,,,,,,,,,,{},{}
+973,Counteragent,Counteragent,3,200,0,70,,,,,,,,,,,{},{}
+974,Mixture,Mixture,3,200,0,70,,,,,,,,,,,{},{}
+975,Scarlet_Dyestuffs,Scarlet Dyestuffs,3,1000,0,150,,,,,,,,,,,{},{}
+976,Lemon_Dyestuffs,Lemon Dyestuffs,3,1000,0,150,,,,,,,,,,,{},{}
+978,Cobaltblue_Dyestuff,Cobaltblue Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
+979,Darkgreen_Dyestuff,Darkgreen Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
+980,Orange_Dyestuff,Orange Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
+981,Violet_Dyestuff,Violet Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
+982,White_Dyestuff,White Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
+983,Black_Dyestuff,Black Dyestuff,3,1000,0,150,,,,,,,,,,,{},{}
+984,Oridecon,Oridecon,3,1100,0,200,,,,,,,,,,,{},{}
+985,Elunium,Elunium,3,1100,0,200,,,,,,,,,,,{},{}
+986,Anvil,Anvil,3,30000,0,500,,,,,,,,,,,{},{}
+987,Oridecon_Anvil,Oridecon Anvil,3,120000,0,700,,,,,,,,,,,{},{}
+988,Golden_Anvil,Golden Anvil,3,300000,0,900,,,,,,,,,,,{},{}
+989,Emperium_Anvil,Emperium Anvil,3,600000,0,1000,,,,,,,,,,,{},{}
+990,Red_Blood,Red Blood,3,1000,0,50,,,,,,,,,,,{},{}
+991,Crystal_Blue,Crystal Blue,3,1000,0,50,,,,,,,,,,,{},{}
+992,Wind_of_Verdure,Wind of Verdure,3,1000,0,50,,,,,,,,,,,{},{}
+993,Green_Live,Green Live,3,1000,0,50,,,,,,,,,,,{},{}
+994,Flame_Heart,Flame Heart,3,3000,0,300,,,,,,,,,,,{},{}
+995,Mystic_Frozen,Mystic Frozen,3,3000,0,300,,,,,,,,,,,{},{}
+996,Rough_Wind,Rough Wind,3,3000,0,300,,,,,,,,,,,{},{}
+997,Great_Nature,Great Nature,3,3000,0,300,,,,,,,,,,,{},{}
+998,Iron,Iron,3,100,0,50,,,,,,,,,,,{},{}
+999,Steel,Steel,3,1000,0,100,,,,,,,,,,,{},{}
+1000,Star_Crumb,Star Crumb,3,4500,0,100,,,,,,,,,,,{},{}
+1001,Star_Dust,Star Dust,3,1500,0,10,,,,,,,,,,,{},{}
+1002,Iron_Ore,Iron Ore,3,50,0,150,,,,,,,,,,,{},{}
+1003,Coal,Coal,3,500,0,50,,,,,,,,,,,{},{}
+1004,Chivalry_Emblem,Chivalry Emblem,3,2,0,100,,,,,,,,,,,{},{}
+1005,Hammer_of_Blacksmith,Hammer of Blacksmith,3,2,0,800,,,,,,,,,,,{},{}
+1006,Old_Magic_Book,Old Magic Book,3,2,0,30,,,,,,,,,,,{},{}
+1007,Necklace_of_Wisdom,Necklace of Wisdom,3,2,0,40,,,,,,,,,,,{},{}
+1008,Necklace_of_Oblivion,Necklace of Oblivion,3,2,0,100,,,,,,,,,,,{},{}
+1009,Hand_of_God,Hand of God,3,2,0,20,,,,,,,,,,,{},{}
+1010,Phracon,Phracon,3,200,0,200,,,,,,,,,,,{},{}
+1011,Emveretarcon,Emveretarcon,3,1000,0,200,,,,,,,,,,,{},{}
+1012,Frill,Frill,3,250,0,10,,,,,,,,,,,{},{}
+1013,Rainbow_Shell,Rainbow Shell,3,90,0,10,,,,,,,,,,,{},{}
+1014,Ant_Jaw,Ant Jaw,3,232,0,10,,,,,,,,,,,{},{}
+1015,Tongue,Tongue,3,528,0,10,,,,,,,,,,,{},{}
+1016,Rat_Tail,Rat Tail,3,52,0,10,,,,,,,,,,,{},{}
+1017,Mole_Whiskers,Mole Whiskers,3,106,0,10,,,,,,,,,,,{},{}
+1018,Mole_Claw,Mole Claw,3,210,0,10,,,,,,,,,,,{},{}
+1019,Trunk,Trunk,3,60,0,10,,,,,,,,,,,{},{}
+1020,Black_Hair,Black Hair,3,292,0,10,,,,,,,,,,,{},{}
+1021,Dokkaebi_Horn,Dokkaebi Horn,3,292,0,10,,,,,,,,,,,{},{}
+1022,Nine_Tails,Nine Tails,3,650,0,10,,,,,,,,,,,{},{}
+1023,Fish_Tail,Fish Tail,3,196,0,10,,,,,,,,,,,{},{}
+1024,Squid_Ink,Squid Ink,3,264,0,10,,,,,,,,,,,{},{}
+1025,Cobweb,Cobweb,3,184,0,10,,,,,,,,,,,{},{}
+1026,Acorn,Acorn,3,98,0,10,,,,,,,,,,,{},{}
+1027,Porcupine_Quill,Porcupine Quill,3,158,0,10,,,,,,,,,,,{},{}
+1028,Mane,Mane,3,196,0,10,,,,,,,,,,,{},{}
+1029,Tiger_Skin,Tiger Skin,3,548,0,10,,,,,,,,,,,{},{}
+1030,Tiger's_Footskin,Tigers Footskin,3,1500,0,10,,,,,,,,,,,{},{}
+1031,Mantis_Scythe,Mantis Scythe,3,196,0,10,,,,,,,,,,,{},{}
+1032,Maneater_Blossom,Maneater Blossom,3,196,0,10,,,,,,,,,,,{},{}
+1033,Maneater_Root,Maneater Root,3,208,0,10,,,,,,,,,,,{},{}
+1034,Blue_Hair,Blue Hair,3,342,0,10,,,,,,,,,,,{},{}
+1035,Dragon_Canine,Dragon Canine,3,484,0,10,,,,,,,,,,,{},{}
+1036,Dragon_Scale,Dragon Scale,3,500,0,10,,,,,,,,,,,{},{}
+1037,Dragon_Tail,Dragon Tail,3,1200,0,10,,,,,,,,,,,{},{}
+1038,Little_Evil_Horn,Little Evil Horn,3,528,0,10,,,,,,,,,,,{},{}
+1039,Little_Evil_Wing,Little Evil Wing,3,2000,0,10,,,,,,,,,,,{},{}
+1040,Elder_Pixie's_Moustache,Elder Pixies Moustache,3,232,0,10,,,,,,,,,,,{},{}
+1041,Lantern,Lantern,3,250,0,10,,,,,,,,,,,{},{}
+1042,Bug_Leg,Bug Leg,3,430,0,10,,,,,,,,,,,{},{}
+1043,Orc_Claw,Orc Claw,3,168,0,10,,,,,,,,,,,{},{}
+1044,Zenorc's_Fang,Zenorcs Fang,3,264,0,10,,,,,,,,,,,{},{}
+1045,Cultish_Masque,Cultish Masque,3,412,0,10,,,,,,,,,,,{},{}
+1046,Scorpion_Nipper,Scorpion Nipper,3,614,0,10,,,,,,,,,,,{},{}
+1047,Dead_Medusa,Dead Medusa,3,548,0,10,,,,,,,,,,,{},{}
+1048,Horrendous_Hair,Horrendous Hair,3,800,0,10,,,,,,,,,,,{},{}
+1049,Skirt_of_Virgin,Skirt of Virgin,3,1700,0,10,,,,,,,,,,,{},{}
+1050,Tendon,Tendon,3,220,0,10,,,,,,,,,,,{},{}
+1051,Detonator,Detonator,3,450,0,10,,,,,,,,,,,{},{}
+1052,Single_Cell,Single Cell,3,46,0,10,,,,,,,,,,,{},{}
+1053,Ancient_Tooth,Ancient Tooth,3,548,0,10,,,,,,,,,,,{},{}
+1054,Ancient_Lips,Ancient Lips,3,1000,0,10,,,,,,,,,,,{},{}
+1055,Earthworm_Peeling,Earthworm Peeling,3,196,0,10,,,,,,,,,,,{},{}
+1056,Grit,Grit,3,306,0,10,,,,,,,,,,,{},{}
+1057,Moth_Dust,Moth Dust,3,138,0,10,,,,,,,,,,,{},{}
+1058,Moth_Wings,Moth Wings,3,200,0,10,,,,,,,,,,,{},{}
+1059,Fabric,Fabric,3,306,0,10,,,,,,,,,,,{},{}
+1060,Golden_Hair,Golden Hair,3,430,0,10,,,,,,,,,,,{},{}
+1061,Witched_Starsand,Witched Starsand,3,484,0,10,,,,,,,,,,,{},{}
+1062,Jack_o'_Pumpkin,Jack o' Pumpkin,3,374,0,10,,,,,,,,,,,{},{}
+1063,Fang,Fang,3,680,0,10,,,,,,,,,,,{},{}
+1064,Reins,Reins,3,802,0,10,,,,,,,,,,,{},{}
+1065,Trap,Trap,3,100,0,10,,,,,,,,,,,{},{}
+1066,Fine-grained_Trunk,Fine-grained Trunk,3,2,0,10,,,,,,,,,,,{},{}
+1067,Solid_Trunk,Solid Trunk,3,2,0,10,,,,,,,,,,,{},{}
+1068,Barren_Trunk,Barren Trunk,3,2,0,10,,,,,,,,,,,{},{}
+1069,Orange_Net_Mushroom,Orange Net Mushroom,3,2,0,10,,,,,,,,,,,{},{}
+1070,Orange_Gooey_Mushroom_,Orange Gooey Mushroom,3,2,0,10,,,,,,,,,,,{},{}
+1071,Unknown_Test_Tube,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
+1072,Delivery_Message,DEL Message,3,2,0,10,,,,,,,,,,,{},{}
+1073,Voucher,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1074,Voucher_,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1075,Voucher__,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1076,Voucher___,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1077,Voucher____,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1078,Voucher_____,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1079,Voucher______,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1080,Voucher_______,Voucher,3,2,0,10,,,,,,,,,,,{},{}
+1081,Delivery_Box,DEL Box,3,2,0,1200,,,,,,,,,,,{},{}
+1082,Delivery_Box_,DEL Box,3,2,0,1200,,,,,,,,,,,{},{}
+1083,Delivery_Box__,DEL Box,3,2,0,1200,,,,,,,,,,,{},{}
+1084,Kafra_Pass,Kafra Pass,3,0,0,10,,,,,,,,,,,{},{}
+1085,Unknown_Test_Tube_,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
+1086,Unknown_Test_Tube__,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
+1087,Unknown_Test_Tube___,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
+1088,Morroc_Solution,Morocc Solution,3,2,0,30,,,,,,,,,,,{},{}
+1089,Payon_Solution,Payon Solution,3,2,0,30,,,,,,,,,,,{},{}
+1090,Unknown_Test_Tube____,Unknown Testtube,3,2,0,30,,,,,,,,,,,{},{}
+1092,Empty_Test_Tube,Empty Testtube,3,3,0,20,,,,,,,,,,,{},{}
+1093,Empty_Potion_Bottle,Empty Potion Bottle,3,10,0,10,,,,,,,,,,,{},{}
+1094,Short_Daenggie,Short Daenggie,3,278,0,10,,,,,,,,,,,{},{}
+1095,Clock_Hand,Needle of Alarm,3,546,0,10,,,,,,,,,,,{},{}
+1096,Round_Shell,Round Shell,3,954,0,10,,,,,,,,,,,{},{}
+1097,Worn_Out_Page,Worn Out Page,3,820,0,10,,,,,,,,,,,{},{}
+1098,Manacles,Manacles,3,658,0,10,,,,,,,,,,,{},{}
+1099,Worn-out_Prison_Uniform,Worn-out Prison Uniform,3,680,0,10,,,,,,,,,,,{},{}
+
+// Weapons
+//===================================================================
+// 1 Handed Swords
+1101,Sword,Sword,4,100,0,500,25,,1,3,8803555,2,2,1,2,2,{},{}
+1102,Sword_,Sword,4,100,0,500,25,,1,4,8803555,2,2,1,2,2,{},{}
+1103,Sword__,Sword,4,100,0,500,25,,1,0,8803555,2,2,1,2,2,{},{}
+1104,Falchion,Falchion,4,1500,0,600,39,,1,3,8803555,2,2,1,2,2,{},{}
+1105,Falchion_,Falchion,4,1500,0,600,39,,1,4,8803555,2,2,1,2,2,{},{}
+1106,Falchion__,Falchion,4,1500,0,600,39,,1,0,8803555,2,2,1,2,2,{},{}
+1107,Blade,Blade,4,2900,0,700,53,,1,3,8803555,2,2,1,2,2,{},{}
+1108,Blade_,Blade,4,2900,0,700,53,,1,4,8803555,2,2,1,2,2,{},{}
+1109,Blade__,Blade,4,2900,0,700,53,,1,0,8803555,2,2,1,2,2,{},{}
+1110,Rapier,Rapier,4,10000,0,500,70,,1,2,8803555,2,2,2,14,2,{},{}
+1111,Rapier_,Rapier,4,10000,0,500,70,,1,3,8803555,2,2,2,14,2,{},{}
+1112,Rapier__,Rapier,4,10000,0,500,70,,1,0,8803555,2,2,2,14,2,{},{}
+1113,Scimiter,Scimiter,4,17000,0,700,85,,1,2,8803555,2,2,2,14,2,{},{}
+1114,Scimiter_,Scimiter,4,17000,0,700,85,,1,3,8803555,2,2,2,14,2,{},{}
+1115,Scimiter__,Scimiter,4,17000,0,700,85,,1,0,8803555,2,2,2,14,2,{},{}
+1116,Katana,Katana,4,2000,0,1000,60,,1,3,16514,2,34,1,4,3,{},{}
+1117,Katana_,Katana,4,2000,0,1000,60,,1,4,16514,2,34,1,4,3,{},{}
+1118,Katana__,Katana,4,2000,0,1000,60,,1,0,16514,2,34,1,4,3,{},{}
+1119,Tsurugi,Tsurugi,4,51000,0,1200,130,,1,1,414946,2,2,3,27,2,{},{}
+1120,Tsurugi_,Tsurugi,4,51000,0,1200,130,,1,2,414946,2,2,3,27,2,{},{}
+1121,Tsurugi__,Tsurugi,4,51000,0,1200,130,,1,0,414946,2,2,3,27,2,{},{}
+1122,Ring_Pommel_Saber,Ring Pommel Saber,4,24000,0,900,100,,1,2,414946,2,2,2,14,2,{},{}
+1123,Haedonggum,Haedonggum,4,50000,0,900,120,,1,1,414946,2,2,3,27,2,{},{ bonus bInt,3; },,,,,,
+1124,Orcish_Sword,Orcish sword,4,20,0,800,90,,1,0,8803555,2,2,3,5,2,{},{ bonus bUnbreakable,100; },,,,,,,
+1125,Ring_Pommel_Saber_,Ring Pommel Saber,4,24000,0,900,100,,1,3,414946,2,2,2,14,2,{},{},,,,,,,
+1126,Saber,Saber,4,49000,0,1000,115,,1,2,414946,2,2,3,27,2,{},{},,,,,,,
+1127,Saber_,Saber,4,49000,0,1000,115,,1,3,414946,2,2,3,27,2,{},{},,,,,,,
+1128,Haedonggum_,Haedonggum,4,50000,0,900,120,,1,2,414946,2,2,3,27,2,{},{ bonus bInt,3; },,,,,,
+1129,Flamberge,Flamberge,4,60000,0,1500,150,,1,0,16512,2,2,3,27,2,{},{},,,,,,,
+1130,Nagan,Nagan,4,20,0,500,120,,1,0,414946,2,2,4,40,2,{},{ bonus bDoubleRate,25; bonus2 bAddRace,7,5; },,,,
+1131,Ice_Falchion,Ice Falchion,4,20,0,600,100,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,1; skill 14,3; bonus2 bAddEff,Eff_Freeze,500; bonus3 bAutoSpell,14,3,25; }
+1132,Edge,Edge,4,20,0,700,115,,1,0,414946,2,2,4,40,2,{},{ bonus2 bAddEff,Eff_Curse,300; bonus2 bWeaponComaRace,11,10; },,,
+1133,Fire_Brand,Fire Brand,4,20,0,500,100,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,3; skill 19,3; bonus3 bAutoSpell,19,3,25; },,
+1134,Caesar's_Sword,Caesar's Sword,4,20,0,700,140,,1,0,414946,2,2,4,40,2,{},{ bonus2 bAddRace,3,25; bonus bIgnoreDefRace,3; },,,,
+1135,Cutlas,Cutlas,4,20,0,900,150,,1,0,414946,2,2,4,40,2,{},{ skill 5,5; bonus bStr,2; bonus bDef,1; },,,,
+1136,Solar_Sword,Solar Sword,4,20,0,1200,85,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,3; bonus2 bHPDrainRate,100,1; bonus2 bSPDrainRate,5,-15; },,,,
+1137,Excalibur,Excalibur,4,20,0,1200,150,,1,0,414946,2,2,4,40,2,{},{ bonus bInt,5; bonus bLuk,10; bonus bDex,-1; bonus bAtkEle,6; },,,
+1138,Mysteltainn_,Mysteltainn,4,20,0,1000,170,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,7; bonus2 bAddEle,8,15; bonus2 bAddEff,Eff_Stone,100; bonus bDex,3; },
+1139,Talefing_,Talefing,4,20,0,1000,200,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,7; bonus2 bSPDrainRate,5,-35; },,,,,,,,,
+1140,Byeollungum,Byeollungum,4,20,0,900,150,,1,0,414946,2,2,4,40,2,{},{ bonus2 bSubRace,11,-10; bonus2 bAddRace,10,50; bonus bAllStats,2; }
+1141,Immaterial_Sword,Immaterial Sword,4,20,0,900,140,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,8; bonus2 bSPDrainRate,1,30; bonus2 bSPDrainRate,100,-1; },,,,,,,,,
+1142,Jewel_Sword,Crystal Sword,4,20,0,2200,104,,1,0,414946,2,2,3,68,2,{},{},,,,,,,,,,
+1143,Gaia_Sword,Gaia Sword,4,20,0,2500,115,,1,0,414946,2,2,3,74,2,{},{ bonus3 bAddMonsterDropItem,1002,50,25000; },,,,,,,,,,
+1144,Sashimi,Sashimi,4,20,0,1400,75,,1,0,414946,2,2,3,48,2,{},{ bonus bAtkEle,4; bonus3 bAddMonsterDropItem,544,5,4000; },,,,,,
+1145,Holy_Avenger,Holy Avenger,4,20,0,1350,125,,1,0,16384,2,2,3,75,2,{},{ bonus bAtkEle,6; },,,,,,,,
+// 2 Handed Swords
+1151,Slayer,Slayer,4,15000,0,1300,90,,1,2,16514,2,34,2,18,3,{},{},,,,,,,,,,
+1152,Slayer_,Slayer,4,15000,0,1300,90,,1,3,16514,2,34,2,18,3,{},{},,,,,,,,,,
+1153,Slayer__,Slayer,4,15000,0,1300,90,,1,0,16514,2,34,2,18,3,{},{},,,,,,,,,,
+1154,Bastard_Sword,Bastard Sword,4,22500,0,1600,115,,1,2,16514,2,34,2,18,3,{},{},,,,,,,,,,
+1155,Bastard_Sword_,Bastard Sword,4,22500,0,1600,115,,1,3,16514,2,34,2,18,3,{},{},,,,,,,,,,
+1156,Bastard_Sword__,Bastard Sword,4,22500,0,1600,115,,1,0,16514,2,34,2,18,3,{},{},,,,,,,,,,
+1157,Two_handed_Sword,Two-handed Sword,4,60000,0,2200,160,,1,1,16514,2,34,3,33,3,{},{},,,,,,,,,,
+1158,Two_handed_Sword_,Two-handed Sword,4,60000,0,2200,160,,1,2,16514,2,34,3,33,3,{},{},,,,,,,,,,
+1159,Two_handed_Sword__,Two-handed Sword,4,60000,0,2200,160,,1,0,16514,2,34,3,33,3,{},{},,,,,,
+1160,Broad_Sword,Broad Sword,4,65000,0,2000,140,,1,1,16514,2,34,3,33,3,{},{ bonus bDef,5; },,,,,
+1161,Balmung,Balmung,4,20,0,1000,250,,2,0,2088959,2,2,4,48,1,{},{ bonus bInt,20; bonus bLuk,20; },,,,
+1162,Broad_Sword_,Broad Sword,4,65000,0,2000,140,,1,2,16514,2,34,3,33,3,{},{ bonus bDef,5; },,,,,
+1163,Claymore,Claymore,4,74000,0,2500,180,,1,0,16512,2,34,3,33,3,{},{},,,,,,
+1164,Muramasa,Muramasa,4,20,0,1000,155,,1,0,16514,2,34,4,48,3,{},{ bonus bCritical,30; bonus bAspdAddRate,8; bonus2 bAddEff2,Eff_Curse,200; },,
+1165,Masamune,Masamune,4,20,0,1000,200,,1,0,16514,2,34,4,48,3,{},{ bonus bFlee,30; bonus bStr,-5; bonus bAspd,2; bonus bDefRate,-50; bonus bDef2Rate,-50; },
+1166,Dragon_Slayer,Dragon Slayer,4,20,0,1300,150,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,9; bonus2 bAddRace,9,15; },,,
+1167,Schweizersabel,Schweizersabel,4,20,0,1600,160,,1,0,16514,2,34,4,48,3,{},{ bonus bAtkEle,4; skill 20,3; bonus bDef,1; bonus3 bAutoSpell,20,3,25; }
+1168,Zweihander,Zweihander,4,20,0,2200,200,,1,0,16514,2,34,4,48,3,{},{bonus bUnbreakable,100; },,,,,,
+1169,Executioner_,Executioner,4,20,0,2200,155,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,7; bonus2 bAddRace,7,20; bonus2 bSubRace,7,-10; bonus bAtkEle,7; }
+1170,Katzbalger,Katzbalger,4,20,0,2000,175,,1,0,16514,2,34,4,48,3,{},{ bonus bVit,10; bonus bDef,10; },,,,
+// Knifes and Daggers
+1201,Knife,Knife,4,50,0,400,17,,1,3,10444527,2,2,1,1,1,{},{},,,,,,
+1202,Knife_,Knife,4,50,0,400,17,,1,4,10444527,2,2,1,1,1,{},{},,,,,,
+1203,Knife__,Knife,4,50,0,400,17,,1,0,10444527,2,2,1,1,1,{},{},,,,,,
+1204,Cutter,Cutter,4,1250,0,500,30,,1,3,10444527,2,2,1,1,1,{},{}
+1205,Cutter_,Cutter,4,1250,0,500,30,,1,4,10444527,2,2,1,1,1,{},{}
+1206,Cutter__,Cutter,4,1250,0,500,30,,1,0,10444527,2,2,1,1,1,{},{}
+1207,Main_Gauche,Main Gauche,4,2400,0,600,43,,1,3,10444527,2,2,1,1,1,{},{}
+1208,Main_Gauche_,Main Gauche,4,2400,0,600,43,,1,4,10444527,2,2,1,1,1,{},{}
+1209,Main_Gauche__,Main Gauche,4,2400,0,600,43,,1,0,10444527,2,2,1,1,1,{},{}
+1210,Dirk,Dirk,4,8500,0,500,59,,1,2,10444527,2,2,2,12,1,{},{}
+1211,Dirk_,Dirk,4,8500,0,500,59,,1,3,10444527,2,2,2,12,1,{},{}
+1212,Dirk__,Dirk,4,8500,0,500,59,,1,0,10444527,2,2,2,12,1,{},{}
+1213,Dagger,Dagger,4,14000,0,600,73,,1,2,10444527,2,2,2,12,1,{},{}
+1214,Dagger_,Dagger,4,14000,0,600,73,,1,3,10444527,2,2,2,12,1,{},{}
+1215,Dagger__,Dagger,4,14000,0,600,73,,1,0,10444527,2,2,2,12,1,{},{}
+1216,Stiletto,Stiletto,4,19500,0,700,87,,1,2,10444527,2,2,2,12,1,{},{}
+1217,Stiletto_,Stiletto,4,19500,0,700,87,,1,3,10444527,2,2,2,12,1,{},{}
+1218,Stiletto__,Stiletto,4,19500,0,700,87,,1,0,10444527,2,2,2,12,1,{},{}
+1219,Gladius,Gladius,4,43000,0,700,105,,1,2,2055918,2,2,3,24,1,{},{}
+1220,Gladius_,Gladius,4,43000,0,700,105,,1,3,2055918,2,2,3,24,1,{},{},,,,,,
+1221,Gladius__,Gladius,4,43000,0,700,105,,1,0,2055918,2,2,3,24,1,{},{},,,,,,
+1222,Damascus,Damascus,4,49000,0,800,118,,1,1,2055918,2,2,3,24,1,{},{},,,,,,
+1223,Fortune_Sword,Fortune Sword,4,20,0,500,90,,1,0,2055918,2,2,4,24,1,{},{ bonus bLuk,5; bonus bFlee2,20; },,,,
+1224,Sword_Breaker,Swordbreaker,4,20,0,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bBreakWeaponRate,500; },,,,,,
+1225,Mail_Breaker,Mailbreaker,4,20,0,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bBreakArmorRate,500; },,,,,,
+1226,Damascus_,Damascus,4,49000,0,800,118,,1,2,2055918,2,2,3,24,1,{},{},,,,,,
+1227,Weeder_Knife,Weeder Knife,4,20,0,400,80,,1,0,2055918,2,2,4,36,1,{},{ bonus bIgnoreDefRace,3; bonus2 bAddRace,3,15; bonus2 bSubRace,3,15; },
+1228,Combat_Knife,Combat Knife,4,20,0,400,80,,1,0,2055918,2,2,4,36,1,{},{ bonus bIgnoreDefRace,7; bonus2 bSubRace,7,10; bonus2 bSubRace,6,-10; },
+1229,Mama's_Knife,Mama's Knife,4,20,0,500,75,,1,0,2055918,2,2,4,36,1,{},{ bonus bCritical,30; bonus2 bAddRace,7,3; bonus3 bAddMonsterDropItem,517,2,5000; }
+1230,House_Auger,House Auger,4,20,0,600,80,,1,0,2055918,2,2,4,36,1,{},{ bonus bDefRatioAtkRace,10; bonus bDefRatioAtkRace,11; },,,,
+1231,Bazerald,Bazerald,4,20,0,500,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bAtkEle,3; bonus bInt,5; bonus bMatkRate,10; },,,
+1232,Assassin_Dagger,Assasin Dagger,4,20,0,600,140,,1,0,4096,2,2,4,36,1,{},{ bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdAddRate,2; bonus bAtkEle,7; },,
+1233,Exercise,Excorcise,4,20,0,700,90,,1,0,2055918,2,2,4,36,1,{},{ bonus bIgnoreDefRace,6; bonus2 bSubRace,6,5; bonus2 bSubRace,7,-10; },
+1234,Moonlight_Sword,Walgwanggum,4,20,0,700,50,,1,0,2055918,2,2,4,36,1,{},{ bonus bMaxSPrate,10; bonus2 bSPDrainRate,100,3; },,,,,
+1235,Azoth,Azoth,4,20,0,700,110,,1,0,262144,2,2,4,36,1,{},{ bonus bClassChange,50; },,,,,,
+1236,Sucsamad,Sucsamad,4,20,0,800,140,,1,0,2055918,2,2,4,36,1,{},{ bonus2 bAddEle,2,10; bonus2 bAddEle,4,10; bonus bUnbreakable,100; },,
+1237,Grimtooth_,Grimtooth,4,20,0,800,180,,1,0,2055918,2,2,4,36,1,{},{ bonus bFlee,10; bonus bFlee2,5; bonus bDefRate,-50; bonus bDef2Rate,-50; },,
+1238,Zeny_Knife,Zeny Knife,4,20,0,1200,64,,1,0,2055918,2,2,3,40,1,{},{ bonus bGetZenyNum,100; },,,,,
+1239,Poison_Knife,Poison Knife,4,20,0,800,64,,1,0,2055918,2,2,3,65,1,{},{ bonus bAtkEle,5; bonus2 bAddEff,Eff_Poison,2000; },,,,,
+1240,Princess_Knife,Princess Knife,4,20,0,400,84,,1,0,2055918,2,2,4,1,1,{},{ bonus bAllStats,1; }
+1241,Cursed_Dagger,Cursed Dagger,4,20,0,400,55,,1,0,66052,2,2,4,85,1,{},{ bonus2 bAddEff,Eff_Curse,500; },,,,
+1242,Counter_Dagger,Counter Dagger,4,20,0,550,75,,1,0,66052,2,2,4,55,1,{},{ bonus bCritical,5; bonus3 bAutoSpell,61,1,25; },,,,,
+1243,Main_Gauche_For_Novice,Novice Main Gauche,4,20,0,1,45,,1,0,8388609,2,2,1,1,1,{},{},,,,,,
+// Katars
+1250,Jur,Jur,4,19500,0,800,125,,1,2,4096,2,34,2,18,16,{},{},,,,,,
+1251,Jur_,Jur,4,19500,0,800,125,,1,3,4096,2,34,2,18,16,{},{},,,,,,
+1252,Katar,Katar,4,41000,0,1200,148,,1,1,4096,2,34,3,33,16,{},{ bonus bDex,1; },,,,,
+1253,Katar_,Katar,4,41000,0,1200,148,,1,2,4096,2,34,3,33,16,{},{ bonus bDex,1; },,,,,
+1254,Jamadhar,Jamadhar,4,37200,0,1500,165,,1,0,4096,2,34,3,33,16,{},{},,,,,,
+1255,Jamadhar_,Jamadhar,4,37200,0,1500,165,,1,1,4096,2,34,3,33,16,{},{},,,,,,
+1256,Katar_of_Cold_Icicle,Katar of Cold Icicle,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,1; bonus2 bAddEff,Eff_Freeze,500; },,,
+1257,Katar_of_Thornbush,Katar of Dusty Thornbush,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,2; bonus2 bAddEff,Eff_Blind,500; },,
+1258,Katar_of_Raging_Blaze,Katar of Raging Blaze,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,3; bonus2 bAddEff,Eff_Silence,500; },,
+1259,Katar_of_Piercing_Wind,Katar of Piercing Wind,4,45000,0,1200,105,,1,0,4096,2,34,3,55,16,{},{ bonus bAtkEle,4; bonus2 bAddEff,Eff_Sleep,500; },,
+1260,Sharpened_Legbone_of_Ghoul,Sharpened Legbone of Ghoul,4,52500,0,1700,150,,1,0,4096,2,34,3,65,16,{},{ bonus bAtkEle,9; },,,,
+1261,Infiltrator,Infiltrator,4,57000,0,1500,140,,1,0,4096,2,34,4,75,16,{},{ bonus2 bAddRace,7,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; }
+// Axes
+1301,Axe,Axe,4,500,0,800,38,,1,3,8803555,2,2,1,3,6,{},{},,,,,
+1302,Axe_,Axe,4,500,0,800,38,,1,4,8803555,2,2,1,3,6,{},{},,,,,
+1303,Axe__,Axe,4,500,0,800,38,,1,0,8803555,2,2,1,3,6,{},{},,,,,
+1304,Orcish_Axe,Orcish Axe,4,20,0,1500,75,,1,0,8803555,2,2,3,3,6,{},{},,,,,
+1305,Cleaver,Cleaver,4,20,0,1200,140,,1,0,279714,2,2,4,44,6,{},{ bonus2 bAddRace,7,5; bonus3 bAddMonsterDropItem,517,2,3000; }
+1306,War_Axe,War Axe,4,20,0,4200,145,,1,1,263168,2,2,3,76,6,{},{ bonus bDex,2; bonus bLuk,2; },,,
+1351,Battle_Axe,Battle Axe,4,5400,0,1500,80,,1,3,279714,2,34,1,3,7,{},{},,,,,
+1352,Battle_Axe_,Battle Axe,4,5400,0,1500,80,,1,4,279714,2,34,1,3,7,{},{},,,,,
+1353,Battle_Axe__,Battle Axe,4,5400,0,1500,80,,1,0,279714,2,34,1,3,7,{},{},,,,,
+1354,Hammer,Hammer,4,15500,0,2000,120,,1,2,279714,2,34,2,16,7,{},{},,,,
+1355,Hammer_,Hammer,4,15500,0,2000,120,,1,3,279714,2,34,2,16,7,{},{},,,,
+1356,Hammer__,Hammer,4,15500,0,2200,120,,1,0,279714,2,34,2,16,7,{},{},,,,
+1357,Buster,Buster,4,34000,0,2200,155,,1,1,279714,2,34,3,30,7,{},{},,,,
+1358,Buster_,Buster,4,34000,0,2200,155,,1,2,279714,2,34,3,30,7,{},{},,,,
+1359,Buster__,Buster,4,34000,0,2200,155,,1,0,279714,2,34,3,30,7,{},{},,,,
+1360,Two_handed_Axe,Two-handed Axe,4,55000,0,2500,185,,1,1,279714,2,34,3,30,7,{},{},,,,
+1361,Two_handed_Axe_,Two-handed Axe,4,55000,0,2500,185,,1,2,279714,2,34,3,30,7,{},{},,,,
+1362,Two_handed_Axe__,Two-handed Axe,4,55000,0,2500,185,,1,0,279714,2,34,3,30,7,{},{},,,,
+1363,Blood_Axe,Bloody Axe,4,20,0,400,170,,1,0,279714,2,34,4,44,7,{},{ bonus bStr,10; bonus bSpeedRate,25; },,
+1364,Great_Axe,Great Axe,4,20,0,1800,187,,1,0,279714,2,34,4,44,7,{},{ bonus2 bAddEff,Eff_Stan,1500; },,
+1365,Sabbath,Sabbath,4,20,0,2300,120,,1,0,279714,2,34,4,44,7,{},{ bonus2 bWeaponComaRace,6,50; bonus bAtkEle,7; },
+1366,Light_Epsilon,Light Epsilon,4,20,0,2300,180,,1,0,279714,2,34,4,44,7,{},{ bonus bAtkEle,6; skill 28,3; bonus2 bAddRace,6,3; }
+1367,Slaughter,Slaughter,4,20,0,2500,120,,1,0,279714,2,34,4,44,7,{},{ bonus bIgnoreDefRace,2; bonus2 bWeaponComaRace,2,50; },
+1368,Tomahawk,Tomahawk,4,20,0,2500,165,,1,0,279714,2,34,4,44,7,{},{ bonus bAtkEle,4; },,,
+1369,Guillotine,Guillotine,4,20,0,3000,215,,1,0,279714,2,34,4,44,7,{},{ bonus2 bWeaponComaRace,7,30; bonus2 bSPDrainRate,5,2; },,
+// Spears
+1401,Javelin,Javelin,4,150,0,700,28,,3,3,16514,2,2,1,4,4,{},{},,,
+1402,Javelin_,Javelin,4,150,0,700,28,,3,4,16514,2,2,1,4,4,{},{},,,
+1403,Javelin__,Javelin,4,150,0,700,28,,3,0,16514,2,2,1,4,4,{},{},,,
+1404,Spear,Spear,4,1700,0,850,44,,3,3,16514,2,2,1,4,4,{},{},,,
+1405,Spear_,Spear,4,1700,0,850,44,,3,4,16514,2,2,1,4,4,{},{},,,
+1406,Spear__,Spear,4,1700,0,850,44,,3,0,16514,2,2,1,4,4,{},{},,,
+1407,Pike,Pike,4,3450,0,1000,60,,3,3,16514,2,2,1,4,4,{},{},,,
+1408,Pike_,Pike,4,3450,0,1000,60,,3,4,16514,2,2,1,4,4,{},{},,,
+1409,Pike__,Pike,4,3450,0,1000,60,,3,0,16514,2,2,1,4,4,{},{},,,
+1410,Lance,Lance,4,60000,0,2500,185,,3,0,16514,2,34,3,33,5,{},{},,,
+1411,Lance_,Lance,4,60000,0,2500,185,,3,0,16514,2,34,3,33,5,{},{},,,
+1412,Lance__,Lance,4,60000,0,2500,185,,3,0,16514,2,34,3,33,5,{},{},,,
+1413,Gungnir,Gungnir,4,20,0,500,120,,3,0,16514,2,2,4,4,4,{},{ bonus bPerfectHitRate,25; bonus bHit,30; }
+1414,Gelerdria,Gelerdria,4,20,0,700,145,,3,0,16514,2,2,4,48,4,{},{ bonus bAtkEle,2; bonus bMaxHP,500; bonus bMaxSP,-50; }
+1415,Skewer,Brocca,4,20,0,850,100,,3,0,16514,2,2,4,48,4,{},{ bonus bIgnoreDefRace,11; bonus2 bAddEle,0,25; }
+1416,Tjungkuletti,Tjungkuletti,4,20,0,1000,95,,3,0,16514,2,2,4,48,4,{},{ bonus2 bSPDrainRate,100,1; bonus2 bSPDrainRate,1,5; },,,
+1417,Pole_Axe,Pole Axe,4,20,0,3800,160,,3,1,16514,2,2,3,71,4,{},{ bonus bStr,1; bonus bInt,2; bonus bDex,1; }
+1451,Guisarme,Guisarme,4,13000,0,1000,84,,3,2,16514,2,34,2,18,5,{},{},,,
+1452,Guisarme_,Guisarme,4,13000,0,1000,84,,3,3,16514,2,34,2,18,5,{},{},,,
+1453,Guisarme__,Guisarme,4,13000,0,1000,84,,3,0,16514,2,34,2,18,5,{},{},,,
+1454,Glaive,Glaive,4,20000,0,1200,104,,3,2,16514,2,34,2,18,5,{},{},,,
+1455,Glaive_,Glaive,4,20000,0,1200,104,,3,3,16514,2,34,2,18,5,{},{},,,
+1456,Glaive__,Glaive,4,20000,0,1200,104,,3,0,16514,2,34,2,18,5,{},{},,,
+1457,Partizan,Partizan,4,27000,0,2000,124,,3,1,16514,2,34,2,18,5,{},{},,,
+1458,Partizan_,Partizan,4,27000,0,2000,124,,3,2,16514,2,34,2,18,5,{},{},,,
+1459,Partizan__,Partizan,4,27000,0,2000,124,,3,0,16514,2,34,3,33,5,{},{},,,
+1460,Trident,Trident,4,51000,0,1200,150,,3,2,16514,2,34,3,33,5,{},{},,,
+1461,Trident_,Trident,4,51000,0,1200,150,,3,3,16514,2,34,3,33,5,{},{},,,
+1462,Trident__,Trident,4,51000,0,1200,150,,3,0,16514,2,34,3,33,5,{},{},,,
+1463,Halberd,Halberd,4,54000,0,2500,165,,3,1,16514,2,34,3,33,5,{},{},,,
+1464,Halberd_,Halberd,4,54000,0,2500,165,,3,2,16514,2,34,3,33,5,{},{},,,,,,,
+1465,Halberd__,Halberd,4,54000,0,2500,165,,3,0,16514,2,34,3,33,5,{},{},,,,,,,
+1466,Crescent_Scythe,Crescent Scythe,4,20,0,2500,180,,3,0,16514,2,34,4,48,5,{},{ bonus bCritical,30; bonus bHit,10; },,,,,
+1467,Bill_Guisarme,Bill Guisarme,4,20,0,1000,183,,3,0,16514,2,34,4,48,5,{},{ bonus2 bAddRace,2,10; bonus2 bAddRace,7,5; },,,
+1468,Zephyrus,Zephyrus,4,20,0,2000,170,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,4; skill 21,3; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,21,3,25; }
+1469,Longinus's_Spear,Longinus's Spear,4,20,0,2500,180,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,7; bonus2 bAddRace,7,10; bonus2 bAddRace,8,10; },,
+1470,Brionac,Brionac,4,20,0,3000,190,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,6; skill 28,5; skill 13,3; bonus3 bAutoSpell,13,3,25; bonus2 bAddRace,10,5; },
+1471,Hellfire,Hellfire,4,20,0,3500,200,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,3; skill 17,3; bonus3 bAutoSpell,17,3,25; bonus bStr,3; },,
+// 2 Handed Staffs
+1472,Staff_of_Soul,Soul Staff,4,20,0,1400,25,,1,0,66052,2,34,3,73,10,{},{ bonus bInt,5; bonus bAgi,2; bonus bMatkRate,15; },,,,
+1473,Wizardy_Staff,Wizardy Staff,4,20,0,2400,120,,1,0,66052,2,34,4,90,10,{},{ bonus bInt,6; bonus bDex,2; bonus bMatkRate,15; },,,,
+// Clubs and Maces
+1501,Club,Club,4,120,0,700,23,,1,3,8701363,2,2,1,2,8,{},{},,,,,,,
+1502,Club_,Club,4,120,0,700,23,,1,4,8701363,2,2,1,2,8,{},{},,,,,,,
+1503,Club__,Club,4,120,0,700,23,,1,0,8701363,2,2,1,2,8,{},{},,,,,,,
+1504,Mace,Mace,4,1600,0,800,37,,1,3,8701363,2,2,1,2,8,{},{},,,,,,,
+1505,Mace_,Mace,4,1600,0,800,37,,1,4,8701363,2,2,1,2,8,{},{},,,,,,,
+1506,Mace__,Mace,4,1600,0,800,37,,1,0,8701363,2,2,1,2,8,{},{}
+1507,Smasher,Smasher,4,9000,0,1000,54,,1,2,8701363,2,2,2,14,8,{},{}
+1508,Smasher_,Smasher,4,9000,0,1000,54,,1,3,8701363,2,2,2,14,8,{},{}
+1509,Smasher__,Smasher,4,9000,0,1000,54,,1,3,8701363,2,2,2,14,8,{},{}
+1510,Flail,Flail,4,16000,0,900,69,,1,2,312754,2,2,2,14,8,{},{}
+1511,Flail_,Flail,4,16000,0,900,69,,1,3,312754,2,2,2,14,8,{},{}
+1512,Flail__,Flail,4,16000,0,900,69,,1,3,312754,2,2,2,14,8,{},{}
+1513,Morning_Star,Morning Star,4,41000,0,1500,110,,1,1,312754,2,2,3,27,8,{},{}
+1514,Morning_Star_,Morning Star,4,41000,0,1500,110,,1,2,312754,2,2,3,27,8,{},{}
+1515,Morning_Star__,Morning Star,4,41000,0,1500,110,,1,2,312754,2,2,3,27,8,{},{}
+1516,Sword_Mace,Sword Mace,4,50000,0,1200,130,,1,0,312754,2,2,3,27,8,{},{}
+1517,Sword_Mace_,Sword Mace,4,50000,0,1200,130,,1,1,312754,2,2,3,27,8,{},{}
+1518,Sword_Mace__,Sword Mace,4,50000,0,1200,130,,1,1,312754,2,2,3,27,8,{},{}
+1519,Chain,Chain,4,23000,0,800,84,,1,2,312754,2,2,2,14,8,{},{}
+1520,Chain_,Chain,4,23000,0,800,84,,1,3,312754,2,2,2,14,8,{},{}
+1521,Chain__,Chain,4,23000,0,800,84,,1,3,312754,2,2,2,14,8,{},{}
+1522,Stunner,Stunner,4,60000,0,2000,140,,1,0,256,2,2,3,27,8,{},{ bonus2 bAddEff,Eff_Stan,1000; },,,,
+1523,Spike,Spike,4,20,0,700,85,,1,0,33040,2,2,4,40,8,{},{ bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67; },,,
+1524,Golden_Mace,Golden Mace,4,20,0,800,110,,1,1,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,10; bonus bUnbreakable,100; },,,,
+1525,Long_Mace,Long Mace,4,20,0,800,135,,3,0,33040,2,2,4,40,8,{},{ bonus bLongAtkDef,10; },,,,,
+1526,Slash,Slash,4,20,0,1000,145,,1,0,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,15; bonus2 bWeaponComaRace,1,50; },,
+1527,Quadrille,Quadrille,4,20,0,900,165,,1,0,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,10; bonus2 bAddRace,7,10; bonus2 bAddEle,2,10; }
+1528,Grand_Cross,Grand Cross,4,20,0,1500,140,,1,0,33040,2,2,4,40,8,{},{ bonus bAtkEle,6; skill 77,3; bonus3 bAutoSpell,77,3,25; bonus2 bHPDrainRate,100,1; },
+1529,Iron_Driver,Iron Driver,4,20,0,3000,155,,1,0,33024,2,2,3,78,8,{},{},,,,,,
+1530,Mjolnir,Mjolnir,4,20,0,6000,250,,1,0,8701363,2,2,4,98,8,{},{ bonus bAtkEle,4; bonus bDex,40; bonus bStr,15; bonus bAspdRate,30; },,
+1531,Spanner,Spanner,4,20,0,2500,115,,1,0,33040,2,2,3,55,8,{},{ bonus2 bAddEff,Eff_Blind,100; bonus2 bAddEff,Eff_Stan,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Freeze,100; },,,,,,
+// Books
+1550,Book,Book,4,30000,0,600,85,,1,3,65792,2,2,2,14,15,{},{},,,,,,
+1551,Bible,Bible,4,60000,0,1000,115,,1,2,65792,2,2,3,27,15,{},{ bonus bInt,2; },,,,,
+1552,Tablet,Tablet,4,51000,0,800,125,,1,1,65792,2,2,3,27,15,{},{},,,,,,
+1553,Book_of_Billows,Book of Billows,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,1; },,,,,
+1554,Book_of_Mother_Earth,Book of Mother Earth,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,2; },,,,,
+1555,Book_of_Blazing_Sun,Book of Blazing Sun,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,3; },,,,,,,,,,
+1556,Book_of_Gust_of_Wind,Book of Gust of Wind,4,35000,0,750,90,,1,0,65792,2,2,3,27,15,{},{ bonus bAtkEle,4; },,,,,,,,,,
+1557,Book_of_the_Apocalypse,Book of the Apocalypse,4,35000,0,800,120,,1,0,65792,2,2,4,40,15,{},{ bonus bAtkEle,7; bonus2 bSubEle,6,-5; bonus2 bAddEle,1,7; bonus2 bAddEle,2,7; bonus2 bAddEle,3,7; bonus2 bAddEle,4,7; }
+1558,Girl's_Diary,Girl's Diary,4,20,0,300,60,,1,1,65792,2,2,4,40,15,{},{ bonus2 bAddDamageClass,1188,150; },,,,,,,,,
+1599,Angra_Manyu,Angra Manyu,4,120,0,10,1,,1,5,10477567,2,2,4,2,8,{},{},,,,,,,,,,,
+// Rods and Staffs
+1601,Rod,Rod,4,50,0,400,15,,1,3,8487701,2,2,1,1,10,{},{ bonus bMatkRate,15; },,,,,,,,,,
+1602,Rod_,Rod,4,50,0,400,15,,1,4,8487701,2,2,1,1,10,{},{ bonus bMatkRate,15; },,,,,,,,,,
+1603,Rod__,Rod,4,50,0,400,15,,1,0,8487701,2,2,1,1,10,{},{ bonus bMatkRate,15; },,,,,,,,,,
+1604,Wand,Wand,4,2500,0,400,25,,1,2,8487701,2,2,2,12,10,{},{ bonus bInt,1; bonus bMatkRate,15; },,,,,,,,,
+1605,Wand_,Wand,4,2500,0,400,25,,1,3,8487701,2,2,2,12,10,{},{ bonus bInt,1; bonus bMatkRate,15; },,,,,,,,,
+1606,Wand__,Wand,4,2500,0,400,25,,1,0,8487701,2,2,2,12,10,{},{ bonus bInt,1; bonus bMatkRate,15; },,,,,,,,,
+1607,Staff,Staff,4,9500,0,400,40,,1,2,99092,2,2,2,12,10,{},{ bonus bInt,2; bonus bMatkRate,15; },,,,,,,,,
+1608,Staff_,Staff,4,9500,0,400,40,,1,3,99092,2,2,2,12,10,{},{ bonus bInt,2; bonus bMatkRate,15; },,,,,,,,,
+1609,Staff__,Staff,4,9500,0,400,40,,1,0,99092,2,2,2,12,10,{},{ bonus bInt,2; bonus bMatkRate,15; },,,,,,,,,
+1610,Arc_Wand,Arc Wand,4,45000,0,400,60,,1,1,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
+1611,Arc_Wand_,Arc Wand,4,45000,0,400,60,,1,2,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
+1612,Arc_Wand__,Arc Wand,4,45000,0,400,60,,1,0,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
+1613,Mighty_Staff,Mighty Staff,4,20,0,700,130,,1,0,99092,2,2,3,24,10,{},{ bonus bStr,10; bonus bMatkRate,15; bonus2 bSpDrainRate,100,-2; },
+1614,Blessed_Wand,Wand of Occult,4,20,0,700,75,,1,0,99092,2,2,3,24,10,{},{ bonus bInt,3; bonus bMatkRate,15; },
+1615,Bone_Wand,Bone Wand,4,20,0,700,40,,1,0,99092,2,2,3,24,10,{},{ bonus bInt,4; bonus bAtkEle,9; bonus bMatkRate,15; }
+// Bows
+1701,Bow,Bow,4,1000,0,500,15,,5,3,1706056,2,34,1,4,11,{},{},,,
+1702,Bow_,Bow,4,1000,0,500,15,,5,4,1706056,2,34,1,4,11,{},{},,,
+1703,Bow__,Bow,4,1000,0,500,15,,5,0,1706056,2,34,1,4,11,{},{},,,
+1704,Composite_Bow,Composite Bow,4,2500,0,600,29,,5,3,1706056,2,34,1,4,11,{},{},,,
+1705,Composite_Bow_,Composite Bow,4,2500,0,600,29,,5,4,1706056,2,34,1,4,11,{},{},,,
+1706,Composite_Bow__,Composite Bow,4,2500,0,600,29,,5,0,1706056,2,34,1,4,11,{},{},,,
+1707,Great_Bow,Great Bow,4,10000,0,1000,50,,5,2,1706056,2,34,2,18,11,{},{},,,
+1708,Great_Bow_,Great Bow,4,10000,0,1000,50,,5,3,1706056,2,34,2,18,11,{},{},,,
+1709,Great_Bow__,Great Bow,4,10000,0,1000,50,,5,0,1706056,2,34,2,18,11,{},{},,,
+1710,CrossBow,Cross Bow,4,17000,0,900,65,,5,2,1706056,2,34,2,18,11,{},{},,,,,,,,,,,,,,
+1711,CrossBow_,Cross Bow,4,17000,0,900,65,,5,3,1706056,2,34,2,18,11,{},{},,,,,,,,,,,,,,
+1712,CrossBow__,Cross Bow,4,17000,0,900,65,,5,0,1706056,2,34,2,18,11,{},{},,,,,,,,,,,,,,
+1713,Arbalest,Arbalest,4,48000,0,1000,90,,5,1,1706056,2,34,3,33,11,{},{ bonus bDex,2; },,,,,,,,,,,,,
+1714,Gakkung,Gakkung,4,42000,0,1100,100,,5,1,1706056,2,34,3,33,11,{},{},,,,,,,,,,,,,,
+1715,Arbalest_,Arbalest,4,48000,0,1000,90,,5,2,1706056,2,34,3,33,11,{},{ bonus bDex,2; },,,,,,,,,,,,,
+1716,Gakkung_,Gakkung,4,42000,0,1100,100,,5,2,1706056,2,34,3,33,11,{},{},,,,,,,,,,,,,,
+1718,Hunter_Bow,Hunter Bow,4,64000,0,1500,125,,5,0,2048,2,34,3,33,11,{},{},,,,,,,,,,,,,,
+1719,Bow_of_Roguemaster,Roguemaster's Bow,4,20,0,500,75,,11,0,131136,2,34,4,48,11,{},{ bonus2 bAddStealRate,100,0; },,,,,,,,,,,,,,
+1720,Bow_of_Rudra,Rudra's Bow,4,20,0,1200,150,,5,0,1705992,2,34,4,48,11,{},{ bonus bAtkEle,6; bonus bInt,5; skill 35,1; skill 28,1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000; }
+1721,Repeating_Crossbow,Repeating Crossbow,4,89000,0,2000,95,,9,1,133184,2,34,3,65,11,{},{},,,,,,,,,,,,,,
+1722,Ballista,Ballista,4,20,0,3500,145,,5,0,1574912,2,34,4,77,11,{},{},,,,,,,,,,,,,,
+// Arrows
+1750,Arrow,Arrow,10,1,0,1,25,,,,1706056,2,32768,,1,,{},{},,,,,,,,,,,,,,
+1751,Silver_Arrow,Silver Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,6; },,,,,,,,,,,,,
+1752,Fire_Arrow,Fire Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,3; },,
+1753,Steel_Arrow,Steel Arrow,10,3,0,2,40,,,,1706056,2,32768,,1,,{},{},,,
+1754,Crystal_Arrow,Crystal Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,1; },,
+1755,Arrow_of_Wind,Arrow of Wind,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,4; },,
+1756,Stone_Arrow,Stone Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,2; },,
+1757,Immaterial_Arrow,Immaterial Arrow,10,3,0,1,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,8; },,
+1758,Stun_Arrow,Stun Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Stan,500; },
+1759,Freezing_Arrow,Freeze Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,1; bonus2 bAddEff,Eff_Freeze,500; }
+1760,Flash_Arrow,Flash Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Blind,500; },
+1761,Curse_Arrow,Curse Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Curse,500; },
+1762,Rusty_Arrow,Rusted Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,5; },,
+1763,Poison_Arrow,Poison Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,5; bonus2 bAddEff,Eff_Poison,500; }
+1764,Incisive_Arrow,Sharp Arrow,10,3,0,3,10,,,,1706056,2,32768,,1,,{},{ bonus bCritical,10; },,
+1765,Oridecon_Arrow,Oridecon Arrow,10,3,0,3,50,,,,1706056,2,32768,,1,,{},{},,,
+1766,Arrow_of_Counter_Evil,Arrow of Counter Evil,10,40,0,3,50,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,6; },,
+1767,Arrow_of_Shadow,Shadow Arrow,10,3,0,2,30,,,,1706056,2,32768,,1,,{},{ bonus bAtkEle,7; },,
+1768,Sleep_Arrow,Sleep Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Sleep,500; }
+1769,Silence_Arrow,Mute Arrow,10,3,0,3,1,,,,1706056,2,32768,,1,,{},{ bonus2 bAddEff,Eff_Silence,500; }
+1770,Iron_Arrow,Iron Arrow,10,2,0,1,30,,,,1706056,2,32768,,1,,{},{},,
+// Knuckles
+1801,Waghnakh,Waghnakh,4,8000,0,400,30,,1,3,33024,2,2,1,1,12,{},{},,
+1802,Waghnakh_,Waghnakh,4,8000,0,400,30,,1,4,33024,2,2,1,1,12,{},{},,
+1803,Knuckle_Duster,Knuckle Duster,4,25000,0,450,50,,1,2,33024,2,2,2,12,12,{},{},,
+1804,Knuckle_Duster_,Knuckle Duster,4,25000,0,450,50,,1,3,33024,2,2,2,12,12,{},{},,
+1805,Hora,Hora,4,32000,0,450,65,,1,2,33024,2,2,2,12,12,{},{},,
+1806,Hora_,Hora,4,32000,0,450,65,,1,3,33024,2,2,2,12,12,{},{},,
+1807,Fist,Fist,4,53000,0,650,115,,1,0,33024,2,2,3,24,12,{},{},,
+1808,Fist_,Fist,4,53000,0,650,115,,1,1,33024,2,2,3,24,12,{},{},,
+1809,Claw,Claw,4,55000,0,500,86,,1,1,33024,2,2,3,24,12,{},{ bonus bStr,2; },
+1810,Claw_,Claw,4,55000,0,500,86,,1,2,33024,2,2,3,24,12,{},{ bonus bStr,2; },
+1811,Finger,Finger,4,58000,0,500,97,,1,1,33024,2,2,3,24,12,{},{},,
+1812,Finger_,Finger,4,58000,0,500,97,,1,2,33024,2,2,3,24,12,{},{},,
+1813,Kaiser_Knuckle,Kaiser Knuckle,4,20,0,450,110,,1,0,33024,2,2,4,36,12,{},{ bonus bAtkEle,4; bonus2 bAddRace,1,5; bonus2 bAddEle,1,10; bonus2 bAddEle,2,10; bonus2 bAddEle,3,10; bonus2 bAddEle,4,10; }
+1814,Berserk,Berserk,4,20,0,500,120,,1,0,33024,2,2,4,36,12,{},{ bonus bAspdRate,12; },,,,,,,,,,
+// Instruments
+1901,Violin,Violin,4,4000,0,700,50,,1,3,524288,2,2,1,2,13,{},{},,,,,,,,,,,
+1902,Violin_,Violin,4,4000,0,700,50,,1,4,524288,2,2,1,2,13,{},{},,,,,,,,,,,
+1903,Mandolin,Mandolin,4,18000,0,400,90,,1,2,524288,2,2,2,14,13,{},{},,,,,,,,,,,
+1904,Mandolin_,Mandolin,4,18000,0,400,90,,1,3,524288,2,2,2,14,13,{},{},,,,,,,,,,,
+1905,Lute,Lute,4,24500,0,500,105,,1,2,524288,2,2,2,14,13,{},{},,,,,,,,,,,
+1906,Lute_,Lute,4,24500,0,500,105,,1,3,524288,2,2,2,14,13,{},{},,,,,,,,,,,
+1907,Guitar,Guitar,4,47000,0,900,142,,1,0,524288,2,2,3,27,13,{},{},,,,,,,,,,,
+1908,Guitar_,Guitar,4,47000,0,900,142,,1,1,524288,2,2,3,27,13,{},{},,,,,,,,,,,
+1909,Harp,Harp,4,62000,0,900,114,,1,1,524288,2,2,3,27,13,{},{ bonus bInt,2; },,,,,,,,,,
+1910,Harp_,Harp,4,62000,0,900,114,,1,2,524288,2,2,3,27,13,{},{ bonus bInt,2; },,,,,,,,,,
+1911,Guh_Moon_Goh,Guhmoongoh,4,54000,0,1300,126,,1,1,524288,2,2,3,27,13,{},{},,,,,,,,,,,
+1912,Guh_Moon_Goh_,Guhmoongoh,4,54000,0,1300,126,,1,2,524288,2,2,3,27,13,{},{},,,,,,,,,,,
+1913,Electric_Guitar,Electric Guitar,4,20,0,1800,110,,1,0,524288,2,2,4,70,13,{},{ bonus3 bAutoSpell,84,1,25; bonus bAtkEle,4; bonus bInt,2; bonus bAgi,1; }
+// Whips
+1950,Rope,Rope,4,2500,0,400,45,,2,3,1048576,2,2,1,3,14,{},{},,,
+1951,Rope_,Rope,4,2500,0,400,45,,2,4,1048576,2,2,1,3,14,{},{},,,
+1952,Line,Line,4,12000,0,300,80,,2,2,1048576,2,2,2,16,14,{},{},,,
+1953,Line_,Line,4,12000,0,300,80,,2,3,1048576,2,2,2,16,14,{},{},,,
+1954,Wire,Wire,4,17500,0,1000,95,,2,2,1048576,2,2,2,16,14,{},{},,,
+1955,Wire_,Wire,4,17500,0,1000,95,,2,3,1048576,2,2,2,16,14,{},{},,,
+1956,Rante_Whip,Rante Whip,4,32000,0,900,135,,2,0,1048576,2,2,3,30,14,{},{},,,
+1957,Rante_Whip_,Rante Whip,4,32000,0,900,135,,2,1,1048576,2,2,3,30,14,{},{},,,
+1958,Tail,Tail,4,41000,0,700,105,,2,1,1048576,2,2,3,30,14,{},{ bonus bLuk,3; },,
+1959,Tail_,Tail,4,41000,0,700,105,,2,2,1048576,2,2,3,30,14,{},{ bonus bLuk,3; },,
+1960,Whip,Whip,4,38000,0,700,120,,2,1,1048576,2,2,3,30,14,{},{},,,
+1961,Whip_,Whip,4,38000,0,700,120,,2,2,1048576,2,2,3,30,14,{},{},,,
+1962,Lariat,Lariat,4,20,0,400,100,,2,0,1048576,2,2,4,44,14,{},{ bonus bDex,5; bonus bAgi,1; },
+1963,Rapture_Rose,Rapture Rose,4,20,0,300,115,,2,0,1048576,2,2,4,44,14,{},{ bonus bAtkEle,5; bonus2 bAddEff,Eff_Poison,5000; }
+1964,Chemeti,Chemeti,4,20,0,700,135,,2,0,1048576,2,2,4,44,14,{},{ bonus bCritical,5; bonus bFlee,10; bonus bFlee2,2; }
+
+1998,Jeramiah's_Jur,Jeramiah's Jur,3,20,0,10,,,,,,,,,,,{},{}
+1999,Zed's_Staff,Zed's Staff,3,20,0,10,,,,,,,,,,,{},{}
+
+// Shields
+//===================================================================
+2101,Guard,Guard,5,500,0,300,,3,,0,10477567,2,32,,0,1,{},{},,,
+2102,Guard_,Guard,5,500,0,300,,3,,1,10477567,2,32,,0,1,{},{},,,
+2103,Buckler,Buckler,5,14000,0,600,,4,,0,2020850,2,32,,0,2,{},{},,,
+2104,Buckler_,Buckler,5,14000,0,600,,4,,1,2020850,2,32,,0,2,{},{},,,
+2105,Shield,Shield,5,56000,0,1300,,6,,0,16514,2,32,,0,3,{},{},,,
+2106,Shield_,Shield,5,56000,0,1300,,6,,1,16514,2,32,,0,3,{},{},,,
+2107,Mirror_Shield,Mirror Shield,5,60000,0,1000,,4,,0,16514,2,32,,0,4,{},{ bonus bMdef,5; },,
+2108,Mirror_Shield_,Mirror Shield,5,60000,0,1000,,4,,1,16514,2,32,,0,4,{},{ bonus bMdef,5; },,
+2109,Memorize_Book,Book of Summoning,5,20,0,1000,,3,,0,66052,2,32,,0,,{},{ bonus bInt,1; bonus bMdef,2; },
+2110,Holy_Guard,Holy Guard,5,20,0,1400,,5,,0,16384,2,32,,68,3,{},{ bonus bVit,2; bonus bMdef,2; },
+2111,Evangelist,Evangelist,5,20,0,1400,,5,,0,16384,2,32,,83,3,{},{ bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakable,100; }
+2112,Novice_Guard,Novice Guard,5,20,0,1,,3,,0,8388609,2,32,,0,1,{},{},,,
+2199,Ahura_Mazda,Ahura Mazda,5,20,0,100,,,,0,10477567,2,32,,,,{},{ bonus bMdef,1; bonus bDef,1; bonus bFlee2,1; bonus2 bSubEle,0,1; }
+
+// Headgear items
+//===================================================================
+2201,Sunglasses,Sunglasses,5,5000,0,100,,0,,0,10477567,2,512,,0,12,{},{ bonus2 bResEff,Eff_Blind,500; },
+2202,Sunglasses_,Sunglasses,5,5000,0,100,,0,,1,10477567,2,512,,0,12,{},{ bonus2 bResEff,Eff_Blind,500; }
+2203,Glasses,Glasses,5,4000,0,100,,0,,0,10477567,2,512,,0,3,{},{},,
+2204,Glasses_,Glasses,5,4000,0,100,,0,,1,10477567,2,512,,0,3,{},{},,
+2205,Diver's_Goggles,Diver Goggles,5,3500,0,100,,0,,0,10477567,2,512,,0,10,{},{},,
+2206,Wedding_Veil,Wedding Veil,5,23000,0,100,,0,,0,10477567,0,256,,0,44,{},{ bonus bMdef,5; },
+2207,Fancy_Flower,Fancy Flower,5,20,0,100,,0,,0,10477567,2,256,,0,4,{},{ bonus2 bSubRace,3,10; }
+2208,Ribbon,Ribbon,5,800,0,100,,1,,0,10477567,2,256,,0,17,{},{ bonus bMdef,3; },
+2209,Ribbon_,Ribbon,5,800,0,100,,1,,1,10477567,2,256,,0,17,{},{ bonus bMdef,3; },
+2210,Hair_Band,Hair Band,5,500,0,100,,1,,0,10477567,2,256,,0,9,{},{},,
+2211,Bandana,Bandana,5,400,0,100,,1,,0,10477567,2,256,,0,6,{},{},,
+2212,Eye_Bandage,Eye Patch,5,1000,0,100,,0,,0,10477567,2,512,,0,13,{},{},,
+2213,Kitty_Band,Kitty Band,5,20,0,100,,2,,0,10477567,2,256,,0,2,{},{},,
+2214,Bunny_Band,Bunny Band,5,20,0,100,,2,,0,10477567,2,256,,0,15,{},{ bonus bLuk,2; },
+2215,Flower_Hairband,Flower Band,5,20,0,100,,2,,0,10477567,2,256,,0,5,{},{},,
+2216,Biretta,Biretta,5,9000,0,100,,4,,0,33040,2,256,,0,11,{},{},,
+2217,Biretta_,Biretta,5,9000,0,100,,4,,1,33040,2,256,,0,11,{},{},,
+2218,Flu_Mask,Flu Mask,5,300,0,100,,0,,0,10477567,2,1,,0,8,{},{ bonus2 bResEff,Eff_Silence,1000; }
+2219,Flu_Mask_,Flu Mask,5,300,0,100,,0,,1,10477567,2,1,,0,8,{},{ bonus2 bResEff,Eff_Silence,1000; }
+2220,Hat,Hat,5,1000,0,200,,2,,0,10477567,2,256,,0,16,{},{},,
+2221,Hat_,Hat,5,1000,0,200,,2,,1,10477567,2,256,,0,16,{},{},,
+2222,Turban,Turban,5,4500,0,300,,3,,0,2088958,2,256,,0,7,{},{},,
+2223,Turban_,Turban,5,4500,0,300,,3,,1,2088958,2,256,,0,7,{},{},,
+2224,Goggles,Goggles,5,10000,0,300,,5,,0,1989866,2,768,,0,1,{},{},,
+2225,Goggles_,Goggles,5,10000,0,300,,5,,1,1989866,2,768,,0,1,{},{},,
+2226,Cap,Cap,5,12000,0,400,,4,,0,1989866,2,256,,0,14,{},{},,
+2227,Cap_,Cap,5,12000,0,400,,4,,1,1989866,2,256,,0,14,{},{},,
+2228,Helm,Helm,5,44000,0,600,,6,,0,16514,2,256,,0,40,{},{},,
+2229,Helm_,Helm,5,44000,0,600,,6,,1,16514,2,256,,0,40,{},{},,
+2230,Gemmed_Sallet,Gemmed Sallet,5,50000,0,500,,4,,0,414946,2,256,,0,0,{},{ bonus bMdef,3; },
+2231,Gemmed_Sallet_,Gemmed Sallet,5,50000,0,500,,4,,1,414946,2,256,,0,0,{},{ bonus bMdef,3; },
+2232,Circlet,Circlet,5,7500,0,300,,3,,0,99092,2,256,,0,18,{},{ bonus bMdef,3; },
+2233,Circlet_,Circlet,5,7500,0,300,,3,,1,99092,2,256,,0,18,{},{ bonus bMdef,3; },
+2234,Tiara,Tiara,5,20,0,400,,4,,0,2088958,0,256,,45,19,{},{ bonus bInt,2; },
+2235,Crown,Crown,5,20,0,400,,4,,0,2088958,1,256,,45,45,{},{ bonus bInt,2; },
+2236,Santa's_Hat,Santa's Hat,5,20,0,100,,1,,0,10477567,2,256,,0,20,{},{ bonus bMdef,1; bonus bLuk,1; }
+2237,Bandit_Beard,Bandit Beard,5,2,0,100,,0,,0,10477567,2,1,,0,21,{},{},,
+2238,Moustache,Moustache,5,2,0,100,,0,,0,10477567,2,1,,0,22,{},{},,
+2239,Single_Glass,Single Glass,5,10000,0,100,,0,,0,10477567,2,512,,0,23,{},{},,
+2240,Beard,Beard,5,2,0,100,,0,,0,10477567,2,1,,0,24,{},{},,
+2241,Granpa_Beard,Granpa Beard,5,5000,0,100,,0,,0,10477567,2,1,,0,25,{},{},,
+2242,Purple_Sunglasses,Purple Glasses,5,24000,0,100,,1,,0,10477567,2,512,,0,26,{},{ bonus2 bResEff,Eff_Blind,1000; }
+2243,Geek_Glasses,Geek Glasses,5,20000,0,100,,1,,0,10477567,2,512,,0,27,{},{ bonus2 bResEff,Eff_Blind,1500; }
+2244,Big_Ribbon,Big Ribbon,5,15000,0,200,,2,,0,2088958,2,256,,0,28,{},{ bonus bMdef,3; },
+2245,Sweet_Gent,Sweet Gent,5,15000,0,400,,3,,0,2088958,2,256,,0,29,{},{},,
+2246,Golden_Gear,Golden Gear,5,20,0,900,,5,,0,2088958,2,256,,40,30,{},{ bonus2 bSubEle,0,10; },,
+2247,Romantic_Gent,Romantic Gent,5,15000,0,400,,3,,0,2088958,2,256,,0,31,{},{},,
+2248,Western_Grace,Western Grace,5,15000,0,400,,3,,0,2088958,2,256,,0,32,{},{},,
+2249,Coronet,Coronet,5,20,0,300,,3,,0,2088958,2,256,,0,33,{},{ bonus bInt,1; },
+2250,Fillet,Cute Ribbon,5,500,0,100,,1,,0,2088958,2,256,,0,34,{},{ bonus bMaxSP,20; },,,,
+2251,Holy_Bonnet,Monk Hat,5,30000,0,100,,5,,0,33040,2,256,,0,35,{},{ bonus bMdef,3; },,,,
+2252,Wizard_Hat,Wizard Hat,5,20,0,300,,4,,0,66052,2,256,,0,36,{},{ bonus bMaxSP,100; },,,,
+2253,Sunflower,Sunflower,5,20,0,100,,1,,0,10477567,2,256,,0,37,{},{ bonus2 bSubRace,4,10; },,,
+2254,Angel_Wing,Angel Wing,5,20,0,100,,2,,0,2088958,2,256,,0,38,{},{ bonus bMdef,3; bonus bAgi,1; bonus bLuk,1; bonus2 bSubRace,6,3; }
+2255,Evil_Wing,Evil Wing,5,20,0,100,,3,,0,2088958,2,256,,0,39,{},{ bonus bMdef,2; bonus bStr,1; bonus2 bSubRace,8,3; },
+2256,Majestic_Goat,Majestic Goat,5,20,0,800,,5,,0,279714,2,256,,0,41,{},{ bonus bStr,1; },,,,
+2257,Snow_Horn,Snow Horn,5,20,0,100,,2,,0,10477567,2,256,,0,42,{},{},,,,,
+2258,Spiky_Band,Spiky Band,5,20,0,1000,,6,,0,447986,2,256,,50,43,{},{},,,,,
+2259,Mini_Propeller,Mini Propeller,5,20,0,100,,1,,0,10477567,2,256,,0,46,{},{},,,,,
+2260,Mini_Glasses,Mini Glasses,5,28000,0,100,,1,,0,2088958,2,512,,0,47,{},{},,,,,
+2261,Army_Cap,Army Cap,5,20,0,400,,4,,0,414946,2,256,,0,48,{},{},,,,,
+2262,Pierrot_Nose,Pierrot Nose,5,20,0,100,,0,,0,10477567,2,1,,0,49,{},{},,,,,
+2263,Zorro_Masque,Zorro Masque,5,20,0,100,,0,,0,2088958,2,512,,0,50,{},{},,,,,
+2264,Munak_Hat,Munak Hat,5,20,0,300,,5,,0,10477567,2,769,,0,51,{},{ bonus2 bSubRace,1,10; },,,
+2265,Gangster_Mask,Gangster Mask,5,20,0,100,,0,,0,10477567,2,1,,0,52,{},{ bonus2 bResEff,Eff_Silence,1500; },,,
+2266,Iron_Cain,Iron Cain,5,20,0,300,,1,,0,16514,2,1,,50,53,{},{},,,
+2267,Cigar,Cigar,5,20,0,100,,0,,0,2088958,2,1,,0,54,{},{ bonus2 bSubRace,4,3; },
+2268,Pipe,Pipe,5,20,0,100,,0,,0,2088958,2,1,,0,55,{},{ bonus2 bSubRace,4,3; },
+2269,Centimental_Flower,Romantic Flower,5,20,0,100,,0,,0,2088958,2,1,,0,56,{},{ bonus2 bSubRace,3,3; },
+2270,Centimental_Leaf,Romantic Leaf,5,20,0,100,,0,,0,2088958,2,1,,0,57,{},{ bonus2 bSubRace,3,3; },
+2271,Jack_a_Dandy,Jack a Dandy,5,45000,0,100,,1,,0,2088958,2,256,,0,58,{},{},,,
+2272,Stop_Post,Stop Post,5,20,0,400,,1,,0,10477567,2,256,,0,59,{},{},,,
+2273,Doctor_Cap,Doctor Band,5,20,0,100,,1,,0,2088958,2,256,,0,60,{},{ bonus bInt,1; },,
+2274,Ghost_Bandana,Ghost Bandana,5,20,0,100,,0,,0,2088958,2,256,,0,61,{},{ bonus bAgi,2; bonus2 bSubEle,8,10; }
+2275,Red_Bandana,Red Bandana,5,20,0,100,,2,,0,10477567,2,256,,0,62,{},{},,,
+2276,Eagle_Eyes,Eagle Eyes,5,20,0,100,,1,,0,10477567,2,512,,0,63,{},{},,,
+2277,Nurse_Cap,Nurse Cap,5,20,0,100,,1,,0,33040,2,256,,0,64,{},{ bonus bInt,1; bonus bLuk,1; },
+2278,Mr_Smile,Mr. Smile,5,60,0,100,,1,,0,10477567,2,513,,0,65,{},{},,,
+2279,Bomb_Wick,Bomb Wick,5,20,0,100,,1,,0,10477567,2,256,,0,66,{},{},,,
+2280,Sakkat,Sakkat,5,20,0,300,,3,,0,10477567,2,256,,0,67,{},{ bonus bAgi,1; },,
+2281,Opera_Masque,Opera Masque,5,8000,0,200,,2,,0,2088958,2,513,,0,68,{},{},,,
+2282,Heaven_Ring,Heaven Ring,5,20,0,100,,0,,0,10477567,2,256,,0,69,{},{ bonus2 bSubEle,6,10; }
+2283,Ear_Mufs,Ear Mufs,5,20,0,200,,3,,0,10477567,2,256,,0,70,{},{ bonus2 bResEff,Eff_Curse,1000; }
+2284,Antler,Antler,5,20,0,500,,4,,0,2088958,2,256,,0,71,{},{},,
+2285,Apple_o'_Archer,Apple o' Archer,5,20,0,200,,0,,0,2088958,2,256,,30,72,{},{ bonus bDex,3; },
+2286,Elven_Ears,Elven Ears,5,20,0,100,,0,,0,2088958,2,512,,70,73,{},{},,
+2287,Pirate_Bandana,Pirate Bandana,5,20,0,100,,3,,0,2088958,2,256,,0,74,{},{ bonus bStr,1; },
+2288,Mr_Scream,Mr. Scream,5,20,0,100,,1,,0,2088958,2,513,,0,75,{},{},,
+2289,Poo_Poo_Hat,Poo Poo Hat,5,20,0,700,,0,,0,10477567,2,256,,0,76,{},{ bonus2 bSubRace,7,10; }
+2290,Funeral_Hat,Funeral Hat,5,3000,0,100,,1,,0,10477567,2,256,,0,77,{},{},,
+2291,Masquerade,Masquerade,5,20,0,100,,0,,0,2088958,2,512,,0,78,{},{ bonus2 bAddRace,7,3; }
+2292,Welding_Mask,Welding Mask,5,20,0,300,,2,,0,263200,2,513,,50,79,{},{ bonus2 bSubEle,3,10; }
+2293,Pretend_Murdered,Pretend Murdered,5,20,0,100,,1,,0,10477567,2,256,,0,80,{},{},,
+2294,Stellar,Stellar,5,20,0,100,,1,,0,10477567,2,256,,0,81,{},{},,
+2295,Blinker,Blinker,5,1500,0,100,,0,,0,2088958,2,512,,0,82,{},{ bonus2 bResEff,Eff_Blind,10000; }
+2296,Binoculars,Binoculars,5,20,0,100,,1,,0,1574920,2,512,,50,83,{},{ bonus bDex,1; },
+2297,Goblini_Mask,Goblini Mask,5,20,0,100,,1,,0,2088958,2,513,,0,84,{},{},,
+2298,Green_Feeler,Green Feeler,5,20,0,100,,2,,0,10477567,2,256,,0,85,{},{}
+2299,Viking_Helm,Viking Helm,5,20,0,500,,5,,0,414946,2,256,,0,86,{},{}
+
+// Armor
+//===================================================================
+2301,Cotton_Shirt,Cotton Shirt,5,10,0,100,,1,,0,10477567,2,16,,0,0,{},{}
+2302,Cotton_Shirt_,Cotton Shirt,5,10,0,100,,1,,1,10477567,2,16,,0,0,{},{}
+2303,Leather_Jacket,Leather Jacket,5,200,0,200,,2,,0,10477567,2,16,,0,0,{},{}
+2304,Leather_Jacket_,Leather Jacket,5,200,0,200,,2,,1,10477567,2,16,,0,0,{},{}
+2305,Adventure_Suit,Adventurer's Suit,5,1000,0,300,,3,,0,10477567,2,16,,0,0,{},{}
+2306,Adventure_Suit_,Adventurer's Suit,5,1000,0,300,,3,,1,10477567,2,16,,0,0,{},{}
+2307,Mantle,Mantle,5,10000,0,600,,4,,0,2088958,2,16,,0,0,{},{}
+2308,Mantle_,Mantle,5,10000,0,600,,4,,1,2088958,2,16,,0,0,{},{}
+2309,Coat,Coat,5,22000,0,1200,,5,,0,2088958,2,16,,0,0,{},{}
+2310,Coat_,Coat,5,22000,0,1200,,5,,1,2088958,2,16,,0,0,{},{}
+2311,Mink_Coat,Mink Coat,5,50000,0,2300,,6,,1,2088958,2,16,,30,0,{},{}
+2312,Padded_Armor,Padded Armor,5,48000,0,2800,,7,,0,414946,2,16,,0,0,{},{}
+2313,Padded_Armor_,Padded Armor,5,48000,0,2800,,7,,1,414946,2,16,,0,0,{},{}
+2314,Chain_Mail,Chain Mail,5,65000,0,3300,,8,,0,414946,2,16,,0,0,{},{},,,,,
+2315,Chain_Mail_,Chain Mail,5,65000,0,3300,,8,,1,414946,2,16,,0,0,{},{},,,,,
+2316,Full_Plate,Full Plate,5,80000,0,4500,,10,,0,16514,2,16,,40,0,{},{},,,,,
+2317,Full_Plate_,Full Plate,5,80000,0,4500,,10,,1,16514,2,16,,40,0,{},{},,,,,
+2318,Clothes_of_the_Lord,Lord's Clothes,5,20,0,2500,,8,,1,263200,2,16,,70,0,{},{ bonus bMdef,5; bonus bInt,1; },,,
+2319,Glittering_Clothes,Glittering Jacket,5,20,0,2500,,7,,1,2088958,2,16,,60,0,{},{ bonus bMdef,5; bonus2 bAddEffect,Eff_Blind,500; },,,,
+2320,Formal_Suit,Formal Suit,5,20,0,300,,5,,1,2088958,2,16,,0,0,{},{},,,,,
+2321,Silk_Robe,Silk Robe,5,8000,0,400,,3,,0,378806,2,16,,0,0,{},{ bonus bMdef,10; },,,,
+2322,Silk_Robe_,Silk Robe,5,8000,0,400,,3,,1,378806,2,16,,0,0,{},{ bonus bMdef,10; },,,,
+2323,Scapulare,Scapulare,5,6500,0,400,,4,,0,33040,2,16,,0,0,{},{},,,,,
+2324,Scapulare_,Scapulare,5,6500,0,400,,4,,1,33040,2,16,,0,0,{},{},,,,,
+2325,Saint_Robe,Saint's Robe,5,54000,0,600,,6,,0,296240,2,16,,0,0,{},{ bonus bMdef,5; },,,,
+2326,Saint_Robe_,Saint's Robe,5,54000,0,600,,6,,1,296240,2,16,,0,0,{},{ bonus bMdef,5; },,,,
+2327,Holy_Robe,Holy Robe,5,20,0,1700,,7,,0,33040,2,16,,60,0,{},{ bonus bMdef,5; bonus2 bSubRace,6,15; bonus2 bSubEle,7,10; }
+2328,Wooden_Mail,Wooden Mail,5,5500,0,1000,,4,,0,279714,2,16,,0,0,{},{},,,,,
+2329,Wooden_Mail_,Wooden Mail,5,5500,0,1000,,4,,1,279714,2,16,,0,0,{},{},,,,,
+2330,Tights,Tights,5,71000,0,500,,6,,0,1574920,2,16,,45,0,{},{ bonus bDex,1; },
+2331,Tights_,Tights,5,71000,0,500,,6,,1,1574920,2,16,,45,0,{},{ bonus bDex,1; },
+2332,Silver_Robe,Silver Robe,5,7000,0,700,,4,,0,66052,2,16,,0,0,{},{},,
+2333,Silver_Robe_,Silver Robe,5,7000,0,700,,4,,1,66052,2,16,,0,0,{},{},,
+2334,Mage_Coat,Mage Coat,5,20,0,600,,5,,0,66052,2,16,,50,0,{},{ bonus bMdef,5; bonus bInt,1; }
+2335,Thief_Clothes,Thief Clothes,5,74000,0,100,,6,,0,135232,2,16,,0,0,{},{ bonus bAgi,1; },
+2336,Thief_Clothes_,Thief Clothes,5,74000,0,100,,6,,1,135232,2,16,,0,0,{},{ bonus bAgi,1; },
+2337,Ninja_Suit,Ninja Suit,5,20,0,1500,,7,,0,135232,2,16,,50,0,{},{ bonus bAgi,1; bonus bMdef,3; }
+2338,Wedding_Dress,Wedding Dress,5,43000,0,500,,0,,0,10477566,0,16,,0,0,{},{ bonus bMdef,15; changebase 22; },
+2339,Pantie,Pantie,5,1000,0,100,,4,,0,10477567,2,16,,0,0,{},{},,
+2340,Novice_Breastplate,Novice Breastplate,5,89000,0,500,,4,,1,8388609,2,16,,10,0,{},{},,
+2341,Legion_Plate_Armor,Legion Plate Armor,5,94000,0,5500,,11,,0,16384,2,16,,70,0,{},{},,
+2342,Legion_Plate_Armor_,Legion Plate Armor,5,94000,0,5500,,11,,1,16384,2,16,,70,0,{},{},,
+2343,Robe_of_Casting,Casting Robe,5,20,0,1100,,5,,0,66048,2,16,,75,0,{},{ bonus bCastrate,-3; },
+2344,Armor_of_Fire,Lucias's Volcano Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,3; },
+2345,Armor_of_Fire_,Lucias's Volcano Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,3; },
+2346,Armor_of_Water,Sapien's Ocean Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,1; },
+2347,Armor_of_Water_,Sapien's Ocean Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,1; },
+2348,Armor_of_Wind,Ebeshi's Typhoon Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,4; },
+2349,Armor_of_Wind_,Ebeshi's Typhoon Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,4; },
+2350,Armor_of_Land,Kreitos's Earth Armor,5,20,0,2200,,4,,0,279714,2,16,,45,0,{},{ bonus bDefEle,2; },
+2351,Armor_of_Land_,Kreitos's Earth Armor,5,20,0,2200,,4,,1,279714,2,16,,45,0,{},{ bonus bDefEle,2; },
+2352,Armor_For_Novice,Novice Ninja Suit,5,20,0,1,,4,,0,8388609,2,16,,0,0,{},{},,
+
+// Foot gear
+//===================================================================
+2401,Sandals,Sandals,5,400,0,200,,1,,0,10477567,2,64,,0,0,{},{}
+2402,Sandals_,Sandals,5,400,0,200,,1,,1,10477567,2,64,,0,0,{},{}
+2403,Shoes,Shoes,5,3500,0,400,,2,,0,2088958,2,64,,0,0,{},{}
+2404,Shoes_,Shoes,5,3500,0,400,,2,,1,2088958,2,64,,0,0,{},{}
+2405,Boots,Boots,5,18000,0,600,,4,,0,1989866,2,64,,0,0,{},{}
+2406,Boots_,Boots,5,18000,0,600,,4,,1,1989866,2,64,,0,0,{},{}
+2407,Crystal_Pumps,Crystal Pumps,5,20,0,100,,0,,0,2088958,0,64,,0,0,{},{ bonus bMdef,10; bonus bLuk,5; }
+2408,Cuffs,Cuffs,5,5000,0,3000,,3,,0,10477567,2,64,,0,0,{},{}
+2409,Spiky_Heel,Spiky Heel,5,8500,0,600,,2,,0,2088958,2,64,,0,0,{},{ bonus bMdef,5; }
+2410,Sleipnir,Sleipnir,5,20,0,3500,,0,,0,10477567,2,64,,95,0,{},{ bonus bMdef,10; bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bSPrecovRate,15; bonus bSpeedRate,25; }
+2411,Greaves,Greaves,5,48000,0,750,,5,,0,16512,2,64,,65,0,{},{},,,,
+2412,Greaves_,Greaves,5,48000,0,750,,5,,1,16512,2,64,,65,0,{},{},,,,
+2413,Safety_Shoes,Safety Shoes,5,20,0,350,,6,,0,16514,2,64,,30,0,{},{},,,,
+2414,Sandal_For_Novice,Novice Sandals,5,20,0,1,,2,,0,8388609,2,64,,0,0,{},{},,,,
+2415,Bunny_Slippers,Bunny Slippers,5,20,0,300,,,,,2088958,0,64,,,0,{},{ bonus bLuk,3; }
+
+// Garments
+//===================================================================
+2501,Hood,Hood,5,1000,0,200,,1,,0,10477567,2,4,,0,0,{},{},,,,
+2502,Hood_,Hood,5,1000,0,200,,1,,1,10477567,2,4,,0,0,{},{},,,,
+2503,Muffler,Muffler,5,5000,0,400,,2,,0,2088958,2,4,,0,0,{},{},,,,
+2504,Muffler_,Muffler,5,5000,0,400,,2,,1,2088958,2,4,,0,0,{},{},,,,
+2505,Manteau,Manteau,5,32000,0,600,,4,,0,414946,2,4,,0,0,{},{},,,,
+2506,Manteau_,Manteau,5,32000,0,600,,4,,1,414946,2,4,,0,0,{},{},,,,
+2507,Cape_Of_Ancient_Lord,Cape of Old Marquess,5,20,0,600,,2,,0,2088958,2,4,,40,0,{},{ bonus bAgi,1; },,,
+2508,Ragamuffin_Cape,Ragamuffin Manteau,5,20,0,500,,1,,0,2088958,2,4,,0,0,{},{ bonus bMdef,10; bonus bUnbreakable,100; },,,
+2509,Manteau_of_Survival,Manteau of Life,5,20,0,550,,0,,0,66052,2,4,,75,0,{},{ bonus bVit,10; },,,
+2510,Hood_For_Novice,Novice Hood,5,20,0,1,,2,,0,8388609,2,4,,0,0,{},{},,
+
+// Accessories
+//===================================================================
+2601,Ring,Ring,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bStr,2; },
+2602,Earring,Earring,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bInt,2; },
+2603,Necklace,Necklace,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bVit,2; },
+2604,Glove,Glove,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bDex,2; },
+2605,Brooch,Brooch,5,30000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bAgi,2; },
+2607,Clip,Clip,5,30000,0,100,,0,,1,10477567,2,136,,0,0,{},{ bonus bMaxSP,10; },
+2608,Rosary,Rosary,5,15000,0,100,,0,,0,2088958,2,136,,20,0,{},{ bonus bMdef,5; bonus bLuk,2; }
+2609,Skull_Ring,Skull Ring,5,10000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
+2610,Gold_Ring,Gold Ring,5,30000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
+2611,Silver_Ring,Silver Ring,5,20000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
+2612,Flower_Ring,Flower Ring,5,1500,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
+2613,Diamond_Ring,Diamond Ring,5,45000,0,100,,0,,0,10477567,2,136,,0,0,{},{},,
+2614,Eye_of_Dullahan,Eye of Dullahan,5,90000,0,100,,0,,0,2088958,2,136,,50,0,{},{ bonus2 bResEff,Eff_Poison,1000; bonus2 bResEff,Eff_Curse,1000; bonus2 bResEff,Eff_Silence,1000; bonus2 bResEff,Eff_Confusion,1000; bonus2 bResEff,Eff_Blind,1000;  },,
+2615,Safety_Ring,Safety Ring,5,75000,0,100,,3,,0,2088958,2,136,,40,0,{},{ bonus bMdef,3; },,,,
+2616,Critical_Ring,Critical Ring,5,75000,0,100,,0,,0,2088958,2,136,,40,0,{},{ bonus bCritical,5; },,,,
+2617,Celebrant's_Mitten,Celebrant's Mitten,5,20,0,100,,1,,0,2088958,2,136,,35,0,{},{ bonus bInt,1; },,,,
+2618,Matyr's_Leash,Matyr's Leash,5,20,0,100,,1,,0,2088958,2,136,,35,0,{},{ bonus bAgi,1; },,,,
+2619,Thimble_Of_Archer,Bow Thimble,5,30000,0,100,,0,,0,1574920,2,136,,65,0,{},{},,,,,
+2620,Ring_Of_Rogue,Rogue's Treasure,5,30000,0,100,,0,,0,135232,2,136,,70,0,{},{ bonus bAddStealRate,100; },,,,,
+2621,Ring_,Ancient Ring,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bStr,1; },,,,
+2622,Earring_,Ancient Earring,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bInt,1; },,,,
+2623,Necklace_,Ancient Necklace,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bVit,1; },,,,
+2624,Glove_,Ancient Glove,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bDex,1; },,,,
+2625,Brooch_,Ancient Brooch,5,30000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bAgi,1; },,,,
+2626,Rosary_,Ancient Rosary,5,15000,0,200,,0,,1,2088958,2,136,,90,0,{},{ bonus bMdef,3; bonus bLuk,1; },,,
+2627,Belt,Ancient Belt,5,20000,0,1200,,0,,1,10477567,2,136,,25,0,{},{},,,,,
+2628,Novice_Armlet,Novice Armlet,5,400,0,200,,0,,1,8388609,2,136,,0,0,{},{ bonus bStr,1; bonus bInt,1; bonus bLuk,1; },,
+2629,Megingjard,Megingjard,5,20,0,8000,,2,,0,10477567,2,136,,90,0,{},{ bonus bStr,40; bonus bMdef,7; },,,
+2630,Brisingamen,Brisingamen,5,20,0,1500,,1,,0,10477567,2,136,,95,0,{},{ bonus bStr,3; bonus bAgi,3; bonus bVit,3; bonus bInt,3; bonus bMdef,5; }
+2631,Celebration_Ring,Celebration Ring,5,20,0,10,,0,,0,10477567,2,136,,0,0,{},{ bonus bStr,2; bonus bAgi,2; bonus bVit,2; bonus bInt,2; bonus bDex,2; bonus bLuk,2; }
+2634,Wedding_Ring_M,Wedding Ring,4,20,0,0,,,,0,10477567,1,2,,0,,{},{ skill 334,1; skill 336,1; }
+2635,Wedding_Ring_F,Wedding Ring,4,20,0,0,,,,0,10477567,0,2,,0,,{},{ skill 335,1; skill 336,1; }
+2636,Gold_Christmas_Ring,Gold Xmas Ring,5,20,0,0,,0,,0,10477567,2,136,,0,,{},{}
+2637,Silver_Christmas_Ring,Silver Xmas Ring,5,20,0,0,,0,,0,10477567,2,136,,0,,{},{}
+2638,Exorcize_Sachet,Exorcize Sachet,5,20,0,100,,0,,,10477567,2,136,,0,,{},{ bonus bStr,1; bonus bLuk,1; },,,
+2639,Purification_Sachet,Purification Sachet,5,20,0,100,,0,,,10477567,2,136,,0,,{},{ bonus bAgi,1; bonus bInt,1; },,,
+2640,Kafra_Ring,Kafra Ring,5,20,0,10,,,,,2088958,2,136,,,,{},{ bonus bStr,1; bonus bAgi,1; bonus bInt,1; bonus bLuk,1; }
+
+// Cards
+//===================================================================
+4001,Poring_Card,Poring Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bLuk,2; bonus bFlee2,1; }
+4002,Fabre_Card,Fabre Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bVit,1; bonus bMaxHP,100; }
+4003,Pupa_Card,Pupa Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHP,700; }
+4004,Drops_Card,Drops Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDex,1; bonus bHit,3; }
+4005,Poring__Card,Poring  Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,7,20; }
+4006,Lunatic_Card,Lunatic Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bLuk,1; bonus bCritical,1; bonus bFlee2,1; }
+4007,Pecopeco_Egg_Card,Pecopeco Egg Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,0,20; }
+4008,Picky_Card,Picky Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bStr,1; bonus bBaseAtk,10; }
+4009,Chonchon_Card,Chonchon Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAgi,1; bonus bFlee,2; }
+4010,Wilow_Card,Wilow Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bMaxSP,80; }
+4011,Picky__Card,Picky  Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bVit,1; bonus bMaxHP,100; }
+4012,Thief_Bug_Egg_Card,Thief Bug Egg Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHP,400; }
+4013,Andre_Egg_Card,Andre Egg Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHPrate,5; }
+4014,Roda_Frog_Card,Roda Frog Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHP,400; bonus bMaxSP,50; }
+4015,Condor_Card,Condor Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee,10; }
+4016,Thief_Bug_Card,Thief Bug Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bAgi,1; }
+4017,Savage_Babe_Card,Savage Babe Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Stan,500; }
+4018,Andre_Larva_Card,Andre Larva Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bInt,1; bonus bMaxSP,10; }
+4019,Hornet_Card,Hornet Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bStr,1; bonus bBaseAtk,3; }
+4020,Farmiliar_Card,Farmiliar Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Blind,500; bonus bBaseAtk,5; }
+4021,Rocker_Card,Rocker Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDex,1; }
+4022,Spore_Card,Spore Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bVit,2; }
+4023,Desert_Wolf_Babe_Card,Desert Wolf Babe Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bInt,1; }
+4024,Plankton_Card,Plankton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Sleep,500; bonus bBaseAtk,5; }
+4025,Skeleton_Card,Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,10; bonus2 bAddEff,Eff_Stan,200; }
+4026,Thief_bug_Female_Card,Thief bug Female Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAgi,1; bonus bFlee,1; }
+4027,Kukre_Card,Kukre Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bAgi,2; }
+4028,Tarou_Card,Tarou Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bStr,2; }
+4029,Wolf_Card,Wolf Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,15; bonus bCritical,1; }
+4030,Mandragora_Card,Mandragora Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,4,20; }
+4031,Pecopeco_Card,Pecopeco Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHPrate,10; }
+4032,Ambernite_Card,Ambernite Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDef,2; }
+4033,Poporing_Card,Poporing Card,6,20,0,10,,,,,,,136,,,,{},{ skill 53,1; }
+4034,Worm_Tail_Card,Worm Tail Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bDex,2; }
+4035,Hydra_Card,Hydra Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,7,20; }
+4036,Muka_Card,Muka Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bHPrecovRate,10; }
+4037,Snake_Card,Snake Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Poison,500; bonus bBaseAtk,5; }
+4038,Zombie_Card,Zombie Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bHPrecovRate,20; }
+4039,Stainer_Card,Stainer Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Silence,2000; bonus bDef,1; }
+4040,Creamy_Card,Creamy Card,6,20,0,10,,,,,,,136,,,,{},{ skill 26,1; }
+4041,Coco_Card,Coco Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Sleep,2000; bonus bDef,1; }
+4042,Steel_Chonchon_Card,Steel Chonchon Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bSubEle,4,10; bonus bDef,2; }
+4043,Andre_Card,Andre Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,20; }
+4044,Smokie_Card,Smokie Card,6,20,0,10,,,,,,,136,,,,{},{ skill 51,1; }
+4045,horn_Card,horn Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bLongAtkDef,35; }
+4046,Martin_Card,Martin Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Blind,2000; bonus bDef,1; }
+4047,Ghostring_Card,Ghostring Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,8; bonus bHPrecovRate,-25; }
+4048,Poison_Spore_Card,Poison Spore Card,6,20,0,10,,,,,,,136,,,,{},{ skill 52,3; }
+4049,Vadon_Card,Vadon Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,3,20; }
+4050,Thief_bug_Male_Card,Thief bug Male Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAgi,2; }
+4051,Yoyo_Card,Yoyo Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bFlee2,5; bonus bAgi,1; }
+4052,Elder_Wilow_Card,Elder Wilow Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bInt,2; }
+4053,Vitata_Card,Vitata Card,6,20,0,10,,,,,,,136,,,,{},{ skill 28,1; bonus bUseSPrate,25; }
+4054,Angeling_Card,Angeling Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,6; }
+4055,Marina_Card,Marina Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Freeze,500; bonus bBaseAtk,5; }
+4056,Dustiness_Card,Dustiness Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,4,30; bonus bFlee,5; }
+4057,Metaller_Card,Metaller Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Silence,500; bonus bBaseAtk,5; }
+4058,Thara_Frog_Card,Thara Frog Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,7,30; }
+4059,Soldier_Andre_Card,Soldier Andre Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,3,30; }
+4060,Goblin_Card,Goblin Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,2,20; }
+4061,Cornutus_Card,Cornutus Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDef,1; }
+4062,Anacondaq_Card,Anacondaq Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,5,20; }
+4063,Caramel_Card,Caramel Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,4,20; }
+4064,Zerom_Card,Zerom Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bDex,3; }
+4065,Kaho_Card,Kaho Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,2,20; }
+4066,Orc_Warrior_Card,Orc Warrior Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,2,30; }
+4067,Megalodon_Card,Megalodon Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bResEff,Eff_Freeze,2000; bonus bDef,1; }
+4068,Scorpion_Card,Scorpion Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,3,20; }
+4069,Drainliar_Card,Drainliar Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,1,20; }
+4070,Eggyra_Card,Eggyra Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bSPrecovRate,15; }
+4071,Orc_Zombie_Card,Orc Zombie Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,9,30; bonus bFlee,5; }
+4072,Golem_Card,Golem Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bBaseAtk,5; }
+4073,Pirate_Skel_Card,Pirate Skel Card,6,20,0,10,,,,,,,136,,,,{},{ skill 37,5; }
+4074,BigFoot_Card,BigFoot Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,4,30; }
+4075,Argos_Card,Argos Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bResEff,Eff_Stone,2000; bonus bDef,1; }
+4076,Magnolia_Card,Magnolia Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Curse,500; bonus bBaseAtk,5; }
+4077,Phen_Card,Phen Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bNoCastCancel,0; bonus bCastrate,25; }
+4078,Savage_Card,Savage Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bVit,3; }
+4079,Mantis_Card,Mantis Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bStr,3; }
+4080,Flora_Card,Flora Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,5,20; }
+4081,Hode_Card,Hode Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,2,30; bonus bFlee,5; }
+4082,Desert_Wolf_Card,Desert Wolf Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddSize,0,15; bonus bBaseAtk,5; }
+4083,Rafflesia_Card,Rafflesia Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,5,30; }
+4084,Marine_Sphere_Card,Marine Sphere Card,6,20,0,10,,,,,,,136,,,,{},{ skill 7,3; }
+4085,Orc_Skeleton_Card,Orc Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,6,20; }
+4086,Soldier_Skeleton_Card,Soldier Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritical,9; }
+4087,Giearth_Card,Giearth Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Confusion,10000; bonus2 bSubEle,2,15; }
+4088,Frilldora_Card,Frilldora Card,6,20,0,10,,,,,,,4,,,,{},{ skill 135,1; }
+4089,Sword_Fish_Card,Sword Fish Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,1; bonus bDef,1; }
+4090,Munak_Card,Munak Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bResEff,Eff_Stone,1500; bonus2 bSubEle,2,5; bonus bDef,1; }
+4091,Kobold_Card,Kobold Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bStr,1; bonus bCritical,4; }
+4092,Skel_Worker_Card,Skel Worker Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddSize,1,15; bonus bBaseAtk,5; }
+4093,Obeaune_Card,Obeaune Card,6,20,0,10,,,,,,,136,,,,{},{ skill 35,1; }
+4094,Archer_Skeleton_Card,Archer Skeleton Card,6,20,0,10,,,,,,,2,,,,{},{}
+4095,Marse_Card,Marse Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,1,30; }
+4096,Zenorc_Card,Zenorc Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Poison,400; bonus bBaseAtk,10; }
+4097,Matyr_Card,Matyr Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxHPrate,10; bonus bAgi,1; }
+4098,Dokebi_Card,Dokebi Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,4; bonus bDef,1; }
+4099,Pasana_Card,Pasana Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,3; bonus bDef,1; }
+4100,Sohee_Card,Sohee Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxSPrate,15; bonus bSPrecovRate,3; }
+4101,Sand_Man_Card,Sand Man Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,2; bonus bDef,1; }
+4102,Whisper_Card,Whisper Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee,20; bonus2 bSubEle,8,-50; }
+4103,Horong_Card,Horong Card,6,20,0,10,,,,,,,136,,,,{},{ skill 10,1; }
+4104,Requiem_Card,Requiem Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Confusion,500; }
+4105,Marc_Card,Marc Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bSubEle,1,5; bonus2 bResEff,Eff_Freeze,10000; }
+4106,Mummy_Card,Mummy Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,20; }
+4107,Verit_Card,Verit Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxHPrate,8; bonus bMaxSPrate,8; }
+4108,Myst_Card,Myst Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,5,30; bonus bFlee,5; }
+4109,Jakk_Card,Jakk Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,3,30; bonus bFlee,5; }
+4110,Ghoul_Card,Ghoul Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Poison,2000; bonus bDef,1; }
+4111,Strouf_Card,Strouf Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,6,20; }
+4112,Marduk_Card,Marduk Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Silence,10000; }
+4113,Marionette_Card,Marionette Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,8,30; bonus bFlee,5; }
+4114,Argiope_Card,Argiope Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,5; bonus bDef,1; }
+4115,Hunter_Fly_Card,Hunter Fly Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bHpDrainRate,3,15; }
+4116,Isis_Card,Isis Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,7,30; bonus bFlee,5; }
+4117,Side_Winder_Card,Side Winder Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDoubleRate,5; }
+4118,Petit_Card,Petit Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,9,20; }
+4119,Bathory_Card,Bathory Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,7; }
+4120,Petit__Card,Petit  Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,9,30; }
+4121,Phreeoni_Card,Phreeoni Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,100; }
+4122,Deviruchi_Card,Deviruchi Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bStr,1; bonus2 bResEff,Eff_Blind,10000;  }
+4123,Eddga_Card,Eddga Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bInfiniteEndure,0; bonus bMaxHPrate,-25; }
+4124,Medusa_Card,Medusa Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,6,15; bonus2 bResEff,Eff_Stone,10000; }
+4125,Deviace_Card,Deviace Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,7,7; bonus2 bAddRace,2,7; bonus2 bAddRace,3,7; bonus2 bAddRace,4,7; }
+4126,Minorous_Card,Minorous Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddSize,2,15; bonus bBaseAtk,5; }
+4127,Nightmare_Card,Nightmare Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Sleep,10000; bonus bAgi,1; }
+4128,Golden_Bug_Card,Golden Bug Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bNoMagicDamage,0; bonus bUseSPrate,100; }
+4129,Baphomet__Card,Baphomet  Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bHit,-10; bonus bSplashRange,1; }
+4130,Scorpion_King_Card,Scorpion King Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,9,20; }
+4131,Moonlight_Flower_Card,Moonlight Flower Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bSpeedRate,25; }
+4132,Mistress_Card,Mistress Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bNoGemStone,0; bonus bUseSPrate,25; }
+4133,Daydric_Card,Daydric Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,0,20; }
+4134,Dracula_Card,Dracula Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bSpDrainRate,1,5; }
+4135,Orc_Lord_Card,Orc Lord Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bShortWeaponDamageReturn,30; }
+4136,Khalitzburg_Card,Khalitzburg Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,6,30; }
+4137,Drake_Card,Drake Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bNoSizeFix,0; }
+4138,Anubis_Card,Anubis Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,8,30; }
+4139,Joker_Card,Joker Card,6,20,0,10,,,,,,,136,,,,{},{ skill 50,1; }
+4140,Knight_Of_Abyss_Card,Knight Of Abyss Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,10,25; }
+4141,Evil_Druid_Card,Evil Druid Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,9; bonus bInt,1; bonus bDef,1; }
+4142,Doppelganger_Card,Doppelganger Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAspdRate,15; }
+4143,Orc_Hero_Card,Orc Hero Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bVit,3; bonus2 bResEff,Eff_Stan,10000; }
+4144,Osiris_Card,Osiris Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bRestartFullRecover,0; }
+4145,Berzebub_Card,Berzebub Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bCastrate,-30; bonus bMaxSPrate,-15; bonus bMaxHPrate,-5; }
+4146,Maya_Card,Maya Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMagicDamageReturn,30; }
+4147,Baphomet_Card,Baphomet Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,-10; bonus bSplashRange,1; }
+4148,Pharaoh_Card,Pharaoh Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bUseSPrate,-30; }
+4149,Bon_Gun_Card,Bon Gun Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bInt,2; }
+4150,Orc_Archer_Card,Orc Archer Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bRange,1; }
+4151,Mimic_Card,Mimic Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bAgi,1; bonus bDex,2; bonus bLuk,3; }
+4152,Wraith_Card,Wraith Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bMatk,8; }
+4153,Alarm_Card,Alarm Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bCastrate,-10; }
+4154,Arclouse_Card,Arclouse Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bStr,2; }
+4155,Rideword_Card,Rideword Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDex,4; }
+4156,Skeleton_Prisoner_Card,Skel Prisoner Card,6,20,0,10,,,,,,,136,,,,{},{ skill 45,3; }
+4157,Zombie_Prisoner_Card,Zombie Prisoner Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHPrate,10; }
+4158,Dark_Priest_Card,Dark Priest Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bUseSPrate,-15; }
+4159,Punk_Card,Punk Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bUseSPrate,-5; }
+4160,Zherlthsh_Card,Zherlthsh Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bUseSPrate,-10; }
+4161,Mysteltainn_Card,Mysteltainn Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAtk,30; bonus bMaxHPrate,-22; bonus bCastrate,-10; }
+4162,Tirfing_Card,Tirfing Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAgi,3; bonus bFlee,10; }
+4163,Executioner_Card,Executioner Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bRandomAttackIncrease,300, 4; }
+4164,Anolian_Card,Anolian Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bStr,2; }
+4165,Sting_Card,Sting Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bDex,4; }
+4166,Wander_Man_Card,Wander Man Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,25; bonus bCritical,5; }
+4167,Cramp_Card,Cramp Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,3; }
+4168,Filamentous_Card,Filamentous Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Stone,100; bonus2 bResEff,Eff_Freeze,100; bonus2 bResEff,Eff_Stan,100; bonus2 bResEff,Eff_Sleep,100; bonus2 bResEff,Eff_Poison,100; bonus2 bResEff,Eff_Curse,100; bonus2 bResEff,Eff_Silence,100; bonus2 bResEff,Eff_Confusion,100; bonus2 bResEff,Eff_Blind,100; }
+4169,Brilight_Card,Brilight Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bAgi,2; bonus bLuk,3; }
+4170,Iron_Fist_Card,Iron Fist Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bVit,2; }
+4171,High_Orc_Card,High Orc Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bStr,2; }
+4172,Choco_Card,Choco Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bStr,1; bonus bAgi,1; bonus bVit,1; bonus bInt,1; bonus bDex,1; bonus bLuk,1; bonus bAtk,10; bonus bDef,1; }
+4173,Stem_Worm_Card,Stem Worm Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDex,2; }
+4174,Penonema_Card,Penomena Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHPrate, 15; }
+4175,Marin_Card,Marin Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,1,20; }
+4176,Sasquatch_Card,Sasquatch Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bAddSize,1,20; bonus bAtk,-10; }
+4177,Antonio_Card,Antonio Card,6,20,0,10,,,,,,,136,,,,{},{ skill 50,5; skill 210,5; }
+4178,Cruiser_Card,Cruiser Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bDex,3; }
+4179,Mystcase_Card,Mystcase Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bCastrate,-10; bonus bAtk,10; }
+4180,Chepet_Card,Chepet Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bLuk,5; }
+4181,Knight_of_Windstorm_Card,Knight Of Windstorm Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bAddEff,Eff_Freeze,500; bonus bAtk,25; }
+4182,Garm_Card,Garm Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bAddSize,2,20; bonus bAtk,-10; }
+4183,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bRange,5; }
+4184,Raggler_Card,Raggler Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Sleep,500; }
+4185,Neraid_Card,Neraid Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,2; }
+4186,Pest_Card,Pest Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,0,20; }
+4187,Injustice_Card,Injustice Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,9,20; }
+4188,Goblin_Archer_Card,Goblin Archer Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,2,20; }
+4189,Gryphon_Card,Gryphon Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Silence,500; bonus bAtk,25; }
+4190,Dark_Frame_Card,Dark Frame Card,6,20,0,10,,,,,,,769,,,,{},{ skill 32,2; }
+4191,Wind_Ghost_Card,Wind Ghost Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,4; }
+4192,Merman_Card,Merman Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,1; }
+4193,Cookie_Card,Cookie Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,7; }
+4194,Aster_Card,Aster Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,3,20; }
+4195,Carat_Card,Carat Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,6,20; }
+4196,Bloody_Knight_Card,Bloody Knight Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Blind,500; bonus bAtk,25; bonus bMaxHPrate,-10; }
+4197,Clock_Card,Clock Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bLuk,10; }
+4198,Clock_Tower_Manager_Card,C Tower Manager Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Curse,500; }
+4199,Alligator_Card,Alligator Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Poison,500; }
+4200,Dark_Lord_Card,Dark Lord Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,9; }
+4201,Orc_Lady_Card,Orc Lady Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,4,20; }
+4202,Megalith_Card,Megalith Card,6,20,0,10,,,,,,,4,,,,{},{ skill 9,1; }
+4203,Alice_Card,Alice Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,6; }
+4204,Raydric_Archer_Card,Raydric Archer Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,3; }
+4205,Greatest_General_Card,Greatest General Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,5,20; }
+4206,Stalatic_Golem_Card,Stalactic Golem Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bMaxHP,500; bonus bDex,-3; }
+4207,Tri_Joint_Card,Tri Joint Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,7,20; }
+4208,Steamrider_Goblin_Card,Steam Goblin Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubEle,8,20; }
+4209,Sage_Worm_Card,Sage Worm Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkEle,8; }
+4210,Kobold_Archer_Card,Kobold archer Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,15; bonus bAtk,15; }
+4211,Chimera_Card,Chimera Card,6,20,0,10,,,,,,,2,,,,{},{  bonus2 bAddEff,Eff_Stan,500; bonus bAtk,25; }
+
+// Extra Headgears
+//===================================================================
+5001,Headset,Headset,5,20,0,200,,3,,0,2088958,2,256,,0,87,{},{ bonus2 bResEff,Eff_Curse,1000; },
+5002,Jewel_Crown,Jewel Crown,5,20,0,600,,4,,0,414946,2,256,,60,88,{},{ bonus bMdef,3; bonus bInt,2; bonus bLuk,1; }
+5003,Joker_Jester,Joker Jester,5,20,0,100,,1,,0,2088958,2,256,,0,89,{},{ bonus bMdef,5; bonus bLuk,2; },
+5004,Oxygen_Mask,Oxygen Mask,5,20,0,200,,0,,0,2088958,2,1,,0,90,{},{ bonus2 bResEff,Eff_Poison,2000; },,,,
+5005,Gas_Mask,Gas Mask,5,20,0,100,,1,,0,2088958,2,513,,0,91,{},{ bonus2 bResEff,Eff_Poison,3000; },,,,
+5006,Machoman_Glasses,Machoman's Glasses,5,36000,0,100,,1,,0,2088958,2,512,,0,92,{},{},,,,,,
+5007,Grand_Circlet,Grand Circlet,5,20,0,200,,3,,0,2088958,2,256,,55,93,{},{ bonus bMdef,4; bonus bStr,1; bonus bInt,1; bonus bLuk,1; },,
+5008,Puppy_Love,Puppy Love,5,20,0,100,,1,,0,2088958,2,256,,0,94,{},{},,,,,,
+5009,Safety_Helmet,Safety Helmet,5,20,0,500,,3,,0,2088958,2,256,,0,95,{},{ bonus bMdef,3; bonus bUnbreakable,100; },,,,,
+5010,Indian_Hair_Piece,Indian Fillet,5,20,0,100,,3,,0,10477567,2,256,,0,96,{},{},,,,,,
+5011,Aerial,Aerial,5,20,0,100,,3,,0,10477567,2,256,,0,97,{},{},,,,,,
+5012,Ph.D_Hat,Ph.D Hat,5,20,0,200,,3,,0,2088958,2,256,,0,98,{},{ bonus bMdef,3; },,,,,
+5013,Horn_Of_Lord_Kaho,Lord Kaho's Horn,5,20,0,100,,5,,0,10477567,2,256,,0,99,{},{ bonus bMdef,10; bonus bStr,5; bonus bAgi,10; bonus bVit,10; bonus bInt,5; bonus bLuk,20; }
+5014,Fin_Helm,Fin Helm,5,20,0,300,,2,,0,16514,2,512,,65,100,{},{},,,,,,
+5015,Egg_Shell,Egg Shell,5,20,0,200,,3,,0,10477567,2,256,,0,101,{},{},,,,,,
+5016,Boy's_Cap,Boy's Cap,5,20,0,100,,2,,0,2088958,2,256,,0,102,{},{},,,,,,
+5017,Bone_Helm,Bone Helm,5,20,0,800,,7,,0,279714,2,256,,70,103,{},{ bonus2 bSubEle,7,-15; },,,,
+5018,Feather_Bonnet,Feather Bonnet,5,20,0,300,,4,,0,1574920,2,256,,0,104,{},{ bonus bAgi,1; },,,,,
+5019,Corsair,Corsair,5,20,0,500,,5,,0,2088958,2,256,,0,105,{},{ bonus bVit,1; },,,,,
+5020,Kafra_Band,Kafra's Band,5,20,0,500,,3,,0,10477567,2,256,,0,106,{},{ bonus bMdef,3; },,
+5021,Bankruptcy_of_Heart,Money Loser's Grief,5,20,0,1200,,4,,0,263200,2,256,,38,107,{},{ bonus bInt,1; bonus bDex,1; },
+5022,Solar_God_Helm,Solar God Helm,5,20,0,2400,,4,,0,2088832,2,768,,0,138,{},{ bonus bStr,3; bonus bInt,2; },
+5023,Parcel_Hat,Parcel Hat,5,20,0,1000,,0,,0,263200,2,256,,0,108,{},{},,,
+5024,Cake_Hat,Cake Hat,5,20,0,1500,,1,,0,10477567,2,256,,0,109,{},{},,,
+5025,Angel_Helm,Angel Helm,5,20,0,1600,,5,,0,2088832,2,256,,74,110,{},{ bonus bAgi,1; bonus bLuk,1; bonus bMdef,3; }
+5026,Chef_Hat,Chef's Hat,5,20,0,300,,1,,0,2088958,2,256,,50,111,{},{ bonus bDex,1; },,
+5027,Mage_Hat,Mage Hat,5,20,0,300,,1,,0,66052,2,256,,0,112,{},{ bonus bInt,2; bonus bMaxSP,150; },
+5028,Candle,Candle,5,20,0,150,,5,,0,10477567,2,256,,0,113,{},{},,,
+5029,Spore_Hat,Spore Hat,5,20,0,900,,3,,0,2088958,2,256,,20,114,{},{},,,
+5030,Panda_Hat,Panda Hat,5,20,0,800,,3,,0,2088958,2,256,,40,115,{},{},,,
+5031,Miner's_Helmet,Miner's Helmet,5,20,0,1500,,4,,0,447986,2,256,,55,116,{},{ bonus bDex,2; },,
+5032,Sunday_Hat,Sunday Hat,5,20,0,800,,1,,0,2088958,2,256,,0,117,{},{},,,
+5033,Smokie_Hat,Smokie Hat,5,20,0,900,,3,,0,2088958,2,256,,50,118,{},{},,,
+5034,Lightbulb_Hairband,Lightbulb Hairband,5,20,0,500,,0,,0,2088958,2,256,,0,119,{},{},,,
+5035,Poring_Hat,Poring Hat,5,20,0,700,,2,,0,2088958,2,256,,38,120,{},{},,,
+5036,Cross_Hairband,Cross Hairband,5,20,0,250,,1,,0,2088958,2,256,,10,121,{},{},,,
+5037,Fruit_Shell,Apple Hat,5,20,0,150,,4,,0,10477567,2,256,,5,122,{},{},,,
+5038,Deviruchi_Hat,Deviruchi Hat,5,20,0,800,,2,,0,2088958,2,256,,64,123,{},{ bonus bStr,1; bonus bInt,1; },
+5039,Rainbow_Eggshell,Rainbow Eggshell,5,20,0,400,,4,,0,10477567,2,256,,19,124,{},{},,,
+5040,Blush,Blush,5,20,0,100,,0,,0,10477567,2,512,,0,125,{},{},,,
+5041,Heart_Hairpin,Heart Hairpin,5,20,0,100,,0,,0,10477567,2,256,,0,126,{},{},,,
+5042,Hair_Protector,Dumpling Decoration,5,20,0,150,,0,,0,2088958,2,256,,14,127,{},{},,,
+5043,Opera_Ghost_Mask,Opera Ghost Mask,5,20,0,200,,1,,0,2088958,2,512,,20,128,{},{},,,
+5044,Wing_Of_Demon,Wings of Demon,5,20,0,350,,2,,0,10477567,2,256,,45,129,{},{},,,
+5045,Magician_Hat,Magic Hat,5,20,0,500,,3,,0,554319315732,2,256,,50,130,{},{ bonus bDex,1; bonus bAgi,1; bonus bMaxSP,50; }
+5046,Bongun_Hat,Bongun Hat,5,20,0,300,,5,,0,10477567,2,769,,0,139,{},{},,,
+5047,Fashion_Sunglasses,Fashion Sunglasses,5,20,0,100,,0,,0,2088958,2,256,,0,131,{},{},,,
+5048,Cresent_Hairpin,Cresent Hairpin,5,20,0,100,,0,,0,10477567,2,256,,0,132,{},{},,,
+5049,Striped_Bandana,Striped Bandana,5,20,0,150,,1,,0,10477567,2,256,,0,133,{},{},,,
+5050,Mysterious_Fruit_Shell,Mysterious Fruit Shell,5,20,0,300,,5,,0,10477567,2,256,,30,134,{},{},,,
+5051,Bell_of_Pussycat,Bell of Pussycat,5,20,0,100,,5,,0,10477567,2,1,,0,135,{},{},,,
+5052,Blue_Bandana,Blue Bandana,5,20,0,150,,1,,0,10477567,2,256,,0,136,{},{},,,
+5053,Sphinx_Hat,Sphinx Hat,5,20,0,3000,,5,,0,16514,2,256,,65,137,{},{ bonus bStr,2; },,
+5054,Assassin_Mask,Assassin Mask,5,20,0,100,,0,,0,4096,2,1,,70,180,{},{},,,
+5055,Novice_Eggshell,Novice Eggshell,5,20,0,10,,3,,0,8388609,2,256,,0,101,{},{},,,
+5056,Seed_Of_Love,Seed Of Love,5,20,0,200,,0,,0,2088958,2,256,,0,140,{},{}
+5057,Black_Cat_Ears,Black Cat Ears,5,20,0,200,,2,,0,10477567,2,256,,45,141,{},{}
+5058,Resting_Cat,Resting Cat,5,20,0,500,,1,,0,2088958,2,256,,0,142,{},{ bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15; }
+5059,Bear_Hat,Bear Hat,5,20,0,800,,3,,0,10477567,2,256,,50,143,{},{}
+5060,Pointy_Cap,Pointy Cap,5,20,0,300,,3,,0,10477567,2,256,,0,144,{},{ bonus bLuk,1; }
+5061,Flower_Hairpin,Flower Hairpin,5,20,0,100,,1,,0,10477567,2,256,,0,145,{},{}
+5062,Straw_Hat,Straw Hat,5,20,0,200,,3,,0,10477567,2,256,,50,146,{},{ bonus bAgi,1; }
+5063,Bandaid,Bandaid,5,20,0,100,,1,,0,2088958,2,256,,0,147,{},{}
+5064,Transformation_Leaf,Transformation Leaf,5,20,0,100,,1,,0,10477567,2,256,,0,148,{},{}
+5065,Fresh_Blueish_Fish,Fresh Blueish Fish,5,20,0,500,,2,,0,10477567,2,256,,50,149,{},{ bonus2 bAddRace,5,10; }
+5066,Horns_Of_Succubus,Horns of Succubus,5,20,0,800,,4,,0,2088958,2,256,,70,150,{},{ bonus bInt,1; bonus bMdef,10; }
+5067,Sombrero,Sombrero,5,20,0,350,,4,,0,2088958,2,256,,0,151,{},{ bonus bAgi,1; }
+5068,Ears_of_Demon,Ears Of Demon,5,20,0,100,,1,,0,10477567,2,512,,70,152,{},{ bonus bStr,1; }
+5069,Fox_Mask,Fox Mask,5,20,0,300,,1,,0,2088958,2,256,,0,153,{},{ bonus bAgi,1; bonus bLuk,1; }
+5070,Bandage,Bandage,5,20,0,100,,1,,0,2088958,2,256,,0,154,{},{ bonus bStr,2; }
+5071,Indian_Headband,Indian Headband,5,20,0,200,,1,,0,2088958,2,256,,0,155,{},{ bonus bDex,1; }
+5072,Horns_Of_Incubus,Horns Of Incubus,5,20,0,800,,4,,0,2088958,2,256,,70,156,{},{ bonus bAgi,1; bonus bMdef,10; }
+5073,Campus_Hat,Campus Hat,5,20,0,700,,2,,0,2088958,2,256,,0,157,{},{ bonus bDex,2; }
+5074,Ears_of_Angel,Ears of Angel,5,20,0,100,,1,,0,10477567,2,512,,70,158,{},{ bonus bStr,1; }
+5075,Cowboy_Hat,Cowboy Hat,5,20,0,500,,4,,0,10477567,2,256,,0,159,{},{}
+5076,Furry_Hat,Furry Hat,5,20,0,350,,2,,0,10477567,2,256,,0,160,{},{ bonus bLuk,1; }
+5077,Tulip_Hairpin,Tulip Hairpin,5,20,0,100,,1,,0,10477567,2,256,,0,161,{},{}
+5078,Sea_Otter_Hat,Sea Otter Hat,5,20,0,800,,3,,0,10477567,2,256,,50,162,{},{ bonus bVit,1; }
+5079,X_Hairpin,X Hairpin,5,20,0,100,,1,,0,10477567,2,256,,0,163,{},{}
+5080,Crown_of_the_Ancient_Queen,Crown of The Ancient Queen,5,20,0,400,,4,,0,10477567,2,256,,45,164,{},{}
+5081,Crown_of_Mistress,Crown of Mistress,5,20,0,100,,1,,0,2088958,0,256,,75,165,{},{ bonus bInt,2; bonus bMaxSP,100; }
+5082,Mushroom_Hairband,Mushroom Hairband,5,20,0,100,,2,,0,10477567,2,256,,0,166,{},{}
+5083,Back_Ribbon,Back Ribbon,5,20,0,200,,1,,0,10477567,0,256,,45,167,{},{ bonus bMdef,10; }
+5084,Lazy_Raccoon_Hat,Lazy Racoon Hat,5,20,0,500,,1,,0,2088958,2,256,,0,168,{},{ bonus2 bResEff,Eff_Sleep,2000; }
+5085,Small_Twin_Ribbons,Small Twin Ribbons,5,20,0,100,,1,,0,10477567,0,512,,45,169,{},{}
+5086,Sad_Mask,Sad Mask,5,20,0,100,,2,,0,10477567,2,513,,0,170,{},{ bonus2 bResEff,Eff_Blind,5000; }
+5087,Expressionless_Mask,Expressionless Mask,5,20,0,100,,1,,0,10477567,2,513,,0,171,{},{}
+5088,Surprised_Mask,Surprised Mask,5,20,0,100,,1,,0,10477567,2,513,,0,172,{},{}
+5089,Annoyed_Mask,Annoyed Mask,5,20,0,100,,1,,0,10477567,2,513,,0,173,{},{}
+5090,Mask_of_the_Goblin_Leader,Mask of The Goblin Leader,5,20,0,100,,2,,0,10477567,2,513,,0,174,{},{}
+5091,Big_Golden_Bell,Big Golden Bell,5,20,0,200,,2,,0,2088958,2,768,,35,175,{},{}
+5092,Nun_Hat,Nun Hat,5,20,0,300,,5,,0,33024,0,768,,65,176,{},{}
+5093,Nun_Hat_,Nun Hat,5,20,0,300,,5,,0,33024,0,768,,65,177,{},{ bonus bMaxSP,100; }
+5094,Orc_Hero_Helm,Orc Hero Helm,5,20,0,900,,5,,0,2088958,2,768,,55,178,{},{ bonus bStr,2; bonus bVit,1; }
+5096,Assassin_Mask_,Assassin Mask,5,20,0,100,,0,,0,4096,2,1,,70,180,{},{},,,
+5097,Annual_Commemoration_Hat,Annual Commemoration Hat,5,20,0,30,,3,,0,10477567,2,256,,0,166,{},{ bonus bAllStats,3; }
+5098,Tiger_Mask,Tiger Mask,5,20,0,400,,2,,,10477567,2,768,,,181,{},{ bonus bStr,3; bonus bMaxHP,100; }
+
+// Misc items
+//===================================================================
+7001,Mold_Powder,Mould Powder,3,680,0,10,,,,,,,,,,,{},{}
+7002,Ogre_Tooth,Ogre Tooth,3,658,0,10,,,,,,,,,,,{},{}
+7003,Anolian_Skin,Anolian Skin,3,928,0,10,,,,,,,,,,,{},{}
+7004,Mud_Lump,Mud Lump,3,876,0,10,,,,,,,,,,,{},{}
+7005,Skull,Skull,3,1044,0,10,,,,,,,,,,,{},{}
+7006,Wing_of_Red_Bat,Wing of Red Bat,3,168,0,10,,,,,,,,,,,{},{}
+7007,Claw_of_Rat,Claw of Rat,3,748,0,10,,,,,,,,,,,{},{}
+7008,Stiff_Horn,Stiff Horn,3,636,0,10,,,,,,,,,,,{},{}
+7009,Glitter_Shell,Glitter Shell,3,528,0,10,,,,,,,,,,,{},{}
+7010,Tail_of_Steel_Scorpion,Tail of Steel Scorpion,3,548,0,10,,,,,,,,,,,{},{}
+7011,Claw_of_Monkey,Claw of Monkey,3,466,0,10,,,,,,,,,,,{},{}
+7012,Tough_Scalelike_Stem,Tough Scalelike Stem,3,412,0,10,,,,,,,,,,,{},{}
+7013,Coral_Reef,Coral Reef,3,772,0,10,,,,,,,,,,,{},{}
+7014,Old_Portrait,Old Portrait,3,1500,0,100,,,,,,,,,,,{},{}
+7015,Bookclip_in_Memory,Bookclip in Memory,3,3000,0,20,,,,,,,,,,,{},{}
+7016,Spoon_Stub,Spoon Stub,3,2500,0,20,,,,,,,,,,,{},{}
+7017,Executioner's_Mitten,Executioner's Mitten,3,4500,0,30,,,,,,,,,,,{},{}
+7018,Young_Twig,Young Twig,3,50,0,10,,,,,,,,,,,{},{}
+7019,Loki's_Whispers,Loki's Whispers,3,20,0,10,,,,,,,,,,,{},{}
+7020,Mother's_Nightmare,Mother's Nightmare,3,20,0,10,,,,,,,,,,,{},{}
+7021,Foolishness_of_the_Blind,Foolishness of the Blind,3,20,0,10,,,,,,,,,,,{},{}
+7022,Old_Hilt,Old Hilt,3,150,0,30,,,,,,,,,,,{},{}
+7023,Blade_Lost_in_Darkness,Blade Lost in Darkness,3,12000,0,40,,,,,,,,,,,{},{}
+7024,Bloody_Edge,Bloody Edge,3,10000,0,40,,,,,,,,,,,{},{}
+7025,Lucifer's_Lament,Lucifer's Lament,3,30000,0,50,,,,,,,,,,,{},{}
+7026,Key_of_Clock_Tower,Key of Clock Tower,3,2,0,30,,,,,,,,,,,{},{}
+7027,Key_of_Underground,Key of Underground,3,2,0,30,,,,,,,,,,,{},{}
+7028,Invite_for_Duel,Invite for Duel,3,0,0,10,,,,,,,,,,,{},{}
+7029,Admission_for_Duel,Admission for Duel,3,20,0,10,,,,,,,,,,,{},{}
+7030,Claw_of_Desert_Wolf,Claw of Desert Wolf,3,208,0,10,,,,,,,,,,,{},{}
+7031,Old_Frying_Pan,Old Frying Pan,3,196,0,10,,,,,,,,,,,{},{}
+7032,Piece_of_Egg_Shell,Piece of Egg Shell,3,168,0,10,,,,,,,,,,,{},{}
+7033,Poison_Spore,Poison Spore,3,114,0,10,,,,,,,,,,,{},{}
+7034,Red_Socks_with_Holes,Red Socks with Holes,3,100,0,10,,,,,,,,,,,{},{}
+7035,Matchstick,Matchstick,3,100,0,10,,,,,,,,,,,{},{}
+7036,Fang_of_Garm,Fang of Garm,3,100,0,10,,,,,,,,,,,{},{}
+7037,Coupon,Coupon,3,2000,0,10,,,,,,,,,,,{},{}
+7038,Yarn,Yarn,3,20,0,10,,,,,,,,,,,{},{}
+7039,Novice_Nametag,Novice Nametag,3,20,0,10,,,,,,,,,,,{},{}
+7040,Megaphone,Megaphone,3,20,0,10,,,,,,,,,,,{},{}
+7041,Fine_Grit,Fine Grit,3,20,0,10,,,,,,,,,,,{},{}
+7042,Leather_Bag_of_Infinity,Leather Bag of Infinity,3,20,0,10,,,,,,,,,,,{},{}
+7043,Fine_Sand,Fine Sand,3,100,0,10,,,,,,,,,,,{},{}
+7044,Vigorgra,Vigorgra,3,20,0,10,,,,,,,,,,,{},{}
+7045,Magic_Paint,Magic Paint,3,20,0,10,,,,,,,,,,,{},{}
+7046,Cart_Parts,Cart Parts,3,20,0,10,,,,,,,,,,,{},{}
+7047,Alice's_Apron,Alice's Apron,3,2424,0,10,,,,,,,,,,,{},{}
+7048,Talon_of_Griffon,Talon of Griffon,3,100,0,10,,,,,,,,,,,{},{}
+7049,Stone,Stone,3,0,0,30,,,,,,,,,,,{},{}
+7050,Cotton_Mat,Cotton Mat,3,20,0,10,,,,,,,,,,,{},{}
+7051,Silk_Mat,Silk Mat,3,20,0,10,,,,,,,,,,,{},{}
+7052,Wasted_Magazine,Wasted Magazine,3,20,0,10,,,,,,,,,,,{},{}
+7053,Cyfar,Cyfar,3,772,0,10,,,,,,,,,,,{},{}
+7054,Brigan,Brigan,3,746,0,10,,,,,,,,,,,{},{}
+7055,Animal_Poop,Animal Poop,3,20,0,50,,,,,,,,,,,{},{}
+7056,Payment_Statement_for_Kafra_Employee,Payment Statement for Ka,3,20,0,50,,,,,,,,,,,{},{}
+7057,Gjallar,Gjallar,3,20,0,500,,,,,,,,,,,{},{}
+7058,Gleipnir,Gleipnir,3,20,0,500,,,,,,,,,,,{},{}
+7059,Free_Ticket_for_Kafra_Storage,Free Ticket for Kafra St,3,20,0,10,,,,,,,,,,,{},{}
+7060,Free_Ticket_for_Kafra_Transportation,Free Ticket for Kafra Tr,3,20,0,10,,,,,,,,,,,{},{}
+7061,Free_Ticket_for_the_Cart_Service,Free Ticket for the Cart,3,20,0,10,,,,,,,,,,,{},{}
+7062,Broken_Turtle_Shell,Broken Turtle Shell,3,20,0,10,,,,,,,,,,,{},{}
+7063,Soft_Feather,Soft Feather,3,280,0,10,,,,,,,,,,,{},{}
+7064,Wing_of_Dragonfly,Wing of Dragonfly,3,520,0,10,,,,,,,,,,,{},{}
+7065,Sea-otter_Fur,Sea Otter Fur,3,820,0,10,,,,,,,,,,,{},{}
+7066,Ice_Cubic,Ice Cubic,3,660,0,10,,,,,,,,,,,{},{}
+7067,Stone_Fragment,Stone Fragment,3,640,0,10,,,,,,,,,,,{},{}
+7068,Burnt_Tree,Burnt Tree,3,722,0,10,,,,,,,,,,,{},{}
+7069,Destroyed_Armor,Destroyed Armor,3,1042,0,10,,,,,,,,,,,{},{}
+7070,Broken_Shell,Broken Shell,3,900,0,10,,,,,,,,,,,{},{}
+7071,Tattered_Clothes,Tattered Clothes,3,640,0,10,,,,,,,,,,,{},{}
+7072,Old_Shuriken,Old Shuriken,3,1780,0,10,,,,,,,,,,,{},{}
+7073,Freya's_Jewel,Freya's Jewel,3,20,0,500,,,,,,,,,,,{},{}
+7074,Thor's_Gauntlet,Thor's Gauntlet,3,20,0,500,,,,,,,,,,,{},{}
+7075,Iron_Maiden,Iron Maiden,3,20,0,500,,,,,,,,,,,{},{}
+7076,Wheel_of_the_Unknown,Wheel of the Unknown,3,20,0,500,,,,,,,,,,,{},{}
+7077,Silver_Ornament,Silver Ornament,3,20,0,500,,,,,,,,,,,{},{}
+7078,Wrath_of_Valkyrie,Wrath of Valkyrie,3,20,0,500,,,,,,,,,,,{},{}
+7079,Feather_of_Angel_Wing,Feather of Angel Wing,3,20,0,500,,,,,,,,,,,{},{}
+7080,Cat_Tread,Footprints of Cat,3,20,0,500,,,,,,,,,,,{},{}
+7081,Woman's_Moustache,Woman's Moustache,3,20,0,500,,,,,,,,,,,{},{}
+7082,Root_of_Stone,Root of Stone,3,20,0,500,,,,,,,,,,,{},{}
+7083,Spirit_of_Fish,Spirit of Fish,3,20,0,500,,,,,,,,,,,{},{}
+7084,Sputum_of_Bird,Sputum of Bird,3,20,0,500,,,,,,,,,,,{},{}
+7085,Sinew_of_Bear,Sinew of Bear,3,20,0,500,,,,,,,,,,,{},{}
+7086,Emblem_of_the_Sun_God,Emblem of the Sun God,3,20,0,500,,,,,,,,,,,{},{}
+7087,Breath_of_Spirit,Breath of Soul,3,20,0,500,,,,,,,,,,,{},{}
+7088,Snow_Crystal,Snow Crystal,3,20,0,500,,,,,,,,,,,{},{}
+7089,Omen_of_Tempest,Omen of Tempest,3,20,0,500,,,,,,,,,,,{},{}
+7090,Ripple,Ripple,3,20,0,500,,,,,,,,,,,{},{}
+7091,Billow,Billow,3,20,0,500,,,,,,,,,,,{},{}
+7092,Drifting_Air,Drifting Air,3,20,0,500,,,,,,,,,,,{},{}
+7093,Cogwheel,Metal Wheel,3,20,0,10,,,,,,,,,,,{},{}
+7094,Fragment,Cabinet Chip,3,20,0,10,,,,,,,,,,,{},{}
+7095,Metal_Fragment,Tooth Fragment,3,20,0,10,,,,,,,,,,,{},{}
+7096,Lava,Hardened Lava,3,1108,0,10,,,,,,,,,,,{},{}
+7097,Burning_Heart,Burning Heart,3,924,0,10,,,,,,,,,,,{},{}
+7098,Live_Coal,Fire Seed,3,638,0,10,,,,,,,,,,,{},{}
+7099,Worn-out_Magic_Scroll,Old Magical Circle,3,20,0,10,,,,,,,,,,,{},{}
+7100,Sharp_Leaf,Sharpened Leaf,3,20,0,10,,,,,,,,,,,{},{}
+7101,PecoPeco_Feather,Peco Feather,3,454,0,10,,,,,,,,,,,{},{}
+7102,Nightmare,Nightmare,3,20,0,10,,,,,,,,,,,{},{}
+7103,Unknown_Liquid_Bottle,Yellow Liquid Bottle,3,20,0,10,,,,,,,,,,,{},{}
+7104,Fake_Angel's_Wing,Fake Angel's Wing,3,756,0,10,,,,,,,,,,,{},{}
+7105,Fake_Heaven_Ring,Imitation Soul's Band,3,924,0,10,,,,,,,,,,,{},{}
+7106,Antelope_Horn,Antelope Horn,3,672,0,10,,,,,,,,,,,{},{}
+7107,Antelope_Skin,Antelope Skin,3,756,0,10,,,,,,,,,,,{},{}
+7108,Piece_of_Shield,Broken Shield,3,20,0,10,,,,,,,,,,,{},{}
+7109,Shining_Spear_Blade,Shiny Spear Tip,3,20,0,10,,,,,,,,,,,{},{}
+7110,Broken_Sword,Broken Sword,3,588,0,10,,,,,,,,,,,{},{}
+7111,Slick_Paper,String Paper,3,706,0,10,,,,,,,,,,,{},{}
+7112,Sharp_Paper,Transparent Paper,3,906,0,10,,,,,,,,,,,{},{}
+7113,Broken_Symbol_of_Pharaoh,Broken Symbol of Pharaoh,3,20,0,10,,,,,,,,,,,{},{}
+7114,Masque_of_Tutankhamen,Sphinx Mask,3,20,0,10,,,,,,,,,,,{},{}
+7115,Harpy_Feather,Blood Feather,3,1142,0,10,,,,,,,,,,,{},{}
+7116,Harpy_Talon,Tooth of Lowblood,3,1210,0,10,,,,,,,,,,,{},{}
+7117,Torn_Magic_Book,Torn Spell Book,3,20,0,10,,,,,,,,,,,{},{}
+7118,Torn_Scroll,Torn Scroll,3,20,0,10,,,,,,,,,,,{},{}
+7119,Bacillus,Hypha Body,3,1024,0,10,,,,,,,,,,,{},{}
+7120,Burning_Horseshoe,Burning Horseshoe,3,822,0,10,,,,,,,,,,,{},{}
+7121,Honey_Pot,Honey Jar,3,622,0,10,,,,,,,,,,,{},{}
+7122,Burning_Hair,Hot Feather,3,974,0,10,,,,,,,,,,,{},{}
+7123,Dragon_Skin,Dragon Skin,3,1024,0,10,,,,,,,,,,,{},{}
+7124,Sand_Clump,Sand Lump,3,706,0,10,,,,,,,,,,,{},{}
+7125,Scorpion_Claw,Crab Shot,3,706,0,10,,,,,,,,,,,{},{}
+7126,Large_Jellopy,Large Jellopy,3,840,0,10,,,,,,,,,,,{},{}
+7127,Alcohol_Creation_Book,Alcohol Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
+7128,Bottle_Grenade_Creation_Book,Fire Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
+7129,Acid_Bottle_Creation_Book,Acid Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
+7130,Plant_Bottle_Creation_Book,Plant Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
+7131,Mine_Bottle_Creation_Book,Mine Bottle Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
+7132,Glistening_Coat_Creation_Book,Glistening Coat Creation Book,3,100000,0,10,,,,,,,,,,,{},{}
+7133,Condensed_Potion_Creation_Book,Condensed Potion Creation Book,3,240000,0,10,,,,,,,,,,,{},{}
+7134,Medicine_Bowl,Medicine Bowl,3,8,0,10,,,,,,,,,,,{},{}
+7135,Bottle_Grenade,Fire Bottle,3,20,0,10,,,,,,,,,,,{},{}
+7136,Acid_Bottle,Hydrobolic Acid Bottle,3,20,0,10,,,,,,,,,,,{},{}
+7137,Plant_Bottle,Water Bottle,3,20,0,10,,,,,,,,,,,{},{}
+7138,Marine_Sphere_Bottle,Mine Bottle,3,20,0,10,,,,,,,,,,,{},{}
+7139,Glistening_Coat,Coating Wax,3,20,0,10,,,,,,,,,,,{},{}
+7140,Seed_of_Life,Seed of Life,3,20,0,10,,,,,,,,,,,{},{}
+7141,Morning_Dew_of_Yggdrasil,Water Flow,3,20,0,10,,,,,,,,,,,{},{}
+7142,Ancient_Life,Embryo,3,20,0,10,,,,,,,,,,,{},{}
+7143,Glass_Tube,Seperation Tubes,2,50000,,1000,,,,,262144,2,,,,,{ bpet; },{}
+7144,Potion_Creation_Gude,Potion Making Book,3,100000,0,10,,,,,,,,,,,{},{}
+7145,Ragnarok_T-shirt,Ragnarok T-Shirt,3,20,0,10,,,,,,,,,,,{},{}
+7146,Vacation_Ticket,Vacation Ticket,3,20,0,10,,,,,,,,,,,{},{}
+7147,Jasmine,Jasmine,3,20,0,10,,,,,,,,,,,{},{}
+7148,Mother's_Letter,Mother's Letter,3,20,0,10,,,,,,,,,,,{},{}
+7149,Yellow_Plate,Yellow Plate,3,220,0,10,,,,,,,,,,,{},{}
+7150,A_piece_of_Bamboo,Bamboo Trunk,3,310,0,10,,,,,,,,,,,{},{}
+7151,Oil_Paper,Oiled Paper,3,310,0,10,,,,,,,,,,,{},{}
+7152,Glossy_Hair,Glossy Hair,3,340,0,10,,,,,,,,,,,{},{}
+7153,Worn-out_Kimono,Old Kimono,3,590,0,10,,,,,,,,,,,{},{}
+7154,Poisonous_Powder,Poison Powder,3,160,0,10,,,,,,,,,,,{},{}
+7155,Skin_of_Poisonous_Toad,Poisonous Toad Skin,3,280,0,10,,,,,,,,,,,{},{}
+7156,Broken_Shuriken,Broken Shuriken,3,470,0,10,,,,,,,,,,,{},{}
+7157,Black_Mask,Black Mask,3,20,0,10,,,,,,,,,,,{},{}
+7158,Broken_Liquor_Bottle,Broken Liquor Bottle,3,160,0,10,,,,,,,,,,,{},{}
+7159,Demon's_Nose,Demon's Nose,3,400,0,10,,,,,,,,,,,{},{}
+7160,Passport_From_King,Passport From King,3,20,0,10,,,,,,,,,,,{},{}
+7161,Skin_of_the_Black_Bear,Skin of the Black Bear,3,384,0,10,,,,,,,,,,,{},{}
+7162,Piece_of_Cloud,Piece of Cloud,3,390,0,10,,,,,,,,,,,{},{}
+7163,Hard_Antennae,Hard Antennae,3,570,0,10,,,,,,,,,,,{},{}
+7164,Very_Hard_Peach,Very Hard Peach,3,400,0,10,,,,,,,,,,,{},{}
+7165,Etherial_Winged_Clothing,Etherial Winged Clothing,3,650,0,10,,,,,,,,,,,{},{}
+7166,Soft_Silk_Fabric,Soft Silk Fabric,3,1200,0,10,,,,,,,,,,,{},{}
+7167,Strange_Piece_of_Iron,Strange Piece of Iron,3,430,0,10,,,,,,,,,,,{},{}
+7168,Big_Wing_of_Butterfly,Big Wing of Butterfly,3,614,0,10,,,,,,,,,,,{},{}
+7169,Tae_Guk_Tablet,Tae Guk Tablet,3,20,0,10,,,,,,,,,,,{},{}
+7170,Tuxedo,Tuxedo,5,43000,0,10,,0,,0,10477566,1,16,,0,0,{},{ changebase 22; }
+7171,Skin_of_Panther,Skin of Panther,3,282,0,10,,,,,,,,,,,{},{}
+7172,Claw_of_Panther,Claw of Panther,3,290,0,10,,,,,,,,,,,{},{}
+7173,Bun_Buster_Bag,Bun Buster Bag,3,20,0,10,,,,,,,,,,,{},{}
+7174,Wrapping_Thread,Wrapping Thread,3,20,0,10,,,,,,,,,,,{},{}
+7175,Wrapper,Wrapper,3,20,0,10,,,,,,,,,,,{},{}
+7176,King's_Proof_Document,King's Proof Document,3,20,0,10,,,,,,,,,,,{},{}
+7177,Piece_of_Starlight's_Sorrow,Piece of Starlight's Sorrow,3,20,0,10,,,,,,,,,,,{},{}
+7178,Starlight's_Sorrow,Starlight's Sorrow,3,20,0,10,,,,,,,,,,,{},{}
+7179,Donation_Ticket,Donation Ticket,3,20,0,10,,,,,,,,,,,{},{}
+7180,Letter_of_Introduction,Letter of Introduction,3,20,0,10,,,,,,,,,,,{},{}
+7181,Commodity_Receipt,Commodity Receipt,3,20,0,10,,,,,,,,,,,{},{}
+7182,Cacao,Cacao,3,200,0,20,,,,,,,,,,,{},{}
+7183,Letter_of_Younger_Sister,Letter of Younger Sister,3,20,0,10,,,,,,,,,,,{},{}
+7184,Piano_Key,Piano Key,3,20,0,10,,,,,,,,,,,{},{}
+7185,Quiz_Participation_Ticket,Quiz Participation Ticket,3,20,0,10,,,,,,,,,,,{},{}
+7186,Thin_Trunk,Thin Trunk,3,20,0,10,,,,,,,,,,,{},{}
+7187,Festival_Mask,Festival Mask,3,20,0,10,,,,,,,,,,,{},{}
+7188,Brown_Root,Brown_Root,3,20,0,10,,,,,,,,,,,{},{}
+7189,Wooden_Heart,Wooden Heart,3,20,0,10,,,,,,,,,,,{},{}
+7190,Hard_Back_Shell,Hard Back Shell,3,20,0,10,,,,,,,,,,,{},{}
+7191,Paper_Lantern,Paper Lantern,3,20,0,10,,,,,,,,,,,{},{}
+7192,Pin_Wheel,Pin Wheel,3,20,0,10,,,,,,,,,,,{},{}
+7193,Sprout,Sprout,3,20,0,10,,,,,,,,,,,{},{}
+7194,Soft_Grass_Leaf,Soft Grass Leaf,3,20,0,10,,,,,,,,,,,{},{}
+7195,Slingshot,Slingshot,3,20,0,10,,,,,,,,,,,{},{}
+7196,Shoulder_Guard,Shoulder Guard,3,20,0,10,,,,,,,,,,,{},{}
+7197,Durable_Vine,Durable Vine,3,20,0,10,,,,,,,,,,,{},{}
+7198,Huge_Leaf,Huge Leaf,3,20,0,10,,,,,,,,,,,{},{}
+7199,Hieroglyphic,Hieroglyphic,3,20,0,10,,,,,,,,,,,{},{}
+7200,Elastic_Band,Elastic Band,3,20,0,10,,,,,,,,,,,{},{}
+7201,Log,Log,3,20,0,10,,,,,,,,,,,{},{}
+7202,Insect_Pinchers,Insect Pinchers,3,20,0,10,,,,,,,,,,,{},{}
+7203,Healthy_Branch,Healthy Branch,3,20,0,10,,,,,,,,,,,{},{}
+7204,Gun_Powder,Gun Powder,3,20,0,10,,,,,,,,,,,{},{}
+7205,Black_Piece_of_Cloth,Black Piece of Cloth,3,20,0,10,,,,,,,,,,,{},{}
+7206,Cat_Doll,Black Cat Doll,3,20,0,10,,,,,,,,,,,{},{}
+7207,Old_Mantle,Old Mantle,3,20,0,10,,,,,,,,,,,{},{}
+7208,Rusted_Knife,Rusted Knife,3,20,0,10,,,,,,,,,,,{},{}
+7209,Dullahan's_Helm,Dullahan's Helm,3,20,0,10,,,,,,,,,,,{},{}
+7210,Piece_of_Dullahan's_Armor,Dullahan's Armor Piece,3,20,0,10,,,,,,,,,,,{},{}
+7211,Rosetta_Stone_Fragment,Rosetta Stone Fragment,3,20,0,10,,,,,,,,,,,{},{}
+7212,Hanging_Doll,Hanging Doll,3,20,0,10,,,,,,,,,,,{},{}
+7213,Pin_Cusion,Pin Cusion,3,20,0,10,,,,,,,,,,,{},{}
+7214,Bat_Cage,Bat Cage,3,20,0,10,,,,,,,,,,,{},{}
+7215,Broken_Needle,Broken Needle,3,20,0,10,,,,,,,,,,,{},{}
+7216,Red_Scarf,Red Scarf,3,20,0,10,,,,,,,,,,,{},{}
+7217,Spool_of_Thread,Spool of Thread,3,20,0,10,,,,,,,,,,,{},{}
+7218,Rotted_Rope,Rotted Rope,3,20,0,10,,,,,,,,,,,{},{}
+7219,Striped_Socks,Striped Socks,3,20,0,10,,,,,,,,,,,{},{}
+7220,Ectoplasm,Ectoplasm,3,20,0,10,,,,,,,,,,,{},{}
+7221,Chains,Chains,3,20,0,10,,,,,,,,,,,{},{}
+7222,Old_Tree_Branch,Old Tree Branch,3,20,0,10,,,,,,,,,,,{},{}
+7223,Ruined_Self_Portrait,Ruined Self Portrait,3,20,0,10,,,,,,,,,,,{},{}
+7224,Philosophers_Stone,Philosopher's Stone,3,20,0,10,,,,,,,,,,,{},{}
+7225,Silk_Lantern,Silk Lantern,3,20,0,10,,,,,,,,,,,{},{}
+7226,Hallucination_Pill,Hallucination Pill,3,20,0,10,,,,,,,,,,,{},{}
+7227,TCG_Card,TCG Card,3,20,0,10,,,,,,,,,,,{},{}
+7228,Gold_Nugget,Gold Nugget,3,20,0,300,,,,,,,,,,,{},{}
+7229,Iron_Nugget,Iron Nugget,3,20,0,300,,,,,,,,,,,{},{}
+7230,Silver_Nugget,Silver Nugget,3,20,0,30,,,,,,,,,,,{},{}
+7231,Gold_Ore,Gold Ore,3,20,0,150,,,,,,,,,,,{},{}
+7232,Silver_Ore,Silver Ore,3,20,0,150,,,,,,,,,,,{},{}
+7233,Mysterious_Ore,Mysterious Ore,3,20,0,150,,,,,,,,,,,{},{}
+
+// RWC Reward items
+7234,Spirit_of_Guild,Spirit of Guild,3,20,0,10,,,,,,,,,,,{},{}
+7235,Spirit_of_Assault,Spirit of Assault,3,20,0,10,,,,,,,,,,,{},{}
+7236,Spirit_of_Defense,Spirit of Defense,3,20,0,10,,,,,,,,,,,{},{}
+7237,Spirit_of_Cooperation,Spirit of Cooperation,3,20,0,10,,,,,,,,,,,{},{}
+7238,Spirit_of_Harmony,Spirit of Harmony,3,20,0,10,,,,,,,,,,,{},{}
+7239,Spirit_of_Advancement,Spirit of Advancement,3,20,0,10,,,,,,,,,,,{},{}
+7240,Spirit_of_Trust,Spirit of Trust,3,20,0,10,,,,,,,,,,,{},{}
+7241,Spirit_of_Concentration,Spirit of Concentration,3,20,0,10,,,,,,,,,,,{},{}
+7242,Spirit_of_Unity,Spirit of Unity,3,20,0,10,,,,,,,,,,,{},{}
+7243,Spirit_of_Integrity,Spirit of Integrity,3,20,0,10,,,,,,,,,,,{},{}
+7244,Spirit_of_Communion,Spirit of Communion,3,20,0,10,,,,,,,,,,,{},{}
+7245,Spirit_of_Friendship,Spirit of Friendship,3,20,0,10,,,,,,,,,,,{},{}
+7246,Spirit_of_Peace,Spirit of Peace,3,20,0,10,,,,,,,,,,,{},{}
+7247,Spirit_of_Nature,Spirit of Nature,3,20,0,10,,,,,,,,,,,{},{}
+7248,Spirit_of_Fame,Spirit of Fame,3,20,0,10,,,,,,,,,,,{},{}
+7249,Spirit_of_Contribution,Spirit of Contribution,3,20,0,10,,,,,,,,,,,{},{}
+7250,Spirit_of_Glory,Spirit of Glory,3,20,0,10,,,,,,,,,,,{},{}
+7251,Spirit_of_Victory,Spirit of Victory,3,20,0,10,,,,,,,,,,,{},{}
+
+//Gonryun Items
+7252,Chinese_Medicine,Chinese Medicine,3,20,0,10,,,,,,,,,,,{},{}
+7253,Golden_Flag,Golden Flag,3,20,0,10,,,,,,,,,,,{},{}
+7254,Digitally_Printed_Ticket,Digitally Printed Ticket,3,20,0,10,,,,,,,,,,,{},{}
+7262,Paper_Fan,Paper Fan,3,233,0,,,,,,,,,,,,{},{}
+7263,Cat's_Eye,Cat's-Eye,3,20,477,10,,,,,,,,,,,{},{}
+7264,Dried_Sand,Dried Sand,3,20,161,10,,,,,,,,,,,{},{}
+7265,Dragon_Horn,Dragon Horn,3,20,0,10,,,,,,,,,,,{},{}
+7266,Dragon_Teeth,Dragon Teeth,3,218,0,,,,,,,,,,,,{},{}
+7267,Tigerskin_Underwear,Tigerskin Underwear,3,20,107,10,,,,,,,,,,,{},{}
+7268,Ghost_Doll,Ghost Doll,3,20,605,10,,,,,,,,,,,{},{}
+7269,Baby_Bib,Baby Bib,3,20,0,10,,,,,,,,,,,{},{}
+7270,Baby_Bottle,Baby Bottle,3,20,0,,,,,,,,,,,,{},{}
+7271,Novice_Statue,Novice Statue,3,20,0,10,,,,,,,,,,,{},{}
+7272,Dumpling_Doll,Dumpling Doll,3,20,0,10,,,,,,,,,,,{},{}
+7273,RWC_Necklace,RWC_Necklace,3,20,0,10,,,,,,,,,,,{},{}
+7274,Ancient_Language_Book,Ancient_Language_Book,3,20,0,10,,,,,,,,,,,{},{}
+7275,Ancient_Language_Document,Ancient_Language_Document,3,20,0,10,,,,,,,,,,,{},{}
+7276,Picture_Letter,Picture Letter,3,20,0,10,,,,,,,,,,,{},{}
+7277,Munak_Doll,Munak Doll,3,20,0,10,,,,,,,,,,,{},{}
+7278,Welfare_Letter,Welfare Letter,3,20,0,10,,,,,,,,,,,{},{}
+7279,Vita_500_Bottlecap,Vita 500 Bottlecap,3,20,0,10,,,,,,,,,,,{},{}
+7280,Quiz_Participation_Certificate_1,QP Certificate 1,3,20,0,10,,,,,,,,,,,{},{}
+7281,Quiz_Participation_Certificate_2,QP Certificate 2,3,20,0,10,,,,,,,,,,,{},{}
+7282,Quiz_Participation_Certificate_3,QP Certificate 3,3,20,0,10,,,,,,,,,,,{},{}
+7283,Quiz_Participation_Certificate_4,QP Certificate 4,3,20,0,10,,,,,,,,,,,{},{}
+7284,Quiz_Participation_Certificate_5,QP Certificate 5,3,20,0,10,,,,,,,,,,,{},{}
+
+// 11/09(Ayothana) Items
+7285,Sacred_Wool_Charm,Sacred_Wool_Charm,3,20,10,0,,,,,,,,,,,{},{},,
+7286,Red_Chili,Red_Chili,3,20,10,0,,,,,,,,,,,{},{},,
+7287,Sacred_Wool_Charm_2,Sacred_Wool_Charm_2,3,20,10,0,,,,,,,,,,,{},{},,
+7288,Engagement_Ring,Engagement_Ring,3,20,10,0,,,,,,,,,,,{},{},,
+7289,Olivite,Olivite,3,20,100,0,,,,,,,,,,,{},{},,
+7290,Gold_Mica,Gold_Mica,3,20,100,0,,,,,,,,,,,{},{},,
+7291,Agate,Agate,3,20,100,0,,,,,,,,,,,{},{},,
+7292,White_Mica,White_Mica,3,20,100,0,,,,,,,,,,,{},{},,
+7293,Rose_Quartz,Rose_Quartz,3,20,100,0,,,,,,,,,,,{},{},,
+7294,Turquoise,Turquoise,3,20,100,0,,,,,,,,,,,{},{},,
+7295,Citrine,Citrine,3,20,100,0,,,,,,,,,,,{},{}
+7296,Augite,Augite,3,20,100,0,,,,,,,,,,,{},{},,
+7297,Black_Mica,Black_Mica,3,20,100,0,,,,,,,,,,,{},{},,
+7298,Leaf_Cloth,Leaf_Cloth,3,20,10,0,,,,,,,,,,,{},{},,
+7299,Bamboo_Basket,Bamboo_Basket,3,20,10,0,,,,,,,,,,,{},{},,
+7300,Jeweled_Ore,Jeweled_Ore,3,20,10,0,,,,,,,,,,,{},{}
+7301,Knife_Decoration,Knife_Decoration,3,20,10,0,,,,,,,,,,,{},{},,
+7302,Krathong,Krathong,3,20,10,0,,,,,,,,,,,{},{},,
+
+7500,THG_Membership,THG Membership,3,20,0,10,,,,,,,,,,,{},{}
+7501,Token_Bag,Token Bag,3,20,0,10,,,,,,,,,,,{},{}
+
+// Pet Eggs
+//===================================================================
+9001,Poring_Egg,Poring Egg,7,20,0,0,,,,,,,,,,,{},{}
+9002,Drops_Egg,Drops Egg,7,20,0,0,,,,,,,,,,,{},{}
+9003,Poporing_Egg,Poporing Egg,7,20,0,0,,,,,,,,,,,{},{}
+9004,Lunatic_Egg,Lunatic Egg,7,20,0,0,,,,,,,,,,,{},{}
+9005,Picky_Egg,Picky Egg,7,20,0,0,,,,,,,,,,,{},{}
+9006,Chonchon_Egg,Chonchon Egg,7,20,0,0,,,,,,,,,,,{},{}
+9007,Steel_Chonchon_Egg,Steel Chonchon Egg,7,20,0,0,,,,,,,,,,,{},{}
+9008,Hunter_Fly_Egg,Hunter Fly Egg,7,20,0,0,,,,,,,,,,,{},{}
+9009,Savage_Babe_Egg,Savage Babe Egg,7,20,0,0,,,,,,,,,,,{},{}
+9010,Baby_Desert_Wolf_Egg,Baby Desert Wolf Egg,7,20,0,0,,,,,,,,,,,{},{}
+9011,Rocker_Egg,Rocker Egg,7,20,0,0,,,,,,,,,,,{},{}
+9012,Spore_Egg,Spore Egg,7,20,0,0,,,,,,,,,,,{},{}
+9013,Poison_Spore_Egg,Poison Spore Egg,7,20,0,0,,,,,,,,,,,{},{}
+9014,PecoPeco_Egg,PecoPeco Egg,7,20,0,0,,,,,,,,,,,{},{}
+9015,Smokie_Egg,Smokie Egg,7,20,0,0,,,,,,,,,,,{},{}
+9016,Yoyo_Egg,Yoyo Egg,7,20,0,0,,,,,,,,,,,{},{}
+9017,Orc_Warrior_Egg,Orc Warrior Egg,7,20,0,0,,,,,,,,,,,{},{}
+9018,Munak_Egg,Munak Egg,7,20,0,0,,,,,,,,,,,{},{}
+9019,Dokkaebi_Egg,Dokkaebi Egg,7,20,0,0,,,,,,,,,,,{},{}
+9020,Sohee_Egg,Sohee Egg,7,20,0,0,,,,,,,,,,,{},{}
+9021,Isis_Egg,Isis Egg,7,20,0,0,,,,,,,,,,,{},{}
+9022,Green_Petite_Egg,Green Petite Egg,7,20,0,0,,,,,,,,,,,{},{}
+9023,Deviruchi_Egg,Deviruchi Egg,7,20,0,0,,,,,,,,,,,{},{}
+9024,Bapho_Jr._Egg,Bapho Jr. Egg,7,20,0,0,,,,,,,,,,,{},{}
+9025,Bongun_Egg,Bongun Egg,7,20,0,0,,,,,,,,,,,{},{}
+9026,Alice_Egg,Alice Egg,7,20,0,0,,,,,,,,,,,{},{}
+9027,Zherlthsh_Egg,Zherlthsh Egg,7,20,0,0,,,,,,,,,,,{},{}
+9028,test_Egg,Test Egg,7,20,0,0,,,,,,,,,,,{},{}
+9029,test_Egg_,Test Egg,7,20,0,0,,,,,,,,,,,{},{}
+
+// Pet Accessories
+//===================================================================
+10001,Skull_Helm,Skull Helm,8,20,0,0,,,,,,,,,,,{},{}
+10002,Monster_Oxygen_Mask,Monster Oxygen Mask,8,20,0,0,,,,,,,,,,,{},{}
+10003,Transparent_Head_Protector,Transparent Headgear,8,20,0,0,,,,,,,,,,,{},{}
+10004,Pacifier,Pacifier,8,20,0,0,,,,,,,,,,,{},{}
+10005,Wig,Wig,8,20,0,0,,,,,,,,,,,{},{}
+10006,Queen's_Hair_Ornament,Queen's Hair Ornament,8,20,0,0,,,,,,,,,,,{},{}
+10007,Silk_Ribbon,Silk Ribbon,8,20,0,0,,,,,,,,,,,{},{}
+10008,Punisher,Punisher,8,20,0,0,,,,,,,,,,,{},{}
+10009,Wild_Flower,Wild Flower,8,20,0,0,,,,,,,,,,,{},{}
+10010,Battered_Pot,Battered Pot,8,20,0,0,,,,,,,,,,,{},{}
+10011,Stellar_Hairpin,Stellar Hairpin,8,20,0,0,,,,,,,,,,,{},{}
+10012,Tiny_Egg_Shell,Tiny Egg Shell,8,20,0,0,,,,,,,,,,,{},{}
+10013,Backpack,Backpack,8,1500,0,0,,,,,,,,,,,{},{}
+10014,Rocker_Glasses,Rocker Glasses,8,2000,0,0,,,,,,,,,,,{},{}
+10015,Green_Lace,Green Lace,8,20,0,0,,,,,,,,,,,{},{}
+10016,Golden_Bell,Golden Bell,8,20,0,0,,,,,,,,,,,{},{}
+10017,Bark_Shorts,Bark Shorts,8,20,0,0,,,,,,,,,,,{},{}
+10018,Monkey_Circlet,Monkey Circlet,8,20,0,0,,,,,,,,,,,{},{}
+10019,Red_Muffler,Red Muffler,8,20,0,0,,,,,,,,,,,{},{}
+10020,Sword_of_Chinese_Exorcist,Sword of Chinese Exorcist,8,20,0,0,,,,,,,,,,,{},{}
+
+// History books
+//===================================================================
+11000,Prontera_History_Book,Prontera History Book,3,20,0,0,,,,,,,,,,,{},{}
+11001,Izlude_History_Book,Izlude History Book,3,20,0,0,,,,,,,,,,,{},{}
+11002,Yuno_History_Book,Yuno History Book,3,20,0,0,,,,,,,,,,,{},{}
+11003,Geffen_History_Book,Geffen History Book,3,20,0,0,,,,,,,,,,,{},{}
+11004,Aldebaran_History_Book,Aldebaran History Book,3,20,0,0,,,,,,,,,,,{},{}
+11005,Alberta_History_Book,Alberta History Book,3,20,0,0,,,,,,,,,,,{},{}
+11006,Payon_History_Book,Payon History Book,3,20,0,0,,,,,,,,,,,{},{}
+11007,History_Book,Unknown Item,3,20,0,0,,,,,,,,,,,{},{}
+11009,History_Book,Unknown Item,3,20,0,0,,,,,,,,,,,{},{}
+11010,Archer_Village_History_Book,Unknown Item,3,20,0,0,,,,,,,,,,,{},{}
+11011,Lutie_History_Book,Luite History Book,3,20,0,0,,,,,,,,,,,{},{}
+11012,Jawaii_History_Book,Jawaii History Book,3,20,0,0,,,,,,,,,,,{},{}
+11013,Gonryun_History_Book,Gonryun History Book,3,20,0,0,,,,,,,,,,,{},{}
+11014,Mjolnir_History_Book,Mjolnir History Book,3,20,0,0,,,,,,,,,,,{},{}
+11015,Amatsu_History_Book,Amatsu History Book,3,20,0,0,,,,,,,,,,,{},{}
+11016,Umbala_History_Book,Umbala History Book,3,20,0,0,,,,,,,,,,,{},{}
+11017,Nifleheim_History_Book,Nifflheim History Book,3,20,0,0,,,,,,,,,,,{},{}
+11018,Morroc_History_Book,Morroc History Book,3,20,0,0,,,,,,,,,,,{},{}
+11019,Comodo_History_Book,Comodo History Book,3,20,0,0,,,,,,,,,,,{},{}
+11020,Louyang_History_Book,Louyang History Book,3,20,0,0,,,,,,,,,,,{},{}

+ 16 - 16
db/skill_nocast_db.txt

@@ -1,17 +1,17 @@
-//<Skill ID> <Mode>
-//
-// Mode:
-// 1 - Cannot be used in normal maps
-// 2 - Cannot be used in PvP maps
-// 4 - Cannot be used in GvG maps
-// 8 - Cannot be used when WoE is on
-// 16 - Cannot be used in PK Mode maps
-// Example: 8,6 = Endure cannot be used in PvP and GvG maps (2+4)
-8,12
-26,12
-27,12
-87,12
-150,12
-361,12
-362,12
+//<Skill ID> <Mode>
+//
+// Mode:
+// 1 - Cannot be used in normal maps
+// 2 - Cannot be used in PvP maps
+// 4 - Cannot be used in GvG maps
+// 8 - Cannot be used when WoE is on
+// 16 - Cannot be used in PK Mode maps
+// Example: 8,6 = Endure cannot be used in PvP and GvG maps (2+4)
+8,12
+26,12
+27,12
+87,12
+150,12
+361,12
+362,12
 389,12

+ 360 - 360
doc/effect_list.txt

@@ -1,360 +1,360 @@
-Effect list - #'s I found while testing, lots of possible advanced class effects we missed
-(mixed old effect list of valaris and spira's new list...)
-
-0-5. Attack Display
-6. Being Warped
-7. Being Healed
-8. Yellow Ripple Effect
-9. Different Type of Heal?
-10. Mammomite
-11. Endure
-12. Yellow cast aura
-13. Blue Box
-14. Blue heal? Blue pot?
-15. Soul Strike
-16. Hide animation
-17. Magnum Break
-18. Steal
-19. Invalid
-20. Envenom/Poison
-21. Slow Poison? (Envenom In Blue)
-22. Sight
-23. Stone Curse
-24. FireBall
-25. FireWall
-26. Nothing?
-27. Frost Driver Cast
-28. Frost Driver Hitting
-29. Lightning Bolt
-30. ThunderStorm
-31. Bubbles Appearing From The Character?
-32. Explosion
-33. Ruwach
-34. Warp out aura (blue)
-35. Casting Warp portal (blue)
-36. Warp portal (blue)
-37. Agi up
-38. Agi down
-39. Something being made
-40. Cross thing (paladin skill?)
-41. Angelus bell
-42. Blessing angels
-43. Dex + Agi up
-44. Little fog smoke.
-45. Faint little ball things.
-46. Sand?
-47. Torch
-48. Circle of blue flat things
-49. Firebolt/wall hits
-50. Spinning fire thing
-51. Icebolt hit
-52. JT Hit
-53. Puff of purpulish smoke?
-54-59. Cast animations
-60. Cast target circle
-61. Warp portal (for maps)
-62. Sight rasher
-63. Fire sphere from some skill
-64. Weird purple/red light
-65. some sort of mob hit???
-66. potion effect?
-67. Provoke
-68. MVP
-69. Skid trap sign
-70. Blue purple aura thing
-71. Spiral Yellow balls
-72. Bigger Spiral Yellow balls
-73. Blue/yellow ripple
-74. Icewall sicle
-75. Acolyte skill (3 singing girls)
-76. Big angel that spreads wings (some aco skill)
-77. Resurrection angel
-78. Status recovery
-79. Heaven drive spike? Earth spike?
-80. Spear boomerange
-81. Skill hit
-82. Detect hidden	
-83. Another aco skill i don't know (angel comes out of green light)
-84. Yet another stupid angel.
-85. Lex Divinia
-86. Holy water?
-87. Lex aeterna
-88. Another damn priest/aco skill
-89. SG
-90. LoV
-91. Aco priest skill
-92. Meteor Storm
-93. JT ball
-94. JT hit
-95. Quagmire
-96. Some sort of cool looking fire hit?
-97. Firepillar hit
-98.
-99. Big blue light
-100. Yellow ball fountain
-101. Forge?
-102. Hammerfall
-103. Powerthrust?
-104. Weapon perfection?
-105. Nothing?
-106. Fire explosion.
-107. Fire explosion (from trap?)
-108. blue smoke with noise
-109. blue bubbles	
-110. yellow smoke (trap?)
-111. some bs skill or something
-117. Waterball
-120. Sound effect
-132. Single Grimtooth
-138. Fire pillar
-139. Fireworks
-154. refine success
-155. refine fail
-156. Jobchange.str (crashes client)
-157. Levelup.str (crashes client)
-158. joblvup 
-159. Pvp circle
-160. Woe circle?
-161. Rain
-162. Snow
-163. Sakura leaves
-164. nothing (npc/mob?)
-165. Weird ball thing
-166. turns sprite blue
-167. Taming Success (crashes client)
-168. Taming failed (crashes client)
-169. blue light
-170. explosion
-171. venom dust
-172. black aura
-173. red aura
-174. blue aura
-175. yellow aura
-176. purple aura
-177. red aura
-178. white aura
-179. purple aura
-180. darkness attack hit?
-181. water attack hit?
-182. wind attack hit
-183. self destruction 
-184. nothing (npc/mob?)
-185. nothing (npc/mob?)
-186. yellow effect
-187. yellow effect
-188. yellow effect
-189. yellow effect
-190. yellow effect
-191. target (piercing attack or something)
-192. purple cloud hit
-193. mute or something (npc skill)
-194. stun attack?
-195. stone curse 
-196. curse
-197. sleep
-198. nothing (npc/mob?)
-199. some weird bubble
-200-203. Parts of the level 99 Aura
-204-211. Healing Items Effect
-212. Damage Effect (9999)
-213. Shield Appears (Guard?)
-214. 3 Weird Things Appear Around You (They All Look The Same)
-215. Hide/Unhide?
-216. 2 Red Balls shoot out
-217. 2 Blue Balls shoot out
-218. Concentration Potion Effect
-219. Other Speed Potion
-220. Berserk Potion
-221. White Alien Abduction Beam
-222. Defender Skill Effect (Black Circle)
-223. Invalid Effect
-224. White Wisp Revolving around you
-225. Volcano Effect
-226. Grand Cross Effect
-227-230. Blank
-231. Yuno Effect (Takes Alittle While)
-232. Blank
-233. Fog
-234. Unknown To Me
-235. Unknown To Me
-236. Deluge Effect
-237. Wind Gale Effect
-238. Land Protect Effect
-239. Volcano Effect 2
-240. Deluge Effect 2
-241. Wind Gale Effect 2
-242. Land Protect Effect 2
-243. Invalid Effect
-244. Unknown To Me.
-245. Holy Cross Effect
-246. Shield Charge Effect
-247. Yuno Effect 2 (Larger)
-248. Status Recovery? (Shows An Angel On Top Of Your Head)
-249. Shield Boomerang
-250. Spear Quicken
-251. Devotion
-252. Reflect Shield (Yellow Circle)
-259. Green Abduction Beam
-260. Orange Abduction Beam
-261. red aura thing
-262. yellow things that shoot out
-263. Yellow ground effect.
-264. nothing (npc/mob?)
-265. laser beam ?!
-266. bunch of white shit flies out
-267. gun shot!
-268. money bag
-269. sword thing
-270. shield thing
-271. armor thing
-272. cape thing?
-273. Outter spinning white balls.
-274. flying gold
-275. spit
-276. stuff that flies out somewhat like crits
-277. white stuff that comes out around sprite
-295. frost joke
-296. scream
-298. fire bottle throwing
-300. Chemical Protection
-301. Blank
-302. Demonstration Fire Effect
-303. Weird Effect you turn yellow and see six lines (3 sets of 2) going slanted
-304. After being warped
-305. Pharmacy Success
-306. Pharmacy Failed
-307. Sunlight through the roof effect in Geffenia
-308. Blank
-309. Unknown to me
-310. Unknown to me
-311. Shout/Yell/Loud (Merchant Skill) Effect
-312-313. Heal Effect?
-314. Another Part of Warp/ Yuno Effect?
-315. Newer Safety Wall (Pink Portal)
-316. Another Part of Warp (The Ripple Floor Part)
-317. Full Warp Effect
-322. daylight 
-323. daylight
-324. daylight
-328. asura strike word
-329. tripple strike
-333. Orange Leaves Falling
-334. blind (can stack it)
-335. poison (can stack it)
-336. defender shield?
-337. joblvup 
-338. supernovice angel
-341. pink warp portal
-342. pink aura
-343. pink heart thing (cool)
-344. teleport in
-346. big blue ball
-347. wedding effect
-349. waterfall (horizonatal)
-350. waterfall (vertical)
-351. sm waterfall (horizonatal)
-352. sm waterfall (vertical)
-353. drk waterfall (horizonatal)
-354. drk waterfall (vertical)
-355. drk sm waterfall (horizonatal)
-356. drk sm waterfall (vertical)
-358. niflheim ghost
-359. niflheim bat slow
-360. niflheim bat fast
-361. shoots purple wave out
-362. nothing?
-363. valentine's day heart (wings)
-364. valentine's day heart
-365. falling cross
-368. make you red (berserk?)
-369. 2h quicken?
-371. lvup
-372. death
-373. smoke
-375. white outline around sprite
-376. makes red and shoots out stuff
-377. shoots out yellow shit
-380. shakes screen turns you all different colors
-387. spins you around shakes screen flashes white
-394. big red ball around you
-
-403 = mind breaker
-404 = spider web
-405 = nothing
-406 = explosion effect on the head
-407 = effect that starts big and fades in to your characters head
-
-408. Orange Bubble Grows Around
-409. Weird Poision Like Effect
-410. Rainbow
-411. (Usable, Just add in folder effect file called peong1.tga).errors/detoxify like.
-413. nothing?
-417. flash
-418. red critical explosion?
-419. Pulsating grey aura
-420. gradual shrink char (possible minimize effect?)
-421. instant minimize
-422. grow back, but not all the way (baby height)
-423. mega size
-424. makes sprite bright
-425. 4 brownish replicas of sprite fly off?
-426. shakes sprites (works on player sprites!)
-427. nothing? (maybe for npc/mobs)
-428. yellow sparks
-429. blue sparks
-430. blue sparks in different direction
-431. another blue spark variant
-432. can't find effect\elec1.tga
-433. nothing? (npc/mob?)
-434. white sparks
-435. can't find effect\storm2.tga (sometimes works and shows little tornado thing!
-436. white shield (for one of the defense skills?)
-437. blue aura (kinda like a comet!)
-438. another defense aura? blue ripples. blue pulsating shield
-439. can't fine effect\line3.tga
-440. high priest skill angel? Angelus type effect but with a cross
-441. another cast aura
-442. nothing? (npc/mob?)
-443. nothing? (npc/mob?)
-444. white lines that fire out
-445. your sprite flies up and disappears sometime sprite errors
-446. your sprite falls down
-447. nothing? (npc/mob?)
-448. nothing? (npc/mob?)
-449. turns you bright blue real quick
-450. darkcross effect (black grand cross)
-451. red soul strike?! (high wiz skill?)
-452. A jupital thunder type of effect, electricity pulsates around your char
-453. Smoke (electricity type) surrounds char, can move and effect is still their.
-454. black cast aura
-455. red electric that covers body
-456. looks like wind rushes up (reminds me of agi up but slower, bigger, and grey)
-457. forces attack animation. makes a dash like stance
-458. causes sprite to jiggle. char pulsates and distorts (like 426)
-459. effect\storm2.tga error, causes player sprite to spin around and you see a faint tornado aura
-460. same as 459.
-461. faint tornado aura
-462. same as 459.
-463. same as 459.
-464. same as 459.
-465. same as 459.
-466. nothing (npc/mob?)
-467. sprite error (effect\hanmoon1.tga?)
-468. sprite error (effect\hanmoon2.tga?)
-469. sprite error (effect\hanmoon3.tga?)
-470. sprite error (effect\hanmoon4.tga?)
-471. sprite error (effect\hanmoon5.tga?)
-472. sprite error (effect\hanmoon6.tga?)
-473. sprite error (effect\hanmoon7.tga?)
-474. nothing (npc/mob?)
-
-475-484 = slow fade to blind, each one continues to make it smaller and smaller 
-485 = white critical explosion thing
-486 = blue critical explosion thing
-487 = black portal ground effect
-488 = orange spikey aura that stretches up to fire type points
-489 = yellow/gold of 488
-489 = blue version
-491 = a small expoision above the head
-492 = creates 1 small venom poison type of point on the ground
-493+ = invalid effects
+Effect list - #'s I found while testing, lots of possible advanced class effects we missed
+(mixed old effect list of valaris and spira's new list...)
+
+0-5. Attack Display
+6. Being Warped
+7. Being Healed
+8. Yellow Ripple Effect
+9. Different Type of Heal?
+10. Mammomite
+11. Endure
+12. Yellow cast aura
+13. Blue Box
+14. Blue heal? Blue pot?
+15. Soul Strike
+16. Hide animation
+17. Magnum Break
+18. Steal
+19. Invalid
+20. Envenom/Poison
+21. Slow Poison? (Envenom In Blue)
+22. Sight
+23. Stone Curse
+24. FireBall
+25. FireWall
+26. Nothing?
+27. Frost Driver Cast
+28. Frost Driver Hitting
+29. Lightning Bolt
+30. ThunderStorm
+31. Bubbles Appearing From The Character?
+32. Explosion
+33. Ruwach
+34. Warp out aura (blue)
+35. Casting Warp portal (blue)
+36. Warp portal (blue)
+37. Agi up
+38. Agi down
+39. Something being made
+40. Cross thing (paladin skill?)
+41. Angelus bell
+42. Blessing angels
+43. Dex + Agi up
+44. Little fog smoke.
+45. Faint little ball things.
+46. Sand?
+47. Torch
+48. Circle of blue flat things
+49. Firebolt/wall hits
+50. Spinning fire thing
+51. Icebolt hit
+52. JT Hit
+53. Puff of purpulish smoke?
+54-59. Cast animations
+60. Cast target circle
+61. Warp portal (for maps)
+62. Sight rasher
+63. Fire sphere from some skill
+64. Weird purple/red light
+65. some sort of mob hit???
+66. potion effect?
+67. Provoke
+68. MVP
+69. Skid trap sign
+70. Blue purple aura thing
+71. Spiral Yellow balls
+72. Bigger Spiral Yellow balls
+73. Blue/yellow ripple
+74. Icewall sicle
+75. Acolyte skill (3 singing girls)
+76. Big angel that spreads wings (some aco skill)
+77. Resurrection angel
+78. Status recovery
+79. Heaven drive spike? Earth spike?
+80. Spear boomerange
+81. Skill hit
+82. Detect hidden	
+83. Another aco skill i don't know (angel comes out of green light)
+84. Yet another stupid angel.
+85. Lex Divinia
+86. Holy water?
+87. Lex aeterna
+88. Another damn priest/aco skill
+89. SG
+90. LoV
+91. Aco priest skill
+92. Meteor Storm
+93. JT ball
+94. JT hit
+95. Quagmire
+96. Some sort of cool looking fire hit?
+97. Firepillar hit
+98.
+99. Big blue light
+100. Yellow ball fountain
+101. Forge?
+102. Hammerfall
+103. Powerthrust?
+104. Weapon perfection?
+105. Nothing?
+106. Fire explosion.
+107. Fire explosion (from trap?)
+108. blue smoke with noise
+109. blue bubbles	
+110. yellow smoke (trap?)
+111. some bs skill or something
+117. Waterball
+120. Sound effect
+132. Single Grimtooth
+138. Fire pillar
+139. Fireworks
+154. refine success
+155. refine fail
+156. Jobchange.str (crashes client)
+157. Levelup.str (crashes client)
+158. joblvup 
+159. Pvp circle
+160. Woe circle?
+161. Rain
+162. Snow
+163. Sakura leaves
+164. nothing (npc/mob?)
+165. Weird ball thing
+166. turns sprite blue
+167. Taming Success (crashes client)
+168. Taming failed (crashes client)
+169. blue light
+170. explosion
+171. venom dust
+172. black aura
+173. red aura
+174. blue aura
+175. yellow aura
+176. purple aura
+177. red aura
+178. white aura
+179. purple aura
+180. darkness attack hit?
+181. water attack hit?
+182. wind attack hit
+183. self destruction 
+184. nothing (npc/mob?)
+185. nothing (npc/mob?)
+186. yellow effect
+187. yellow effect
+188. yellow effect
+189. yellow effect
+190. yellow effect
+191. target (piercing attack or something)
+192. purple cloud hit
+193. mute or something (npc skill)
+194. stun attack?
+195. stone curse 
+196. curse
+197. sleep
+198. nothing (npc/mob?)
+199. some weird bubble
+200-203. Parts of the level 99 Aura
+204-211. Healing Items Effect
+212. Damage Effect (9999)
+213. Shield Appears (Guard?)
+214. 3 Weird Things Appear Around You (They All Look The Same)
+215. Hide/Unhide?
+216. 2 Red Balls shoot out
+217. 2 Blue Balls shoot out
+218. Concentration Potion Effect
+219. Other Speed Potion
+220. Berserk Potion
+221. White Alien Abduction Beam
+222. Defender Skill Effect (Black Circle)
+223. Invalid Effect
+224. White Wisp Revolving around you
+225. Volcano Effect
+226. Grand Cross Effect
+227-230. Blank
+231. Yuno Effect (Takes Alittle While)
+232. Blank
+233. Fog
+234. Unknown To Me
+235. Unknown To Me
+236. Deluge Effect
+237. Wind Gale Effect
+238. Land Protect Effect
+239. Volcano Effect 2
+240. Deluge Effect 2
+241. Wind Gale Effect 2
+242. Land Protect Effect 2
+243. Invalid Effect
+244. Unknown To Me.
+245. Holy Cross Effect
+246. Shield Charge Effect
+247. Yuno Effect 2 (Larger)
+248. Status Recovery? (Shows An Angel On Top Of Your Head)
+249. Shield Boomerang
+250. Spear Quicken
+251. Devotion
+252. Reflect Shield (Yellow Circle)
+259. Green Abduction Beam
+260. Orange Abduction Beam
+261. red aura thing
+262. yellow things that shoot out
+263. Yellow ground effect.
+264. nothing (npc/mob?)
+265. laser beam ?!
+266. bunch of white shit flies out
+267. gun shot!
+268. money bag
+269. sword thing
+270. shield thing
+271. armor thing
+272. cape thing?
+273. Outter spinning white balls.
+274. flying gold
+275. spit
+276. stuff that flies out somewhat like crits
+277. white stuff that comes out around sprite
+295. frost joke
+296. scream
+298. fire bottle throwing
+300. Chemical Protection
+301. Blank
+302. Demonstration Fire Effect
+303. Weird Effect you turn yellow and see six lines (3 sets of 2) going slanted
+304. After being warped
+305. Pharmacy Success
+306. Pharmacy Failed
+307. Sunlight through the roof effect in Geffenia
+308. Blank
+309. Unknown to me
+310. Unknown to me
+311. Shout/Yell/Loud (Merchant Skill) Effect
+312-313. Heal Effect?
+314. Another Part of Warp/ Yuno Effect?
+315. Newer Safety Wall (Pink Portal)
+316. Another Part of Warp (The Ripple Floor Part)
+317. Full Warp Effect
+322. daylight 
+323. daylight
+324. daylight
+328. asura strike word
+329. tripple strike
+333. Orange Leaves Falling
+334. blind (can stack it)
+335. poison (can stack it)
+336. defender shield?
+337. joblvup 
+338. supernovice angel
+341. pink warp portal
+342. pink aura
+343. pink heart thing (cool)
+344. teleport in
+346. big blue ball
+347. wedding effect
+349. waterfall (horizonatal)
+350. waterfall (vertical)
+351. sm waterfall (horizonatal)
+352. sm waterfall (vertical)
+353. drk waterfall (horizonatal)
+354. drk waterfall (vertical)
+355. drk sm waterfall (horizonatal)
+356. drk sm waterfall (vertical)
+358. niflheim ghost
+359. niflheim bat slow
+360. niflheim bat fast
+361. shoots purple wave out
+362. nothing?
+363. valentine's day heart (wings)
+364. valentine's day heart
+365. falling cross
+368. make you red (berserk?)
+369. 2h quicken?
+371. lvup
+372. death
+373. smoke
+375. white outline around sprite
+376. makes red and shoots out stuff
+377. shoots out yellow shit
+380. shakes screen turns you all different colors
+387. spins you around shakes screen flashes white
+394. big red ball around you
+
+403 = mind breaker
+404 = spider web
+405 = nothing
+406 = explosion effect on the head
+407 = effect that starts big and fades in to your characters head
+
+408. Orange Bubble Grows Around
+409. Weird Poision Like Effect
+410. Rainbow
+411. (Usable, Just add in folder effect file called peong1.tga).errors/detoxify like.
+413. nothing?
+417. flash
+418. red critical explosion?
+419. Pulsating grey aura
+420. gradual shrink char (possible minimize effect?)
+421. instant minimize
+422. grow back, but not all the way (baby height)
+423. mega size
+424. makes sprite bright
+425. 4 brownish replicas of sprite fly off?
+426. shakes sprites (works on player sprites!)
+427. nothing? (maybe for npc/mobs)
+428. yellow sparks
+429. blue sparks
+430. blue sparks in different direction
+431. another blue spark variant
+432. can't find effect\elec1.tga
+433. nothing? (npc/mob?)
+434. white sparks
+435. can't find effect\storm2.tga (sometimes works and shows little tornado thing!
+436. white shield (for one of the defense skills?)
+437. blue aura (kinda like a comet!)
+438. another defense aura? blue ripples. blue pulsating shield
+439. can't fine effect\line3.tga
+440. high priest skill angel? Angelus type effect but with a cross
+441. another cast aura
+442. nothing? (npc/mob?)
+443. nothing? (npc/mob?)
+444. white lines that fire out
+445. your sprite flies up and disappears sometime sprite errors
+446. your sprite falls down
+447. nothing? (npc/mob?)
+448. nothing? (npc/mob?)
+449. turns you bright blue real quick
+450. darkcross effect (black grand cross)
+451. red soul strike?! (high wiz skill?)
+452. A jupital thunder type of effect, electricity pulsates around your char
+453. Smoke (electricity type) surrounds char, can move and effect is still their.
+454. black cast aura
+455. red electric that covers body
+456. looks like wind rushes up (reminds me of agi up but slower, bigger, and grey)
+457. forces attack animation. makes a dash like stance
+458. causes sprite to jiggle. char pulsates and distorts (like 426)
+459. effect\storm2.tga error, causes player sprite to spin around and you see a faint tornado aura
+460. same as 459.
+461. faint tornado aura
+462. same as 459.
+463. same as 459.
+464. same as 459.
+465. same as 459.
+466. nothing (npc/mob?)
+467. sprite error (effect\hanmoon1.tga?)
+468. sprite error (effect\hanmoon2.tga?)
+469. sprite error (effect\hanmoon3.tga?)
+470. sprite error (effect\hanmoon4.tga?)
+471. sprite error (effect\hanmoon5.tga?)
+472. sprite error (effect\hanmoon6.tga?)
+473. sprite error (effect\hanmoon7.tga?)
+474. nothing (npc/mob?)
+
+475-484 = slow fade to blind, each one continues to make it smaller and smaller 
+485 = white critical explosion thing
+486 = blue critical explosion thing
+487 = black portal ground effect
+488 = orange spikey aura that stretches up to fire type points
+489 = yellow/gold of 488
+489 = blue version
+491 = a small expoision above the head
+492 = creates 1 small venom poison type of point on the ground
+493+ = invalid effects

+ 551 - 551
doc/miscnotes.txt

@@ -1,552 +1,552 @@
-// ****************************************************
-// * Miscellaneous Notes (Added by MC Cameri)         *
-// ****************************************************
-
-// *****************************************************************
-// * Emotions that will be shown if 'int type' is one of the case. *
-// *****************************************************************
-void clif_emotion(struct block_list *bl,int type);
-case for 'int type':
-0 = !		10 = KO (Scissor)	20 = Hmmm	30 = Kiss 1 (R)		40 = Tsk tsk tsk (No)
-1 = ?		11 = Fist (Stone)	21 = Number 1!	31 = Kiss 2 (L)		41 = Petting
-2 = Music	12 = Hand (Paper)	22 = No (??)	32 = Smoking		42 = SP! (Timer)
-3 = Heart 1	13 = Korean Flag	23 = OMG!!	33 = Okay		43 = Obsessed 2 (Dumb face, eyes popping)
-4 = Sweat	14 = Heart 2		24 = O		34 = ... (Bugged)	44 = Come (Moving finger)
-5 = Light bulb	15 = Thanks		25 = X		35 = ??? Flag		45 = Yawn (Sleepy)
-6 = Annoyed	16 = Wah (Crying)	26 = Help!	36 = Evil 2		46 = Congratulations
-7 = Smoke cloud	17 = Sorry		27 = Go!	37 = Obsessed 1		47 = HP! (Timer)
-8 = $		18 = Heh (Laughing)	28 = Sobbing	38 = Two Hearts		
-9 = ...		19 = Sweating		29 = Evil 1	39 = Tongue		
-
-// ********************************
-// * Elemental Defense Resistance *
-// ********************************
-sd->subele[0] - Neutral Property
-sd->subele[1] - Water Property
-sd->subele[2] - Earth Property
-sd->subele[3] - Fire Property
-sd->subele[4] - Wind Property
-sd->subele[5] - Poison Property
-sd->subele[6] - Holy Property
-sd->subele[7] - Shadow Property
-sd->subele[8] - Ghost Property
-sd->subele[9] - Undead Property
-
-// ***************************************
-// * Elemental Monster Attack Resistance *
-// ***************************************
-
-sd->subrace[0] - Neutral Type
-sd->subrace[1] - Undead Type
-sd->subrace[2] - Brute Type
-sd->subrace[3] - Plant Type
-sd->subrace[4] - Insect Type
-sd->subrace[5] - Fish Type
-sd->subrace[6] - Demon Type
-sd->subrace[7] - Demi-Human Type
-sd->subrace[8] - Angel Type
-sd->subrace[9] - Dragon Type
-sd->subrace[10] - Boss Type #1?
-sd->subrace[11] - Boss Type #2?
-
-// **************
-// * Misc stuff *
-// **************
-
-WFIFOL(fd,2)=1; - Sever Closed
-
-// *******************
-// * Skills List     *
-// *******************
-// * ID	= Skill Name *
-// *******************
-ID	Skill Name
-1 =	NV_BASIC
-2 =	SM_SWORD
-3 =	SM_TWOHAND
-4 =	SM_RECOVERY
-5 =	SM_BASH
-6 =	SM_PROVOKE
-7 =	SM_MAGNUM
-8 =	SM_ENDURE
-9 =	MG_SRECOVERY
-10 =	MG_SIGHT
-11 =	MG_NAPALMBEAT
-12 =	MG_SAFETYWALL
-13 =	MG_SOULSTRIKE
-14 =	MG_COLDBOLT
-15 =	MG_FROSTDIVER
-16 =	MG_STONECURSE
-17 =	MG_FIREBALL
-18 =	MG_FIREWALL
-19 =	MG_FIREBOLT
-20 =	MG_LIGHTNINGBOLT
-21 =	MG_THUNDERSTORM
-22 =	AL_DP
-23 =	AL_DEMONBANE
-24 =	AL_RUWACH
-25 =	AL_PNEUMA
-26 =	AL_TELEPORT
-27 =	AL_WARP
-28 =	AL_HEAL
-29 =	AL_INCAGI
-30 =	AL_DECAGI
-31 =	AL_HOLYWATER
-32 =	AL_CRUCIS
-33 =	AL_ANGELUS
-34 =	AL_BLESSING
-35 =	AL_CURE
-36 =	MC_INCCARRY
-37 =	MC_DISCOUNT
-38 =	MC_OVERCHARGE
-39 =	MC_PUSHCART
-40 =	MC_IDENTIFY
-41 =	MC_VENDING
-42 =	MC_MAMMONITE
-43 =	AC_OWL
-44 =	AC_VULTURE
-45 =	AC_CONCENTRATION
-46 =	AC_DOUBLE
-47 =	AC_SHOWER
-48 =	TF_DOUBLE
-49 =	TF_MISS
-50 =	TF_STEAL
-51 =	TF_HIDING
-52 =	TF_POISON
-53 =	TF_DETOXIFY
-54 =	ALL_RESURRECTION
-55 =	KN_SPEARMASTERY
-56 =	KN_PIERCE
-57 =	KN_BRANDISHSPEAR
-58 =	KN_SPEARSTAB
-59 =	KN_SPEARBOOMERANG
-60 =	KN_TWOHANDQUICKEN
-61 =	KN_AUTOCOUNTER
-62 =	KN_BOWLINGBASH
-63 =	KN_RIDING
-64 =	KN_CAVALIERMASTERY
-65 =	PR_MACEMASTERY
-66 =	PR_IMPOSITIO
-67 =	PR_SUFFRAGIUM
-68 =	PR_ASPERSIO
-69 =	PR_BENEDICTIO
-70 =	PR_SANCTUARY
-71 =	PR_SLOWPOISON
-72 =	PR_STRECOVERY
-73 =	PR_KYRIE
-74 =	PR_MAGNIFICAT
-75 =	PR_GLORIA
-76 =	PR_LEXDIVINA
-77 =	PR_TURNUNDEAD
-78 =	PR_LEXAETERNA
-79 =	PR_MAGNUS
-80 =	WZ_FIREPILLAR
-81 =	WZ_SIGHTRASHER
-83 =	WZ_METEOR
-84 =	WZ_JUPITEL
-85 =	WZ_VERMILION
-86 =	WZ_WATERBALL
-87 =	WZ_ICEWALL
-88 =	WZ_FROSTNOVA
-89 =	WZ_STORMGUST
-90 =	WZ_EARTHSPIKE
-91 =	WZ_HEAVENDRIVE
-92 =	WZ_QUAGMIRE
-93 =	WZ_ESTIMATION
-94 =	BS_IRON
-95 =	BS_STEEL
-96 =	BS_ENCHANTEDSTONE
-97 =	BS_ORIDEOCON
-98 =	BS_DAGGER
-99 =	BS_SWORD
-100 =	BS_TWOHANDSWORD
-101 =	BS_AXE
-102 =	BS_MACE
-103 =	BS_KNUCKLE
-104 =	BS_SPEAR
-105 =	BS_HILTBINDING
-106 =	BS_FINDINGORE
-107 =	BS_WEAPONRESEARCH
-108 =	BS_REPAIRWEAPON
-109 =	BS_SKINTEMPER
-110 =	BS_HAMMERFALL
-111 =	BS_ADRENALINE
-112 =	BS_WEAPONPERFECT
-113 =	BS_OVERTHRUST
-114 =	BS_MAXIMIZE
-115 =	HT_SKIDTRAP
-116 =	HT_LANDMINE
-117 =	HT_ANKLESNARE
-118 =	HT_SHOCKWAVE
-119 =	HT_SANDMAN
-120 =	HT_FLASHER
-121 =	HT_FREEZINGTRAP
-122 =	HT_BLASTMINE
-123 =	HT_CLAYMORETRAP
-124 =	HT_REMOVETRAP
-125 =	HT_TALKIEBOX
-126 =	HT_BEASTBANE
-127 =	HT_FALCON
-128 =	HT_STEELCROW
-129 =	HT_BLITZBEAT
-130 =	HT_DETECTING
-131 =	HT_SPRINGTRAP
-132 =	AS_RIGHT
-133 =	AS_LEFT
-134 =	AS_KATAR
-135 =	AS_CLOAKING
-136 =	AS_SONICBLOW
-137 =	AS_GRIMTOOTH
-138 =	AS_ENCHANTPOISON
-139 =	AS_POISONREACT
-140 =	AS_VENOMDUST
-141 =	AS_SPLASHER
-142 =	NV_FIRSTAID
-143 =	NV_TRICKDEAD
-144 =	SM_MOVINGRECOVERY
-145 =	SM_FATALBLOW
-146 =	SM_AUTOBERSERK
-147 =	AC_MAKINGARROW
-148 =	AC_CHARGEARROW
-149 =	TF_SPRINKLESAND
-150 =	TF_BACKSLIDING
-151 =	TF_PICKSTONE
-152 =	TF_THROWSTONE
-153 =	MC_CARTREVOLUTION
-154 =	MC_CHANGECART
-155 =	MC_LOUD
-156 =	AL_HOLYLIGHT
-157 =	MG_ENERGYCOAT
-158 =	NPC_PIERCINGATT
-159 =	NPC_MENTALBREAKER
-160 =	NPC_RANGEATTACK
-161 =	NPC_ATTRICHANGE
-162 =	NPC_CHANGEWATER
-163 =	NPC_CHANGEGROUND
-164 =	NPC_CHANGEFIRE
-165 =	NPC_CHANGEWIND
-166 =	NPC_CHANGEPOISON
-167 =	NPC_CHANGEHOLY
-168 =	NPC_CHANGEDARLNESS
-169 =	NPC_CHANGETELEKINESIS
-170 =	NPC_CRITICALSLASH
-171 =	NPC_COMBOATTACK
-172 =	NPC_GUIDEATTACK
-173 =	NPC_SELFDESTRUCTION
-174 =	NPC_SPLASHATTACK
-175 =	NPC_SUICIDE
-176 =	NPC_POISON
-177 =	NPC_BLINDATTACK
-178 =	NPC_SILENCEATTACK
-179 =	NPC_STUNATTACK
-180 =	NPC_PETRIFYATTACK
-181 =	NPC_CURSEATTACK
-182 =	NPC_SLEEPATTACK
-183 =	NPC_RANDOMATTACK
-184 =	NPC_WATERATTACK
-185 =	NPC_GROUNDATTACK
-186 =	NPC_FIREATTACK
-187 =	NPC_WINDATTACK
-188 =	NPC_POISONATTACK
-189 =	NPC_HOLYATTACK
-190 =	NPC_DARKNESSATTACK
-191 =	NPC_TELEKINESISATTACK
-192 =	NPC_MAGICALATTACK
-193 =	NPC_METAMORPHOSIS
-194 =	NPC_PROVOCATION
-195 =	NPC_SMOKING
-196 =	NPC_SUMMONSLAVE
-197 =	NPC_EMOTION
-198 =	NPC_TRANSFORMATION
-199 =	NPC_BLOODDRAIN
-200 =	NPC_ENERGYDRAIN
-201 =	NPC_KEEPING
-202 =	NPC_DARKBREATH
-203 =	NPC_DARKBLESSING
-204 =	NPC_BARRIER
-205 =	NPC_DEFENDER
-206 =	NPC_LICK
-207 =	NPC_HALLUCINATION
-208 =	NPC_REBIRTH
-209 =	NPC_SUMMONMONSTER
-210 =	RG_SNATCHER
-211 =	RG_STEALCOIN
-212 =	RG_BACKSTAP
-213 =	RG_TUNNELDRIVE
-214 =	RG_RAID
-215 =	RG_STRIPWEAPON
-216 =	RG_STRIPSHIELD
-217 =	RG_STRIPARMOR
-218 =	RG_STRIPHELM
-219 =	RG_INTIMIDATE
-220 =	RG_GRAFFITI
-221 =	RG_FLAGGRAFFITI
-222 =	RG_CLEANER
-223 =	RG_GANGSTER
-224 =	RG_COMPULSION
-225 =	RG_PLAGIARISM
-226 =	AM_AXEMASTERY
-227 =	AM_LEARNINGPOTION
-228 =	AM_PHARMACY
-229 =	AM_DEMONSTRATION
-230 =	AM_ACIDTERROR
-231 =	AM_POTIONPITCHER
-232 =	AM_CANNIBALIZE
-233 =	AM_SPHEREMINE
-234 =	AM_CP_WEAPON
-235 =	AM_CP_SHIELD
-236 =	AM_CP_ARMOR
-237 =	AM_CP_HELM
-248 =	CR_TRUST
-249 =	CR_AUTOGUARD
-250 =	CR_SHIELDCHARGE
-251 =	CR_SHIELDBOOMERANG
-252 =	CR_REFLECTSHIELD
-253 =	CR_HOLYCROSS
-254 =	CR_GRANDCROSS
-255 =	CR_DEVOTION
-256 =	CR_PROVIDENCE
-257 =	CR_DEFENDER
-258 =	CR_SPEARQUICKEN
-259 =	MO_IRONHAND
-260 =	MO_SPIRITSRECOVERY
-261 =	MO_CALLSPIRITS
-262 =	MO_ABSORBSPIRITS
-263 =	MO_TRIPLEATTACK
-264 =	MO_BODYRELOCATION
-265 =	MO_DODGE
-266 =	MO_INVESTIGATE
-267 =	MO_FINGEROFFENSIVE
-268 =	MO_STEELBODY
-269 =	MO_BLADESTOP
-270 =	MO_EXPLOSIONSPIRITS
-271 =	MO_EXTREMITYFIST
-272 =	MO_CHAINCOMBO
-273 =	MO_COMBOFINISH
-274 =	SA_ADVANCEDBOOK
-275 =	SA_CASTCANCEL
-276 =	SA_MAGICROD
-277 =	SA_SPELLBREAKER
-278 =	SA_FREECAST
-279 =	SA_AUTOSPELL
-280 =	SA_FLAMELAUNCHER
-281 =	SA_FROSTWEAPON
-282 =	SA_LIGHTNINGLOADER
-283 =	SA_SEISMICWEAPON
-284 =	SA_DRAGONOLOGY
-285 =	SA_VOLCANO
-286 =	SA_DELUGE
-287 =	SA_VIOLENTGALE
-288 =	SA_LANDPROTECTOR
-289 =	SA_DISPELL
-290 =	SA_ABRACADABRA
-291 =	SA_MONOCELL
-292 =	SA_CLASSCHANGE
-293 =	SA_SUMMONMONSTER
-294 =	SA_REVERSEORCISH
-295 =	SA_DEATH
-296 =	SA_FORTUNE
-297 =	SA_TAMINGMONSTER
-298 =	SA_QUESTION
-299 =	SA_GRAVITY
-300 =	SA_LEVELUP
-301 =	SA_INSTANTDEATH
-302 =	SA_FULLRECOVERY
-303 =	SA_COMA
-304 =	BD_ADAPTATION
-305 =	BD_ENCORE
-306 =	BD_LULLABY
-307 =	BD_RICHMANKIM
-308 =	BD_ETERNALCHAOS
-309 =	BD_DRUMBATTLEFIELD
-310 =	BD_RINGNIBELUNGEN
-311 =	BD_ROKISWEIL
-312 =	BD_INTOABYSS
-313 =	BD_SIEGFRIED
-315 =	BA_MUSICALLESSON
-316 =	BA_MUSICALSTRIKE
-317 =	BA_DISSONANCE
-318 =	BA_FROSTJOKE
-319 =	BA_WHISTLE
-320 =	BA_ASSASSINCROSS
-321 =	BA_POEMBRAGI
-322 =	BA_APPLEIDUN
-323 =	DC_DANCINGLESSON
-324 =	DC_THROWARROW
-325 =	DC_UGLYDANCE
-326 =	DC_SCREAM
-327 =	DC_HUMMING
-328 =	DC_DONTFORGETME
-329 =	DC_FORTUNEKISS
-330 =	DC_SERVICEFORYOU
-334 =	WE_MALE
-335 =	WE_FEMALE
-336 =	WE_CALLPARTNER
-355 =	LK_AURABLADE
-356 =	LK_PARRYING
-357 =	LK_CONCENTRATION
-358 =	LK_TENSIONRELAX
-359 =	LK_BERSERK
-361 =	HP_ASSUMPTIO
-362 =	HP_BASILICA
-363 =	HP_MEDITATIO
-364 =	HW_SOULDRAIN
-365 =	HW_MAGICCRASHER
-366 =	HW_MAGICPOWER
-367 =	PA_PRESSURE
-368 =	PA_SACRIFICE
-369 =	PA_GOSPEL
-370 =	CH_PALMSTRIKE
-371 =	CH_TIGERFIST
-372 =	CH_CHAINCRUSH
-373 =	PF_HPCONVERSION
-374 =	PF_SOULCHANGE
-375 =	PF_SOULBURN
-376 =	ASC_KATAR
-377 =	ASC_HALLUCINATION
-378 =	ASC_EDP
-379 =	ASC_BREAKER
-380 =	SN_SIGHT
-381 =	SN_FALCONASSAULT
-382 =	SN_SHARPSHOOTING
-383 =	SN_WINDWALK
-384 =	WS_MELTDOWN
-385 =	WS_CREATECOIN
-386 =	WS_CREATENUGGET
-387 =	WS_CARTBOOST
-388 =	WS_SYSTEMCREATE
-389 =	ST_CHASEWALK
-390 =	ST_REJECTSWORD
-392 =	CR_ALCHEMY
-393 =	CR_SYNTHESISPOTION
-394 =	CG_ARROWVULCAN
-395 =	CG_MOONLIT
-396 =	CG_MARIONETTE
-397 =	LK_SPIRALPIERCE
-398 =	LK_HEADCRUSH
-399 =	LK_JOINTBEAT
-400 =	HW_NAPALMVULCAN
-401 =	CH_SOULCOLLECT
-402 =	PF_MINDBREAKER
-403 =	PF_MEMORIZE
-404 =	PF_FOGWALL
-405 =	PF_SPIDERWEB
-406 =	ASC_METEORASSAULT
-407 =	ASC_CDP
-408 =	WE_BABY
-409 =	WE_CALLPARENT
-410 =	WE_CALLBABY
-411 =	TK_RUN
-412 =	TK_READYSTORM
-413 =	TK_STORMKICK
-414 =	TK_READYDOWN
-415 =	TK_DOWNKICK
-416 =	TK_READYTURN
-417 =	TK_TURNKICK
-418 =	TK_READYCOUNTER
-419 =	TK_COUNTER
-420 =	TK_DODGE
-421 =	TK_JUMPKICK
-422 =	TK_HPTIME
-423 =	TK_SPTIME
-424 =	TK_POWER
-425 =	TK_SEVENWIND
-426 =	TK_HIGHJUMP
-427 =	SG_FEEL
-428 =	SG_SUN_WARM
-429 =	SG_MOON_WARM
-430 =	SG_STAR_WARM
-431 =	SG_SUN_COMFORT
-432 =	SG_MOON_COMFORT
-433 =	SG_STAR_COMFORT
-434 =	SG_HATE
-435 =	SG_SUN_ANGER
-436 =	SG_MOON_ANGER
-437 =	SG_STAR_ANGER
-438 =	SG_SUN_BLESS
-439 =	SG_MOON_BLESS
-440 =	SG_STAR_BLESS
-441 =	SG_DEVIL
-442 =	SG_FRIEND
-443 =	SG_KNOWLEDGE
-444 =	SG_FUSION
-445 =	SL_ALCHEMIST
-446 =	AM_BERSERKPITCHER
-447 =	SL_MONK
-448 =	SL_STAR
-449 =	SL_SAGE
-450 =	SL_CRUSADER
-451 =	SL_SUPERNOVICE
-452 =	SL_KNIGHT
-453 =	SL_WIZARD
-454 =	SL_PRIEST
-455 =	SL_BARDDANCER
-456 =	SL_ROGUE
-457 =	SL_ASSASIN
-458 =	SL_BLACKSMITH
-459 =	BS_ADRENALINE2
-460 =	SL_HUNTER
-461 =	SL_SOULLINKER
-462 =	SL_KAIZEL
-463 =	SL_KAAHI
-464 =	SL_KAUPE
-465 =	SL_KAITE
-466 =	SL_KAINA
-467 =	SL_STIN
-468 =	SL_STUN
-469 =	SL_SMA
-470 =	SL_SWOO
-471 =	SL_SKE
-472 =	SL_SKA
-10000 =	GD_APPROVAL
-10001 =	GD_KAFRACONTRACT
-10002 =	GD_GUARDRESEARCH
-10003 =	GD_CHARISMA
-10004 =	GD_EXTENSION
-
-// ************************
-// * Item DB - Use Script *
-// ************************
-itemskill:
-	-Format: itemskill skill_id,skill_lvl,"name";
-	-Example: itemskill 28,3,"Heal"; //Healing skill
-
-itemheal:
-	-Format: itemheal hp,sp;
-	-Example: itemheal 30,0; //+30 HP, +0 SP.
-
-sc_start:
-	-Format: sc_start SC_CONSTANT,duration,value;
-	-Example: sc_start SC_POISON,1800,; //Starts Poison Status for 30 seconds
-
-sc_end:
-	-Format: sc_end	SC_CONSTANT;
-	-Example: sc_end SC_BLIND; //Ends Blind Status
-
-warp:
-	-Format: warp "map",x,y;
-	-Example: warp "Random",0,0; //Fly wing
-	-Example: warp "SavePoint",0,0; //Butterfly wing
-
-getitem:
-	-Format: getitem item_id,count;
-	-Example: getitem 512,2; //Gives you two Apples
-
-produce:
-	-Format: produce produce_type;
-	-Example: produce 16; //Mini-furnace
-
-pet:
-	-Format: pet pet_id;
-	-Example: pet 1002; //Taming item for Poring
-
-monster:
-	-Example: monster "this",0,0,"--ja--",-1,1,""; //Dead branch
-
-percentheal:
-	-Format: percentheal percent_hp,percent_sp;
-	-Example: percentheal 100,100; //Heals you 100% of both HP and SP
-
-// **************************
-// * Item DB - Equip Script *
+// ****************************************************
+// * Miscellaneous Notes (Added by MC Cameri)         *
+// ****************************************************
+
+// *****************************************************************
+// * Emotions that will be shown if 'int type' is one of the case. *
+// *****************************************************************
+void clif_emotion(struct block_list *bl,int type);
+case for 'int type':
+0 = !		10 = KO (Scissor)	20 = Hmmm	30 = Kiss 1 (R)		40 = Tsk tsk tsk (No)
+1 = ?		11 = Fist (Stone)	21 = Number 1!	31 = Kiss 2 (L)		41 = Petting
+2 = Music	12 = Hand (Paper)	22 = No (??)	32 = Smoking		42 = SP! (Timer)
+3 = Heart 1	13 = Korean Flag	23 = OMG!!	33 = Okay		43 = Obsessed 2 (Dumb face, eyes popping)
+4 = Sweat	14 = Heart 2		24 = O		34 = ... (Bugged)	44 = Come (Moving finger)
+5 = Light bulb	15 = Thanks		25 = X		35 = ??? Flag		45 = Yawn (Sleepy)
+6 = Annoyed	16 = Wah (Crying)	26 = Help!	36 = Evil 2		46 = Congratulations
+7 = Smoke cloud	17 = Sorry		27 = Go!	37 = Obsessed 1		47 = HP! (Timer)
+8 = $		18 = Heh (Laughing)	28 = Sobbing	38 = Two Hearts		
+9 = ...		19 = Sweating		29 = Evil 1	39 = Tongue		
+
+// ********************************
+// * Elemental Defense Resistance *
+// ********************************
+sd->subele[0] - Neutral Property
+sd->subele[1] - Water Property
+sd->subele[2] - Earth Property
+sd->subele[3] - Fire Property
+sd->subele[4] - Wind Property
+sd->subele[5] - Poison Property
+sd->subele[6] - Holy Property
+sd->subele[7] - Shadow Property
+sd->subele[8] - Ghost Property
+sd->subele[9] - Undead Property
+
+// ***************************************
+// * Elemental Monster Attack Resistance *
+// ***************************************
+
+sd->subrace[0] - Neutral Type
+sd->subrace[1] - Undead Type
+sd->subrace[2] - Brute Type
+sd->subrace[3] - Plant Type
+sd->subrace[4] - Insect Type
+sd->subrace[5] - Fish Type
+sd->subrace[6] - Demon Type
+sd->subrace[7] - Demi-Human Type
+sd->subrace[8] - Angel Type
+sd->subrace[9] - Dragon Type
+sd->subrace[10] - Boss Type #1?
+sd->subrace[11] - Boss Type #2?
+
+// **************
+// * Misc stuff *
+// **************
+
+WFIFOL(fd,2)=1; - Sever Closed
+
+// *******************
+// * Skills List     *
+// *******************
+// * ID	= Skill Name *
+// *******************
+ID	Skill Name
+1 =	NV_BASIC
+2 =	SM_SWORD
+3 =	SM_TWOHAND
+4 =	SM_RECOVERY
+5 =	SM_BASH
+6 =	SM_PROVOKE
+7 =	SM_MAGNUM
+8 =	SM_ENDURE
+9 =	MG_SRECOVERY
+10 =	MG_SIGHT
+11 =	MG_NAPALMBEAT
+12 =	MG_SAFETYWALL
+13 =	MG_SOULSTRIKE
+14 =	MG_COLDBOLT
+15 =	MG_FROSTDIVER
+16 =	MG_STONECURSE
+17 =	MG_FIREBALL
+18 =	MG_FIREWALL
+19 =	MG_FIREBOLT
+20 =	MG_LIGHTNINGBOLT
+21 =	MG_THUNDERSTORM
+22 =	AL_DP
+23 =	AL_DEMONBANE
+24 =	AL_RUWACH
+25 =	AL_PNEUMA
+26 =	AL_TELEPORT
+27 =	AL_WARP
+28 =	AL_HEAL
+29 =	AL_INCAGI
+30 =	AL_DECAGI
+31 =	AL_HOLYWATER
+32 =	AL_CRUCIS
+33 =	AL_ANGELUS
+34 =	AL_BLESSING
+35 =	AL_CURE
+36 =	MC_INCCARRY
+37 =	MC_DISCOUNT
+38 =	MC_OVERCHARGE
+39 =	MC_PUSHCART
+40 =	MC_IDENTIFY
+41 =	MC_VENDING
+42 =	MC_MAMMONITE
+43 =	AC_OWL
+44 =	AC_VULTURE
+45 =	AC_CONCENTRATION
+46 =	AC_DOUBLE
+47 =	AC_SHOWER
+48 =	TF_DOUBLE
+49 =	TF_MISS
+50 =	TF_STEAL
+51 =	TF_HIDING
+52 =	TF_POISON
+53 =	TF_DETOXIFY
+54 =	ALL_RESURRECTION
+55 =	KN_SPEARMASTERY
+56 =	KN_PIERCE
+57 =	KN_BRANDISHSPEAR
+58 =	KN_SPEARSTAB
+59 =	KN_SPEARBOOMERANG
+60 =	KN_TWOHANDQUICKEN
+61 =	KN_AUTOCOUNTER
+62 =	KN_BOWLINGBASH
+63 =	KN_RIDING
+64 =	KN_CAVALIERMASTERY
+65 =	PR_MACEMASTERY
+66 =	PR_IMPOSITIO
+67 =	PR_SUFFRAGIUM
+68 =	PR_ASPERSIO
+69 =	PR_BENEDICTIO
+70 =	PR_SANCTUARY
+71 =	PR_SLOWPOISON
+72 =	PR_STRECOVERY
+73 =	PR_KYRIE
+74 =	PR_MAGNIFICAT
+75 =	PR_GLORIA
+76 =	PR_LEXDIVINA
+77 =	PR_TURNUNDEAD
+78 =	PR_LEXAETERNA
+79 =	PR_MAGNUS
+80 =	WZ_FIREPILLAR
+81 =	WZ_SIGHTRASHER
+83 =	WZ_METEOR
+84 =	WZ_JUPITEL
+85 =	WZ_VERMILION
+86 =	WZ_WATERBALL
+87 =	WZ_ICEWALL
+88 =	WZ_FROSTNOVA
+89 =	WZ_STORMGUST
+90 =	WZ_EARTHSPIKE
+91 =	WZ_HEAVENDRIVE
+92 =	WZ_QUAGMIRE
+93 =	WZ_ESTIMATION
+94 =	BS_IRON
+95 =	BS_STEEL
+96 =	BS_ENCHANTEDSTONE
+97 =	BS_ORIDEOCON
+98 =	BS_DAGGER
+99 =	BS_SWORD
+100 =	BS_TWOHANDSWORD
+101 =	BS_AXE
+102 =	BS_MACE
+103 =	BS_KNUCKLE
+104 =	BS_SPEAR
+105 =	BS_HILTBINDING
+106 =	BS_FINDINGORE
+107 =	BS_WEAPONRESEARCH
+108 =	BS_REPAIRWEAPON
+109 =	BS_SKINTEMPER
+110 =	BS_HAMMERFALL
+111 =	BS_ADRENALINE
+112 =	BS_WEAPONPERFECT
+113 =	BS_OVERTHRUST
+114 =	BS_MAXIMIZE
+115 =	HT_SKIDTRAP
+116 =	HT_LANDMINE
+117 =	HT_ANKLESNARE
+118 =	HT_SHOCKWAVE
+119 =	HT_SANDMAN
+120 =	HT_FLASHER
+121 =	HT_FREEZINGTRAP
+122 =	HT_BLASTMINE
+123 =	HT_CLAYMORETRAP
+124 =	HT_REMOVETRAP
+125 =	HT_TALKIEBOX
+126 =	HT_BEASTBANE
+127 =	HT_FALCON
+128 =	HT_STEELCROW
+129 =	HT_BLITZBEAT
+130 =	HT_DETECTING
+131 =	HT_SPRINGTRAP
+132 =	AS_RIGHT
+133 =	AS_LEFT
+134 =	AS_KATAR
+135 =	AS_CLOAKING
+136 =	AS_SONICBLOW
+137 =	AS_GRIMTOOTH
+138 =	AS_ENCHANTPOISON
+139 =	AS_POISONREACT
+140 =	AS_VENOMDUST
+141 =	AS_SPLASHER
+142 =	NV_FIRSTAID
+143 =	NV_TRICKDEAD
+144 =	SM_MOVINGRECOVERY
+145 =	SM_FATALBLOW
+146 =	SM_AUTOBERSERK
+147 =	AC_MAKINGARROW
+148 =	AC_CHARGEARROW
+149 =	TF_SPRINKLESAND
+150 =	TF_BACKSLIDING
+151 =	TF_PICKSTONE
+152 =	TF_THROWSTONE
+153 =	MC_CARTREVOLUTION
+154 =	MC_CHANGECART
+155 =	MC_LOUD
+156 =	AL_HOLYLIGHT
+157 =	MG_ENERGYCOAT
+158 =	NPC_PIERCINGATT
+159 =	NPC_MENTALBREAKER
+160 =	NPC_RANGEATTACK
+161 =	NPC_ATTRICHANGE
+162 =	NPC_CHANGEWATER
+163 =	NPC_CHANGEGROUND
+164 =	NPC_CHANGEFIRE
+165 =	NPC_CHANGEWIND
+166 =	NPC_CHANGEPOISON
+167 =	NPC_CHANGEHOLY
+168 =	NPC_CHANGEDARLNESS
+169 =	NPC_CHANGETELEKINESIS
+170 =	NPC_CRITICALSLASH
+171 =	NPC_COMBOATTACK
+172 =	NPC_GUIDEATTACK
+173 =	NPC_SELFDESTRUCTION
+174 =	NPC_SPLASHATTACK
+175 =	NPC_SUICIDE
+176 =	NPC_POISON
+177 =	NPC_BLINDATTACK
+178 =	NPC_SILENCEATTACK
+179 =	NPC_STUNATTACK
+180 =	NPC_PETRIFYATTACK
+181 =	NPC_CURSEATTACK
+182 =	NPC_SLEEPATTACK
+183 =	NPC_RANDOMATTACK
+184 =	NPC_WATERATTACK
+185 =	NPC_GROUNDATTACK
+186 =	NPC_FIREATTACK
+187 =	NPC_WINDATTACK
+188 =	NPC_POISONATTACK
+189 =	NPC_HOLYATTACK
+190 =	NPC_DARKNESSATTACK
+191 =	NPC_TELEKINESISATTACK
+192 =	NPC_MAGICALATTACK
+193 =	NPC_METAMORPHOSIS
+194 =	NPC_PROVOCATION
+195 =	NPC_SMOKING
+196 =	NPC_SUMMONSLAVE
+197 =	NPC_EMOTION
+198 =	NPC_TRANSFORMATION
+199 =	NPC_BLOODDRAIN
+200 =	NPC_ENERGYDRAIN
+201 =	NPC_KEEPING
+202 =	NPC_DARKBREATH
+203 =	NPC_DARKBLESSING
+204 =	NPC_BARRIER
+205 =	NPC_DEFENDER
+206 =	NPC_LICK
+207 =	NPC_HALLUCINATION
+208 =	NPC_REBIRTH
+209 =	NPC_SUMMONMONSTER
+210 =	RG_SNATCHER
+211 =	RG_STEALCOIN
+212 =	RG_BACKSTAP
+213 =	RG_TUNNELDRIVE
+214 =	RG_RAID
+215 =	RG_STRIPWEAPON
+216 =	RG_STRIPSHIELD
+217 =	RG_STRIPARMOR
+218 =	RG_STRIPHELM
+219 =	RG_INTIMIDATE
+220 =	RG_GRAFFITI
+221 =	RG_FLAGGRAFFITI
+222 =	RG_CLEANER
+223 =	RG_GANGSTER
+224 =	RG_COMPULSION
+225 =	RG_PLAGIARISM
+226 =	AM_AXEMASTERY
+227 =	AM_LEARNINGPOTION
+228 =	AM_PHARMACY
+229 =	AM_DEMONSTRATION
+230 =	AM_ACIDTERROR
+231 =	AM_POTIONPITCHER
+232 =	AM_CANNIBALIZE
+233 =	AM_SPHEREMINE
+234 =	AM_CP_WEAPON
+235 =	AM_CP_SHIELD
+236 =	AM_CP_ARMOR
+237 =	AM_CP_HELM
+248 =	CR_TRUST
+249 =	CR_AUTOGUARD
+250 =	CR_SHIELDCHARGE
+251 =	CR_SHIELDBOOMERANG
+252 =	CR_REFLECTSHIELD
+253 =	CR_HOLYCROSS
+254 =	CR_GRANDCROSS
+255 =	CR_DEVOTION
+256 =	CR_PROVIDENCE
+257 =	CR_DEFENDER
+258 =	CR_SPEARQUICKEN
+259 =	MO_IRONHAND
+260 =	MO_SPIRITSRECOVERY
+261 =	MO_CALLSPIRITS
+262 =	MO_ABSORBSPIRITS
+263 =	MO_TRIPLEATTACK
+264 =	MO_BODYRELOCATION
+265 =	MO_DODGE
+266 =	MO_INVESTIGATE
+267 =	MO_FINGEROFFENSIVE
+268 =	MO_STEELBODY
+269 =	MO_BLADESTOP
+270 =	MO_EXPLOSIONSPIRITS
+271 =	MO_EXTREMITYFIST
+272 =	MO_CHAINCOMBO
+273 =	MO_COMBOFINISH
+274 =	SA_ADVANCEDBOOK
+275 =	SA_CASTCANCEL
+276 =	SA_MAGICROD
+277 =	SA_SPELLBREAKER
+278 =	SA_FREECAST
+279 =	SA_AUTOSPELL
+280 =	SA_FLAMELAUNCHER
+281 =	SA_FROSTWEAPON
+282 =	SA_LIGHTNINGLOADER
+283 =	SA_SEISMICWEAPON
+284 =	SA_DRAGONOLOGY
+285 =	SA_VOLCANO
+286 =	SA_DELUGE
+287 =	SA_VIOLENTGALE
+288 =	SA_LANDPROTECTOR
+289 =	SA_DISPELL
+290 =	SA_ABRACADABRA
+291 =	SA_MONOCELL
+292 =	SA_CLASSCHANGE
+293 =	SA_SUMMONMONSTER
+294 =	SA_REVERSEORCISH
+295 =	SA_DEATH
+296 =	SA_FORTUNE
+297 =	SA_TAMINGMONSTER
+298 =	SA_QUESTION
+299 =	SA_GRAVITY
+300 =	SA_LEVELUP
+301 =	SA_INSTANTDEATH
+302 =	SA_FULLRECOVERY
+303 =	SA_COMA
+304 =	BD_ADAPTATION
+305 =	BD_ENCORE
+306 =	BD_LULLABY
+307 =	BD_RICHMANKIM
+308 =	BD_ETERNALCHAOS
+309 =	BD_DRUMBATTLEFIELD
+310 =	BD_RINGNIBELUNGEN
+311 =	BD_ROKISWEIL
+312 =	BD_INTOABYSS
+313 =	BD_SIEGFRIED
+315 =	BA_MUSICALLESSON
+316 =	BA_MUSICALSTRIKE
+317 =	BA_DISSONANCE
+318 =	BA_FROSTJOKE
+319 =	BA_WHISTLE
+320 =	BA_ASSASSINCROSS
+321 =	BA_POEMBRAGI
+322 =	BA_APPLEIDUN
+323 =	DC_DANCINGLESSON
+324 =	DC_THROWARROW
+325 =	DC_UGLYDANCE
+326 =	DC_SCREAM
+327 =	DC_HUMMING
+328 =	DC_DONTFORGETME
+329 =	DC_FORTUNEKISS
+330 =	DC_SERVICEFORYOU
+334 =	WE_MALE
+335 =	WE_FEMALE
+336 =	WE_CALLPARTNER
+355 =	LK_AURABLADE
+356 =	LK_PARRYING
+357 =	LK_CONCENTRATION
+358 =	LK_TENSIONRELAX
+359 =	LK_BERSERK
+361 =	HP_ASSUMPTIO
+362 =	HP_BASILICA
+363 =	HP_MEDITATIO
+364 =	HW_SOULDRAIN
+365 =	HW_MAGICCRASHER
+366 =	HW_MAGICPOWER
+367 =	PA_PRESSURE
+368 =	PA_SACRIFICE
+369 =	PA_GOSPEL
+370 =	CH_PALMSTRIKE
+371 =	CH_TIGERFIST
+372 =	CH_CHAINCRUSH
+373 =	PF_HPCONVERSION
+374 =	PF_SOULCHANGE
+375 =	PF_SOULBURN
+376 =	ASC_KATAR
+377 =	ASC_HALLUCINATION
+378 =	ASC_EDP
+379 =	ASC_BREAKER
+380 =	SN_SIGHT
+381 =	SN_FALCONASSAULT
+382 =	SN_SHARPSHOOTING
+383 =	SN_WINDWALK
+384 =	WS_MELTDOWN
+385 =	WS_CREATECOIN
+386 =	WS_CREATENUGGET
+387 =	WS_CARTBOOST
+388 =	WS_SYSTEMCREATE
+389 =	ST_CHASEWALK
+390 =	ST_REJECTSWORD
+392 =	CR_ALCHEMY
+393 =	CR_SYNTHESISPOTION
+394 =	CG_ARROWVULCAN
+395 =	CG_MOONLIT
+396 =	CG_MARIONETTE
+397 =	LK_SPIRALPIERCE
+398 =	LK_HEADCRUSH
+399 =	LK_JOINTBEAT
+400 =	HW_NAPALMVULCAN
+401 =	CH_SOULCOLLECT
+402 =	PF_MINDBREAKER
+403 =	PF_MEMORIZE
+404 =	PF_FOGWALL
+405 =	PF_SPIDERWEB
+406 =	ASC_METEORASSAULT
+407 =	ASC_CDP
+408 =	WE_BABY
+409 =	WE_CALLPARENT
+410 =	WE_CALLBABY
+411 =	TK_RUN
+412 =	TK_READYSTORM
+413 =	TK_STORMKICK
+414 =	TK_READYDOWN
+415 =	TK_DOWNKICK
+416 =	TK_READYTURN
+417 =	TK_TURNKICK
+418 =	TK_READYCOUNTER
+419 =	TK_COUNTER
+420 =	TK_DODGE
+421 =	TK_JUMPKICK
+422 =	TK_HPTIME
+423 =	TK_SPTIME
+424 =	TK_POWER
+425 =	TK_SEVENWIND
+426 =	TK_HIGHJUMP
+427 =	SG_FEEL
+428 =	SG_SUN_WARM
+429 =	SG_MOON_WARM
+430 =	SG_STAR_WARM
+431 =	SG_SUN_COMFORT
+432 =	SG_MOON_COMFORT
+433 =	SG_STAR_COMFORT
+434 =	SG_HATE
+435 =	SG_SUN_ANGER
+436 =	SG_MOON_ANGER
+437 =	SG_STAR_ANGER
+438 =	SG_SUN_BLESS
+439 =	SG_MOON_BLESS
+440 =	SG_STAR_BLESS
+441 =	SG_DEVIL
+442 =	SG_FRIEND
+443 =	SG_KNOWLEDGE
+444 =	SG_FUSION
+445 =	SL_ALCHEMIST
+446 =	AM_BERSERKPITCHER
+447 =	SL_MONK
+448 =	SL_STAR
+449 =	SL_SAGE
+450 =	SL_CRUSADER
+451 =	SL_SUPERNOVICE
+452 =	SL_KNIGHT
+453 =	SL_WIZARD
+454 =	SL_PRIEST
+455 =	SL_BARDDANCER
+456 =	SL_ROGUE
+457 =	SL_ASSASIN
+458 =	SL_BLACKSMITH
+459 =	BS_ADRENALINE2
+460 =	SL_HUNTER
+461 =	SL_SOULLINKER
+462 =	SL_KAIZEL
+463 =	SL_KAAHI
+464 =	SL_KAUPE
+465 =	SL_KAITE
+466 =	SL_KAINA
+467 =	SL_STIN
+468 =	SL_STUN
+469 =	SL_SMA
+470 =	SL_SWOO
+471 =	SL_SKE
+472 =	SL_SKA
+10000 =	GD_APPROVAL
+10001 =	GD_KAFRACONTRACT
+10002 =	GD_GUARDRESEARCH
+10003 =	GD_CHARISMA
+10004 =	GD_EXTENSION
+
+// ************************
+// * Item DB - Use Script *
+// ************************
+itemskill:
+	-Format: itemskill skill_id,skill_lvl,"name";
+	-Example: itemskill 28,3,"Heal"; //Healing skill
+
+itemheal:
+	-Format: itemheal hp,sp;
+	-Example: itemheal 30,0; //+30 HP, +0 SP.
+
+sc_start:
+	-Format: sc_start SC_CONSTANT,duration,value;
+	-Example: sc_start SC_POISON,1800,; //Starts Poison Status for 30 seconds
+
+sc_end:
+	-Format: sc_end	SC_CONSTANT;
+	-Example: sc_end SC_BLIND; //Ends Blind Status
+
+warp:
+	-Format: warp "map",x,y;
+	-Example: warp "Random",0,0; //Fly wing
+	-Example: warp "SavePoint",0,0; //Butterfly wing
+
+getitem:
+	-Format: getitem item_id,count;
+	-Example: getitem 512,2; //Gives you two Apples
+
+produce:
+	-Format: produce produce_type;
+	-Example: produce 16; //Mini-furnace
+
+pet:
+	-Format: pet pet_id;
+	-Example: pet 1002; //Taming item for Poring
+
+monster:
+	-Example: monster "this",0,0,"--ja--",-1,1,""; //Dead branch
+
+percentheal:
+	-Format: percentheal percent_hp,percent_sp;
+	-Example: percentheal 100,100; //Heals you 100% of both HP and SP
+
+// **************************
+// * Item DB - Equip Script *
 // **************************

+ 64 - 64
npc/cities/louyang.txt

@@ -1,65 +1,65 @@
-//===== eAthena Script ======================================= 
-//= Lou Yang City NPC's 
-//===== By: ================================================== 
-//= Vidar (1.0)
-//= Mass Zero (1.1)
-//===== Current Version: ===================================== 
-//= 1.0 
-//===== Compatible With: ===================================== 
-//= Any eAthena Version
-//===== Description: ========================================= 
-//= Unofficial NPC's for Lou Yang city.
-//===== Additional Comments: ================================= 
-//= Originally made for Vidar
-//============================================================
-
-louyang.gat,260,96,2	script	Chun Hua	770,{
-mes "[^000080Chun Hua^000000]";
-mes "Welcome traveler, you must be hungry and thirsty.";
-mes "Please come inside, there is much to eat.";
-next;
-mes "[^000080Chun Hua^000000]";
-mes "Do not be afraid about how much you ask for, there is much to go around.";
-close;
-}
-
-lou_fild01.gat,188,102,1	script	Extraordinary Sailor	100,{
-mes "[Extraordinary Sailor]";
-mes "We run a line to Alberta, we could take you there if you like.";
-next;
-menu "Let me travel to Alberta",L_Menu1,"No, thanks",L_Menu2;
-close;
-L_Menu1:
-warp "alberta.gat",247,44;
-L_Menu2:
-mes "[Extraordinary Sailor]";
-mes "Suit yourself.";
-close;
-}
-
-alberta.gat,247,42,4	script	Expert Sailor	100,{
-mes "[Expert Sailor]";
-mes "Have you ever been over seas?";
-next;
-menu "Yes",YES,"No",NO;
-YES:
-mes "Same here! I'm about to head back out that way again.";
-mes "Would you like to come with me?";
-next;
-menu "Sure",L_Menu1,"No, thanks",L_Menu3;
-close;
-L_Menu1:
-warp "lou_fild01.gat",192,105;
-NO:
-mes "What a shame, it is truley a sight to behold. I'm about to head back out that way again.";
-mes "Would you like to come with me?";
-next;
-menu "Sure",L_Menu2,"No, thanks",L_Menu3;
-close;
-L_Menu2:
-warp "lou_fild01.gat",192,105;
-L_Menu3:
-mes "[Expert Sailor]";
-mes "Suit yourself.";
-close;
+//===== eAthena Script ======================================= 
+//= Lou Yang City NPC's 
+//===== By: ================================================== 
+//= Vidar (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: ===================================== 
+//= 1.0 
+//===== Compatible With: ===================================== 
+//= Any eAthena Version
+//===== Description: ========================================= 
+//= Unofficial NPC's for Lou Yang city.
+//===== Additional Comments: ================================= 
+//= Originally made for Vidar
+//============================================================
+
+louyang.gat,260,96,2	script	Chun Hua	770,{
+mes "[^000080Chun Hua^000000]";
+mes "Welcome traveler, you must be hungry and thirsty.";
+mes "Please come inside, there is much to eat.";
+next;
+mes "[^000080Chun Hua^000000]";
+mes "Do not be afraid about how much you ask for, there is much to go around.";
+close;
+}
+
+lou_fild01.gat,188,102,1	script	Extraordinary Sailor	100,{
+mes "[Extraordinary Sailor]";
+mes "We run a line to Alberta, we could take you there if you like.";
+next;
+menu "Let me travel to Alberta",L_Menu1,"No, thanks",L_Menu2;
+close;
+L_Menu1:
+warp "alberta.gat",247,44;
+L_Menu2:
+mes "[Extraordinary Sailor]";
+mes "Suit yourself.";
+close;
+}
+
+alberta.gat,247,42,4	script	Expert Sailor	100,{
+mes "[Expert Sailor]";
+mes "Have you ever been over seas?";
+next;
+menu "Yes",YES,"No",NO;
+YES:
+mes "Same here! I'm about to head back out that way again.";
+mes "Would you like to come with me?";
+next;
+menu "Sure",L_Menu1,"No, thanks",L_Menu3;
+close;
+L_Menu1:
+warp "lou_fild01.gat",192,105;
+NO:
+mes "What a shame, it is truley a sight to behold. I'm about to head back out that way again.";
+mes "Would you like to come with me?";
+next;
+menu "Sure",L_Menu2,"No, thanks",L_Menu3;
+close;
+L_Menu2:
+warp "lou_fild01.gat",192,105;
+L_Menu3:
+mes "[Expert Sailor]";
+mes "Suit yourself.";
+close;
 }

+ 491 - 491
src/login_sql/char_int.c

@@ -1,491 +1,491 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <string.h>
-
-#include "login.h"
-
-//--------------------------------
-// Send to char
-//--------------------------------
-int charif_sendallwos(int sfd, unsigned char *buf, unsigned int len) {
-	int i, c;
-	int fd;
-
-	c = 0;
-	for(i = 0; i < MAX_SERVERS && i < servers_connected; i++) {
-		if ((fd = server_fd[i]) > 0 && fd != sfd) {
-			memcpy(WFIFOP(fd,0), buf, len);
-			WFIFOSET(fd,len);
-			c++;
-		}
-	}
-
-	return c;
-}
-
-//--------------------------------
-// Char-server anti-freeze system
-//--------------------------------
-int char_anti_freeze_system(int tid, unsigned int tick, int id, int data) {
-	int i;
-
-	for(i = 0; i < MAX_SERVERS && i < servers_connected; i++) {
-		if (server_fd[i] >= 0) {// if char-server is online
-//			printf("char_anti_freeze_system: server #%d '%s', flag: %d.\n", i, server[i].name, server_freezeflag[i]);
-			if (server_freezeflag[i]-- < 1) {// Char-server anti-freeze system. Counter. 5 ok, 4...0 freezed
-				session[server_fd[i]]->eof = 1;
-			}
-		}
-	}
-
-	return 0;
-}
-
-//-------------------------------------------
-// Request for account reg from char-server [Edit: Wizputer]
-//-------------------------------------------
-void send_account_reg(int fd) {
-    int account_id = RFIFOL(fd,2);
-    int i;
-			
-    for(i=0;i<AUTH_FIFO_SIZE;i++){
-        if (auth_fifo[i].account_id == account_id &&
-		    auth_fifo[i].login_id1 == RFIFOL(fd,6) &&
-#if CMP_AUTHFIFO_LOGIN2 != 0
-		    auth_fifo[i].login_id2 == RFIFOL(fd,10) && // relate to the versions higher than 18 
-#endif
-		    auth_fifo[i].sex == RFIFOB(fd,14) &&
-#if CMP_AUTHFIFO_IP != 0
-		    auth_fifo[i].ip == RFIFOL(fd,15) &&
-#endif
-		    !auth_fifo[i].delflag) {
-				auth_fifo[i].delflag = 1;
-				#ifdef DEBUG
-				printf("Client: [%d] Auth Number: [%d]\n",fd, i);
-				#endif
-				break;
-		}
-	}
-
-	if (i != AUTH_FIFO_SIZE) { // send account_reg
-		int p;
-		time_t connect_until_time = 0;
-		char email[40] = "";
-
-		sprintf(tmpsql, "SELECT `email`,`connect_until` FROM `%s` WHERE `%s`='%d'", login_db, login_db_account_id, account_id);
-		sql_query(tmpsql,"send_account_reg");
-		
-		
-        if ((sql_res = mysql_store_result(&mysql_handle))) {
-			if((sql_row = mysql_fetch_row(sql_res))) {
-			    connect_until_time = atol(sql_row[1]);
-			    strcpy(email, sql_row[0]);
-			}    
-		}
-		mysql_free_result(sql_res);
-		
-		if (account_id > 0) {
-			sprintf(tmpsql, "SELECT `str`,`value` FROM `global_reg_value` WHERE `type`='1' AND `account_id`='%d'",account_id);
-			sql_query(tmpsql,"send_account_reg");
-			
-            if ((sql_res = mysql_store_result(&mysql_handle))) {
-				WFIFOW(fd,0) = 0x2729;
-				WFIFOL(fd,4) = account_id;
-				for(p = 8; (sql_row = mysql_fetch_row(sql_res));p+=36){
-					memcpy(WFIFOP(fd,p), sql_row[0], 32);
-					WFIFOL(fd,p+32) = atoi(sql_row[1]);
-				}
-				WFIFOW(fd,2) = p;
-				WFIFOSET(fd,p);
-				#ifdef DEBUG
-				printf("account_reg2 send : login->char (auth fifo)\n");
-				#endif
-				WFIFOW(fd,0) = 0x2713;
-				WFIFOL(fd,2) = account_id;
-				WFIFOB(fd,6) = 0;
-				memcpy(WFIFOP(fd, 7), email, 40);
-				WFIFOL(fd,47) = (unsigned long) connect_until_time;
-				WFIFOSET(fd,51);
-			}
-			mysql_free_result(sql_res);
-		}
-	} else {
-		WFIFOW(fd,0) = 0x2713;
-		WFIFOL(fd,2) = account_id;
-		WFIFOB(fd,6) = 1;
-		WFIFOSET(fd,51);
-	}
-	RFIFOSKIP(fd,19);
-}
-
-//----------------------------------------------------------
-// Number of users in the world (connected char-server(s)) [Edit: Wizputer]
-//----------------------------------------------------------
-void number_world_users(int fd, int id) {
-	#ifdef DEBUG
-    if (server[id].users != RFIFOL(fd,2))
-		printf("set number users %s : %d\n", server[id].name, RFIFOL(fd,2));
-	#endif
-		
-	server[id].users = RFIFOL(fd,2);
-	if(anti_freeze_enable)
-		server_freezeflag[id] = 5; // Char anti-freeze system. Counter. 5 ok, 4...0 freezed
-		
-	sprintf(tmpsql,"UPDATE `sstatus` SET `user` = '%d' WHERE `index` = '%d'", server[id].users, id);
-	sql_query(tmpsql,"number_world_users");
-	
-	RFIFOSKIP(fd,6);
-}
-
-//-----------------------------------------
-// Email and Time request from char-server [Edit: Wizputer]
-//-----------------------------------------
-void email_time_request(int fd, int id) {
-	int account_id=RFIFOL(fd,2);
-	time_t connect_until_time = 0;
-	char email[40] = "";
-	
-	sprintf(tmpsql,"SELECT `email`,`connect_until` FROM `%s` WHERE `%s`='%d'",login_db, login_db_account_id, account_id);
-	sql_query(tmpsql,"email_time_request");
-
-	if ((sql_res = mysql_store_result(&mysql_handle))) {
-		if((sql_row = mysql_fetch_row(sql_res))) {
-		    connect_until_time = atol(sql_row[1]);
-		    strcpy(email, sql_row[0]);
-		}    
-	}
-	mysql_free_result(sql_res);
-	
-	#ifdef DEBUG
-	printf("parse_fromchar: E-mail/limited time request from '%s' server (concerned account: %d)\n", server[id].name, account_id);
-	#endif
-	
-	WFIFOW(fd,0) = 0x2717;
-	WFIFOL(fd,2) = account_id;
-	memcpy(WFIFOP(fd, 6), email, 40);
-	WFIFOL(fd,46) = (unsigned long) connect_until_time;
-	WFIFOSET(fd,50);
-
-	RFIFOSKIP(fd,6);
-}
-
-//--------------------------------
-// Request to change email [Edit: Wizputer]
-//--------------------------------
-void change_account_email(int fd, int id, char ip[16]) {
-	int acc = RFIFOL(fd,2);
-	char actual_email[40], new_email[40];
-
-	memcpy(actual_email, RFIFOP(fd,6), 40);
-	memcpy(new_email, RFIFOP(fd,46), 40);
-
-	if (e_mail_check(actual_email) == 0) {
-	    #ifdef DEBUG
-		printf("Char-server '%s': Attempt to modify an e-mail on an account (@email GM command), but actual email is invalid (account: %d, ip: %s)" RETCODE,
-		       server[id].name, acc, ip);
-        #endif
-	} else if (e_mail_check(new_email) == 0) {
-	    #ifdef DEBUG
-	    printf("Char-server '%s': Attempt to modify an e-mail on an account (@email GM command) with a invalid new e-mail (account: %d, ip: %s)" RETCODE,
-		       server[id].name, acc, ip);
-        #endif     
-	} else if (strcmpi(new_email, "athena@athena.com") == 0) {
-	    #ifdef DEBUG
-		printf("Char-server '%s': Attempt to modify an e-mail on an account (@email GM command) with a default e-mail (account: %d, ip: %s)" RETCODE,
-               server[id].name, acc, ip);
-        #endif               
-	} else {
-		sprintf(tmpsql, "SELECT `%s`,`email` FROM `%s` WHERE `%s` = '%d'", login_db_userid, login_db, login_db_account_id, acc);
-		sql_query(tmpsql,"change_account_email");
-
-		if ((sql_res = mysql_store_result(&mysql_handle))) {
-			if((sql_row = mysql_fetch_row(sql_res))) {	//row fetching
-			    if (strcmpi(sql_row[1], actual_email) == 0) {
-				    sprintf(tmpsql, "UPDATE `%s` SET `email` = '%s' WHERE `%s` = '%d'", login_db, new_email, login_db_account_id, acc);
-				    sql_query(tmpsql,"change_account_email");
-				    
-                    #ifdef DEBUG
-                    printf("Char-server '%s': Modify an e-mail on an account (@email GM command) (account: %d (%s), new e-mail: %s, ip: %s)." RETCODE,
-                            server[id].name, acc, sql_row[0], actual_email, ip);
-                    #endif
-                }
-            }    
-		}
-				
-    }
-    
-    RFIFOSKIP(fd, 86);
-}
-
-//-----------------------------------------------
-// State change request from map server (By Yor) [Edit: Wizputer]
-//-----------------------------------------------
-void status_change_request(int fd) {
-	int acc = RFIFOL(fd,2), status = RFIFOL(fd,6);
-
-	sprintf(tmpsql, "SELECT `state` FROM `%s` WHERE `%s` = '%d'", login_db, login_db_account_id, acc);
-	sql_query(tmpsql,"status_change_request");
-	
-	if ((sql_res = mysql_store_result(&mysql_handle))) {
-		if((sql_row = mysql_fetch_row(sql_res))) { // row fetching
-		    if (atoi(sql_row[0]) != status && status != 0) {
-		        unsigned char buf[16];
-		        WBUFW(buf,0) = 0x2731;
-		        WBUFL(buf,2) = acc;
-		        WBUFB(buf,6) = 0; // 0: change of statut, 1: ban
-		        WBUFL(buf,7) = status; // status or final date of a banishment
-		        charif_sendallwos(-1, buf, 11);
-            }
-        }    
-			
-		sprintf(tmpsql,"UPDATE `%s` SET `state` = '%d' WHERE `%s` = '%d'", login_db, status,login_db_account_id,acc);
-		sql_query(tmpsql,"status_change_request");
-    }    
-	
-    RFIFOSKIP(fd,10);
-}
-//--------------------------------------
-// Ban request from map-server (By Yor) [Edit: Wizputer]
-//--------------------------------------
-void ban_request(int fd) {
-	int acc=RFIFOL(fd,2);
-	struct tm *tmtime;
-	time_t timestamp, tmptime;
-
-	sprintf(tmpsql, "SELECT `ban_until` FROM `%s` WHERE `%s` = '%d'",login_db,login_db_account_id,acc);
-	sql_query(tmpsql,"ban_request");
-	
-	if ((sql_res = mysql_store_result(&mysql_handle)) && (sql_row = mysql_fetch_row(sql_res))) {
-		tmptime = atol(sql_row[0]);
-
-		if (tmptime == 0 || tmptime < time(NULL))
-			timestamp = time(NULL);
-		else
-			timestamp = tmptime;
-
-		tmtime = localtime(&timestamp);
-		tmtime->tm_year = tmtime->tm_year + (short)RFIFOW(fd,6);
-		tmtime->tm_mon = tmtime->tm_mon + (short)RFIFOW(fd,8);
-		tmtime->tm_mday = tmtime->tm_mday + (short)RFIFOW(fd,10);
-		tmtime->tm_hour = tmtime->tm_hour + (short)RFIFOW(fd,12);
-		tmtime->tm_min = tmtime->tm_min + (short)RFIFOW(fd,14);
-		tmtime->tm_sec = tmtime->tm_sec + (short)RFIFOW(fd,16);
-
-		timestamp = mktime(tmtime);
-
-		if (timestamp != -1) {
-			if (timestamp <= time(NULL))
-				timestamp = 0;
-			if (tmptime != timestamp) {
-				if (timestamp != 0) {
-					unsigned char buf[16];
-					WBUFW(buf,0) = 0x2731;
-					WBUFL(buf,2) = acc;
-					WBUFB(buf,6) = 1; // 0: change of statut, 1: ban
-					WBUFL(buf,7) = timestamp; // status or final date of a banishment
-					charif_sendallwos(-1, buf, 11);
-				}
-				#ifdef DEBUG
-				printf("Account: [%d] Banned until: [%ld]\n", acc, timestamp); 
-				#endif
-				
-                sprintf(tmpsql, "UPDATE `%s` SET `ban_until` = '%ld', `state`='7' WHERE `%s` = '%d'", login_db, timestamp, login_db_account_id, acc);
-				sql_query(tmpsql,"ban_request");
-			}
-		}
-    }
-    
-	RFIFOSKIP(fd,18);
-}
-
-//-----------------------------
-// Change sex [Edit: Wizputer]
-//-----------------------------
-void change_sex(int fd) {
-	int sex,acc=RFIFOL(fd,4);
-	unsigned char buf[16];
-	
-	sprintf(tmpsql,"SELECT `sex` FROM `%s` WHERE `%s` = '%d'",login_db,login_db_account_id,acc);
-    sql_query(tmpsql,"change_sex");
-        
-    if ((sql_res = mysql_store_result(&mysql_handle)) && (sql_row = mysql_fetch_row(sql_res))) {
-        if (strcmpi(sql_row[0], "M") == 0)
-            sex = 1;
-        else
-            sex = 0;
-        
-        sprintf(tmpsql,"UPDATE `%s` SET `sex` = '%c' WHERE `%s` = '%d'", login_db, (sex==0?'M':'F'), login_db_account_id, acc);
-		sql_query(tmpsql,"change_sex");
-		
-		WBUFW(buf,0) = 0x2723;
-		WBUFL(buf,2) = acc;
-		WBUFB(buf,6) = sex;
-		charif_sendallwos(-1, buf, 7);
-    }	
-	
-    RFIFOSKIP(fd,6);
-}
-
-//-------------------------------
-// Save Account Reg [Edit: Wizputer]
-//-------------------------------
-void save_account_reg(int fd){
-	int p,j,value,acc=RFIFOL(fd,4);
-	char str[32];
-	char temp_str[32];
-
-	if (acc>0){
-		unsigned char buf[RFIFOW(fd,2)+1];
-		for(p=8,j=0;p<RFIFOW(fd,2) && j<ACCOUNT_REG2_NUM;p+=36,j++){
-			memcpy(str,RFIFOP(fd,p),32);
-			value=RFIFOL(fd,p+32);
-			
-            sprintf(tmpsql,"REPLACE INTO `global_reg_value` (`type`, `account_id`, `str`, `value`) VALUES ( 1 , '%d' , '%s' , '%d');",  acc, jstrescapecpy(temp_str,str), value);
-			sql_query(tmpsql,"save_account_reg");
-		}
-
-		// Send to char
-		memcpy(WBUFP(buf,0),RFIFOP(fd,0),RFIFOW(fd,2));
-		WBUFW(buf,0)=0x2729;
-		charif_sendallwos(fd,buf,WBUFW(buf,2));
-	}
-
-	RFIFOSKIP(fd,RFIFOW(fd,2));
-	
-	#ifdef DEBUG
-	printf("login: save account_reg (from char)\n");
-	#endif
-}
-
-//------------------------------------------------
-// Recieve unban request from map-server (by Yor) [Edit: Wizputer]
-//------------------------------------------------
-void unban_request(int fd) {
-	int acc = RFIFOL(fd,2);
-				
-    sprintf(tmpsql,"UPDATE `%s` SET `ban_until` = '0', `state`='0' WHERE `%s` = '%d' AND `state`='6'", login_db,login_db_account_id,acc);
-    sql_query(tmpsql,"unban_request");
-
-	RFIFOSKIP(fd,6);
-}
-
-//-----------------------------------------------------
-// char-server packet parse [Edit: Wizputer]
-//-----------------------------------------------------
-int parse_fromchar(int fd){
-	int id;
-
-	unsigned char *p = (unsigned char *) &session[fd]->client_addr.sin_addr;
-	char ip[16];
-
-	sprintf(ip, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
-
-	for(id = 0; id < MAX_SERVERS && id < servers_connected; id++)
-		if (server_fd[id] == fd)
-			break;
-
-	if (id == MAX_SERVERS)
-		session[fd]->eof = 1;
-		
-	if(session[fd]->eof) {
-		if (id < MAX_SERVERS) {
-			printf("Char-server '%s' has disconnected.\n", server[id].name);
-			server_fd[id] = -1;
-			memset(&server[id], 0, sizeof(struct mmo_char_server));
-			servers_connected--;
-			// server delete
-			sprintf(tmpsql, "DELETE FROM `sstatus` WHERE `index`='%d'", id);
-    		sql_query(tmpsql,"parse_fromchar");
-		}
-		close(fd);
-		delete_session(fd);
-		return 0;
-	}
-
-	while(RFIFOREST(fd) >= 2) {
-	    #ifdef DEBUG_PACKETS
-		printf("char_parse: %d %d packet case=%x\n", fd, RFIFOREST(fd), RFIFOW(fd, 0));
-		#endif
-		
-		switch (RFIFOW(fd,0)) {
-		case 0x2712:
-			if (RFIFOREST(fd) < 19)
-				return 0;
-			send_account_reg(fd);
-			break;
-
-		case 0x2714:
-			if (RFIFOREST(fd) < 6)
-				return 0;
-			number_world_users(fd,id);
-			break;
-
-		case 0x2716:
-			if (RFIFOREST(fd) < 6)
-				return 0;
-			email_time_request(fd, id);
-			break;
-	
-		case 0x2722:
-			if (RFIFOREST(fd) < 86)
-				return 0;
-			change_account_email(fd, id, ip);
-			break;
-
-		case 0x2724:
-			if (RFIFOREST(fd) < 10)
-				return 0;
-			status_change_request(fd);
-			break;
-
-		case 0x2725:
-			if (RFIFOREST(fd) < 18)
-				return 0;
-			ban_request(fd);
-			break;
-
-		case 0x2727:
-			if (RFIFOREST(fd) < 6)
-				return 0;
-			change_sex(fd);
-			break;
-
-		case 0x2728:
-            if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
-                return 0;
-            save_account_reg(fd);	
-            break;
-
-        case 0x272a:
-			if (RFIFOREST(fd) < 6)
-				return 0;
-			unban_request(fd);
-			return 0;
-			
-        case 0x272b:    // Set account_id to online [Wizputer]
-            if (RFIFOREST(fd) < 6)
-                return 0;
-            add_online_user(RFIFOL(fd,2));
-            RFIFOSKIP(fd,6);
-            break;
-    
-        case 0x272c:   // Set account_id to offline [Wizputer]
-            if (RFIFOREST(fd) < 6)
-                return 0;
-            remove_online_user(RFIFOL(fd,2));
-            RFIFOSKIP(fd,6);
-            break;
-			
-		default:
-		    #ifdef DEBUG
-		    printf("login: unknown packet %x! (from char).\n", RFIFOW(fd,0));
-		    #endif
-		    session[fd]->eof = 1;
-        }
-	}
-
-	return 0;
-}
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <string.h>
+
+#include "login.h"
+
+//--------------------------------
+// Send to char
+//--------------------------------
+int charif_sendallwos(int sfd, unsigned char *buf, unsigned int len) {
+	int i, c;
+	int fd;
+
+	c = 0;
+	for(i = 0; i < MAX_SERVERS && i < servers_connected; i++) {
+		if ((fd = server_fd[i]) > 0 && fd != sfd) {
+			memcpy(WFIFOP(fd,0), buf, len);
+			WFIFOSET(fd,len);
+			c++;
+		}
+	}
+
+	return c;
+}
+
+//--------------------------------
+// Char-server anti-freeze system
+//--------------------------------
+int char_anti_freeze_system(int tid, unsigned int tick, int id, int data) {
+	int i;
+
+	for(i = 0; i < MAX_SERVERS && i < servers_connected; i++) {
+		if (server_fd[i] >= 0) {// if char-server is online
+//			printf("char_anti_freeze_system: server #%d '%s', flag: %d.\n", i, server[i].name, server_freezeflag[i]);
+			if (server_freezeflag[i]-- < 1) {// Char-server anti-freeze system. Counter. 5 ok, 4...0 freezed
+				session[server_fd[i]]->eof = 1;
+			}
+		}
+	}
+
+	return 0;
+}
+
+//-------------------------------------------
+// Request for account reg from char-server [Edit: Wizputer]
+//-------------------------------------------
+void send_account_reg(int fd) {
+    int account_id = RFIFOL(fd,2);
+    int i;
+			
+    for(i=0;i<AUTH_FIFO_SIZE;i++){
+        if (auth_fifo[i].account_id == account_id &&
+		    auth_fifo[i].login_id1 == RFIFOL(fd,6) &&
+#if CMP_AUTHFIFO_LOGIN2 != 0
+		    auth_fifo[i].login_id2 == RFIFOL(fd,10) && // relate to the versions higher than 18 
+#endif
+		    auth_fifo[i].sex == RFIFOB(fd,14) &&
+#if CMP_AUTHFIFO_IP != 0
+		    auth_fifo[i].ip == RFIFOL(fd,15) &&
+#endif
+		    !auth_fifo[i].delflag) {
+				auth_fifo[i].delflag = 1;
+				#ifdef DEBUG
+				printf("Client: [%d] Auth Number: [%d]\n",fd, i);
+				#endif
+				break;
+		}
+	}
+
+	if (i != AUTH_FIFO_SIZE) { // send account_reg
+		int p;
+		time_t connect_until_time = 0;
+		char email[40] = "";
+
+		sprintf(tmpsql, "SELECT `email`,`connect_until` FROM `%s` WHERE `%s`='%d'", login_db, login_db_account_id, account_id);
+		sql_query(tmpsql,"send_account_reg");
+		
+		
+        if ((sql_res = mysql_store_result(&mysql_handle))) {
+			if((sql_row = mysql_fetch_row(sql_res))) {
+			    connect_until_time = atol(sql_row[1]);
+			    strcpy(email, sql_row[0]);
+			}    
+		}
+		mysql_free_result(sql_res);
+		
+		if (account_id > 0) {
+			sprintf(tmpsql, "SELECT `str`,`value` FROM `global_reg_value` WHERE `type`='1' AND `account_id`='%d'",account_id);
+			sql_query(tmpsql,"send_account_reg");
+			
+            if ((sql_res = mysql_store_result(&mysql_handle))) {
+				WFIFOW(fd,0) = 0x2729;
+				WFIFOL(fd,4) = account_id;
+				for(p = 8; (sql_row = mysql_fetch_row(sql_res));p+=36){
+					memcpy(WFIFOP(fd,p), sql_row[0], 32);
+					WFIFOL(fd,p+32) = atoi(sql_row[1]);
+				}
+				WFIFOW(fd,2) = p;
+				WFIFOSET(fd,p);
+				#ifdef DEBUG
+				printf("account_reg2 send : login->char (auth fifo)\n");
+				#endif
+				WFIFOW(fd,0) = 0x2713;
+				WFIFOL(fd,2) = account_id;
+				WFIFOB(fd,6) = 0;
+				memcpy(WFIFOP(fd, 7), email, 40);
+				WFIFOL(fd,47) = (unsigned long) connect_until_time;
+				WFIFOSET(fd,51);
+			}
+			mysql_free_result(sql_res);
+		}
+	} else {
+		WFIFOW(fd,0) = 0x2713;
+		WFIFOL(fd,2) = account_id;
+		WFIFOB(fd,6) = 1;
+		WFIFOSET(fd,51);
+	}
+	RFIFOSKIP(fd,19);
+}
+
+//----------------------------------------------------------
+// Number of users in the world (connected char-server(s)) [Edit: Wizputer]
+//----------------------------------------------------------
+void number_world_users(int fd, int id) {
+	#ifdef DEBUG
+    if (server[id].users != RFIFOL(fd,2))
+		printf("set number users %s : %d\n", server[id].name, RFIFOL(fd,2));
+	#endif
+		
+	server[id].users = RFIFOL(fd,2);
+	if(anti_freeze_enable)
+		server_freezeflag[id] = 5; // Char anti-freeze system. Counter. 5 ok, 4...0 freezed
+		
+	sprintf(tmpsql,"UPDATE `sstatus` SET `user` = '%d' WHERE `index` = '%d'", server[id].users, id);
+	sql_query(tmpsql,"number_world_users");
+	
+	RFIFOSKIP(fd,6);
+}
+
+//-----------------------------------------
+// Email and Time request from char-server [Edit: Wizputer]
+//-----------------------------------------
+void email_time_request(int fd, int id) {
+	int account_id=RFIFOL(fd,2);
+	time_t connect_until_time = 0;
+	char email[40] = "";
+	
+	sprintf(tmpsql,"SELECT `email`,`connect_until` FROM `%s` WHERE `%s`='%d'",login_db, login_db_account_id, account_id);
+	sql_query(tmpsql,"email_time_request");
+
+	if ((sql_res = mysql_store_result(&mysql_handle))) {
+		if((sql_row = mysql_fetch_row(sql_res))) {
+		    connect_until_time = atol(sql_row[1]);
+		    strcpy(email, sql_row[0]);
+		}    
+	}
+	mysql_free_result(sql_res);
+	
+	#ifdef DEBUG
+	printf("parse_fromchar: E-mail/limited time request from '%s' server (concerned account: %d)\n", server[id].name, account_id);
+	#endif
+	
+	WFIFOW(fd,0) = 0x2717;
+	WFIFOL(fd,2) = account_id;
+	memcpy(WFIFOP(fd, 6), email, 40);
+	WFIFOL(fd,46) = (unsigned long) connect_until_time;
+	WFIFOSET(fd,50);
+
+	RFIFOSKIP(fd,6);
+}
+
+//--------------------------------
+// Request to change email [Edit: Wizputer]
+//--------------------------------
+void change_account_email(int fd, int id, char ip[16]) {
+	int acc = RFIFOL(fd,2);
+	char actual_email[40], new_email[40];
+
+	memcpy(actual_email, RFIFOP(fd,6), 40);
+	memcpy(new_email, RFIFOP(fd,46), 40);
+
+	if (e_mail_check(actual_email) == 0) {
+	    #ifdef DEBUG
+		printf("Char-server '%s': Attempt to modify an e-mail on an account (@email GM command), but actual email is invalid (account: %d, ip: %s)" RETCODE,
+		       server[id].name, acc, ip);
+        #endif
+	} else if (e_mail_check(new_email) == 0) {
+	    #ifdef DEBUG
+	    printf("Char-server '%s': Attempt to modify an e-mail on an account (@email GM command) with a invalid new e-mail (account: %d, ip: %s)" RETCODE,
+		       server[id].name, acc, ip);
+        #endif     
+	} else if (strcmpi(new_email, "athena@athena.com") == 0) {
+	    #ifdef DEBUG
+		printf("Char-server '%s': Attempt to modify an e-mail on an account (@email GM command) with a default e-mail (account: %d, ip: %s)" RETCODE,
+               server[id].name, acc, ip);
+        #endif               
+	} else {
+		sprintf(tmpsql, "SELECT `%s`,`email` FROM `%s` WHERE `%s` = '%d'", login_db_userid, login_db, login_db_account_id, acc);
+		sql_query(tmpsql,"change_account_email");
+
+		if ((sql_res = mysql_store_result(&mysql_handle))) {
+			if((sql_row = mysql_fetch_row(sql_res))) {	//row fetching
+			    if (strcmpi(sql_row[1], actual_email) == 0) {
+				    sprintf(tmpsql, "UPDATE `%s` SET `email` = '%s' WHERE `%s` = '%d'", login_db, new_email, login_db_account_id, acc);
+				    sql_query(tmpsql,"change_account_email");
+				    
+                    #ifdef DEBUG
+                    printf("Char-server '%s': Modify an e-mail on an account (@email GM command) (account: %d (%s), new e-mail: %s, ip: %s)." RETCODE,
+                            server[id].name, acc, sql_row[0], actual_email, ip);
+                    #endif
+                }
+            }    
+		}
+				
+    }
+    
+    RFIFOSKIP(fd, 86);
+}
+
+//-----------------------------------------------
+// State change request from map server (By Yor) [Edit: Wizputer]
+//-----------------------------------------------
+void status_change_request(int fd) {
+	int acc = RFIFOL(fd,2), status = RFIFOL(fd,6);
+
+	sprintf(tmpsql, "SELECT `state` FROM `%s` WHERE `%s` = '%d'", login_db, login_db_account_id, acc);
+	sql_query(tmpsql,"status_change_request");
+	
+	if ((sql_res = mysql_store_result(&mysql_handle))) {
+		if((sql_row = mysql_fetch_row(sql_res))) { // row fetching
+		    if (atoi(sql_row[0]) != status && status != 0) {
+		        unsigned char buf[16];
+		        WBUFW(buf,0) = 0x2731;
+		        WBUFL(buf,2) = acc;
+		        WBUFB(buf,6) = 0; // 0: change of statut, 1: ban
+		        WBUFL(buf,7) = status; // status or final date of a banishment
+		        charif_sendallwos(-1, buf, 11);
+            }
+        }    
+			
+		sprintf(tmpsql,"UPDATE `%s` SET `state` = '%d' WHERE `%s` = '%d'", login_db, status,login_db_account_id,acc);
+		sql_query(tmpsql,"status_change_request");
+    }    
+	
+    RFIFOSKIP(fd,10);
+}
+//--------------------------------------
+// Ban request from map-server (By Yor) [Edit: Wizputer]
+//--------------------------------------
+void ban_request(int fd) {
+	int acc=RFIFOL(fd,2);
+	struct tm *tmtime;
+	time_t timestamp, tmptime;
+
+	sprintf(tmpsql, "SELECT `ban_until` FROM `%s` WHERE `%s` = '%d'",login_db,login_db_account_id,acc);
+	sql_query(tmpsql,"ban_request");
+	
+	if ((sql_res = mysql_store_result(&mysql_handle)) && (sql_row = mysql_fetch_row(sql_res))) {
+		tmptime = atol(sql_row[0]);
+
+		if (tmptime == 0 || tmptime < time(NULL))
+			timestamp = time(NULL);
+		else
+			timestamp = tmptime;
+
+		tmtime = localtime(&timestamp);
+		tmtime->tm_year = tmtime->tm_year + (short)RFIFOW(fd,6);
+		tmtime->tm_mon = tmtime->tm_mon + (short)RFIFOW(fd,8);
+		tmtime->tm_mday = tmtime->tm_mday + (short)RFIFOW(fd,10);
+		tmtime->tm_hour = tmtime->tm_hour + (short)RFIFOW(fd,12);
+		tmtime->tm_min = tmtime->tm_min + (short)RFIFOW(fd,14);
+		tmtime->tm_sec = tmtime->tm_sec + (short)RFIFOW(fd,16);
+
+		timestamp = mktime(tmtime);
+
+		if (timestamp != -1) {
+			if (timestamp <= time(NULL))
+				timestamp = 0;
+			if (tmptime != timestamp) {
+				if (timestamp != 0) {
+					unsigned char buf[16];
+					WBUFW(buf,0) = 0x2731;
+					WBUFL(buf,2) = acc;
+					WBUFB(buf,6) = 1; // 0: change of statut, 1: ban
+					WBUFL(buf,7) = timestamp; // status or final date of a banishment
+					charif_sendallwos(-1, buf, 11);
+				}
+				#ifdef DEBUG
+				printf("Account: [%d] Banned until: [%ld]\n", acc, timestamp); 
+				#endif
+				
+                sprintf(tmpsql, "UPDATE `%s` SET `ban_until` = '%ld', `state`='7' WHERE `%s` = '%d'", login_db, timestamp, login_db_account_id, acc);
+				sql_query(tmpsql,"ban_request");
+			}
+		}
+    }
+    
+	RFIFOSKIP(fd,18);
+}
+
+//-----------------------------
+// Change sex [Edit: Wizputer]
+//-----------------------------
+void change_sex(int fd) {
+	int sex,acc=RFIFOL(fd,4);
+	unsigned char buf[16];
+	
+	sprintf(tmpsql,"SELECT `sex` FROM `%s` WHERE `%s` = '%d'",login_db,login_db_account_id,acc);
+    sql_query(tmpsql,"change_sex");
+        
+    if ((sql_res = mysql_store_result(&mysql_handle)) && (sql_row = mysql_fetch_row(sql_res))) {
+        if (strcmpi(sql_row[0], "M") == 0)
+            sex = 1;
+        else
+            sex = 0;
+        
+        sprintf(tmpsql,"UPDATE `%s` SET `sex` = '%c' WHERE `%s` = '%d'", login_db, (sex==0?'M':'F'), login_db_account_id, acc);
+		sql_query(tmpsql,"change_sex");
+		
+		WBUFW(buf,0) = 0x2723;
+		WBUFL(buf,2) = acc;
+		WBUFB(buf,6) = sex;
+		charif_sendallwos(-1, buf, 7);
+    }	
+	
+    RFIFOSKIP(fd,6);
+}
+
+//-------------------------------
+// Save Account Reg [Edit: Wizputer]
+//-------------------------------
+void save_account_reg(int fd){
+	int p,j,value,acc=RFIFOL(fd,4);
+	char str[32];
+	char temp_str[32];
+
+	if (acc>0){
+		unsigned char buf[RFIFOW(fd,2)+1];
+		for(p=8,j=0;p<RFIFOW(fd,2) && j<ACCOUNT_REG2_NUM;p+=36,j++){
+			memcpy(str,RFIFOP(fd,p),32);
+			value=RFIFOL(fd,p+32);
+			
+            sprintf(tmpsql,"REPLACE INTO `global_reg_value` (`type`, `account_id`, `str`, `value`) VALUES ( 1 , '%d' , '%s' , '%d');",  acc, jstrescapecpy(temp_str,str), value);
+			sql_query(tmpsql,"save_account_reg");
+		}
+
+		// Send to char
+		memcpy(WBUFP(buf,0),RFIFOP(fd,0),RFIFOW(fd,2));
+		WBUFW(buf,0)=0x2729;
+		charif_sendallwos(fd,buf,WBUFW(buf,2));
+	}
+
+	RFIFOSKIP(fd,RFIFOW(fd,2));
+	
+	#ifdef DEBUG
+	printf("login: save account_reg (from char)\n");
+	#endif
+}
+
+//------------------------------------------------
+// Recieve unban request from map-server (by Yor) [Edit: Wizputer]
+//------------------------------------------------
+void unban_request(int fd) {
+	int acc = RFIFOL(fd,2);
+				
+    sprintf(tmpsql,"UPDATE `%s` SET `ban_until` = '0', `state`='0' WHERE `%s` = '%d' AND `state`='6'", login_db,login_db_account_id,acc);
+    sql_query(tmpsql,"unban_request");
+
+	RFIFOSKIP(fd,6);
+}
+
+//-----------------------------------------------------
+// char-server packet parse [Edit: Wizputer]
+//-----------------------------------------------------
+int parse_fromchar(int fd){
+	int id;
+
+	unsigned char *p = (unsigned char *) &session[fd]->client_addr.sin_addr;
+	char ip[16];
+
+	sprintf(ip, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
+
+	for(id = 0; id < MAX_SERVERS && id < servers_connected; id++)
+		if (server_fd[id] == fd)
+			break;
+
+	if (id == MAX_SERVERS)
+		session[fd]->eof = 1;
+		
+	if(session[fd]->eof) {
+		if (id < MAX_SERVERS) {
+			printf("Char-server '%s' has disconnected.\n", server[id].name);
+			server_fd[id] = -1;
+			memset(&server[id], 0, sizeof(struct mmo_char_server));
+			servers_connected--;
+			// server delete
+			sprintf(tmpsql, "DELETE FROM `sstatus` WHERE `index`='%d'", id);
+    		sql_query(tmpsql,"parse_fromchar");
+		}
+		close(fd);
+		delete_session(fd);
+		return 0;
+	}
+
+	while(RFIFOREST(fd) >= 2) {
+	    #ifdef DEBUG_PACKETS
+		printf("char_parse: %d %d packet case=%x\n", fd, RFIFOREST(fd), RFIFOW(fd, 0));
+		#endif
+		
+		switch (RFIFOW(fd,0)) {
+		case 0x2712:
+			if (RFIFOREST(fd) < 19)
+				return 0;
+			send_account_reg(fd);
+			break;
+
+		case 0x2714:
+			if (RFIFOREST(fd) < 6)
+				return 0;
+			number_world_users(fd,id);
+			break;
+
+		case 0x2716:
+			if (RFIFOREST(fd) < 6)
+				return 0;
+			email_time_request(fd, id);
+			break;
+	
+		case 0x2722:
+			if (RFIFOREST(fd) < 86)
+				return 0;
+			change_account_email(fd, id, ip);
+			break;
+
+		case 0x2724:
+			if (RFIFOREST(fd) < 10)
+				return 0;
+			status_change_request(fd);
+			break;
+
+		case 0x2725:
+			if (RFIFOREST(fd) < 18)
+				return 0;
+			ban_request(fd);
+			break;
+
+		case 0x2727:
+			if (RFIFOREST(fd) < 6)
+				return 0;
+			change_sex(fd);
+			break;
+
+		case 0x2728:
+            if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
+                return 0;
+            save_account_reg(fd);	
+            break;
+
+        case 0x272a:
+			if (RFIFOREST(fd) < 6)
+				return 0;
+			unban_request(fd);
+			return 0;
+			
+        case 0x272b:    // Set account_id to online [Wizputer]
+            if (RFIFOREST(fd) < 6)
+                return 0;
+            add_online_user(RFIFOL(fd,2));
+            RFIFOSKIP(fd,6);
+            break;
+    
+        case 0x272c:   // Set account_id to offline [Wizputer]
+            if (RFIFOREST(fd) < 6)
+                return 0;
+            remove_online_user(RFIFOL(fd,2));
+            RFIFOSKIP(fd,6);
+            break;
+			
+		default:
+		    #ifdef DEBUG
+		    printf("login: unknown packet %x! (from char).\n", RFIFOW(fd,0));
+		    #endif
+		    session[fd]->eof = 1;
+        }
+	}
+
+	return 0;
+}

+ 2 - 2
src/login_sql/char_int.h

@@ -1,2 +1,2 @@
-int char_anti_freeze_system(int, unsigned int, int, int);
-int parse_fromchar(int);
+int char_anti_freeze_system(int, unsigned int, int, int);
+int parse_fromchar(int);

+ 370 - 370
src/login_sql/login_int.c

@@ -1,370 +1,370 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <string.h>
-
-#include "login.h"
-#include "char_int.h"
-
-//----------------------
-// Client requesting login [Edit: Wizputer]
-//----------------------
-void client_request_login(int fd,unsigned char *p ) {
-    struct mmo_account account;
-   	char t_uid[32];  
-   	int server_num = 0,result,i;
-   	
-   	if( !servers_connected) {
-   	       	WFIFOW(fd,0) = 0x81;
-			WFIFOL(fd,2) = 1; // 01 = Server closed
-			WFIFOSET(fd,3);
-    }			
-    
-    #ifdef DEBUG
-    printf("client connection request %s from %d.%d.%d.%d\n", RFIFOP(fd, 6), p[0], p[1], p[2], p[3]);
-    #endif
-
-	account.userid = RFIFOP(fd, 6);
-	account.passwd = RFIFOP(fd, 30);
-#ifdef PASSWORDENC
-	account.passwdenc= (RFIFOW(fd,0)==0x64)?0:PASSWORDENC;
-#else
-	account.passwdenc=0;
-#endif
-	result=mmo_auth(&account, fd);
-
-	jstrescapecpy(t_uid,RFIFOP(fd, 6));
-	if(result==-1){
-	    unsigned char gm_level = isGM(account.account_id);
-        if (min_level_to_connect > gm_level || !servers_connected) {
-			WFIFOW(fd,0) = 0x81;
-			WFIFOL(fd,2) = 1; // 01 = Server closed
-			WFIFOSET(fd,3);
-	    } else {
-            if (p[0] != 127) {
-                sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', '%s','100', 'login ok')", loginlog_db, p[0], p[1], p[2], p[3], t_uid);
-                sql_query(tmpsql,"client_request_login");
-            }
-
-            if (gm_level) {
-                #ifdef DEBUG            
-			    printf("Connection of the GM (level:%d) account '%s' accepted.\n", gm_level, account.userid);
-			    #endif
-			} else {
-			    #ifdef DEBUG
-				printf("Connection of the account '%s' accepted.\n", account.userid);
-				#endif
-			}
-   			
-		    for(i = 0; i < MAX_SERVERS || server_num < servers_connected ; i++)
-		        if (server_fd[i] >= 0) {
-		            //Lan check added by Kashy
-		            if (lan_ip_check(p))
-					    WFIFOL(fd,47+server_num*32) = inet_addr(lan_char_ip);
-	                else
-                        WFIFOL(fd,47+server_num*32) = server[i].ip;
-
-                    WFIFOW(fd,47+server_num*32+4) = server[i].port;
-                    memcpy(WFIFOP(fd,47+server_num*32+6), server[i].name, 20);
-                    WFIFOW(fd,47+server_num*32+26) = server[i].users;
-                    WFIFOW(fd,47+server_num*32+28) = server[i].maintenance;
-                    WFIFOW(fd,47+server_num*32+30) = server[i].new;
-                    server_num++;
-                }   
-            
-                WFIFOW(fd,0)=0x69;
-                WFIFOW(fd,2)=47+32*server_num;
-                WFIFOL(fd,4)=account.login_id1;
-                WFIFOL(fd,8)=account.account_id;
-                WFIFOL(fd,12)=account.login_id2;
-                WFIFOL(fd,16)=0;
-                memcpy(WFIFOP(fd,20),account.lastlogin,24);
-                WFIFOB(fd,46)=account.sex;
-                WFIFOSET(fd,47+32*server_num);
-                
-                if(auth_fifo_pos>=AUTH_FIFO_SIZE)
-                    auth_fifo_pos=0;
-                
-                auth_fifo[auth_fifo_pos].account_id=account.account_id;
-                auth_fifo[auth_fifo_pos].login_id1=account.login_id1;
-                auth_fifo[auth_fifo_pos].login_id2=account.login_id2;
-                auth_fifo[auth_fifo_pos].sex=account.sex;
-                auth_fifo[auth_fifo_pos].delflag=0;
-                auth_fifo[auth_fifo_pos].ip = session[fd]->client_addr.sin_addr.s_addr;
-                auth_fifo_pos++;
-        }
-    } else {
-		char error[32];
-		
-		sprintf(tmpsql,"SELECT `error` FROM `errors` WHERE `result`='%d'",result);
-		sql_query(tmpsql,"client_request_login");
-		
-		if ((sql_res = mysql_store_result(&mysql_handle))) {
-                if ((sql_row = mysql_fetch_row(sql_res))) {
-                    sprintf(error,sql_row[0]);
-                } else {
-                    sprintf(error,"No Error!");
-                }
-        }        
-		
-        
-        sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', '%s', '%d','login failed : %s')", loginlog_db, p[0], p[1], p[2], p[3], t_uid, result, error);
-        
-        		
-        sql_query(tmpsql,"client_request_login");
-
-		if ((result == 1) && (dynamic_pass_failure_ban != 0)){	// failed password
-			sprintf(tmpsql,"SELECT count(*) FROM `%s` WHERE `ip` = '%d.%d.%d.%d' AND `rcode` = '1' AND `time` > NOW() - INTERVAL %d MINUTE",
-			        loginlog_db, p[0], p[1], p[2], p[3], dynamic_pass_failure_ban_time);	//how many times filed account? in one ip.
-			sql_query(tmpsql,"client_request_login");
-			
-			if ((sql_res = mysql_store_result(&mysql_handle))) {
-                if ((sql_row = mysql_fetch_row(sql_res))) {
-                    if (atoi(sql_row[0]) >= dynamic_pass_failure_ban_how_many ) {
-                        sprintf(tmpsql,"INSERT INTO `ipbanlist`(`list`,`btime`,`rtime`,`reason`) VALUES ('%d.%d.%d.*', NOW() , NOW() +  INTERVAL %d MINUTE ,'Password error ban: %s')", p[0], p[1], p[2], dynamic_pass_failure_ban_how_long, t_uid);
-                        sql_query(tmpsql,"client_request_login");
-                    }
-                }
-            }        
-
-			
-			mysql_free_result(sql_res);
-			
-		}
-		
-		//cannot connect login failed
-		memset(WFIFOP(fd,0),'\0',23);
-		WFIFOW(fd,0)=0x6a;
-		WFIFOB(fd,2)=result-1;
-		if (result == 6) { // 6 = Your are Prohibited to log in until %s
-			char tmpstr[256];
-			strftime(tmpstr, 20, date_format, localtime(&account.ban_until_time));
-			tmpstr[19] = '\0';
-			memcpy(WFIFOP(fd,3), tmpstr, 20);
-		} else { // we send error message
-			memcpy(WFIFOP(fd,3), error, 20);
-		}
-	}
-
-	WFIFOSET(fd,23);
-
-	RFIFOSKIP(fd,(RFIFOW(fd,0)==0x64)?55:47);
-}
-
-//------------------------------------------------------
-// MD5 Key requested for encypted login [Edit: Wizputer
-//------------------------------------------------------
-void md5_key_request(int fd) {
-    #ifdef DEBUG
-    printf("Request Password key -%s\n",md5key);
-    #endif
-    
-	RFIFOSKIP(fd,2);
-	WFIFOW(fd,0)=0x01dc;
-	WFIFOW(fd,2)=4+md5keylen;
-	memcpy(WFIFOP(fd,4),md5key,md5keylen);
-	WFIFOSET(fd,WFIFOW(fd,2));
-}
-
-//----------------------------------------------------
-// Char-server requesting connection [Edit: Wizputer]
-//-----------------------------------------------------
-void char_request_login(int fd, unsigned char *p) {
-    struct mmo_account account;
-	unsigned char* server_name;
-   	char t_uid[32];  
-	int result;
-	
-	sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', '%s@%s','100', 'charserver - %s@%d.%d.%d.%d:%d')", loginlog_db, p[0], p[1], p[2], p[3], RFIFOP(fd, 2),RFIFOP(fd, 60),RFIFOP(fd, 60), RFIFOB(fd, 54), RFIFOB(fd, 55), RFIFOB(fd, 56), RFIFOB(fd, 57), RFIFOW(fd, 58));
-	sql_query(tmpsql,"char_request_login");
-	
-	#ifdef DEBUG
-	printf("server connection request %s @ %d.%d.%d.%d:%d (%d.%d.%d.%d)\n",
-			RFIFOP(fd, 60), RFIFOB(fd, 54), RFIFOB(fd, 55), RFIFOB(fd, 56), RFIFOB(fd, 57), RFIFOW(fd, 58),
-			p[0], p[1], p[2], p[3]);
-	#endif
-
-	account.userid = RFIFOP(fd, 2);
-	account.passwd = RFIFOP(fd, 26);
-	account.passwdenc = 0;
-	server_name = RFIFOP(fd,60);
-	result = mmo_auth(&account, fd);
-
-	#ifdef DEBUG
-	printf("Result: %d - Sex: %d - Account ID: %d\n",result,account.sex,(int) account.account_id);
-	#endif
-
-	if(result == -1 && account.sex==2 && account.account_id<MAX_SERVERS && server_fd[account.account_id]==-1){
-	    printf("Connection of the char-server '%s' accepted.\n", server_name);
-
-        memset(&server[account.account_id], 0, sizeof(struct mmo_char_server));
-        
-        server[account.account_id].ip=RFIFOL(fd,54);
-		server[account.account_id].port=RFIFOW(fd,58);
-		memcpy(server[account.account_id].name,RFIFOP(fd,60),20);
-		server[account.account_id].users=0;
-		server[account.account_id].maintenance=RFIFOW(fd,82);
-		server[account.account_id].new=RFIFOW(fd,84);
-		server_fd[account.account_id]=fd;
-
-		if(anti_freeze_enable)
-			server_freezeflag[account.account_id] = 5; // Char-server anti-freeze system. Counter. 5 ok, 4...0 freezed
-
-		jstrescapecpy(t_uid,server[account.account_id].name);
-		
-		sprintf(tmpsql,"REPLACE DELAYED INTO `sstatus`(`index`,`name`,`user`) VALUES ( '%ld', '%s', '%d')",
-				account.account_id, server[account.account_id].name,0);
-		sql_query(tmpsql,"char_request_login");
-		
-        WFIFOW(fd,0)=0x2711;
-		WFIFOB(fd,2)=0;
-		WFIFOSET(fd,3);
-		session[fd]->func_parse=parse_fromchar;
-		realloc_fifo(fd,FIFOSIZE_SERVERLINK,FIFOSIZE_SERVERLINK);
-		
-		servers_connected++;
-	} else {
-		WFIFOW(fd, 0) =0x2711;
-		WFIFOB(fd, 2)=3;
-		WFIFOSET(fd, 3);
-	}
-
-	RFIFOSKIP(fd, 86);
-}
-
-//---------------------------------------------
-// Athena Version Info Request [Edit: Wizputer]
-//---------------------------------------------
-void request_athena_info(int fd) {
-    #ifdef DEBUG
-	printf ("Athena version check...\n");
-	#endif
-	
-	WFIFOW(fd,0)=0x7531;
-	WFIFOB(fd,2)=ATHENA_MAJOR_VERSION;
-	WFIFOB(fd,3)=ATHENA_MINOR_VERSION;
-	WFIFOB(fd,4)=ATHENA_REVISION;
-	WFIFOB(fd,5)=ATHENA_RELEASE_FLAG;
-	WFIFOB(fd,6)=ATHENA_OFFICIAL_FLAG;
-	WFIFOB(fd,7)=ATHENA_SERVER_LOGIN;
-	WFIFOW(fd,8)=ATHENA_MOD_VERSION;
-	WFIFOSET(fd,10);
-	RFIFOSKIP(fd,2);
-}
-
-//----------------------------------------------------------------------------------------
-// Default packet parsing (normal players or administation/char-server connection requests)
-//----------------------------------------------------------------------------------------
-int parse_login(int fd) {
-	char ip[16];
- 	
-	unsigned char *p = (unsigned char *) &session[fd]->client_addr.sin_addr;
-	sprintf(ip, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
-
-	if (ipban > 0) {
-		//ip ban
-		//p[0], p[1], p[2], p[3]
-		//request DB connection
-		//check
-		sprintf(tmpsql, "SELECT count(*) FROM `ipbanlist` WHERE `list` = '%d.*.*.*' OR `list` = '%d.%d.*.*' OR `list` = '%d.%d.%d.*' OR `list` = '%d.%d.%d.%d'",
-		  p[0], p[0], p[1], p[0], p[1], p[2], p[0], p[1], p[2], p[3]);
-		sql_query(tmpsql,"parse_login");
-
-		if((sql_res = mysql_store_result(&mysql_handle))) {
-            if((sql_row = mysql_fetch_row(sql_res))) {//row fetching
-                if (atoi(sql_row[0]) >0) {
-                    // ip ban ok.
-                    printf ("packet from banned ip : %d.%d.%d.%d" RETCODE, p[0], p[1], p[2], p[3]);
-                
-                    sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', 'unknown','-3', 'ip banned')", loginlog_db, p[0], p[1], p[2], p[3]);
-                    sql_query(tmpsql,"parse_login");
-                
-                    #ifdef DEBUG
-                    printf ("close session connection...\n");
-                    #endif
-
-                    // close connection
-                    session[fd]->eof = 1;
-                } else {
-                    #ifdef DEBUG
-                    printf ("packet from ip (ban check ok) : %d.%d.%d.%d" RETCODE, p[0], p[1], p[2], p[3]);
-                    #endif
-                }
-            }    
-        }
-        
-        mysql_free_result(sql_res);
-    }
-    
-	if (session[fd]->eof) {
-	    int i;
-		for(i = 0; i < MAX_SERVERS && i < servers_connected; i++)
-			if (server_fd[i] == fd) {
-				server_fd[i] = -1;
-				servers_connected--;
-			}			
-		close(fd);
-		delete_session(fd);
-		return 0;
-	}
-
-	while(RFIFOREST(fd)>=2){
-	    #ifdef DEBUG_PACKETS
-		printf("parse_login : %d %d packet case=%x\n", fd, RFIFOREST(fd), RFIFOW(fd,0));
-		#endif
-
-		switch(RFIFOW(fd,0)){
-		case 0x200:		// New alive packet: structure: 0x200 <account.userid>.24B. used to verify if client is always alive.
-			if (RFIFOREST(fd) < 26)
-				return 0;
-			RFIFOSKIP(fd,26);
-			break;
-
-		case 0x204:		// New alive packet: structure: 0x204 <encrypted.account.userid>.16B. (new ragexe from 22 june 2004)
-			if (RFIFOREST(fd) < 18)
-				return 0;
-			RFIFOSKIP(fd,18);
-			break;
-
-		case 0x64:
-		case 0x01dd:
-			if(RFIFOREST(fd)< ((RFIFOW(fd, 0) ==0x64)?55:47))
-				return 0;
-			client_request_login(fd, p);	
-			break;
-		case 0x01db:
-		    if (session[fd]->session_data) {
-		          #ifdef DEBUG
-		          printf("login: abnormal request of MD5 key (already opened session).\n");
-		          #endif
-		          session[fd]->eof = 1;
-		          return 0;
-            }
-            md5_key_request(fd);
-            break;
-
-        case 0x2710:
-			if(RFIFOREST(fd)<86)
-				return 0;
-			char_request_login(fd,p);
-			break;
-
-		case 0x7530:
-		    request_athena_info(fd);
-			break;
-
-		case 0x7532:
-		default:
-		    #ifdef DEBUG
-			printf ("End of connection (ip: %s)" RETCODE, ip);
-			#endif
-			session[fd]->eof = 1;
-			return 0;
-		}
-	}
-
-	return 0;
-}
-
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <string.h>
+
+#include "login.h"
+#include "char_int.h"
+
+//----------------------
+// Client requesting login [Edit: Wizputer]
+//----------------------
+void client_request_login(int fd,unsigned char *p ) {
+    struct mmo_account account;
+   	char t_uid[32];  
+   	int server_num = 0,result,i;
+   	
+   	if( !servers_connected) {
+   	       	WFIFOW(fd,0) = 0x81;
+			WFIFOL(fd,2) = 1; // 01 = Server closed
+			WFIFOSET(fd,3);
+    }			
+    
+    #ifdef DEBUG
+    printf("client connection request %s from %d.%d.%d.%d\n", RFIFOP(fd, 6), p[0], p[1], p[2], p[3]);
+    #endif
+
+	account.userid = RFIFOP(fd, 6);
+	account.passwd = RFIFOP(fd, 30);
+#ifdef PASSWORDENC
+	account.passwdenc= (RFIFOW(fd,0)==0x64)?0:PASSWORDENC;
+#else
+	account.passwdenc=0;
+#endif
+	result=mmo_auth(&account, fd);
+
+	jstrescapecpy(t_uid,RFIFOP(fd, 6));
+	if(result==-1){
+	    unsigned char gm_level = isGM(account.account_id);
+        if (min_level_to_connect > gm_level || !servers_connected) {
+			WFIFOW(fd,0) = 0x81;
+			WFIFOL(fd,2) = 1; // 01 = Server closed
+			WFIFOSET(fd,3);
+	    } else {
+            if (p[0] != 127) {
+                sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', '%s','100', 'login ok')", loginlog_db, p[0], p[1], p[2], p[3], t_uid);
+                sql_query(tmpsql,"client_request_login");
+            }
+
+            if (gm_level) {
+                #ifdef DEBUG            
+			    printf("Connection of the GM (level:%d) account '%s' accepted.\n", gm_level, account.userid);
+			    #endif
+			} else {
+			    #ifdef DEBUG
+				printf("Connection of the account '%s' accepted.\n", account.userid);
+				#endif
+			}
+   			
+		    for(i = 0; i < MAX_SERVERS || server_num < servers_connected ; i++)
+		        if (server_fd[i] >= 0) {
+		            //Lan check added by Kashy
+		            if (lan_ip_check(p))
+					    WFIFOL(fd,47+server_num*32) = inet_addr(lan_char_ip);
+	                else
+                        WFIFOL(fd,47+server_num*32) = server[i].ip;
+
+                    WFIFOW(fd,47+server_num*32+4) = server[i].port;
+                    memcpy(WFIFOP(fd,47+server_num*32+6), server[i].name, 20);
+                    WFIFOW(fd,47+server_num*32+26) = server[i].users;
+                    WFIFOW(fd,47+server_num*32+28) = server[i].maintenance;
+                    WFIFOW(fd,47+server_num*32+30) = server[i].new;
+                    server_num++;
+                }   
+            
+                WFIFOW(fd,0)=0x69;
+                WFIFOW(fd,2)=47+32*server_num;
+                WFIFOL(fd,4)=account.login_id1;
+                WFIFOL(fd,8)=account.account_id;
+                WFIFOL(fd,12)=account.login_id2;
+                WFIFOL(fd,16)=0;
+                memcpy(WFIFOP(fd,20),account.lastlogin,24);
+                WFIFOB(fd,46)=account.sex;
+                WFIFOSET(fd,47+32*server_num);
+                
+                if(auth_fifo_pos>=AUTH_FIFO_SIZE)
+                    auth_fifo_pos=0;
+                
+                auth_fifo[auth_fifo_pos].account_id=account.account_id;
+                auth_fifo[auth_fifo_pos].login_id1=account.login_id1;
+                auth_fifo[auth_fifo_pos].login_id2=account.login_id2;
+                auth_fifo[auth_fifo_pos].sex=account.sex;
+                auth_fifo[auth_fifo_pos].delflag=0;
+                auth_fifo[auth_fifo_pos].ip = session[fd]->client_addr.sin_addr.s_addr;
+                auth_fifo_pos++;
+        }
+    } else {
+		char error[32];
+		
+		sprintf(tmpsql,"SELECT `error` FROM `errors` WHERE `result`='%d'",result);
+		sql_query(tmpsql,"client_request_login");
+		
+		if ((sql_res = mysql_store_result(&mysql_handle))) {
+                if ((sql_row = mysql_fetch_row(sql_res))) {
+                    sprintf(error,sql_row[0]);
+                } else {
+                    sprintf(error,"No Error!");
+                }
+        }        
+		
+        
+        sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', '%s', '%d','login failed : %s')", loginlog_db, p[0], p[1], p[2], p[3], t_uid, result, error);
+        
+        		
+        sql_query(tmpsql,"client_request_login");
+
+		if ((result == 1) && (dynamic_pass_failure_ban != 0)){	// failed password
+			sprintf(tmpsql,"SELECT count(*) FROM `%s` WHERE `ip` = '%d.%d.%d.%d' AND `rcode` = '1' AND `time` > NOW() - INTERVAL %d MINUTE",
+			        loginlog_db, p[0], p[1], p[2], p[3], dynamic_pass_failure_ban_time);	//how many times filed account? in one ip.
+			sql_query(tmpsql,"client_request_login");
+			
+			if ((sql_res = mysql_store_result(&mysql_handle))) {
+                if ((sql_row = mysql_fetch_row(sql_res))) {
+                    if (atoi(sql_row[0]) >= dynamic_pass_failure_ban_how_many ) {
+                        sprintf(tmpsql,"INSERT INTO `ipbanlist`(`list`,`btime`,`rtime`,`reason`) VALUES ('%d.%d.%d.*', NOW() , NOW() +  INTERVAL %d MINUTE ,'Password error ban: %s')", p[0], p[1], p[2], dynamic_pass_failure_ban_how_long, t_uid);
+                        sql_query(tmpsql,"client_request_login");
+                    }
+                }
+            }        
+
+			
+			mysql_free_result(sql_res);
+			
+		}
+		
+		//cannot connect login failed
+		memset(WFIFOP(fd,0),'\0',23);
+		WFIFOW(fd,0)=0x6a;
+		WFIFOB(fd,2)=result-1;
+		if (result == 6) { // 6 = Your are Prohibited to log in until %s
+			char tmpstr[256];
+			strftime(tmpstr, 20, date_format, localtime(&account.ban_until_time));
+			tmpstr[19] = '\0';
+			memcpy(WFIFOP(fd,3), tmpstr, 20);
+		} else { // we send error message
+			memcpy(WFIFOP(fd,3), error, 20);
+		}
+	}
+
+	WFIFOSET(fd,23);
+
+	RFIFOSKIP(fd,(RFIFOW(fd,0)==0x64)?55:47);
+}
+
+//------------------------------------------------------
+// MD5 Key requested for encypted login [Edit: Wizputer
+//------------------------------------------------------
+void md5_key_request(int fd) {
+    #ifdef DEBUG
+    printf("Request Password key -%s\n",md5key);
+    #endif
+    
+	RFIFOSKIP(fd,2);
+	WFIFOW(fd,0)=0x01dc;
+	WFIFOW(fd,2)=4+md5keylen;
+	memcpy(WFIFOP(fd,4),md5key,md5keylen);
+	WFIFOSET(fd,WFIFOW(fd,2));
+}
+
+//----------------------------------------------------
+// Char-server requesting connection [Edit: Wizputer]
+//-----------------------------------------------------
+void char_request_login(int fd, unsigned char *p) {
+    struct mmo_account account;
+	unsigned char* server_name;
+   	char t_uid[32];  
+	int result;
+	
+	sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', '%s@%s','100', 'charserver - %s@%d.%d.%d.%d:%d')", loginlog_db, p[0], p[1], p[2], p[3], RFIFOP(fd, 2),RFIFOP(fd, 60),RFIFOP(fd, 60), RFIFOB(fd, 54), RFIFOB(fd, 55), RFIFOB(fd, 56), RFIFOB(fd, 57), RFIFOW(fd, 58));
+	sql_query(tmpsql,"char_request_login");
+	
+	#ifdef DEBUG
+	printf("server connection request %s @ %d.%d.%d.%d:%d (%d.%d.%d.%d)\n",
+			RFIFOP(fd, 60), RFIFOB(fd, 54), RFIFOB(fd, 55), RFIFOB(fd, 56), RFIFOB(fd, 57), RFIFOW(fd, 58),
+			p[0], p[1], p[2], p[3]);
+	#endif
+
+	account.userid = RFIFOP(fd, 2);
+	account.passwd = RFIFOP(fd, 26);
+	account.passwdenc = 0;
+	server_name = RFIFOP(fd,60);
+	result = mmo_auth(&account, fd);
+
+	#ifdef DEBUG
+	printf("Result: %d - Sex: %d - Account ID: %d\n",result,account.sex,(int) account.account_id);
+	#endif
+
+	if(result == -1 && account.sex==2 && account.account_id<MAX_SERVERS && server_fd[account.account_id]==-1){
+	    printf("Connection of the char-server '%s' accepted.\n", server_name);
+
+        memset(&server[account.account_id], 0, sizeof(struct mmo_char_server));
+        
+        server[account.account_id].ip=RFIFOL(fd,54);
+		server[account.account_id].port=RFIFOW(fd,58);
+		memcpy(server[account.account_id].name,RFIFOP(fd,60),20);
+		server[account.account_id].users=0;
+		server[account.account_id].maintenance=RFIFOW(fd,82);
+		server[account.account_id].new=RFIFOW(fd,84);
+		server_fd[account.account_id]=fd;
+
+		if(anti_freeze_enable)
+			server_freezeflag[account.account_id] = 5; // Char-server anti-freeze system. Counter. 5 ok, 4...0 freezed
+
+		jstrescapecpy(t_uid,server[account.account_id].name);
+		
+		sprintf(tmpsql,"REPLACE DELAYED INTO `sstatus`(`index`,`name`,`user`) VALUES ( '%ld', '%s', '%d')",
+				account.account_id, server[account.account_id].name,0);
+		sql_query(tmpsql,"char_request_login");
+		
+        WFIFOW(fd,0)=0x2711;
+		WFIFOB(fd,2)=0;
+		WFIFOSET(fd,3);
+		session[fd]->func_parse=parse_fromchar;
+		realloc_fifo(fd,FIFOSIZE_SERVERLINK,FIFOSIZE_SERVERLINK);
+		
+		servers_connected++;
+	} else {
+		WFIFOW(fd, 0) =0x2711;
+		WFIFOB(fd, 2)=3;
+		WFIFOSET(fd, 3);
+	}
+
+	RFIFOSKIP(fd, 86);
+}
+
+//---------------------------------------------
+// Athena Version Info Request [Edit: Wizputer]
+//---------------------------------------------
+void request_athena_info(int fd) {
+    #ifdef DEBUG
+	printf ("Athena version check...\n");
+	#endif
+	
+	WFIFOW(fd,0)=0x7531;
+	WFIFOB(fd,2)=ATHENA_MAJOR_VERSION;
+	WFIFOB(fd,3)=ATHENA_MINOR_VERSION;
+	WFIFOB(fd,4)=ATHENA_REVISION;
+	WFIFOB(fd,5)=ATHENA_RELEASE_FLAG;
+	WFIFOB(fd,6)=ATHENA_OFFICIAL_FLAG;
+	WFIFOB(fd,7)=ATHENA_SERVER_LOGIN;
+	WFIFOW(fd,8)=ATHENA_MOD_VERSION;
+	WFIFOSET(fd,10);
+	RFIFOSKIP(fd,2);
+}
+
+//----------------------------------------------------------------------------------------
+// Default packet parsing (normal players or administation/char-server connection requests)
+//----------------------------------------------------------------------------------------
+int parse_login(int fd) {
+	char ip[16];
+ 	
+	unsigned char *p = (unsigned char *) &session[fd]->client_addr.sin_addr;
+	sprintf(ip, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
+
+	if (ipban > 0) {
+		//ip ban
+		//p[0], p[1], p[2], p[3]
+		//request DB connection
+		//check
+		sprintf(tmpsql, "SELECT count(*) FROM `ipbanlist` WHERE `list` = '%d.*.*.*' OR `list` = '%d.%d.*.*' OR `list` = '%d.%d.%d.*' OR `list` = '%d.%d.%d.%d'",
+		  p[0], p[0], p[1], p[0], p[1], p[2], p[0], p[1], p[2], p[3]);
+		sql_query(tmpsql,"parse_login");
+
+		if((sql_res = mysql_store_result(&mysql_handle))) {
+            if((sql_row = mysql_fetch_row(sql_res))) {//row fetching
+                if (atoi(sql_row[0]) >0) {
+                    // ip ban ok.
+                    printf ("packet from banned ip : %d.%d.%d.%d" RETCODE, p[0], p[1], p[2], p[3]);
+                
+                    sprintf(tmpsql,"INSERT DELAYED INTO `%s`(`time`,`ip`,`user`,`rcode`,`log`) VALUES (NOW(), '%d.%d.%d.%d', 'unknown','-3', 'ip banned')", loginlog_db, p[0], p[1], p[2], p[3]);
+                    sql_query(tmpsql,"parse_login");
+                
+                    #ifdef DEBUG
+                    printf ("close session connection...\n");
+                    #endif
+
+                    // close connection
+                    session[fd]->eof = 1;
+                } else {
+                    #ifdef DEBUG
+                    printf ("packet from ip (ban check ok) : %d.%d.%d.%d" RETCODE, p[0], p[1], p[2], p[3]);
+                    #endif
+                }
+            }    
+        }
+        
+        mysql_free_result(sql_res);
+    }
+    
+	if (session[fd]->eof) {
+	    int i;
+		for(i = 0; i < MAX_SERVERS && i < servers_connected; i++)
+			if (server_fd[i] == fd) {
+				server_fd[i] = -1;
+				servers_connected--;
+			}			
+		close(fd);
+		delete_session(fd);
+		return 0;
+	}
+
+	while(RFIFOREST(fd)>=2){
+	    #ifdef DEBUG_PACKETS
+		printf("parse_login : %d %d packet case=%x\n", fd, RFIFOREST(fd), RFIFOW(fd,0));
+		#endif
+
+		switch(RFIFOW(fd,0)){
+		case 0x200:		// New alive packet: structure: 0x200 <account.userid>.24B. used to verify if client is always alive.
+			if (RFIFOREST(fd) < 26)
+				return 0;
+			RFIFOSKIP(fd,26);
+			break;
+
+		case 0x204:		// New alive packet: structure: 0x204 <encrypted.account.userid>.16B. (new ragexe from 22 june 2004)
+			if (RFIFOREST(fd) < 18)
+				return 0;
+			RFIFOSKIP(fd,18);
+			break;
+
+		case 0x64:
+		case 0x01dd:
+			if(RFIFOREST(fd)< ((RFIFOW(fd, 0) ==0x64)?55:47))
+				return 0;
+			client_request_login(fd, p);	
+			break;
+		case 0x01db:
+		    if (session[fd]->session_data) {
+		          #ifdef DEBUG
+		          printf("login: abnormal request of MD5 key (already opened session).\n");
+		          #endif
+		          session[fd]->eof = 1;
+		          return 0;
+            }
+            md5_key_request(fd);
+            break;
+
+        case 0x2710:
+			if(RFIFOREST(fd)<86)
+				return 0;
+			char_request_login(fd,p);
+			break;
+
+		case 0x7530:
+		    request_athena_info(fd);
+			break;
+
+		case 0x7532:
+		default:
+		    #ifdef DEBUG
+			printf ("End of connection (ip: %s)" RETCODE, ip);
+			#endif
+			session[fd]->eof = 1;
+			return 0;
+		}
+	}
+
+	return 0;
+}
+

+ 1 - 1
src/login_sql/login_int.h

@@ -1 +1 @@
-int parse_login(int);
+int parse_login(int);

+ 703 - 703
src/map/charcommand.c

@@ -1,703 +1,703 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <math.h>
-
-#include "../common/socket.h"
-#include "../common/timer.h"
-#include "../common/nullpo.h"
-
-#include "log.h"
-#include "clif.h"
-#include "chrif.h"
-#include "intif.h"
-#include "itemdb.h"
-#include "map.h"
-#include "pc.h"
-#include "skill.h"
-#include "mob.h"
-#include "pet.h"
-#include "battle.h"
-#include "party.h"
-#include "guild.h"
-#include "charcommand.h"
-#include "atcommand.h"
-#include "script.h"
-#include "npc.h"
-#include "trade.h"
-#include "core.h"
-
-static char command_symbol = '#';
-
-static char msg_table[1000][1024]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
-
-#define CCMD_FUNC(x) int charcommand_ ## x (const int fd, struct map_session_data* sd, const char* command, const char* message)
-
-CCMD_FUNC(jobchange);
-CCMD_FUNC(petrename);
-CCMD_FUNC(petfriendly);
-CCMD_FUNC(stats);
-CCMD_FUNC(option);
-CCMD_FUNC(save);
-CCMD_FUNC(stats_all);
-CCMD_FUNC(reset);
-
-#ifdef TXT_ONLY
-/* TXT_ONLY */
-
-/* TXT_ONLY */
-#else
-/* SQL-only */
-
-/* SQL Only */
-#endif
-
-/*==========================================
- *CharCommandInfo charcommand_info[]構造体の定義
- *------------------------------------------
- */
-
-// First char of commands is configured in charcommand_athena.conf. Leave @ in this list for default value.
-// to set default level, read charcommand_athena.conf first please.
-static CharCommandInfo charcommand_info[] = {
-	{ CharCommandJobChange,				"#job",						60,	charcommand_jobchange },
-	{ CharCommandJobChange,				"#jobchange",				60,	charcommand_jobchange },
-	{ CharCommandPetRename,				"#petrename",				50, charcommand_petrename },
-	{ CharCommandPetFriendly,			"#petfriendly",				50, charcommand_petfriendly },
-	{ CharCommandStats,					"#stats",					40, charcommand_stats },
-	{ CharCommandOption,				"#option",					60, charcommand_option },
-	{ CharCommandReset,					"#reset",					60, charcommand_reset },
-	{ CharCommandSave,					"#save",					60, charcommand_save },
-	{ CharCommandStatsAll,				"#statsall",				40, charcommand_stats_all },
-
-#ifdef TXT_ONLY
-/* TXT_ONLY */
-
-/* TXT_ONLY */
-#else
-/* SQL-only */
-
-/* SQL Only */
-#endif
-
-// add new commands before this line
-	{ CharCommand_Unknown,             NULL,                1, NULL }
-};
-
-
-int get_charcommand_level(const CharCommandType type) {
-	int i;
-
-	for (i = 0; charcommand_info[i].type != CharCommand_None; i++)
-		if (charcommand_info[i].type == type)
-			return charcommand_info[i].level;
-
-	return 100; // 100: command can not be used
-}
-
-/*==========================================
- *is_charcommand @コマンドに存在するかどうか確認する
- *------------------------------------------
- */
-CharCommandType
-is_charcommand(const int fd, struct map_session_data* sd, const char* message, int gmlvl) {
-	const char* str = message;
-	int s_flag = 0;
-	CharCommandInfo info;
-	CharCommandType type;
-
-	nullpo_retr(CharCommand_None, sd);
-
-	if (!message || !*message)
-		return CharCommand_None;
-
-	memset(&info, 0, sizeof(info));
-	str += strlen(sd->status.name);
-	while (*str && (isspace(*str) || (s_flag == 0 && *str == ':'))) {
-		if (*str == ':')
-			s_flag = 1;
-		str++;
-	}
-	if (!*str)
-		return CharCommand_None;
-
-	type = charcommand(gmlvl > 0 ? gmlvl : pc_isGM(sd), str, &info);
-	if (type != CharCommand_None) {
-		char command[100];
-		char output[200];
-		const char* p = str;
-		memset(command, '\0', sizeof(command));
-		memset(output, '\0', sizeof(output));
-		while (*p && !isspace(*p))
-			p++;
-		if (p - str >= sizeof(command)) // too long
-			return CharCommand_Unknown;
-		strncpy(command, str, p - str);
-		while (isspace(*p))
-			p++;
-
-		if (type == CharCommand_Unknown || info.proc == NULL) {
-			snprintf(output, sizeof(output),msg_txt(153), command); // %s is Unknown Command.
-			clif_displaymessage(fd, output);
-		} else {
-			if (info.proc(fd, sd, command, p) != 0) {
-				// Command can not be executed
-				snprintf(output, sizeof(output), msg_txt(154), command); // %s failed.
-				clif_displaymessage(fd, output);
-			}
-		}
-
-		return info.type;
-	}
-
-	return CharCommand_None;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-CharCommandType charcommand(const int level, const char* message, struct CharCommandInfo* info) {
-	char* p = (char *)message; 
-
-	if (!info)
-		return CharCommand_None;
-	if (battle_config.atc_gmonly != 0 && !level) // level = pc_isGM(sd)
-		return CharCommand_None;
-	if (!p || !*p) {
-		fprintf(stderr, "char command message is empty\n");
-		return CharCommand_None;
-	}
-
-	if (*p == command_symbol) { // check first char.
-		char command[101];
-		int i = 0;
-		memset(info, 0, sizeof(CharCommandInfo));
-		sscanf(p, "%100s", command);
-		command[sizeof(command)-1] = '\0';
-
-		while (charcommand_info[i].type != CharCommand_Unknown) {
-			if (strcmpi(command+1, charcommand_info[i].command+1) == 0 && level >= charcommand_info[i].level) {
-				p[0] = charcommand_info[i].command[0]; // set correct first symbol for after.
-				break;
-			}
-			i++;
-		}
-
-		if (charcommand_info[i].type == CharCommand_Unknown) {
-			// doesn't return Unknown if player is normal player (display the text, not display: unknown command)
-			if (level == 0)
-				return CharCommand_None;
-			else
-				return CharCommand_Unknown;
-		}
-		memcpy(info, &charcommand_info[i], sizeof charcommand_info[i]);
-	} else {
-		return CharCommand_None;
-	}
-
-	return info->type;
-}
-
-
-/*==========================================
- *
- *------------------------------------------
- */
-static CharCommandInfo* get_charcommandinfo_byname(const char* name) {
-	int i;
-
-	for (i = 0; charcommand_info[i].type != CharCommand_Unknown; i++)
-		if (strcmpi(charcommand_info[i].command + 1, name) == 0)
-			return &charcommand_info[i];
-
-	return NULL;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int charcommand_config_read(const char *cfgName) {
-	char line[1024], w1[1024], w2[1024];
-	CharCommandInfo* p;
-	FILE* fp;
-
-	if ((fp = fopen(cfgName, "r")) == NULL) {
-		printf("CharCommands configuration file not found: %s\n", cfgName);
-		return 1;
-	}
-
-	while (fgets(line, sizeof(line)-1, fp)) {
-		if (line[0] == '/' && line[1] == '/')
-			continue;
-
-		if (sscanf(line, "%1023[^:]:%1023s", w1, w2) != 2)
-			continue;
-		p = get_charcommandinfo_byname(w1);
-		if (p != NULL) {
-			p->level = atoi(w2);
-			if (p->level > 100)
-				p->level = 100;
-			else if (p->level < 0)
-				p->level = 0;
-		}
-
-		if (strcmpi(w1, "import") == 0)
-			charcommand_config_read(w2);
-		else if (strcmpi(w1, "command_symbol") == 0 && w2[0] > 31 &&
-		         w2[0] != '/' && // symbol of standard ragnarok GM commands
-		         w2[0] != '%' && // symbol of party chat speaking
-				 w2[0] != '@')	 // symbol for @commands
-			command_symbol = w2[0];
-	}
-	fclose(fp);
-
-	return 0;
-}
-
-/*==========================================
- * 対象キャラクターを転職させる upper指定で転生や養子も可能
- *------------------------------------------
- */
-int charcommand_jobchange(
-	const int fd, struct map_session_data* sd,
-	const char* command, const char* message)
-{
-	char character[100];
-	struct map_session_data* pl_sd;
-	int job = 0, upper = -1;
-
-	memset(character, '\0', sizeof(character));
-
-	if (!message || !*message) {
-		clif_displaymessage(fd, "Please, enter a job and a player name (usage: #job/#jobchange <job ID> <char name>).");
-		return -1;
-	}
-
-	if (sscanf(message, "%d %d %99[^\n]", &job, &upper, character) < 3) { //upper指定してある
-		upper = -1;
-		if (sscanf(message, "%d %99[^\n]", &job, character) < 2) { //upper指定してない上に何か足りない
-			clif_displaymessage(fd, "Please, enter a job and a player name (usage: #job/#jobchange <job ID> <char name>).");
-			return -1;
-		}
-	}
-
-	if ((pl_sd = map_nick2sd(character)) != NULL) {
-		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can change job only to lower or same level
-			if ((job >= 0 && job < MAX_PC_CLASS)) {
-
-				// fix pecopeco display
-				if ((job != 13 && job != 21 && job != 4014 && job != 4022)) {
-					if (pc_isriding(sd)) {
-						if (pl_sd->status.class == 13)
-							pl_sd->status.class = pl_sd->view_class = 7;
-						if (pl_sd->status.class == 21)
-							pl_sd->status.class = pl_sd->view_class = 14;
-						if (pl_sd->status.class == 4014)
-							pl_sd->status.class = pl_sd->view_class = 4008;
-						if (pl_sd->status.class == 4022)
-							pl_sd->status.class = pl_sd->view_class = 4015;
-						pl_sd->status.option &= ~0x0020;
-						clif_changeoption(&pl_sd->bl);
-						pc_calcstatus(pl_sd, 0);
-					}
-				} else {
-					if (!pc_isriding(sd)) {
-						if (job == 13)
-							job = 7;
-						if (job == 21)
-							job = 14;
-						if (job == 4014)
-							job = 4008;
-						if (job == 4022)
-							job = 4015;
-					}
-				}
-
-				if (pc_jobchange(pl_sd, job, upper) == 0)
-					clif_displaymessage(fd, msg_table[48]); // Character's job changed.
-				else {
-					clif_displaymessage(fd, msg_table[192]); // Impossible to change the character's job.
-					return -1;
-				}
-			} else {
-				clif_displaymessage(fd, msg_table[49]); // Invalid job ID.
-				return -1;
-			}
-		} else {
-			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
-			return -1;
-		}
-	} else {
-		clif_displaymessage(fd, msg_table[3]); // Character not found.
-		return -1;
-	}
-
-	return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int charcommand_petrename(
-	const int fd, struct map_session_data* sd,
-	const char* command, const char* message)
-{
-	char character[100];
-	struct map_session_data *pl_sd;
-
-	memset(character, '\0', sizeof(character));
-
-	if (!message || !*message || sscanf(message, "%99[^\n]", character) < 1) {
-		clif_displaymessage(fd, "Please, enter a player name (usage: #petrename <char name>).");
-		return -1;
-	}
-
-	if ((pl_sd = map_nick2sd(character)) != NULL) {
-		if (pl_sd->status.pet_id > 0 && pl_sd->pd) {
-			if (pl_sd->pet.rename_flag != 0) {
-				pl_sd->pet.rename_flag = 0;
-				intif_save_petdata(pl_sd->status.account_id, &pl_sd->pet);
-				clif_send_petstatus(pl_sd);
-				clif_displaymessage(fd, msg_table[189]); // This player can now rename his/her pet.
-			} else {
-				clif_displaymessage(fd, msg_table[190]); // This player can already rename his/her pet.
-				return -1;
-			}
-		} else {
-			clif_displaymessage(fd, msg_table[191]); // Sorry, but this player has no pet.
-			return -1;
-		}
-	} else {
-		clif_displaymessage(fd, msg_txt(3)); // Character not found.
-		return -1;
-	}
-
-	return 0;
-}
-
-
-/*==========================================
- * 
- *------------------------------------------
- */
-int charcommand_petfriendly(
-	const int fd, struct map_session_data* sd,
-	const char* command, const char* message)
-{
-	int friendly = 0;
-	int t = 0;
-	char character[100];
-	struct map_session_data *pl_sd;
-
-	memset(character, '\0', sizeof(character));
-	if (!message || !*message || sscanf(message,"%d %s",&friendly,character) < 2) {
-		clif_displaymessage(fd, "Please, enter a valid value (usage: "
-			"#petfriendly <0-1000> <player>).");
-		return -1;
-	}
-
-	if (((pl_sd = map_nick2sd(character)) != NULL) && pc_isGM(sd)>pc_isGM(pl_sd)) {
-		if (pl_sd->status.pet_id > 0 && pl_sd->pd) {
-			if (friendly >= 0 && friendly <= 1000) {
-				if (friendly != pl_sd->pet.intimate) {
-					t = pl_sd->pet.intimate;
-					pl_sd->pet.intimate = friendly;
-					clif_send_petstatus(pl_sd);
-					clif_pet_emotion(pl_sd->pd,0);
-					if (battle_config.pet_status_support) {
-						if ((pl_sd->pet.intimate > 0 && t <= 0) ||
-						    (pl_sd->pet.intimate <= 0 && t > 0)) {
-							if (pl_sd->bl.prev != NULL)
-								pc_calcstatus(pl_sd, 0);
-							else
-								pc_calcstatus(pl_sd, 2);
-						}
-					}
-					clif_displaymessage(pl_sd->fd, msg_table[182]); // Pet friendly value changed!
-					clif_displaymessage(sd->fd, msg_table[182]); // Pet friendly value changed!
-				} else {
-					clif_displaymessage(fd, msg_table[183]); // Pet friendly is already the good value.
-					return -1;
-				}
-			} else {
-				clif_displaymessage(fd, msg_table[37]); // An invalid number was specified.
-				return -1;
-			}
-		} else {
-			return -1;
-		}
-	} else {
-		clif_displaymessage(fd, msg_txt(3)); // Character not found.
-		return -1;
-	}
-
-	return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int charcommand_stats(
-	const int fd, struct map_session_data* sd,
-	const char* command, const char* message)
-{
-	char character[100];
-	char job_jobname[100];
-	char output[200];
-	struct map_session_data *pl_sd;
-	int i;
-
-	memset(character, '\0', sizeof(character));
-	memset(job_jobname, '\0', sizeof(job_jobname));
-	memset(output, '\0', sizeof(output));
-
-	if (!message || !*message || sscanf(message, "%99[^\n]", character) < 1) {
-		clif_displaymessage(fd, "Please, enter a player name (usage: #stats <char name>).");
-		return -1;
-	}
-
-	if ((pl_sd = map_nick2sd(character)) != NULL) {
-		struct {
-			const char* format;
-			int value;
-		} output_table[] = {
-			{ "Base Level - %d", pl_sd->status.base_level },
-			{ job_jobname, pl_sd->status.job_level },
-			{ "Hp - %d",    pl_sd->status.hp },
-			{ "MaxHp - %d", pl_sd->status.max_hp },
-			{ "Sp - %d",    pl_sd->status.sp },
-			{ "MaxSp - %d", pl_sd->status.max_sp },
-			{ "Str - %3d",  pl_sd->status.str },
-			{ "Agi - %3d",  pl_sd->status.agi },
-			{ "Vit - %3d",  pl_sd->status.vit },
-			{ "Int - %3d",  pl_sd->status.int_ },
-			{ "Dex - %3d",  pl_sd->status.dex },
-			{ "Luk - %3d",  pl_sd->status.luk },
-			{ "Zeny - %d",  pl_sd->status.zeny },
-			{ NULL, 0 }
-		};
-		sprintf(job_jobname, "Job - %s %s", job_name(pl_sd->status.class), "(level %d)");
-		sprintf(output, msg_table[53], pl_sd->status.name); // '%s' stats:
-		clif_displaymessage(fd, output);
-		for (i = 0; output_table[i].format != NULL; i++) {
-			sprintf(output, output_table[i].format, output_table[i].value);
-			clif_displaymessage(fd, output);
-		}
-	} else {
-		clif_displaymessage(fd, msg_table[3]); // Character not found.
-		return -1;
-	}
-
-	return 0;
-}
-
-/*==========================================
- * Character Reset
- *------------------------------------------
- */
-int charcommand_reset(
-	const int fd, struct map_session_data* sd,
-	const char* command, const char* message)
-{
-	char character[100];
-	char output[200];
-	struct map_session_data *pl_sd;
-
-	memset(character, '\0', sizeof(character));
-	memset(output, '\0', sizeof(output));
-
-	if (!message || !*message || sscanf(message, "%99[^\n]", character) < 1) {
-		clif_displaymessage(fd, "Please, enter a player name (usage: #reset <charname>).");
-		return -1;
-	}
-
-	if ((pl_sd = map_nick2sd(character)) != NULL) {
-		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can reset a character only for lower or same GM level
-			pc_resetstate(pl_sd);
-			pc_resetskill(pl_sd);
-			sprintf(output, msg_table[208], character); // '%s' skill and stats points reseted!
-			clif_displaymessage(fd, output);
-		} else {
-			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
-			return -1;
-		}
-	} else {
-		clif_displaymessage(fd, msg_table[3]); // Character not found.
-		return -1;
-	}
-
-	return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int charcommand_option(
-	const int fd, struct map_session_data* sd,
-	const char* command, const char* message)
-{
-	char character[100];
-	int opt1 = 0, opt2 = 0, opt3 = 0;
-	struct map_session_data* pl_sd;
-
-	memset(character, '\0', sizeof(character));
-
-	if (!message || !*message ||
-		sscanf(message, "%d %d %d %99[^\n]", &opt1, &opt2, &opt3, character) < 4 ||
-		opt1 < 0 || opt2 < 0 || opt3 < 0) {
-		clif_displaymessage(fd, "Please, enter valid options and a player name (usage: #option <param1> <param2> <param3> <charname>).");
-		return -1;
-	}
-
-	if ((pl_sd = map_nick2sd(character)) != NULL) {
-		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can change option only to lower or same level
-			pl_sd->opt1 = opt1;
-			pl_sd->opt2 = opt2;
-			pl_sd->status.option = opt3;
-			// fix pecopeco display
-			if (pl_sd->status.class == 13 || pl_sd->status.class == 21 || pl_sd->status.class == 4014 || pl_sd->status.class == 4022) {
-				if (!pc_isriding(pl_sd)) { // pl_sd have the new value...
-					if (pl_sd->status.class == 13)
-						pl_sd->status.class = pl_sd->view_class = 7;
-					else if (pl_sd->status.class == 21)
-						pl_sd->status.class = pl_sd->view_class = 14;
-					else if (pl_sd->status.class == 4014)
-						pl_sd->status.class = pl_sd->view_class = 4008;
-					else if (pl_sd->status.class == 4022)
-						pl_sd->status.class = pl_sd->view_class = 4015;
-				}
-			} else {
-				if (pc_isriding(pl_sd)) { // pl_sd have the new value...
-					if (pl_sd->disguise > 0) { // temporary prevention of crash caused by peco + disguise, will look into a better solution [Valaris] (code added by [Yor])
-						pl_sd->status.option &= ~0x0020;
-					} else {
-						if (pl_sd->status.class == 7)
-							pl_sd->status.class = pl_sd->view_class = 13;
-						else if (pl_sd->status.class == 14)
-							pl_sd->status.class = pl_sd->view_class = 21;
-						else if (pl_sd->status.class == 4008)
-							pl_sd->status.class = pl_sd->view_class = 4014;
-						else if (pl_sd->status.class == 4015)
-							pl_sd->status.class = pl_sd->view_class = 4022;
-						else
-							pl_sd->status.option &= ~0x0020;
-					}
-				}
-			}
-			clif_changeoption(&pl_sd->bl);
-			pc_calcstatus(pl_sd, 0);
-			clif_displaymessage(fd, msg_table[58]); // Character's options changed.
-		} else {
-			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
-			return -1;
-		}
-	} else {
-		clif_displaymessage(fd, msg_table[3]); // Character not found.
-		return -1;
-	}
-
-	return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int charcommand_save(
-	const int fd, struct map_session_data* sd,
-	const char* command, const char* message)
-{
-	char map_name[100];
-	char character[100];
-	struct map_session_data* pl_sd;
-	int x = 0, y = 0;
-	int m;
-
-	memset(map_name, '\0', sizeof(map_name));
-	memset(character, '\0', sizeof(character));
-
-	if (!message || !*message || sscanf(message, "%99s %d %d %99[^\n]", map_name, &x, &y, character) < 4 || x < 0 || y < 0) {
-		clif_displaymessage(fd, "Please, enter a valid save point and a player name (usage: #save <map> <x> <y> <charname>).");
-		return -1;
-	}
-
-	if (strstr(map_name, ".gat") == NULL && strstr(map_name, ".afm") == NULL && strlen(map_name) < 13) // 16 - 4 (.gat)
-		strcat(map_name, ".gat");
-
-	if ((pl_sd = map_nick2sd(character)) != NULL) {
-		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can change save point only to lower or same gm level
-			m = map_mapname2mapid(map_name);
-			if (m < 0) {
-				clif_displaymessage(fd, msg_table[1]); // Map not found.
-				return -1;
-			} else {
-				if (m >= 0 && map[m].flag.nowarpto && battle_config.any_warp_GM_min_level > pc_isGM(sd)) {
-					clif_displaymessage(fd, "You are not authorised to set this map as a save map.");
-					return -1;
-				}
-				pc_setsavepoint(pl_sd, map_name, x, y);
-				clif_displaymessage(fd, msg_table[57]); // Character's respawn point changed.
-			}
-		} else {
-			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
-			return -1;
-		}
-	} else {
-		clif_displaymessage(fd, msg_table[3]); // Character not found.
-		return -1;
-	}
-
-	return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-//** Character Stats All by fritz
-int charcommand_stats_all(const int fd, struct map_session_data* sd, const char* command, const char* message)
-{
-	char output[1024], gmlevel[1024];
-	int i;
-	int count;
-	struct map_session_data *pl_sd;
-
-	memset(output, '\0', sizeof(output));
-	memset(gmlevel, '\0', sizeof(gmlevel));
-
-	count = 0;
-	for(i = 0; i < fd_max; i++) {
-		if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth) {
-
-			if (pc_isGM(pl_sd) > 0)
-				sprintf(gmlevel, "| GM Lvl: %d", pc_isGM(pl_sd));
-			else
-				sprintf(gmlevel, " ");
-
-			sprintf(output, "Name: %s | BLvl: %d | Job: %s (Lvl: %d) | HP: %d/%d | SP: %d/%d", pl_sd->status.name, pl_sd->status.base_level, job_name(pl_sd->status.class), pl_sd->status.job_level, pl_sd->status.hp, pl_sd->status.max_hp, pl_sd->status.sp, pl_sd->status.max_sp);
-			clif_displaymessage(fd, output);
-			sprintf(output, "STR: %d | AGI: %d | VIT: %d | INT: %d | DEX: %d | LUK: %d | Zeny: %d %s", pl_sd->status.str, pl_sd->status.agi, pl_sd->status.vit, pl_sd->status.int_, pl_sd->status.dex, pl_sd->status.luk, pl_sd->status.zeny, gmlevel);
-			clif_displaymessage(fd, output);
-			clif_displaymessage(fd, "--------");
-			count++;
-		}
-	}
-
-	if (count == 0)
-		clif_displaymessage(fd, msg_table[28]); // No player found.
-	else if (count == 1)
-		clif_displaymessage(fd, msg_table[29]); // 1 player found.
-	else {
-		sprintf(output, msg_table[30], count); // %d players found.
-		clif_displaymessage(fd, output);
-	}
-
-	return 0;
-}
-
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <math.h>
+
+#include "../common/socket.h"
+#include "../common/timer.h"
+#include "../common/nullpo.h"
+
+#include "log.h"
+#include "clif.h"
+#include "chrif.h"
+#include "intif.h"
+#include "itemdb.h"
+#include "map.h"
+#include "pc.h"
+#include "skill.h"
+#include "mob.h"
+#include "pet.h"
+#include "battle.h"
+#include "party.h"
+#include "guild.h"
+#include "charcommand.h"
+#include "atcommand.h"
+#include "script.h"
+#include "npc.h"
+#include "trade.h"
+#include "core.h"
+
+static char command_symbol = '#';
+
+static char msg_table[1000][1024]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
+
+#define CCMD_FUNC(x) int charcommand_ ## x (const int fd, struct map_session_data* sd, const char* command, const char* message)
+
+CCMD_FUNC(jobchange);
+CCMD_FUNC(petrename);
+CCMD_FUNC(petfriendly);
+CCMD_FUNC(stats);
+CCMD_FUNC(option);
+CCMD_FUNC(save);
+CCMD_FUNC(stats_all);
+CCMD_FUNC(reset);
+
+#ifdef TXT_ONLY
+/* TXT_ONLY */
+
+/* TXT_ONLY */
+#else
+/* SQL-only */
+
+/* SQL Only */
+#endif
+
+/*==========================================
+ *CharCommandInfo charcommand_info[]構造体の定義
+ *------------------------------------------
+ */
+
+// First char of commands is configured in charcommand_athena.conf. Leave @ in this list for default value.
+// to set default level, read charcommand_athena.conf first please.
+static CharCommandInfo charcommand_info[] = {
+	{ CharCommandJobChange,				"#job",						60,	charcommand_jobchange },
+	{ CharCommandJobChange,				"#jobchange",				60,	charcommand_jobchange },
+	{ CharCommandPetRename,				"#petrename",				50, charcommand_petrename },
+	{ CharCommandPetFriendly,			"#petfriendly",				50, charcommand_petfriendly },
+	{ CharCommandStats,					"#stats",					40, charcommand_stats },
+	{ CharCommandOption,				"#option",					60, charcommand_option },
+	{ CharCommandReset,					"#reset",					60, charcommand_reset },
+	{ CharCommandSave,					"#save",					60, charcommand_save },
+	{ CharCommandStatsAll,				"#statsall",				40, charcommand_stats_all },
+
+#ifdef TXT_ONLY
+/* TXT_ONLY */
+
+/* TXT_ONLY */
+#else
+/* SQL-only */
+
+/* SQL Only */
+#endif
+
+// add new commands before this line
+	{ CharCommand_Unknown,             NULL,                1, NULL }
+};
+
+
+int get_charcommand_level(const CharCommandType type) {
+	int i;
+
+	for (i = 0; charcommand_info[i].type != CharCommand_None; i++)
+		if (charcommand_info[i].type == type)
+			return charcommand_info[i].level;
+
+	return 100; // 100: command can not be used
+}
+
+/*==========================================
+ *is_charcommand @コマンドに存在するかどうか確認する
+ *------------------------------------------
+ */
+CharCommandType
+is_charcommand(const int fd, struct map_session_data* sd, const char* message, int gmlvl) {
+	const char* str = message;
+	int s_flag = 0;
+	CharCommandInfo info;
+	CharCommandType type;
+
+	nullpo_retr(CharCommand_None, sd);
+
+	if (!message || !*message)
+		return CharCommand_None;
+
+	memset(&info, 0, sizeof(info));
+	str += strlen(sd->status.name);
+	while (*str && (isspace(*str) || (s_flag == 0 && *str == ':'))) {
+		if (*str == ':')
+			s_flag = 1;
+		str++;
+	}
+	if (!*str)
+		return CharCommand_None;
+
+	type = charcommand(gmlvl > 0 ? gmlvl : pc_isGM(sd), str, &info);
+	if (type != CharCommand_None) {
+		char command[100];
+		char output[200];
+		const char* p = str;
+		memset(command, '\0', sizeof(command));
+		memset(output, '\0', sizeof(output));
+		while (*p && !isspace(*p))
+			p++;
+		if (p - str >= sizeof(command)) // too long
+			return CharCommand_Unknown;
+		strncpy(command, str, p - str);
+		while (isspace(*p))
+			p++;
+
+		if (type == CharCommand_Unknown || info.proc == NULL) {
+			snprintf(output, sizeof(output),msg_txt(153), command); // %s is Unknown Command.
+			clif_displaymessage(fd, output);
+		} else {
+			if (info.proc(fd, sd, command, p) != 0) {
+				// Command can not be executed
+				snprintf(output, sizeof(output), msg_txt(154), command); // %s failed.
+				clif_displaymessage(fd, output);
+			}
+		}
+
+		return info.type;
+	}
+
+	return CharCommand_None;
+}
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+CharCommandType charcommand(const int level, const char* message, struct CharCommandInfo* info) {
+	char* p = (char *)message; 
+
+	if (!info)
+		return CharCommand_None;
+	if (battle_config.atc_gmonly != 0 && !level) // level = pc_isGM(sd)
+		return CharCommand_None;
+	if (!p || !*p) {
+		fprintf(stderr, "char command message is empty\n");
+		return CharCommand_None;
+	}
+
+	if (*p == command_symbol) { // check first char.
+		char command[101];
+		int i = 0;
+		memset(info, 0, sizeof(CharCommandInfo));
+		sscanf(p, "%100s", command);
+		command[sizeof(command)-1] = '\0';
+
+		while (charcommand_info[i].type != CharCommand_Unknown) {
+			if (strcmpi(command+1, charcommand_info[i].command+1) == 0 && level >= charcommand_info[i].level) {
+				p[0] = charcommand_info[i].command[0]; // set correct first symbol for after.
+				break;
+			}
+			i++;
+		}
+
+		if (charcommand_info[i].type == CharCommand_Unknown) {
+			// doesn't return Unknown if player is normal player (display the text, not display: unknown command)
+			if (level == 0)
+				return CharCommand_None;
+			else
+				return CharCommand_Unknown;
+		}
+		memcpy(info, &charcommand_info[i], sizeof charcommand_info[i]);
+	} else {
+		return CharCommand_None;
+	}
+
+	return info->type;
+}
+
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+static CharCommandInfo* get_charcommandinfo_byname(const char* name) {
+	int i;
+
+	for (i = 0; charcommand_info[i].type != CharCommand_Unknown; i++)
+		if (strcmpi(charcommand_info[i].command + 1, name) == 0)
+			return &charcommand_info[i];
+
+	return NULL;
+}
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+int charcommand_config_read(const char *cfgName) {
+	char line[1024], w1[1024], w2[1024];
+	CharCommandInfo* p;
+	FILE* fp;
+
+	if ((fp = fopen(cfgName, "r")) == NULL) {
+		printf("CharCommands configuration file not found: %s\n", cfgName);
+		return 1;
+	}
+
+	while (fgets(line, sizeof(line)-1, fp)) {
+		if (line[0] == '/' && line[1] == '/')
+			continue;
+
+		if (sscanf(line, "%1023[^:]:%1023s", w1, w2) != 2)
+			continue;
+		p = get_charcommandinfo_byname(w1);
+		if (p != NULL) {
+			p->level = atoi(w2);
+			if (p->level > 100)
+				p->level = 100;
+			else if (p->level < 0)
+				p->level = 0;
+		}
+
+		if (strcmpi(w1, "import") == 0)
+			charcommand_config_read(w2);
+		else if (strcmpi(w1, "command_symbol") == 0 && w2[0] > 31 &&
+		         w2[0] != '/' && // symbol of standard ragnarok GM commands
+		         w2[0] != '%' && // symbol of party chat speaking
+				 w2[0] != '@')	 // symbol for @commands
+			command_symbol = w2[0];
+	}
+	fclose(fp);
+
+	return 0;
+}
+
+/*==========================================
+ * 対象キャラクターを転職させる upper指定で転生や養子も可能
+ *------------------------------------------
+ */
+int charcommand_jobchange(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	char character[100];
+	struct map_session_data* pl_sd;
+	int job = 0, upper = -1;
+
+	memset(character, '\0', sizeof(character));
+
+	if (!message || !*message) {
+		clif_displaymessage(fd, "Please, enter a job and a player name (usage: #job/#jobchange <job ID> <char name>).");
+		return -1;
+	}
+
+	if (sscanf(message, "%d %d %99[^\n]", &job, &upper, character) < 3) { //upper指定してある
+		upper = -1;
+		if (sscanf(message, "%d %99[^\n]", &job, character) < 2) { //upper指定してない上に何か足りない
+			clif_displaymessage(fd, "Please, enter a job and a player name (usage: #job/#jobchange <job ID> <char name>).");
+			return -1;
+		}
+	}
+
+	if ((pl_sd = map_nick2sd(character)) != NULL) {
+		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can change job only to lower or same level
+			if ((job >= 0 && job < MAX_PC_CLASS)) {
+
+				// fix pecopeco display
+				if ((job != 13 && job != 21 && job != 4014 && job != 4022)) {
+					if (pc_isriding(sd)) {
+						if (pl_sd->status.class == 13)
+							pl_sd->status.class = pl_sd->view_class = 7;
+						if (pl_sd->status.class == 21)
+							pl_sd->status.class = pl_sd->view_class = 14;
+						if (pl_sd->status.class == 4014)
+							pl_sd->status.class = pl_sd->view_class = 4008;
+						if (pl_sd->status.class == 4022)
+							pl_sd->status.class = pl_sd->view_class = 4015;
+						pl_sd->status.option &= ~0x0020;
+						clif_changeoption(&pl_sd->bl);
+						pc_calcstatus(pl_sd, 0);
+					}
+				} else {
+					if (!pc_isriding(sd)) {
+						if (job == 13)
+							job = 7;
+						if (job == 21)
+							job = 14;
+						if (job == 4014)
+							job = 4008;
+						if (job == 4022)
+							job = 4015;
+					}
+				}
+
+				if (pc_jobchange(pl_sd, job, upper) == 0)
+					clif_displaymessage(fd, msg_table[48]); // Character's job changed.
+				else {
+					clif_displaymessage(fd, msg_table[192]); // Impossible to change the character's job.
+					return -1;
+				}
+			} else {
+				clif_displaymessage(fd, msg_table[49]); // Invalid job ID.
+				return -1;
+			}
+		} else {
+			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
+			return -1;
+		}
+	} else {
+		clif_displaymessage(fd, msg_table[3]); // Character not found.
+		return -1;
+	}
+
+	return 0;
+}
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+int charcommand_petrename(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	char character[100];
+	struct map_session_data *pl_sd;
+
+	memset(character, '\0', sizeof(character));
+
+	if (!message || !*message || sscanf(message, "%99[^\n]", character) < 1) {
+		clif_displaymessage(fd, "Please, enter a player name (usage: #petrename <char name>).");
+		return -1;
+	}
+
+	if ((pl_sd = map_nick2sd(character)) != NULL) {
+		if (pl_sd->status.pet_id > 0 && pl_sd->pd) {
+			if (pl_sd->pet.rename_flag != 0) {
+				pl_sd->pet.rename_flag = 0;
+				intif_save_petdata(pl_sd->status.account_id, &pl_sd->pet);
+				clif_send_petstatus(pl_sd);
+				clif_displaymessage(fd, msg_table[189]); // This player can now rename his/her pet.
+			} else {
+				clif_displaymessage(fd, msg_table[190]); // This player can already rename his/her pet.
+				return -1;
+			}
+		} else {
+			clif_displaymessage(fd, msg_table[191]); // Sorry, but this player has no pet.
+			return -1;
+		}
+	} else {
+		clif_displaymessage(fd, msg_txt(3)); // Character not found.
+		return -1;
+	}
+
+	return 0;
+}
+
+
+/*==========================================
+ * 
+ *------------------------------------------
+ */
+int charcommand_petfriendly(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	int friendly = 0;
+	int t = 0;
+	char character[100];
+	struct map_session_data *pl_sd;
+
+	memset(character, '\0', sizeof(character));
+	if (!message || !*message || sscanf(message,"%d %s",&friendly,character) < 2) {
+		clif_displaymessage(fd, "Please, enter a valid value (usage: "
+			"#petfriendly <0-1000> <player>).");
+		return -1;
+	}
+
+	if (((pl_sd = map_nick2sd(character)) != NULL) && pc_isGM(sd)>pc_isGM(pl_sd)) {
+		if (pl_sd->status.pet_id > 0 && pl_sd->pd) {
+			if (friendly >= 0 && friendly <= 1000) {
+				if (friendly != pl_sd->pet.intimate) {
+					t = pl_sd->pet.intimate;
+					pl_sd->pet.intimate = friendly;
+					clif_send_petstatus(pl_sd);
+					clif_pet_emotion(pl_sd->pd,0);
+					if (battle_config.pet_status_support) {
+						if ((pl_sd->pet.intimate > 0 && t <= 0) ||
+						    (pl_sd->pet.intimate <= 0 && t > 0)) {
+							if (pl_sd->bl.prev != NULL)
+								pc_calcstatus(pl_sd, 0);
+							else
+								pc_calcstatus(pl_sd, 2);
+						}
+					}
+					clif_displaymessage(pl_sd->fd, msg_table[182]); // Pet friendly value changed!
+					clif_displaymessage(sd->fd, msg_table[182]); // Pet friendly value changed!
+				} else {
+					clif_displaymessage(fd, msg_table[183]); // Pet friendly is already the good value.
+					return -1;
+				}
+			} else {
+				clif_displaymessage(fd, msg_table[37]); // An invalid number was specified.
+				return -1;
+			}
+		} else {
+			return -1;
+		}
+	} else {
+		clif_displaymessage(fd, msg_txt(3)); // Character not found.
+		return -1;
+	}
+
+	return 0;
+}
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+int charcommand_stats(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	char character[100];
+	char job_jobname[100];
+	char output[200];
+	struct map_session_data *pl_sd;
+	int i;
+
+	memset(character, '\0', sizeof(character));
+	memset(job_jobname, '\0', sizeof(job_jobname));
+	memset(output, '\0', sizeof(output));
+
+	if (!message || !*message || sscanf(message, "%99[^\n]", character) < 1) {
+		clif_displaymessage(fd, "Please, enter a player name (usage: #stats <char name>).");
+		return -1;
+	}
+
+	if ((pl_sd = map_nick2sd(character)) != NULL) {
+		struct {
+			const char* format;
+			int value;
+		} output_table[] = {
+			{ "Base Level - %d", pl_sd->status.base_level },
+			{ job_jobname, pl_sd->status.job_level },
+			{ "Hp - %d",    pl_sd->status.hp },
+			{ "MaxHp - %d", pl_sd->status.max_hp },
+			{ "Sp - %d",    pl_sd->status.sp },
+			{ "MaxSp - %d", pl_sd->status.max_sp },
+			{ "Str - %3d",  pl_sd->status.str },
+			{ "Agi - %3d",  pl_sd->status.agi },
+			{ "Vit - %3d",  pl_sd->status.vit },
+			{ "Int - %3d",  pl_sd->status.int_ },
+			{ "Dex - %3d",  pl_sd->status.dex },
+			{ "Luk - %3d",  pl_sd->status.luk },
+			{ "Zeny - %d",  pl_sd->status.zeny },
+			{ NULL, 0 }
+		};
+		sprintf(job_jobname, "Job - %s %s", job_name(pl_sd->status.class), "(level %d)");
+		sprintf(output, msg_table[53], pl_sd->status.name); // '%s' stats:
+		clif_displaymessage(fd, output);
+		for (i = 0; output_table[i].format != NULL; i++) {
+			sprintf(output, output_table[i].format, output_table[i].value);
+			clif_displaymessage(fd, output);
+		}
+	} else {
+		clif_displaymessage(fd, msg_table[3]); // Character not found.
+		return -1;
+	}
+
+	return 0;
+}
+
+/*==========================================
+ * Character Reset
+ *------------------------------------------
+ */
+int charcommand_reset(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	char character[100];
+	char output[200];
+	struct map_session_data *pl_sd;
+
+	memset(character, '\0', sizeof(character));
+	memset(output, '\0', sizeof(output));
+
+	if (!message || !*message || sscanf(message, "%99[^\n]", character) < 1) {
+		clif_displaymessage(fd, "Please, enter a player name (usage: #reset <charname>).");
+		return -1;
+	}
+
+	if ((pl_sd = map_nick2sd(character)) != NULL) {
+		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can reset a character only for lower or same GM level
+			pc_resetstate(pl_sd);
+			pc_resetskill(pl_sd);
+			sprintf(output, msg_table[208], character); // '%s' skill and stats points reseted!
+			clif_displaymessage(fd, output);
+		} else {
+			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
+			return -1;
+		}
+	} else {
+		clif_displaymessage(fd, msg_table[3]); // Character not found.
+		return -1;
+	}
+
+	return 0;
+}
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+int charcommand_option(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	char character[100];
+	int opt1 = 0, opt2 = 0, opt3 = 0;
+	struct map_session_data* pl_sd;
+
+	memset(character, '\0', sizeof(character));
+
+	if (!message || !*message ||
+		sscanf(message, "%d %d %d %99[^\n]", &opt1, &opt2, &opt3, character) < 4 ||
+		opt1 < 0 || opt2 < 0 || opt3 < 0) {
+		clif_displaymessage(fd, "Please, enter valid options and a player name (usage: #option <param1> <param2> <param3> <charname>).");
+		return -1;
+	}
+
+	if ((pl_sd = map_nick2sd(character)) != NULL) {
+		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can change option only to lower or same level
+			pl_sd->opt1 = opt1;
+			pl_sd->opt2 = opt2;
+			pl_sd->status.option = opt3;
+			// fix pecopeco display
+			if (pl_sd->status.class == 13 || pl_sd->status.class == 21 || pl_sd->status.class == 4014 || pl_sd->status.class == 4022) {
+				if (!pc_isriding(pl_sd)) { // pl_sd have the new value...
+					if (pl_sd->status.class == 13)
+						pl_sd->status.class = pl_sd->view_class = 7;
+					else if (pl_sd->status.class == 21)
+						pl_sd->status.class = pl_sd->view_class = 14;
+					else if (pl_sd->status.class == 4014)
+						pl_sd->status.class = pl_sd->view_class = 4008;
+					else if (pl_sd->status.class == 4022)
+						pl_sd->status.class = pl_sd->view_class = 4015;
+				}
+			} else {
+				if (pc_isriding(pl_sd)) { // pl_sd have the new value...
+					if (pl_sd->disguise > 0) { // temporary prevention of crash caused by peco + disguise, will look into a better solution [Valaris] (code added by [Yor])
+						pl_sd->status.option &= ~0x0020;
+					} else {
+						if (pl_sd->status.class == 7)
+							pl_sd->status.class = pl_sd->view_class = 13;
+						else if (pl_sd->status.class == 14)
+							pl_sd->status.class = pl_sd->view_class = 21;
+						else if (pl_sd->status.class == 4008)
+							pl_sd->status.class = pl_sd->view_class = 4014;
+						else if (pl_sd->status.class == 4015)
+							pl_sd->status.class = pl_sd->view_class = 4022;
+						else
+							pl_sd->status.option &= ~0x0020;
+					}
+				}
+			}
+			clif_changeoption(&pl_sd->bl);
+			pc_calcstatus(pl_sd, 0);
+			clif_displaymessage(fd, msg_table[58]); // Character's options changed.
+		} else {
+			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
+			return -1;
+		}
+	} else {
+		clif_displaymessage(fd, msg_table[3]); // Character not found.
+		return -1;
+	}
+
+	return 0;
+}
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+int charcommand_save(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	char map_name[100];
+	char character[100];
+	struct map_session_data* pl_sd;
+	int x = 0, y = 0;
+	int m;
+
+	memset(map_name, '\0', sizeof(map_name));
+	memset(character, '\0', sizeof(character));
+
+	if (!message || !*message || sscanf(message, "%99s %d %d %99[^\n]", map_name, &x, &y, character) < 4 || x < 0 || y < 0) {
+		clif_displaymessage(fd, "Please, enter a valid save point and a player name (usage: #save <map> <x> <y> <charname>).");
+		return -1;
+	}
+
+	if (strstr(map_name, ".gat") == NULL && strstr(map_name, ".afm") == NULL && strlen(map_name) < 13) // 16 - 4 (.gat)
+		strcat(map_name, ".gat");
+
+	if ((pl_sd = map_nick2sd(character)) != NULL) {
+		if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can change save point only to lower or same gm level
+			m = map_mapname2mapid(map_name);
+			if (m < 0) {
+				clif_displaymessage(fd, msg_table[1]); // Map not found.
+				return -1;
+			} else {
+				if (m >= 0 && map[m].flag.nowarpto && battle_config.any_warp_GM_min_level > pc_isGM(sd)) {
+					clif_displaymessage(fd, "You are not authorised to set this map as a save map.");
+					return -1;
+				}
+				pc_setsavepoint(pl_sd, map_name, x, y);
+				clif_displaymessage(fd, msg_table[57]); // Character's respawn point changed.
+			}
+		} else {
+			clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
+			return -1;
+		}
+	} else {
+		clif_displaymessage(fd, msg_table[3]); // Character not found.
+		return -1;
+	}
+
+	return 0;
+}
+
+/*==========================================
+ *
+ *------------------------------------------
+ */
+//** Character Stats All by fritz
+int charcommand_stats_all(const int fd, struct map_session_data* sd, const char* command, const char* message)
+{
+	char output[1024], gmlevel[1024];
+	int i;
+	int count;
+	struct map_session_data *pl_sd;
+
+	memset(output, '\0', sizeof(output));
+	memset(gmlevel, '\0', sizeof(gmlevel));
+
+	count = 0;
+	for(i = 0; i < fd_max; i++) {
+		if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth) {
+
+			if (pc_isGM(pl_sd) > 0)
+				sprintf(gmlevel, "| GM Lvl: %d", pc_isGM(pl_sd));
+			else
+				sprintf(gmlevel, " ");
+
+			sprintf(output, "Name: %s | BLvl: %d | Job: %s (Lvl: %d) | HP: %d/%d | SP: %d/%d", pl_sd->status.name, pl_sd->status.base_level, job_name(pl_sd->status.class), pl_sd->status.job_level, pl_sd->status.hp, pl_sd->status.max_hp, pl_sd->status.sp, pl_sd->status.max_sp);
+			clif_displaymessage(fd, output);
+			sprintf(output, "STR: %d | AGI: %d | VIT: %d | INT: %d | DEX: %d | LUK: %d | Zeny: %d %s", pl_sd->status.str, pl_sd->status.agi, pl_sd->status.vit, pl_sd->status.int_, pl_sd->status.dex, pl_sd->status.luk, pl_sd->status.zeny, gmlevel);
+			clif_displaymessage(fd, output);
+			clif_displaymessage(fd, "--------");
+			count++;
+		}
+	}
+
+	if (count == 0)
+		clif_displaymessage(fd, msg_table[28]); // No player found.
+	else if (count == 1)
+		clif_displaymessage(fd, msg_table[29]); // 1 player found.
+	else {
+		sprintf(output, msg_table[30], count); // %d players found.
+		clif_displaymessage(fd, output);
+	}
+
+	return 0;
+}
+

+ 50 - 50
src/map/charcommand.h

@@ -1,50 +1,50 @@
-#ifndef _CHARCOMMAND_H_
-#define _CHARCOMMAND_H_
-
-enum CharCommandType {
-	CharCommand_None = -1,
-	CharCommandJobChange,
-	CharCommandPetRename,
-	CharCommandPetFriendly,
-	CharCommandReset,
-	CharCommandStats,
-	CharCommandOption,
-	CharCommandSave,
-	CharCommandStatsAll,
-
-#ifdef TXT_ONLY
-/* TXT_ONLY */
-
-/* TXT_ONLY */
-#else
-/* SQL-only */
-
-/* SQL Only */
-#endif
-	
-	// End. No more commans after this line.
-	CharCommand_Unknown,
-	CharCommand_MAX
-};
-
-typedef enum CharCommandType CharCommandType;
-
-typedef struct CharCommandInfo {
-	CharCommandType type;
-	const char* command;
-	int level;
-	int (*proc)(const int, struct map_session_data*,
-		const char* command, const char* message);
-} CharCommandInfo;
-
-CharCommandType
-is_charcommand(const int fd, struct map_session_data* sd, const char* message, int gmlvl);
-
-CharCommandType charcommand(
-	const int level, const char* message, CharCommandInfo* info);
-int get_charcommand_level(const CharCommandType type);
-
-int charcommand_config_read(const char *cfgName);
-
-#endif
-
+#ifndef _CHARCOMMAND_H_
+#define _CHARCOMMAND_H_
+
+enum CharCommandType {
+	CharCommand_None = -1,
+	CharCommandJobChange,
+	CharCommandPetRename,
+	CharCommandPetFriendly,
+	CharCommandReset,
+	CharCommandStats,
+	CharCommandOption,
+	CharCommandSave,
+	CharCommandStatsAll,
+
+#ifdef TXT_ONLY
+/* TXT_ONLY */
+
+/* TXT_ONLY */
+#else
+/* SQL-only */
+
+/* SQL Only */
+#endif
+	
+	// End. No more commans after this line.
+	CharCommand_Unknown,
+	CharCommand_MAX
+};
+
+typedef enum CharCommandType CharCommandType;
+
+typedef struct CharCommandInfo {
+	CharCommandType type;
+	const char* command;
+	int level;
+	int (*proc)(const int, struct map_session_data*,
+		const char* command, const char* message);
+} CharCommandInfo;
+
+CharCommandType
+is_charcommand(const int fd, struct map_session_data* sd, const char* message, int gmlvl);
+
+CharCommandType charcommand(
+	const int level, const char* message, CharCommandInfo* info);
+int get_charcommand_level(const CharCommandType type);
+
+int charcommand_config_read(const char *cfgName);
+
+#endif
+

+ 2 - 2
src/webserver/Changelog.txt

@@ -1,3 +1,3 @@
-Date	Added
-12/3	
+Date	Added
+12/3	
 	* Creation of eAthena Web Server v2 [MC Cameri]

+ 32 - 32
src/webserver/Makefile

@@ -1,32 +1,32 @@
-CC = gcc -pipe
-MAKE = make
-OPT = -g -O2 -ffast-math
-
-ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN)
-CFLAGS = $(OPT) -Wall -I../common
-else
-CFLAGS = $(OPT) -Wall -I../common
-endif
-
-OBJ  = main.o webserver.o ../common/showmsg.o
-LINKOBJ  = main.o webserver.o ../common/showmsg.o
-
-all: clean webserver run
-
-clean:
-	rm -f *.o webserver.exe ../common/showmsg.o
-
-webserver: main.o webserver.o ../common/showmsg.o
-	$(CC) $(OPT) -o "Webserver.exe" $(OBJ)
-
-main.o: main.c
-	$(CC) $(OPT) -c main.c -o main.o $(CFLAGS)
-
-webserver.o: webserver.c
-	$(CC) $(OPT) -c webserver.c -o webserver.o $(CFLAGS)
-
-../common/showmsg.o: ../common/showmsg.c
-	$(CC) $(OPT) -c ../common/showmsg.c -o ../common/showmsg.o $(CFLAGS)
-
-run:
-	./webserver
+CC = gcc -pipe
+MAKE = make
+OPT = -g -O2 -ffast-math
+
+ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN)
+CFLAGS = $(OPT) -Wall -I../common
+else
+CFLAGS = $(OPT) -Wall -I../common
+endif
+
+OBJ  = main.o webserver.o ../common/showmsg.o
+LINKOBJ  = main.o webserver.o ../common/showmsg.o
+
+all: clean webserver run
+
+clean:
+	rm -f *.o webserver.exe ../common/showmsg.o
+
+webserver: main.o webserver.o ../common/showmsg.o
+	$(CC) $(OPT) -o "Webserver.exe" $(OBJ)
+
+main.o: main.c
+	$(CC) $(OPT) -c main.c -o main.o $(CFLAGS)
+
+webserver.o: webserver.c
+	$(CC) $(OPT) -c webserver.c -o webserver.o $(CFLAGS)
+
+../common/showmsg.o: ../common/showmsg.c
+	$(CC) $(OPT) -c ../common/showmsg.c -o ../common/showmsg.o $(CFLAGS)
+
+run:
+	./webserver

+ 35 - 35
src/webserver/Makefile.win

@@ -1,35 +1,35 @@
-# Project: Webserver
-# Makefile created by Dev-C++ 4.9.8.0
-
-CPP  = g++.exe -D__DEBUG__
-CC   = gcc.exe -D__DEBUG__
-WINDRES = windres.exe
-RES  = 
-OBJ  = main.o webserver.o ../common/showmsg.o $(RES)
-LINKOBJ  = main.o webserver.o ../common/showmsg.o $(RES)
-LIBS =  -L"C:/Program Files/Dev-Cpp/lib" -L"C:/cygwin/lib" 
-INCS =  -I"C:/Program Files/Dev-Cpp/include"  -I"C:/cygwin/usr/include"  -I"C:/cygwin/usr/include/mingw" 
-CXXINCS =  -I"C:/Program Files/Dev-Cpp/include/c++"  -I"C:/Program Files/Dev-Cpp/include/c++/mingw32"  -I"C:/Program Files/Dev-Cpp/include/c++/backward"  -I"C:/Program Files/Dev-Cpp/include"  -I"C:/cygwin/usr/include/c++/3.3.1" 
-BIN  = webserver.exe
-CXXFLAGS = $(CXXINCS)  -pg -g3
-CFLAGS = $(INCS)  -pg -g3
-
-.PHONY: all all-before all-after clean clean-custom
-
-all: all-before webserver.exe all-after
-
-
-clean: clean-custom
-	rm -f $(OBJ) $(BIN)
-
-$(BIN): $(LINKOBJ)
-	$(CC) $(LINKOBJ) -o "webserver.exe" $(LIBS)
-
-main.o: main.c
-	$(CC) -c main.c -o main.o $(CFLAGS)
-
-webserver.o: webserver.c
-	$(CC) -c webserver.c -o webserver.o $(CFLAGS)
-
-../common/showmsg.o: ../common/showmsg.c
-	$(CC) -c ../common/showmsg.c -o ../common/showmsg.o $(CFLAGS)
+# Project: Webserver
+# Makefile created by Dev-C++ 4.9.8.0
+
+CPP  = g++.exe -D__DEBUG__
+CC   = gcc.exe -D__DEBUG__
+WINDRES = windres.exe
+RES  = 
+OBJ  = main.o webserver.o ../common/showmsg.o $(RES)
+LINKOBJ  = main.o webserver.o ../common/showmsg.o $(RES)
+LIBS =  -L"C:/Program Files/Dev-Cpp/lib" -L"C:/cygwin/lib" 
+INCS =  -I"C:/Program Files/Dev-Cpp/include"  -I"C:/cygwin/usr/include"  -I"C:/cygwin/usr/include/mingw" 
+CXXINCS =  -I"C:/Program Files/Dev-Cpp/include/c++"  -I"C:/Program Files/Dev-Cpp/include/c++/mingw32"  -I"C:/Program Files/Dev-Cpp/include/c++/backward"  -I"C:/Program Files/Dev-Cpp/include"  -I"C:/cygwin/usr/include/c++/3.3.1" 
+BIN  = webserver.exe
+CXXFLAGS = $(CXXINCS)  -pg -g3
+CFLAGS = $(INCS)  -pg -g3
+
+.PHONY: all all-before all-after clean clean-custom
+
+all: all-before webserver.exe all-after
+
+
+clean: clean-custom
+	rm -f $(OBJ) $(BIN)
+
+$(BIN): $(LINKOBJ)
+	$(CC) $(LINKOBJ) -o "webserver.exe" $(LIBS)
+
+main.o: main.c
+	$(CC) -c main.c -o main.o $(CFLAGS)
+
+webserver.o: webserver.c
+	$(CC) -c webserver.c -o webserver.o $(CFLAGS)
+
+../common/showmsg.o: ../common/showmsg.c
+	$(CC) -c ../common/showmsg.c -o ../common/showmsg.o $(CFLAGS)

+ 24 - 24
src/webserver/WEBSER~1.layout

@@ -1,24 +1,24 @@
-[Editors]
-Focused=-1
-Order=-1,0
-[Editor_0]
-Open=1
-Top=0
-CursorCol=5
-CursorRow=30
-TopLine=1
-LeftChar=1
-[Editor_1]
-Open=1
-Top=0
-CursorCol=1
-CursorRow=35
-TopLine=16
-LeftChar=1
-[Editor_2]
-Open=1
-Top=1
-CursorCol=14
-CursorRow=4
-TopLine=1
-LeftChar=1
+[Editors]
+Focused=-1
+Order=-1,0
+[Editor_0]
+Open=1
+Top=0
+CursorCol=5
+CursorRow=30
+TopLine=1
+LeftChar=1
+[Editor_1]
+Open=1
+Top=0
+CursorCol=1
+CursorRow=35
+TopLine=16
+LeftChar=1
+[Editor_2]
+Open=1
+Top=1
+CursorCol=14
+CursorRow=4
+TopLine=1
+LeftChar=1

+ 97 - 97
src/webserver/Webserver.dev

@@ -1,97 +1,97 @@
-[Project]
-FileName=Webserver.dev
-Name=Webserver
-UnitCount=5
-Type=1
-Ver=1
-ObjFiles=
-Includes=
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=
-IsCpp=0
-Icon=
-ExeOutput=
-ObjectOutput=
-OverrideOutput=1
-OverrideOutputName=webserver.exe
-HostApplication=
-Folders=common
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=1
-CompilerSettings=000000000000000000
-
-[Unit1]
-FileName=main.c
-CompileCpp=0
-Folder=
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=$(CC) -c main.c -o main.o webserver.o $(CFLAGS)
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Developed using the Dev-C++ IDE
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
-[Unit2]
-FileName=webserver.c
-CompileCpp=0
-Folder=
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=1
-BuildCmd=$(CC) -c webserver.c -o webserver.o $(CFLAGS)
-
-[Unit3]
-FileName=webserver.h
-CompileCpp=0
-Folder=
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit4]
-FileName=..\common\showmsg.c
-CompileCpp=0
-Folder=common
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit5]
-FileName=..\common\showmsg.h
-CompileCpp=0
-Folder=common
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
+[Project]
+FileName=Webserver.dev
+Name=Webserver
+UnitCount=5
+Type=1
+Ver=1
+ObjFiles=
+Includes=
+Libs=
+PrivateResource=
+ResourceIncludes=
+MakeIncludes=
+Compiler=
+CppCompiler=
+Linker=
+IsCpp=0
+Icon=
+ExeOutput=
+ObjectOutput=
+OverrideOutput=1
+OverrideOutputName=webserver.exe
+HostApplication=
+Folders=common
+CommandLine=
+IncludeVersionInfo=0
+SupportXPThemes=0
+CompilerSet=1
+CompilerSettings=000000000000000000
+
+[Unit1]
+FileName=main.c
+CompileCpp=0
+Folder=
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=$(CC) -c main.c -o main.o webserver.o $(CFLAGS)
+
+[VersionInfo]
+Major=0
+Minor=1
+Release=1
+Build=1
+LanguageID=1033
+CharsetID=1252
+CompanyName=
+FileVersion=
+FileDescription=Developed using the Dev-C++ IDE
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=
+AutoIncBuildNr=0
+
+[Unit2]
+FileName=webserver.c
+CompileCpp=0
+Folder=
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=1
+BuildCmd=$(CC) -c webserver.c -o webserver.o $(CFLAGS)
+
+[Unit3]
+FileName=webserver.h
+CompileCpp=0
+Folder=
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit4]
+FileName=..\common\showmsg.c
+CompileCpp=0
+Folder=common
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit5]
+FileName=..\common\showmsg.h
+CompileCpp=0
+Folder=common
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+

+ 38 - 38
src/webserver/Webserver.layout

@@ -1,38 +1,38 @@
-[Editors]
-Focused=0
-Order=0,2,1,-1
-[Editor_0]
-Open=1
-Top=1
-CursorCol=55
-CursorRow=128
-TopLine=95
-LeftChar=1
-[Editor_1]
-Open=1
-Top=0
-CursorCol=25
-CursorRow=113
-TopLine=92
-LeftChar=1
-[Editor_2]
-Open=1
-Top=0
-CursorCol=1
-CursorRow=21
-TopLine=1
-LeftChar=1
-[Editor_3]
-Open=0
-Top=0
-CursorCol=20
-CursorRow=2
-TopLine=1
-LeftChar=1
-[Editor_4]
-Open=0
-Top=0
-CursorCol=20
-CursorRow=1
-TopLine=1
-LeftChar=1
+[Editors]
+Focused=0
+Order=0,2,1,-1
+[Editor_0]
+Open=1
+Top=1
+CursorCol=55
+CursorRow=128
+TopLine=95
+LeftChar=1
+[Editor_1]
+Open=1
+Top=0
+CursorCol=25
+CursorRow=113
+TopLine=92
+LeftChar=1
+[Editor_2]
+Open=1
+Top=0
+CursorCol=1
+CursorRow=21
+TopLine=1
+LeftChar=1
+[Editor_3]
+Open=0
+Top=0
+CursorCol=20
+CursorRow=2
+TopLine=1
+LeftChar=1
+[Editor_4]
+Open=0
+Top=0
+CursorCol=20
+CursorRow=1
+TopLine=1
+LeftChar=1

+ 36 - 36
src/webserver/conf/webserver-athena.conf

@@ -1,36 +1,36 @@
-#############################################################
-#        ______  __    __                                   #
-#       /\  _  \/\ \__/\ \                                  #
-#     __\ \ \L\ \ \ ,_\ \ \___      __    ___      __       #
-#   /'__`\ \  __ \ \ \/\ \  _ `\  /'__`\/' _ `\  /'__`\     #
-#  /\  __/\ \ \/\ \ \ \_\ \ \ \ \/\  __//\ \/\ \/\ \L\.\_   #
-#  \ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\  #
-#   \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/  #
-#          eAthena Web Server (Second Edition)              #
-#			by MC Cameri                        #
-#  -------------------------------------------------------  #			  
-#			-Website/Forum-                     #
-#		http://eathena.deltaanime.net/              #
-#			-Download URL-                      #
-#		http://eathena.systeminplace.net/           #
-#			-IRC Channel-                       #
-#		irc://irc.deltaanime.net/#athena            #
-#############################################################
-
-// Display the eAthena Logo at startup?
-show_title: 1
-
-//Web Server Port
-port: 81
-
-//Web Server Password
-password: juan16
-
-//Page Header
-header: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-//Document index
-document_index: index.xhtml
-
-//Send favorite icon if provided?
-favicon: yes
+#############################################################
+#        ______  __    __                                   #
+#       /\  _  \/\ \__/\ \                                  #
+#     __\ \ \L\ \ \ ,_\ \ \___      __    ___      __       #
+#   /'__`\ \  __ \ \ \/\ \  _ `\  /'__`\/' _ `\  /'__`\     #
+#  /\  __/\ \ \/\ \ \ \_\ \ \ \ \/\  __//\ \/\ \/\ \L\.\_   #
+#  \ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\  #
+#   \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/  #
+#          eAthena Web Server (Second Edition)              #
+#			by MC Cameri                        #
+#  -------------------------------------------------------  #			  
+#			-Website/Forum-                     #
+#		http://eathena.deltaanime.net/              #
+#			-Download URL-                      #
+#		http://eathena.systeminplace.net/           #
+#			-IRC Channel-                       #
+#		irc://irc.deltaanime.net/#athena            #
+#############################################################
+
+// Display the eAthena Logo at startup?
+show_title: 1
+
+//Web Server Port
+port: 81
+
+//Web Server Password
+password: juan16
+
+//Page Header
+header: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+//Document index
+document_index: index.xhtml
+
+//Send favorite icon if provided?
+favicon: yes

+ 144 - 144
src/webserver/main.c

@@ -1,144 +1,144 @@
-/******************************************************************************
- #	            ______  __    __                                 			  #
- #	           /\  _  \/\ \__/\ \                                			  #
- #	         __\ \ \L\ \ \ ,_\ \ \___      __    ___      __     			  #
- #	       /'__`\ \  __ \ \ \/\ \  _ `\  /'__`\/' _ `\  /'__`\   			  #
- #  	  /\  __/\ \ \/\ \ \ \_\ \ \ \ \/\  __//\ \/\ \/\ \L\.\_ 			  #
- #        \ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\			  #
- #  	   \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/			  #
- #					eAthena Web Server (Second Edition)						  #
- #								by MC Cameri								  #
- #		  -------------------------------------------------------			  #
- #							-Website/Forum-									  #
- #					http://eathena.deltaanime.net/							  #
- #							-Download URL- 									  #
- #					http://eathena.systeminplace.net/						  #
- #							-IRC Channel-									  #
- #					irc://irc.deltaanime.net/#athena						  #
- ******************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <strings.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <sys/wait.h>
-#include <signal.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include "../common/showmsg.h"
-#include "webserver.h"
-
-char ws_password[17];
-char ws_header[128];
-
-#define WEB_CONF "conf/webserver-athena.conf"
-#define MAX_CONNECTIONS 10
-#define HOME "home/"
-
-struct config config;
-
-int main(int argc, char *argv[])
-{
-	int server_fd, client_fd;
-	int sin_size;
-	struct sockaddr_in server_addr;
-	struct sockaddr_in client_addr;
-	struct sigaction sa;
-	char recvin[1024];
-	char path[1024];
-	char line[1024];
-	int optval = 1;
-	if (ws_config_read(WEB_CONF)) exit(0);
-	if (config.show_title)
-		ws_display_title();
-	else
-		printf("eAthena Web Server (Second Edition)\n");
-	if (strcmpEx(ws_password,"webpass")==0)
-		ShowWarning("You are using the default password (webpass), we highly "
-			"recommend\n           that you change it.\n");
-	else if (strstr(ws_password,"webpass"))
-		ShowWarning("Your password should not contain \"webpass\" in it, it is"
-			" highly\n           recommended that you change it.\n");
-	printf("Web Server Password: %s\n",ws_password);
-	printf("Web Server Port: %d\n",config.port);
-
-	if ((server_fd = socket(AF_INET, SOCK_STREAM,0)) == -1) {
-		ShowError("In main() -> Could not open socket.\n");
-		return 1;
-	}
-	if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
-		ShowError("In main() -> Could not set socket options.\n");
-		return 1;
-	}
-	server_addr.sin_family = AF_INET;
-	server_addr.sin_port = htons(config.port);
-	server_addr.sin_addr.s_addr = INADDR_ANY;
-	memset(&(server_addr.sin_zero), '\0', 8);
-
-	if (bind(server_fd, (struct sockaddr *)&server_addr, sizeof(struct sockaddr)) < 0) {
-		snprintf(tmp_output,sizeof(tmp_output),"In main() -> Could not bind to port number: %d\n",config.port);
-		ShowError(tmp_output);
-		return 1;
-	}
-
-	if (listen(server_fd, MAX_CONNECTIONS) < 0) {
-		snprintf(tmp_output,sizeof(tmp_output),"In main() -> Could not listen on port number: %d\n",config.port);
-		ShowError(tmp_output);
-		return 1;
-	}
-
-	sa.sa_handler = ws_sigchld_handler;
-	sigemptyset(&sa.sa_mask);
-	sa.sa_flags = SA_RESTART;
-
-	if (sigaction(SIGCHLD, &sa, NULL) < 0) {
-		ShowError("In main() -> Invalid sigaction.\n");
-		return 1;
-	}
-	ShowInfo("eAthena Web Server is now listening for incoming connections.\n");
-
-	while(1)
-	{
-		sin_size = sizeof(struct sockaddr_in);
-		client_fd = accept(server_fd, (struct sockaddr *)&client_addr, &sin_size);
-
-		if (!fork())
-		{
-			close(server_fd);
-			memset(recvin, 0x0, 500);
-			recv(client_fd, recvin, 500, 0);
-			char *html_output;
-			int count = 0;
-			if (sscanf(recvin,"GET %[a-zA-Z_-.+\%#@~] %*[^\n]",path)==1) {
-				FILE *fp;
-				strcpy(tmp_output,HOME);
-				strcat(tmp_output,path);
-				fp = fopen(tmp_output,"r+");
-				if (fp==NULL) {
-					send(client_fd,"File not found",strlen("File not found"), 0);
-					close(client_fd);
-				}
-				memset(tmp_output,0x0,strlen(tmp_output));
-				html_output = (char*)malloc(sizeof(char)*2);
-				while (fgets(line,1023,fp)) {
-					html_output = (char*)realloc(sizeof(html_output)+(sizeof(char)*count));
-					strcat(html_output,line);	
-					printf(line);
-				}
-				send(client_fd,tmp_output,sizeof(tmp_output),0);
-				fclose(fp);
-			}
-		//	send(client_fd, ws_header, strlen(ws_header), 0);
-		//	generate_page(password, client_fd, get_query(recvin), inet_ntoa(client_addr.sin_addr));
-		//	log_visit(get_query(recvin), inet_ntoa(client_addr.sin_addr));
-			close(client_fd);
-			exit(0);
-		}
-		close(client_fd);	
-	}
-	return 0;
-}
+/******************************************************************************
+ #	            ______  __    __                                 			  #
+ #	           /\  _  \/\ \__/\ \                                			  #
+ #	         __\ \ \L\ \ \ ,_\ \ \___      __    ___      __     			  #
+ #	       /'__`\ \  __ \ \ \/\ \  _ `\  /'__`\/' _ `\  /'__`\   			  #
+ #  	  /\  __/\ \ \/\ \ \ \_\ \ \ \ \/\  __//\ \/\ \/\ \L\.\_ 			  #
+ #        \ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\			  #
+ #  	   \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/			  #
+ #					eAthena Web Server (Second Edition)						  #
+ #								by MC Cameri								  #
+ #		  -------------------------------------------------------			  #
+ #							-Website/Forum-									  #
+ #					http://eathena.deltaanime.net/							  #
+ #							-Download URL- 									  #
+ #					http://eathena.systeminplace.net/						  #
+ #							-IRC Channel-									  #
+ #					irc://irc.deltaanime.net/#athena						  #
+ ******************************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <strings.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "../common/showmsg.h"
+#include "webserver.h"
+
+char ws_password[17];
+char ws_header[128];
+
+#define WEB_CONF "conf/webserver-athena.conf"
+#define MAX_CONNECTIONS 10
+#define HOME "home/"
+
+struct config config;
+
+int main(int argc, char *argv[])
+{
+	int server_fd, client_fd;
+	int sin_size;
+	struct sockaddr_in server_addr;
+	struct sockaddr_in client_addr;
+	struct sigaction sa;
+	char recvin[1024];
+	char path[1024];
+	char line[1024];
+	int optval = 1;
+	if (ws_config_read(WEB_CONF)) exit(0);
+	if (config.show_title)
+		ws_display_title();
+	else
+		printf("eAthena Web Server (Second Edition)\n");
+	if (strcmpEx(ws_password,"webpass")==0)
+		ShowWarning("You are using the default password (webpass), we highly "
+			"recommend\n           that you change it.\n");
+	else if (strstr(ws_password,"webpass"))
+		ShowWarning("Your password should not contain \"webpass\" in it, it is"
+			" highly\n           recommended that you change it.\n");
+	printf("Web Server Password: %s\n",ws_password);
+	printf("Web Server Port: %d\n",config.port);
+
+	if ((server_fd = socket(AF_INET, SOCK_STREAM,0)) == -1) {
+		ShowError("In main() -> Could not open socket.\n");
+		return 1;
+	}
+	if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
+		ShowError("In main() -> Could not set socket options.\n");
+		return 1;
+	}
+	server_addr.sin_family = AF_INET;
+	server_addr.sin_port = htons(config.port);
+	server_addr.sin_addr.s_addr = INADDR_ANY;
+	memset(&(server_addr.sin_zero), '\0', 8);
+
+	if (bind(server_fd, (struct sockaddr *)&server_addr, sizeof(struct sockaddr)) < 0) {
+		snprintf(tmp_output,sizeof(tmp_output),"In main() -> Could not bind to port number: %d\n",config.port);
+		ShowError(tmp_output);
+		return 1;
+	}
+
+	if (listen(server_fd, MAX_CONNECTIONS) < 0) {
+		snprintf(tmp_output,sizeof(tmp_output),"In main() -> Could not listen on port number: %d\n",config.port);
+		ShowError(tmp_output);
+		return 1;
+	}
+
+	sa.sa_handler = ws_sigchld_handler;
+	sigemptyset(&sa.sa_mask);
+	sa.sa_flags = SA_RESTART;
+
+	if (sigaction(SIGCHLD, &sa, NULL) < 0) {
+		ShowError("In main() -> Invalid sigaction.\n");
+		return 1;
+	}
+	ShowInfo("eAthena Web Server is now listening for incoming connections.\n");
+
+	while(1)
+	{
+		sin_size = sizeof(struct sockaddr_in);
+		client_fd = accept(server_fd, (struct sockaddr *)&client_addr, &sin_size);
+
+		if (!fork())
+		{
+			close(server_fd);
+			memset(recvin, 0x0, 500);
+			recv(client_fd, recvin, 500, 0);
+			char *html_output;
+			int count = 0;
+			if (sscanf(recvin,"GET %[a-zA-Z_-.+\%#@~] %*[^\n]",path)==1) {
+				FILE *fp;
+				strcpy(tmp_output,HOME);
+				strcat(tmp_output,path);
+				fp = fopen(tmp_output,"r+");
+				if (fp==NULL) {
+					send(client_fd,"File not found",strlen("File not found"), 0);
+					close(client_fd);
+				}
+				memset(tmp_output,0x0,strlen(tmp_output));
+				html_output = (char*)malloc(sizeof(char)*2);
+				while (fgets(line,1023,fp)) {
+					html_output = (char*)realloc(sizeof(html_output)+(sizeof(char)*count));
+					strcat(html_output,line);	
+					printf(line);
+				}
+				send(client_fd,tmp_output,sizeof(tmp_output),0);
+				fclose(fp);
+			}
+		//	send(client_fd, ws_header, strlen(ws_header), 0);
+		//	generate_page(password, client_fd, get_query(recvin), inet_ntoa(client_addr.sin_addr));
+		//	log_visit(get_query(recvin), inet_ntoa(client_addr.sin_addr));
+			close(client_fd);
+			exit(0);
+		}
+		close(client_fd);	
+	}
+	return 0;
+}

+ 136 - 136
src/webserver/webserver.c

@@ -1,136 +1,136 @@
-/******************************************************************************
- #	            ______  __    __                                 			  #
- #	           /\  _  \/\ \__/\ \                                			  #
- #	         __\ \ \L\ \ \ ,_\ \ \___      __    ___      __     			  #
- #	       /'__`\ \  __ \ \ \/\ \  _ `\  /'__`\/' _ `\  /'__`\   			  #
- #  	  /\  __/\ \ \/\ \ \ \_\ \ \ \ \/\  __//\ \/\ \/\ \L\.\_ 			  #
- #        \ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\			  #
- #  	   \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/			  #
- #					eAthena Web Server (Second Edition)						  #
- #								by MC Cameri								  #
- #		  -------------------------------------------------------			  #
- #							-Website/Forum-									  #
- #					http://eathena.deltaanime.net/							  #
- #							-Download URL- 									  #
- #					http://eathena.systeminplace.net/						  #
- #							-IRC Channel-									  #
- #					irc://irc.deltaanime.net/#athena						  #
- ******************************************************************************/
-
-#include <stdio.h>
-#include <strings.h>
-#include "../common/showmsg.h"
-#include "webserver.h"
-
-char ws_password[17] = "pass";
-char ws_header[128] = {'\0'};
-
-/* Displays the eAthena Logo */
-void ws_display_title(void)
-{
-	printf("\033[2J");
-	printf("\033[37;44m          (=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1;33m        (c)2004 eAthena Development Team presents        \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m       ______  __    __                                  \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m      /\\  _  \\/\\ \\__/\\ \\                                 \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m    __\\ \\ \\_\\ \\ \\ ,_\\ \\ \\___      __    ___      __      \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m  /'__`\\ \\  __ \\ \\ \\/\\ \\  _ `\\  /'__`\\/' _ `\\  /'__`\\    \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m /\\  __/\\ \\ \\/\\ \\ \\ \\_\\ \\ \\ \\ \\/\\  __//\\ \\/\\ \\/\\ \\_\\.\\_  \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m \\ \\____\\\\ \\_\\ \\_\\ \\__\\\\ \\_\\ \\_\\ \\____\\ \\_\\ \\_\\ \\__/.\\_\\ \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m  \\/____/ \\/_/\\/_/\\/__/ \\/_/\\/_/\\/____/\\/_/\\/_/\\/__/\\/_/ \033[0;44m)\033[K\033[0m\n");
-	printf("\033[0;44m          (\033[1m   _   _   _   _   _   _   _     _   _   _   _   _   _   \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
-	printf("\033[0;44m          (\033[1m  / \\ / \\ / \\ / \\ / \\ / \\ / \\   / \\ / \\ / \\ / \\ / \\ / \\  \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
-	printf("\033[0;44m          (\033[1m ( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
-	printf("\033[0;44m          (\033[1m  \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \\_/   \\_/ \\_/ \\_/ \\_/ \\_/ \\_/  \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
-	printf("\033[0;44m          (\033[1m                                                         \033[0;44m)\033[K\033[0m\n"); // yellow writing (33)
-	printf("\033[0;44m          (\033[1;33m  Advanced Fusion Maps (c) 2003-2004 The Fusion Project  \033[0;44m)\033[K\033[0m\n"); // yellow writing (33)
-	printf("\033[37;44m          (=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)\033[K\033[0m\n\n"); // reset color
-}
-/* Returns a boolean value given character string */
-int ws_config_switch(const char *str) {
-	if (strcmpEx(str, "on") == 0 || strcmpEx(str, "yes") == 0 ||
-		strcmpEx(str, "oui") == 0 || strcmpEx(str, "ja") == 0 ||
-		strcmpEx(str, "si") == 0 || strcmpEx(str,"true") == 0)
-		return 1;
-	if (strcmpEx(str, "off") == 0 || strcmpEx(str, "no") == 0 ||
-		strcmpEx(str, "non") == 0 || strcmpEx(str, "nein") == 0 ||
-		strcmpEx(str, "false") == 0)
-		return 0;
-	return atoi(str);
-}
-
-/*  Reads the eAthena Web Server's configuration file */
-int ws_config_read(const char *cfgName)
-{
-	int i;
-	char line[1024],w1[1024],w2[1024],temp[1024];
-	FILE *fp;
-
-	/* Default values */
-	config.show_title=0;
-	config.port=80;
-
-
-	fp=fopen(cfgName,"r");
-	if(fp==NULL){
-		snprintf(temp,sizeof(temp),"Could not open \033[1;29m%s\033[0;0m, file not found.\n",cfgName);
-		ShowMessage(temp,MSG_ERROR);
-		return 1;
-	}
-	while(fgets(line,1020,fp)){
-		const struct {
-			char str[128];
-			int *val;
-		} data[] ={
-			//List of variables
-			{ "show_title",		&config.show_title	},
-			{ "port",			&config.port		},
-		};
-
-		if((line[0] == '/' && line[1] == '/') || (line[0]=='#') ||
-			(sscanf(line,"%1023[^:]:%1023[^\n]",w1,w2) !=2))
-			continue;
-		for(i=0;i<sizeof(data)/(sizeof(data[0]));i++) {
-			if(strcmpEx(w1,data[i].str)==0){
-				*data[i].val=ws_config_switch(w2);
-				break;
-			}
-		}
-		if(strcmpEx(w1,"import")==0) {
-			ws_config_read(w2);
-			continue;
-		}
-		if(strcmpEx(w1,"password")==0) {
-			if (strlen(w2)>16) {
-				ShowError("The Web Server password is too long, maximum passwor"
-					"d length is 16 characters.\n");
-				return 1;
-			}
-			strcpy(ws_password,w2);
-			continue;
-		}
-		if(strcmpEx(w1,"header")==0) {
-			if (strlen(w2)>127) {
-				ShowError("The Web Server header is too long, maximum header"
-					"d length is 127 characters.\n");
-				return 1;
-			}
-			strcpy(ws_header,w2);
-			continue;
-		}
-	}
-	fclose(fp);
-
-	//Correct values
-	if(config.show_title < 0)
-		config.show_title = 0;
-	if(config.port < 1 || config.port > 65534)
-		config.port=80;
-
-	return 0;
-}
-
-void ws_sigchld_handler(int s)
-{
-	while(wait(NULL) > 0);
-}
+/******************************************************************************
+ #	            ______  __    __                                 			  #
+ #	           /\  _  \/\ \__/\ \                                			  #
+ #	         __\ \ \L\ \ \ ,_\ \ \___      __    ___      __     			  #
+ #	       /'__`\ \  __ \ \ \/\ \  _ `\  /'__`\/' _ `\  /'__`\   			  #
+ #  	  /\  __/\ \ \/\ \ \ \_\ \ \ \ \/\  __//\ \/\ \/\ \L\.\_ 			  #
+ #        \ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\			  #
+ #  	   \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/			  #
+ #					eAthena Web Server (Second Edition)						  #
+ #								by MC Cameri								  #
+ #		  -------------------------------------------------------			  #
+ #							-Website/Forum-									  #
+ #					http://eathena.deltaanime.net/							  #
+ #							-Download URL- 									  #
+ #					http://eathena.systeminplace.net/						  #
+ #							-IRC Channel-									  #
+ #					irc://irc.deltaanime.net/#athena						  #
+ ******************************************************************************/
+
+#include <stdio.h>
+#include <strings.h>
+#include "../common/showmsg.h"
+#include "webserver.h"
+
+char ws_password[17] = "pass";
+char ws_header[128] = {'\0'};
+
+/* Displays the eAthena Logo */
+void ws_display_title(void)
+{
+	printf("\033[2J");
+	printf("\033[37;44m          (=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1;33m        (c)2004 eAthena Development Team presents        \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m       ______  __    __                                  \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m      /\\  _  \\/\\ \\__/\\ \\                                 \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m    __\\ \\ \\_\\ \\ \\ ,_\\ \\ \\___      __    ___      __      \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m  /'__`\\ \\  __ \\ \\ \\/\\ \\  _ `\\  /'__`\\/' _ `\\  /'__`\\    \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m /\\  __/\\ \\ \\/\\ \\ \\ \\_\\ \\ \\ \\ \\/\\  __//\\ \\/\\ \\/\\ \\_\\.\\_  \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m \\ \\____\\\\ \\_\\ \\_\\ \\__\\\\ \\_\\ \\_\\ \\____\\ \\_\\ \\_\\ \\__/.\\_\\ \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m  \\/____/ \\/_/\\/_/\\/__/ \\/_/\\/_/\\/____/\\/_/\\/_/\\/__/\\/_/ \033[0;44m)\033[K\033[0m\n");
+	printf("\033[0;44m          (\033[1m   _   _   _   _   _   _   _     _   _   _   _   _   _   \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
+	printf("\033[0;44m          (\033[1m  / \\ / \\ / \\ / \\ / \\ / \\ / \\   / \\ / \\ / \\ / \\ / \\ / \\  \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
+	printf("\033[0;44m          (\033[1m ( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
+	printf("\033[0;44m          (\033[1m  \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \\_/   \\_/ \\_/ \\_/ \\_/ \\_/ \\_/  \033[0;44m)\033[K\033[0m\n"); // 1: bold char, 0: normal char
+	printf("\033[0;44m          (\033[1m                                                         \033[0;44m)\033[K\033[0m\n"); // yellow writing (33)
+	printf("\033[0;44m          (\033[1;33m  Advanced Fusion Maps (c) 2003-2004 The Fusion Project  \033[0;44m)\033[K\033[0m\n"); // yellow writing (33)
+	printf("\033[37;44m          (=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)\033[K\033[0m\n\n"); // reset color
+}
+/* Returns a boolean value given character string */
+int ws_config_switch(const char *str) {
+	if (strcmpEx(str, "on") == 0 || strcmpEx(str, "yes") == 0 ||
+		strcmpEx(str, "oui") == 0 || strcmpEx(str, "ja") == 0 ||
+		strcmpEx(str, "si") == 0 || strcmpEx(str,"true") == 0)
+		return 1;
+	if (strcmpEx(str, "off") == 0 || strcmpEx(str, "no") == 0 ||
+		strcmpEx(str, "non") == 0 || strcmpEx(str, "nein") == 0 ||
+		strcmpEx(str, "false") == 0)
+		return 0;
+	return atoi(str);
+}
+
+/*  Reads the eAthena Web Server's configuration file */
+int ws_config_read(const char *cfgName)
+{
+	int i;
+	char line[1024],w1[1024],w2[1024],temp[1024];
+	FILE *fp;
+
+	/* Default values */
+	config.show_title=0;
+	config.port=80;
+
+
+	fp=fopen(cfgName,"r");
+	if(fp==NULL){
+		snprintf(temp,sizeof(temp),"Could not open \033[1;29m%s\033[0;0m, file not found.\n",cfgName);
+		ShowMessage(temp,MSG_ERROR);
+		return 1;
+	}
+	while(fgets(line,1020,fp)){
+		const struct {
+			char str[128];
+			int *val;
+		} data[] ={
+			//List of variables
+			{ "show_title",		&config.show_title	},
+			{ "port",			&config.port		},
+		};
+
+		if((line[0] == '/' && line[1] == '/') || (line[0]=='#') ||
+			(sscanf(line,"%1023[^:]:%1023[^\n]",w1,w2) !=2))
+			continue;
+		for(i=0;i<sizeof(data)/(sizeof(data[0]));i++) {
+			if(strcmpEx(w1,data[i].str)==0){
+				*data[i].val=ws_config_switch(w2);
+				break;
+			}
+		}
+		if(strcmpEx(w1,"import")==0) {
+			ws_config_read(w2);
+			continue;
+		}
+		if(strcmpEx(w1,"password")==0) {
+			if (strlen(w2)>16) {
+				ShowError("The Web Server password is too long, maximum passwor"
+					"d length is 16 characters.\n");
+				return 1;
+			}
+			strcpy(ws_password,w2);
+			continue;
+		}
+		if(strcmpEx(w1,"header")==0) {
+			if (strlen(w2)>127) {
+				ShowError("The Web Server header is too long, maximum header"
+					"d length is 127 characters.\n");
+				return 1;
+			}
+			strcpy(ws_header,w2);
+			continue;
+		}
+	}
+	fclose(fp);
+
+	//Correct values
+	if(config.show_title < 0)
+		config.show_title = 0;
+	if(config.port < 1 || config.port > 65534)
+		config.port=80;
+
+	return 0;
+}
+
+void ws_sigchld_handler(int s)
+{
+	while(wait(NULL) > 0);
+}

+ 21 - 21
src/webserver/webserver.h

@@ -1,21 +1,21 @@
-#ifndef WEBSERV_H_
-#define WEBSERV_H_
-
-#define strcmpEx(x,y) (strcasecmp(x,y))
-
-extern void ws_display_title(void);
-
-extern int ws_config_read(const char *cfgName);
-
-extern struct config {
-	int show_title;
-	int port;
-} config;
-
-extern char ws_password[17]; //16 chars + \0
-
-extern char ws_header[128]; //!?
-
-extern void ws_sigchld_handler(int s);
-
-#endif
+#ifndef WEBSERV_H_
+#define WEBSERV_H_
+
+#define strcmpEx(x,y) (strcasecmp(x,y))
+
+extern void ws_display_title(void);
+
+extern int ws_config_read(const char *cfgName);
+
+extern struct config {
+	int show_title;
+	int port;
+} config;
+
+extern char ws_password[17]; //16 chars + \0
+
+extern char ws_header[128]; //!?
+
+extern void ws_sigchld_handler(int s);
+
+#endif