test items

This commit is contained in:
shoopea 2020-01-12 19:43:45 +08:00
parent 3fb623cc2b
commit e1895ca172
4 changed files with 43 additions and 654 deletions

4
def.go
View File

@ -100,9 +100,9 @@ type ChatWarsItem struct {
ObjID64 int64 `json:"obj_id"`
ItemTypeID int64 `json:"item_type_id"`
Code string `json:"code"`
Name string `json:"name"`
Names []string `json:"name"`
Weight int64 `json:"weight"`
Exchange bool `json:"exchange"`
Exchange string `json:"exchange"`
Auction bool `json:"auction"`
Craft ChatWarsItemCraft `json:"craft"`
}

639
items.go
View File

@ -30,642 +30,3 @@ func reloadObjItem(code string, name string, itemTypeID64 int64, weight int64, e
}
}
func resetObjItem() {
log.Print("Reloading items")
reloadObjItem(`01`, `Thread`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`02`, `Stick`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`03`, `Pelt`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`04`, `Bone`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`05`, `Coal`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`06`, `Charcoal`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`07`, `Powder`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`08`, `Iron Ore`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`08`, `Iron ore`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`09`, `Cloth`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`10`, `Silver Ore`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`10`, `Silver ore`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`100`, `Pouch of Gold`, cacheObjSubType[`item_res`], 0, false, false)
reloadObjItem(`11`, `Bauxite`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`12`, `Cord`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`13`, `Magic Stone`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`13`, `Magic stone`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`14`, `Wooden Shaft`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`14`, `Wooden shaft`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`15`, `Sapphire`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`16`, `Solvent`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`17`, `Ruby`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`18`, `Hardener`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`19`, `Steel`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`20`, `Leather`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`21`, `Bone Powder`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`21`, `Bone powder`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`22`, `String`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`23`, `Coke`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`24`, `Purified Powder`, cacheObjSubType[`item_res`], 1, false, false)
reloadObjItem(`24`, `Purified powder`, cacheObjSubType[`item_res`], 1, false, false)
reloadObjItem(`25`, `Silver Alloy`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`25`, `Silver alloy`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`27`, `Steel Mold`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`27`, `Steel mold`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`28`, `Silver Mold`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`28`, `Silver mold`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`29`, `Blacksmith Frame`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`29`, `Blacksmith frame`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`30`, `Artisan Frame`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`30`, `Artisan frame`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`31`, `Rope`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`32`, `Silver Frame`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`32`, `Silver frame`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`33`, `Metal Plate`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`33`, `Metal plate`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`34`, `Metallic Fiber`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`34`, `Metallic fiber`, cacheObjSubType[`item_res`], 2, true, false)
reloadObjItem(`35`, `Crafted Leather`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`35`, `Crafted leather`, cacheObjSubType[`item_res`], 1, true, false)
reloadObjItem(`36`, `Quality Cloth`, cacheObjSubType[`item_res`], 2, false, false)
reloadObjItem(`37`, `Blacksmith Mold`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`38`, `Artisan Mold`, cacheObjSubType[`item_res`], 3, false, false)
reloadObjItem(`39`, `Stinky Sumac`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`40`, `Mercy Sassafras`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`41`, `Cliff Rue`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`42`, `Love Creeper`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`43`, `Wolf Root`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`44`, `Swamp Lavender`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`45`, `White Blossom`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`46`, `Ilaves`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`47`, `Ephijora`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`48`, `Storm Hyssop`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`49`, `Cave Garlic`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`50`, `Yellow Seed`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`51`, `Tecceagrass`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`52`, `Spring Bay Leaf`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`53`, `Ash Rosemary`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`54`, `Sanguine Parsley`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`55`, `Sun Tarragon`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`56`, `Maccunut`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`57`, `Dragon Seed`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`58`, `Queen's Pepper`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`59`, `Plasma of Abyss`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`59`, `Plasma of abyss`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`60`, `Ultramarine Dust`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`61`, `Ethereal Bone`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`62`, `Itacory`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`63`, `Assassin Vine`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`64`, `Kloliarway`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`65`, `Astrulic`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`66`, `Flammia Nut`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`67`, `Plexisop`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`68`, `Mammoth Dill`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`69`, `Silver Dust`, cacheObjSubType[`item_alch`], 1, true, false)
reloadObjItem(`501`, `Wrapping`, cacheObjSubType[`item_misc`], 2, false, false)
reloadObjItem(`502`, `Leash`, cacheObjSubType[`item_misc`], 2, false, false)
reloadObjItem(`505`, `Wooden Arrow`, cacheObjSubType[`item_misc`], 10, false, false)
reloadObjItem(`507`, `Bottle of Remedy`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`509`, `Bottle of Poison`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`511`, `Steel Arrow`, cacheObjSubType[`item_misc`], 10, false, false)
reloadObjItem(`513`, `Silver Arrow`, cacheObjSubType[`item_misc`], 10, false, false)
reloadObjItem(`515`, `Broad Arrows Pack`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`517`, `Heavy Arrows Pack`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`519`, `Compound Arrows Pack`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`614`, `🎟Gift Coupon 'Pig'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`615`, `🎟Gift Coupon 'Horse'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`616`, `🎟Gift Coupon 'Owl'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`617`, `🎟Gift Coupon 'Mouse'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`618`, `Hay`, cacheObjSubType[`item_misc`], 5, true, false) // PROPAGATE TO WIKI
reloadObjItem(`619`, `Corn`, cacheObjSubType[`item_misc`], 5, true, false) // PROPAGATE TO WIKI
reloadObjItem(`620`, `Hamsters`, cacheObjSubType[`item_misc`], 5, true, false) // PROPAGATE TO WIKI
reloadObjItem(`621`, `Cheese`, cacheObjSubType[`item_misc`], 5, true, false) // PROPAGATE TO WIKI
reloadObjItem(`622`, `🎟Gift Coupon 'Gopher'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`623`, `🎟Gift Coupon 'Ants'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`624`, `🎟Gift Coupon 'Spider'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`625`, `🎟Gift Coupon 'Haunted'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`626`, `🎟Gift Coupon 'Camel'`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`a01`, `Cloth Jacket`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a01`, `Cloth jacket`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a02`, `Leather Shirt`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a03`, `Chain Mail`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a03`, `Chain mail`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a04`, `Silver Cuirass`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a04`, `Silver cuirass`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a05`, `Mithril Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a05`, `Mithril armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a06`, `Hat`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a07`, `Leather Hood`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a08`, `Steel Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a08`, `Steel helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a09`, `Silver Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a09`, `Silver helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a10`, `Mithril Helmet`, cacheObjSubType[`item_other`], 190, false, true) // PROPAGATE TO WIKI
reloadObjItem(`a10`, `Mithril helmet`, cacheObjSubType[`item_other`], 190, false, true) // PROPAGATE TO WIKI
reloadObjItem(`a11`, `Sandals`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a12`, `Leather Shoes`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a13`, `Steel Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a13`, `Steel boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a14`, `Silver Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a14`, `Silver boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a15`, `Mithril Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a15`, `Mithril boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a16`, `Gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a17`, `Leather Gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a17`, `Leather gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a18`, `Steel Gauntlets`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a19`, `Silver Gauntlets`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a19`, `Silver gauntlets`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a20`, `Mithril Gauntlets`, cacheObjSubType[`item_other`], 125, false, true) // PROPAGATE TO WIKI
reloadObjItem(`a20`, `Mithril gauntlets`, cacheObjSubType[`item_other`], 125, false, true) // PROPAGATE TO WIKI
reloadObjItem(`a21`, `Wooden Shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a21`, `Wooden shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a22`, `Skeleton Buckler`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a23`, `Bronze Shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a23`, `Bronze shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a24`, `Silver Shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a24`, `Silver shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a25`, `Mithril Shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a25`, `Mithril shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a26`, `Royal Guard Cape`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a27`, `Order Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a28`, `Order Helmet`, cacheObjSubType[`item_other`], 190, false, true)
reloadObjItem(`a29`, `Order Boots`, cacheObjSubType[`item_other`], 125, false, true)
reloadObjItem(`a30`, `Order Gauntlets`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a31`, `Order Shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a32`, `Hunter Armor`, cacheObjSubType[`item_other`], 450, false, true)
reloadObjItem(`a33`, `Hunter Helmet`, cacheObjSubType[`item_other`], 190, false, true)
reloadObjItem(`a34`, `Hunter Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a35`, `Hunter Gloves`, cacheObjSubType[`item_other`], 125, false, true) // PROPAGATE TO WIKI
reloadObjItem(`a36`, `Clarity Robe`, cacheObjSubType[`item_other`], 450, false, true)
reloadObjItem(`a37`, `Clarity Circlet`, cacheObjSubType[`item_other`], 190, false, true)
reloadObjItem(`a38`, `Clarity Shoes`, cacheObjSubType[`item_other`], 125, false, true)
reloadObjItem(`a39`, `Clarity Bracers`, cacheObjSubType[`item_other`], 125, false, true)
reloadObjItem(`a40`, `Pencil of Truth`, cacheObjSubType[`item_other`], 10, false, true)
reloadObjItem(`a41`, `Bard's Cape`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a45`, `Crusader Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a46`, `Crusader Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a47`, `Crusader Boots`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a48`, `Crusader Gauntlets`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a49`, `Crusader Shield`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a50`, `Royal Armor`, cacheObjSubType[`item_other`], 480, false, true) // PROPAGATE TO WIKI
reloadObjItem(`a51`, `Royal Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a52`, `Royal Boots`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a53`, `Royal Gauntlets`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`a54`, `Royal Shield`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a55`, `Ghost Armor`, cacheObjSubType[`item_other`], 480, false, true)
reloadObjItem(`a56`, `Ghost Helmet`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a57`, `Ghost Boots`, cacheObjSubType[`item_other`], 90, false, true)
reloadObjItem(`a58`, `Ghost Gloves`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`a59`, `Lion Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a60`, `Lion Helmet`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a61`, `Lion Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a62`, `Lion Gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a63`, `Demon Robe`, cacheObjSubType[`item_other`], 480, false, true)
reloadObjItem(`a64`, `Demon Circlet`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a65`, `Demon Shoes`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`a66`, `Demon Bracers`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`a67`, `Divine Robe`, cacheObjSubType[`item_other`], 480, false, true)
reloadObjItem(`a68`, `Divine Circlet`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`a69`, `Divine Shoes`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`a70`, `Divine Bracers`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`a71`, `Storm Cloak`, cacheObjSubType[`item_other`], 30, false, true)
reloadObjItem(`a72`, `Durable Cloak`, cacheObjSubType[`item_other`], 30, false, true) // PROPAGATE TO WIKI
reloadObjItem(`a73`, `Blessed Cloak`, cacheObjSubType[`item_other`], 30, false, true)
reloadObjItem(`a74`, `Hiking Jar`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a75`, `Hiking Bag`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a76`, `Stick of Wisdom`, cacheObjSubType[`item_other`], 10, false, true)
reloadObjItem(`a78`, `Council Armor`, cacheObjSubType[`item_other`], 510, false, true)
reloadObjItem(`a79`, `Council Helmet`, cacheObjSubType[`item_other`], 210, false, true)
reloadObjItem(`a80`, `Council Boots`, cacheObjSubType[`item_other`], 155, false, true)
reloadObjItem(`a81`, `Council Gauntlets`, cacheObjSubType[`item_other`], 155, false, true)
reloadObjItem(`a82`, `Council Shield`, cacheObjSubType[`item_other`], 220, false, true)
reloadObjItem(`a83`, `Griffin Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a84`, `Griffin Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a85`, `Griffin Boots`, cacheObjSubType[`item_other`], 155, false, true)
reloadObjItem(`a86`, `Griffin Gloves`, cacheObjSubType[`item_other`], 155, false, true)
reloadObjItem(`a87`, `Celestial Armor`, cacheObjSubType[`item_other`], 510, false, true)
reloadObjItem(`a88`, `Celestial Helmet`, cacheObjSubType[`item_other`], 210, false, true)
reloadObjItem(`a89`, `Celestial Boots`, cacheObjSubType[`item_other`], 155, false, true)
reloadObjItem(`a90`, `Celestial Bracers`, cacheObjSubType[`item_other`], 155, false, true)
reloadObjItem(`a100`, `Assault Cape`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a101`, `Craftsman Apron`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`a102`, `Stoneskin Cloak`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`ch1`, `Zombie Chest`, cacheObjSubType[`item_other`], -1, false, false)
reloadObjItem(`e1`, `Cocoa Powder`, cacheObjSubType[`item_other`], 1, false, false)
reloadObjItem(`e101`, `🧟‍♂️ Witchling Robe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e102`, `🧟‍♂️ Witchling Circlet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e103`, `🧟‍♂️ Witchling Shoes`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e104`, `🧟‍♂️ Witchling Bracers`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e105`, `🧟‍♂️ Witch Robe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e106`, `🧟‍♂️ Witch Circlet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e107`, `🧟‍♂️ Witch Shoes`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e108`, `🧟‍♂️ Witch Bracers`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e109`, `🧟‍♂️ Walker Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e109`, `🧟‍♂️ Walker armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e110`, `🧟‍♂️ Walker Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e110`, `🧟‍♂️ Walker helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e111`, `🧟‍♂️ Walker Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e111`, `🧟‍♂️ Walker boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e112`, `🧟‍♂️ Walker gauntlets`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e112`, `🧟‍♂️ Walker Gauntlets`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e113`, `🧟‍♂️ Walker Shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e113`, `🧟‍♂️ Walker shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e114`, `🧟‍♂️ Zombie Armor`, cacheObjSubType[`item_other`], 480, false, true)
reloadObjItem(`e115`, `🧟‍♂️ Zombie Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e116`, `🧟‍♂️ Zombie Boots`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`e117`, `🧟‍♂️ Zombie Gauntlets`, cacheObjSubType[`item_other`], 140, false, true)
reloadObjItem(`e118`, `🧟‍♂️ Zombie Shield`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e119`, `🧟‍♂️ Imp Robe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e120`, `🧟‍♂️ Imp Circlet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e121`, `🧟‍♂️ Imp Shoes`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e122`, `🧟‍♂️ Imp Bracers`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e123`, `🧟‍♂️ Demon Robe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e124`, `🧟‍♂️ Demon Circlet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e125`, `🧟‍♂️ Demon Shoes`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e126`, `🧟‍♂️ Demon Bracers`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e127`, `🧟‍♂️ Manwolf Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e128`, `🧟‍♂️ Manwolf Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e129`, `🧟‍♂️ Manwolf Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e130`, `🧟‍♂️ Manwolf Gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e131`, `🧟‍♂️ Werewolf Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e132`, `🧟‍♂️ Werewolf Helmet`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`e133`, `🧟‍♂️ Werewolf Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e134`, `🧟‍♂️ Werewolf Gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e135`, `🧟‍♂️ Fleder Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e136`, `🧟‍♂️ Fleder Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e137`, `🧟‍♂️ Fleder Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e138`, `🧟‍♂️ Fleder Gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e139`, `🧟‍♂️ Nosferatu Armor`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e140`, `🧟‍♂️ Nosferatu Helmet`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e141`, `🧟‍♂️ Nosferatu Boots`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e142`, `🧟‍♂️ Nosferatu Gloves`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e143`, `🧟‍♂️ Witchling Staff`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e144`, `🧟‍♂️ War Club`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e145`, `🧟‍♂️ Imp Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e146`, `🧟‍♂️ Imp Whip`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e147`, `🧟‍♂️ Manwolf Knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e148`, `🧟‍♂️ Fleder Scimitar`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e149`, `🧟‍♂️ Witch Staff`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e150`, `🧟‍♂️ Walker Club`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e151`, `🧟‍♂️ Demon Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e152`, `🧟‍♂️ Demon Whip`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e153`, `🧟‍♂️ Werewolf Knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e154`, `🧟‍♂️ Nosferatu Rapier`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`e2`, `Egg`, cacheObjSubType[`item_misc`], 1, false, false)
reloadObjItem(`e3`, `Flour`, cacheObjSubType[`item_misc`], 1, false, false)
reloadObjItem(`e4`, `Milk`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`e5`, `Sugar`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`est`, `Evil Spirits Totem`, cacheObjSubType[`item_misc`], 50, false, false)
reloadObjItem(`hw102`, `Timeless Jade`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`hw104`, `Shadow Bloodstone`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`hw107`, `Void Emerald`, cacheObjSubType[`item_misc`], -1, false, false)
reloadObjItem(`k01`, `Champion blade`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k02`, `Trident blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k03`, `Hunter shaft`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k04`, `War Hammer head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k04`, `War hammer head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k05`, `Hunter blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k06`, `Order Armor piece`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k06`, `Order armor piece`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k07`, `Order Helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k07`, `Order helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k08`, `Order Boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k08`, `Order boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k09`, `Order Gauntlets part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k09`, `Order gauntlets part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k10`, `Order Shield part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k10`, `Order shield part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k11`, `Hunter Armor part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k11`, `Hunter armor part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k12`, `Hunter Helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k12`, `Hunter helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k13`, `Hunter Boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k13`, `Hunter boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k14`, `Hunter Gloves part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k14`, `Hunter gloves part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k15`, `Clarity Robe piece`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k16`, `Clarity Circlet fragment`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k17`, `Clarity Shoes part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k18`, `Clarity Bracers part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k19`, `Thundersoul blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k20`, `Doomblade blade`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k21`, `Eclipse blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k22`, `Guard's blade`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k23`, `King's Defender blade`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k23`, `King's defender blade`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k24`, `Raging Lance blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k24`, `Raging lance blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k25`, `Composite Bow shaft`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k25`, `Composite bow shaft`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k26`, `Lightning Bow shaft`, cacheObjSubType[`item_part`], -1, false, true)
reloadObjItem(`k26`, `Lightning bow shaft`, cacheObjSubType[`item_part`], -1, false, true)
reloadObjItem(`k27`, `Hailstorm Bow shaft`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k27`, `Hailstorm bow shaft`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k28`, `Imperial Axe head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k28`, `Imperial axe head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k29`, `Skull Crusher head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k29`, `Skull crusher head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k30`, `Dragon Mace head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k30`, `Dragon mace head`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k31`, `Ghost blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k32`, `Lion blade`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k33`, `Crusader Armor piece`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k33`, `Crusader armor piece`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k34`, `Crusader Helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k34`, `Crusader helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k35`, `Crusader Boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k35`, `Crusader boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k36`, `Crusader Gauntlets part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k36`, `Crusader gauntlets part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k37`, `Crusader shield part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k38`, `Royal Armor piece`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k38`, `Royal armor piece`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k39`, `Royal Helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k39`, `Royal helmet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k40`, `Royal Boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k40`, `Royal boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k41`, `Royal Gauntlets part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k41`, `Royal gauntlets part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k42`, `Royal Shield part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k42`, `Royal shield part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k43`, `Ghost Armor part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k43`, `Ghost armor part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k44`, `Ghost Helmet fragment`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k44`, `Ghost helmet fragment`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k45`, `Ghost Boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k45`, `Ghost boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k46`, `Ghost Gloves part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k46`, `Ghost gloves part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k47`, `Lion Armor part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k47`, `Lion armor part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k48`, `Lion Helmet fragment`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k48`, `Lion helmet fragment`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k49`, `Lion Boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k49`, `Lion boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k50`, `Lion Gloves part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k50`, `Lion gloves part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k51`, `Demon Robe piece`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k51`, `Demon robe piece`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k52`, `Demon Circlet fragment`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k52`, `Demon circlet fragment`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k53`, `Demon Shoes part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k53`, `Demon shoes part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k54`, `Demon Bracers part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k54`, `Demon bracers part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k55`, `Divine Robe piece`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k55`, `Divine robe piece`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k56`, `Divine Circlet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k56`, `Divine circlet fragment`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k57`, `Divine Shoes part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k57`, `Divine shoes part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k58`, `Divine Bracers part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k58`, `Divine bracers part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k59`, `Storm Cloak part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k59`, `Storm cloak part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k60`, `Durable Cloak part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k60`, `Durable cloak part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k61`, `Blessed Cloak part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k61`, `Blessed cloak part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k78`, `Council Armor part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k78`, `Council armor part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k79`, `Council Helmet part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k79`, `Council helmet part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k80`, `Council Boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k80`, `Council boots part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k81`, `Council Gauntlets part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k81`, `Council gauntlets part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k81`, `Council Gloves part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k81`, `Council gloves part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k82`, `Council Shield part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k82`, `Council shield part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k83`, `Griffin Armor part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k83`, `Griffin armor part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k84`, `Griffin Helmet part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k84`, `Griffin helmet part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k85`, `Griffin Boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k85`, `Griffin boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k86`, `Griffin Gloves part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k86`, `Griffin gloves part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k87`, `Celestial Armor part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k88`, `Celestial Helmet part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k89`, `Celestial Boots part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k90`, `Celestial Bracers part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k90`, `Celestial Gloves part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k91`, `Griffin Knife part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k92`, `Minotaur Sword part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k93`, `Phoenix Sword part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k94`, `Heavy Fauchard part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k95`, `Guisarme part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k96`, `Meteor Bow part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k97`, `Nightfall Bow part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k98`, `Black Morningstar part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k99`, `Maiming Bulawa part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k100`, `Assault Cape part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`k101`, `Craftsman Apron part`, cacheObjSubType[`item_part`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`k102`, `Stoneskin Cloak part`, cacheObjSubType[`item_part`], 10, false, true)
reloadObjItem(`p01`, `Vial of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p02`, `Potion of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p03`, `Bottle of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p04`, `Vial of Peace`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`p05`, `Potion of Peace`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`p06`, `Bottle of Peace`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`p07`, `Vial of Greed`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p08`, `Potion of Greed`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p09`, `Bottle of Greed`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p10`, `Vial of Nature`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p11`, `Potion of Nature`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p12`, `Bottle of Nature`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p13`, `Vial of Mana`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p14`, `Potion of Mana`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p15`, `Bottle of Mana`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p16`, `Vial of Twilight`, cacheObjSubType[`item_misc`], 1, false, true)
reloadObjItem(`p17`, `Potion of Twilight`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p18`, `Bottle of Twilight`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p19`, `Vial of Morph`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p20`, `Potion of Morph`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`p21`, `Bottle of Morph`, cacheObjSubType[`item_misc`], 1, false, true) // PROPAGATE TO WIKI
reloadObjItem(`pmp`, `Pumpkin`, cacheObjSubType[`item_misc`], -1, false, true)
reloadObjItem(`pol`, `Proof of Loyalty`, cacheObjSubType[`item_misc`], -1, false, true)
reloadObjItem(`tde`, `deerhorn earlooms`, cacheObjSubType[`item_misc`], -1, false, true)
reloadObjItem(`r01`, `Champion Sword recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r02`, `Trident recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r03`, `Hunter Bow recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r04`, `War hammer recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r05`, `Hunter Dagger recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r06`, `Order Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r07`, `Order Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r08`, `Order Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r09`, `Order Gauntlets recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r10`, `Order Shield recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r10`, `Order shield recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r11`, `Hunter Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r12`, `Hunter Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r13`, `Hunter Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r14`, `Hunter Gloves recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r15`, `Clarity Robe recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r16`, `Clarity Circlet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r17`, `Clarity Shoes recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r18`, `Clarity Bracers recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r19`, `Thundersoul Sword recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r20`, `Doomblade Sword recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r21`, `Eclipse recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r22`, `Guard's Spear recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r23`, `King's Defender recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r24`, `Raging Lance recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r25`, `Composite Bow recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r26`, `Lightning Bow recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r27`, `Hailstorm Bow recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r28`, `Imperial Axe recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r29`, `Skull Crusher recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r30`, `Dragon Mace recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r31`, `Ghost Dagger recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r31`, `Ghost dagger recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r32`, `Lion Knife recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r33`, `Crusader Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r34`, `Crusader Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r35`, `Crusader Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r36`, `Crusader Gauntlets recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r37`, `Crusader Shield recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r37`, `Crusader shield recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r38`, `Royal Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r39`, `Royal Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r40`, `Royal Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r41`, `Royal Gauntlets recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r42`, `Royal Shield recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r42`, `Royal shield recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r43`, `Ghost Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r44`, `Ghost Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r45`, `Ghost Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r46`, `Ghost Gloves recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r47`, `Lion Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`r48`, `Lion Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r49`, `Lion Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r50`, `Lion Gloves recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r51`, `Demon Robe recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r52`, `Demon Circlet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r53`, `Demon Shoes recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r54`, `Demon Bracers recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r55`, `Divine Robe recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r56`, `Divine Circlet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r57`, `Divine Shoes recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r58`, `Divine Bracers recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r59`, `Storm Cloak recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r60`, `Durable Cloak recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r61`, `Blessed Cloak recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r78`, `Council Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`r79`, `Council Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`r80`, `Council Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`r81`, `Council Gauntlets recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r82`, `Council Shield recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r83`, `Griffin Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r84`, `Griffin Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r85`, `Griffin Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r86`, `Griffin Gloves recipe`, cacheObjSubType[`item_recipe`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`r87`, `Celestial Armor recipe`, cacheObjSubType[`item_recipe`], 10, false, true) // PROPAGATE TO WIKI
reloadObjItem(`r88`, `Celestial Helmet recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r89`, `Celestial Boots recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r90`, `Celestial Bracers recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r91`, `Griffin Knife recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r92`, `Minotaur Sword recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r93`, `Phoenix Sword recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r94`, `Heavy Fauchard recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r95`, `Guisarme recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r96`, `Meteor Bow recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r97`, `Nightfall Bow recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r98`, `Black Morningstar recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r99`, `Maiming Bulawa recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r100`, `Assault Cape recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r101`, `Craftsman Apron recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`r102`, `Stoneskin Cloak recipe`, cacheObjSubType[`item_recipe`], 10, false, true)
reloadObjItem(`s01`, `📕Scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s02`, `📕Scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s03`, `📗Scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s04`, `📗Scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s05`, `📘Scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s06`, `📘Scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s07`, `📙Scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s08`, `📙Scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s11`, `📕Rare scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s12`, `📕Rare scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s13`, `📗Rare scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s14`, `📗Rare scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s15`, `📘Rare scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s16`, `📘Rare scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s17`, `📙Rare scroll of Rage`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s18`, `📙Rare scroll of Peace`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s50`, `🖋Scroll of Engraving`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`s51`, `Scroll of Engraving`, cacheObjSubType[`item_misc`], 1, false, true) // CREATE AND PROPAGATE TO WIKI
reloadObjItem(`tch`, `Torch`, cacheObjSubType[`item_other`], -1, false, false)
reloadObjItem(`td1`, `Colorless shard`, cacheObjSubType[`item_other`], 50, false, false) // PROPAGATE TO WIKI
reloadObjItem(`w01`, `Wooden Sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w01`, `Wooden sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w02`, `Short Sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w02`, `Short sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w03`, `Long Sword`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w03`, `Long sword`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w04`, `Widow Sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w04`, `Widow sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w05`, `Knight's Sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w05`, `Knight's sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w06`, `Elven Sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w06`, `Elven sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w07`, `Rapier`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w08`, `Short Spear`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w08`, `Short spear`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w09`, `Long Spear`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w09`, `Long spear`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w10`, `Lance`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w11`, `Elven Spear`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w11`, `Elven spear`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w12`, `Halberd`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w13`, `Kitchen Knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w13`, `Kitchen knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w14`, `Battle Knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w14`, `Battle knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w15`, `Steel Dagger`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w15`, `Steel dagger`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w16`, `Silver Dagger`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w16`, `Silver dagger`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w17`, `Mithril Dagger`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w17`, `Mithril dagger`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w18`, `Short Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w19`, `Wooden Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w20`, `Long Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w21`, `Elven Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w22`, `Forest Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w23`, `Club`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w24`, `Bone Club`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w24`, `Bone club`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w25`, `Heavy Club`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w25`, `Heavy club`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w26`, `Steel Axe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w26`, `Steel axe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w27`, `Mithril Axe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w27`, `Mithril axe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w28`, `Champion Sword`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w29`, `Trident`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w30`, `Hunter Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w31`, `War hammer`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w32`, `Hunter dagger`, cacheObjSubType[`item_other`], 180, false, true)
reloadObjItem(`w33`, `Thundersoul Sword`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w34`, `Doomblade Sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w35`, `Eclipse`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w36`, `Guard's Spear`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w37`, `King's Defender`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w38`, `Raging Lance`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w39`, `Composite Bow`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w40`, `Lightning Bow`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w41`, `Hailstorm Bow`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w42`, `Imperial Axe`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w43`, `Skull Crusher`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w44`, `Dragon Mace`, cacheObjSubType[`item_other`], 200, false, true)
reloadObjItem(`w45`, `Ghost dagger`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w46`, `Lion Knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w91`, `Griffin Knife`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w92`, `Minotaur Sword`, cacheObjSubType[`item_other`], 220, false, true)
reloadObjItem(`w93`, `Phoenix Sword`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w94`, `Heavy Fauchard`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w95`, `Guisarme`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w96`, `Meteor Bow`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w97`, `Nightfall Bow`, cacheObjSubType[`item_other`], 220, false, true)
reloadObjItem(`w98`, `Black Morningstar`, cacheObjSubType[`item_other`], -1, false, true)
reloadObjItem(`w99`, `Maiming Bulawa`, cacheObjSubType[`item_other`], 0, false, true)
}

33
obj.go
View File

@ -55,7 +55,7 @@ func initCache() {
logOnError(err, "initCache : caching user")
log.Println("Caching items ..")
err = loadObjItem()
err = loadObjItem2()
logOnError(err, "initCache : caching items")
log.Println("Caching messages ..")
@ -938,6 +938,37 @@ func getSilentObjItemID(code string, name string) int64 {
}
func loadObjItem2() error {
var items, items2 []ChatWarsItem
var count int64
muxObjItem.Lock()
cacheObjItem = make(map[string]ChatWarsItem)
muxObjItem.Unlock()
muxObjItemId.Lock()
cacheObjItemId = make(map[int64]ChatWarsItem)
muxObjItemId.Unlock()
b, err := Asset("data/obj_item.json")
logOnError(err, "loadObjItem2 : load data/obj_item.json")
if err != nil {
return err
}
err = json.Unmarshal(b, &items)
for _, i := range items {
for _, n := range i.Names {
reloadObjItem(i.Code, n, i.ItemTypeID, i.Weight, (i.Exchange != nil), i.Auction)
}
}
log.Printf("%d items loaded.\n", len(items))
return nil
}
func loadObjItem() error {
var (
id int64

21
sql.go
View File

@ -394,18 +394,15 @@ func initDB() {
failOnError(err, "initDB : create table obj_job")
log.Println("initDB : obj_job created ...")
_, err = db.Exec(`CREATE VIEW obj_job_v AS
SELECT oj.obj_id
,o.obj_sub_type_id AS job_type_id
,cost.intl_id COLLATE utf8mb4_unicode_ci AS job_type
,oj.payload COLLATE utf8mb4_unicode_ci AS payload
FROM obj_job oj
,obj o
,code_obj_sub_type cost
WHERE o.id = oj.obj_id
AND cost.id = o.obj_sub_type_id;`)
failOnError(err, "initDB : create view obj_job_v")
log.Println("initDB : obj_job_v created ...")
_, err = db.Exec(`CREATE TABLE obj_item_craft (
obj_id BIGINT UNSIGNED NOT NULL
,item_id BIGINT UNSIGNED NOT NULL
,quantity INT UNSIGNED NOT NULL
,FOREIGN KEY (obj_id) REFERENCES obj(id) ON DELETE CASCADE
,FOREIGN KEY (item_id) REFERENCES obj(id) ON DELETE CASCADE
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_bin;`)
failOnError(err, "initDB : create table obj_item_craft")
log.Println("initDB : obj_item_craft created ...")
_, err = db.Exec(`CREATE TABLE obj_name (
obj_id BIGINT UNSIGNED NOT NULL