diff --git a/.clang-format b/.clang-format index 2e0a78842d6..de45e1b2e7a 100644 --- a/.clang-format +++ b/.clang-format @@ -24,12 +24,13 @@ AlwaysBreakBeforeMultilineStrings: false AlwaysBreakTemplateDeclarations: MultiLine BinPackArguments: true BinPackParameters: true +BreakBeforeBraces: Custom BraceWrapping: AfterCaseLabel: false AfterClass: false AfterControlStatement: false AfterEnum: false - AfterFunction: true + AfterFunction: false AfterNamespace: false AfterObjCDeclaration: false AfterStruct: false @@ -42,7 +43,6 @@ BraceWrapping: SplitEmptyRecord: true SplitEmptyNamespace: true BreakBeforeBinaryOperators: All -BreakBeforeBraces: Attach BreakBeforeInheritanceComma: false BreakInheritanceList: BeforeColon BreakBeforeTernaryOperators: true diff --git a/config.lua.dist b/config.lua.dist index 073281be273..d667bb48952 100644 --- a/config.lua.dist +++ b/config.lua.dist @@ -419,11 +419,15 @@ multiplierSpeedOnFist = 5 maxSpeedOnFist = 500 disableLegacyRaids = false disableMonsterArmor = false -combatChainDelay = 50 minElementalResistance = -200 maxElementalResistance = 200 maxDamageReflection = 200 +-- Chain system +toggleChainSystem = true +combatChainDelay = 50 +combatChainTargets = 5 + -- Global server Save -- NOTE: globalServerSaveNotifyDuration in minutes globalServerSaveNotifyMessage = true diff --git a/data-canary/scripts/movements/unscripted_movements.lua b/data-canary/scripts/movements/unscripted_movements.lua deleted file mode 100644 index 1d080a031ed..00000000000 --- a/data-canary/scripts/movements/unscripted_movements.lua +++ /dev/null @@ -1,18485 +0,0 @@ -local items = { - { - -- mutant bone kilt - itemid = 40595, - type = "equip", - slot = "legs", - level = 300, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- mutant bone kilt - itemid = 40595, - type = "deequip", - slot = "legs", - level = 300, - }, - { - -- alchemist's notepad - itemid = 40594, - type = "equip", - slot = "shield", - level = 250, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- alchemist's notepad - itemid = 40594, - type = "deequip", - slot = "shield", - level = 250, - }, - { - -- mutant bone boots - itemid = 40593, - type = "equip", - slot = "feet", - level = 250, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- mutant bone boots - itemid = 40593, - type = "deequip", - slot = "feet", - level = 250, - }, - { - -- alchemist's boots - itemid = 40592, - type = "equip", - slot = "feet", - level = 250, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- alchemist's boots - itemid = 40592, - type = "deequip", - slot = "feet", - level = 250, - }, - { - -- mutated skin armor - itemid = 40591, - type = "equip", - slot = "armor", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- mutated skin armor - itemid = 40591, - type = "deequip", - slot = "armor", - level = 270, - }, - { - -- Mutated Skin Legs - itemid = 40590, - type = "equip", - slot = "legs", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- Mutated Skin Legs - itemid = 40590, - type = "deequip", - slot = "legs", - level = 270, - }, - { - -- Stitched Mutant Hide Legs - itemid = 40589, - type = "equip", - slot = "legs", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Stitched Mutant Hide Legs - itemid = 40589, - type = "deequip", - slot = "legs", - level = 270, - }, - { - -- Antler-Horn Helmet - itemid = 40588, - type = "equip", - slot = "head", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Antler-Horn Helmet - itemid = 40588, - type = "deequip", - slot = "head", - level = 250, - }, - { - -- 25 years backpack - itemid = 39693, - type = "equip", - slot = "backpack", - }, - { - -- 25 years backpack - itemid = 39693, - type = "deequip", - slot = "backpack", - }, - { - -- turtle amulet - itemid = 39235, - type = "equip", - slot = "necklace", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted turtle amulet - itemid = 39235, - type = "deequip", - slot = "necklace", - }, - { - -- enchanted turtle amulet - itemid = 39234, - type = "equip", - slot = "necklace", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted turtle amulet - itemid = 39234, - type = "deequip", - slot = "necklace", - }, - { - -- enchanted turtle amulet - itemid = 39233, - type = "equip", - slot = "necklace", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted turtle amulet - itemid = 39233, - type = "deequip", - slot = "necklace", - }, - { - -- arboreal ring - itemid = 39188, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- arboreal ring - itemid = 39188, - type = "deequip", - slot = "ring", - }, - { - -- charged arboreal ring - itemid = 39187, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- charged arboreal ring - itemid = 39187, - type = "deequip", - slot = "ring", - }, - { - -- charged arboreal ring - itemid = 39186, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- charged arboreal ring - itemid = 39186, - type = "deequip", - slot = "ring", - }, - { - -- arcanomancer sigil - itemid = 39185, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- arcanomancer sigil - itemid = 39185, - type = "deequip", - slot = "ring", - }, - { - -- charged arcanomancer ring - itemid = 39184, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- charged arcanomancer ring - itemid = 39184, - type = "deequip", - slot = "ring", - }, - { - -- charged arcanomancer sigil - itemid = 39183, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- charged arcanomancer sigil - itemid = 39183, - type = "deequip", - slot = "ring", - }, - { - -- alicorn ring - itemid = 39182, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- charged alicorn ring - itemid = 39182, - type = "deequip", - slot = "ring", - }, - { - -- charged alicorn ring - itemid = 39181, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- charged alicorn ring - itemid = 39181, - type = "deequip", - slot = "ring", - }, - { - -- charged alicorn ring - itemid = 39180, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- charged alicorn ring - itemid = 39180, - type = "deequip", - slot = "ring", - }, - { - -- spiritthorn ring - itemid = 39179, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spiritthorn ring - itemid = 39179, - type = "deequip", - slot = "ring", - }, - { - -- charged spiritthorn ring - itemid = 39178, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- charged spiritthorn ring - itemid = 39178, - type = "deequip", - slot = "ring", - }, - { - -- charged spiritthorn ring - itemid = 39177, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- charged spiritthorn ring - itemid = 39177, - type = "deequip", - slot = "ring", - }, - { - -- midnight sarong - itemid = 39167, - type = "equip", - slot = "legs", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- midnight sarong - itemid = 39167, - type = "deequip", - slot = "legs", - }, - { - -- dawnfire pantaloons - itemid = 39166, - type = "equip", - slot = "legs", - level = 300, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- dawnfire pantaloons - itemid = 39166, - type = "deequip", - slot = "legs", - }, - { - -- midnight tunic - itemid = 39165, - type = "equip", - slot = "armor", - level = 300, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- midnight tunic - itemid = 39165, - type = "deequip", - slot = "armor", - }, - { - -- dawnfire sherwani - itemid = 39164, - type = "equip", - slot = "armor", - level = 270, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- dawnfire sherwani - itemid = 39164, - type = "deequip", - slot = "armor", - }, - { - -- naga rod - itemid = 39163, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- naga rod - itemid = 39163, - type = "deequip", - slot = "hand", - }, - { - -- naga wand - itemid = 39162, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- naga wand - itemid = 39162, - type = "deequip", - slot = "hand", - }, - { - -- feverbloom boots - itemid = 39161, - type = "equip", - slot = "feet", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- feverbloom boots - itemid = 39161, - type = "deequip", - slot = "feet", - }, - { - -- naga quiver - itemid = 39160, - type = "equip", - slot = "right-hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- naga quiver - itemid = 39160, - type = "deequip", - slot = "right-hand", - }, - { - -- naga crossbow - itemid = 39159, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- naga crossbow - itemid = 39159, - type = "deequip", - slot = "hand", - }, - { - -- frostflower boots - itemid = 39158, - type = "equip", - slot = "feet", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostflower boots - itemid = 39158, - type = "deequip", - slot = "feet", - }, - { - -- naga club - itemid = 39157, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga club - itemid = 39157, - type = "deequip", - slot = "hand", - }, - { - -- naga axe - itemid = 39156, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga axe - itemid = 39156, - type = "deequip", - slot = "hand", - }, - { - -- naga sword - itemid = 39155, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga sword - itemid = 39155, - type = "deequip", - slot = "hand", - }, - { - -- arboreal tome - itemid = 39154, - type = "equip", - slot = "shield", - level = 400, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- arboreal tome - itemid = 39154, - type = "deequip", - slot = "shield", - }, - { - -- arboreal crown - itemid = 39153, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- arboreal crown - itemid = 39153, - type = "deequip", - slot = "head", - }, - { - -- arcanomancer folio - itemid = 39152, - type = "equip", - slot = "shield", - level = 400, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- arcanomancer folio - itemid = 39152, - type = "deequip", - slot = "shield", - }, - { - -- arcanomancer regalia - itemid = 39151, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- arcanomancer regalia - itemid = 39151, - type = "deequip", - slot = "head", - }, - { - -- alicorn quiver - itemid = 39150, - type = "equip", - slot = "right-hand", - level = 400, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- alicorn quiver - itemid = 39150, - type = "deequip", - slot = "right-hand", - }, - { - -- alicorn headguard - itemid = 39149, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- alicorn headguard - itemid = 39149, - type = "deequip", - slot = "head", - }, - { - -- spiritthorn helmet - itemid = 39148, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spiritthorn helmet - itemid = 39148, - type = "deequip", - slot = "head", - }, - { - -- spiritthorn armor - itemid = 39147, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Knight", true, true }, - { "Elite Knight" }, - }, - }, - { - -- spiritthorn armor - itemid = 39147, - type = "deequip", - slot = "armor", - }, - { - -- changing backpack - itemid = 37536, - type = "equip", - slot = "backpack", - }, - { - -- changing backpack - itemid = 37536, - type = "deequip", - slot = "backpack", - }, - { - -- lilypad backpack - itemid = 37554, - type = "equip", - slot = "backpack", - }, - { - -- lilypad backpack - itemid = 37554, - type = "deequip", - slot = "backpack", - }, - { - -- gilded eldritch rod - itemid = 36675, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- gilded eldritch rod - itemid = 36675, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch rod - itemid = 36674, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch rod - itemid = 36674, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch tome - itemid = 36673, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch tome - itemid = 36673, - type = "deequip", - slot = "shield", - level = 300, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch folio - itemid = 36672, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch folio - itemid = 36672, - type = "deequip", - slot = "shield", - level = 300, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch hood - itemid = 36671, - type = "equip", - slot = "head", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch hood - itemid = 36671, - type = "deequip", - slot = "head", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch cowl - itemid = 36670, - type = "equip", - slot = "head", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch cowl - itemid = 36670, - type = "deequip", - slot = "head", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- gilded eldritch wand - itemid = 36669, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- gilded eldritch wand - itemid = 36669, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch wand - itemid = 36668, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch wand - itemid = 36668, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch breeches - itemid = 36667, - type = "equip", - slot = "legs", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch breeches - itemid = 36667, - type = "deequip", - slot = "legs", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch quiver - itemid = 36666, - type = "equip", - slot = "right-hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch quiver - itemid = 36666, - type = "deequip", - slot = "right-hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- gilded eldritch bow - itemid = 36665, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- gilded eldritch bow - itemid = 36665, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch bow - itemid = 36664, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch bow - itemid = 36664, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch cuirass - itemid = 36663, - type = "equip", - slot = "armor", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch cuirass - itemid = 36663, - type = "deequip", - slot = "armor", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch greataxe - itemid = 36662, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch greataxe - itemid = 36662, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch greataxe - itemid = 36661, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch greataxe - itemid = 36661, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch warmace - itemid = 36660, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch warmace - itemid = 36660, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch warmace - itemid = 36659, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch warmace - itemid = 36659, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch claymore - itemid = 36658, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch claymore - itemid = 36658, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch claymore - itemid = 36657, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch claymore - itemid = 36657, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch shield - itemid = 36656, - type = "equip", - slot = "shield", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch shield - itemid = 36656, - type = "deequip", - slot = "shield", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spectral bolt (no decay) - itemid = 35902, - type = "equip", - slot = "ammo", - }, - { - -- spectral bolt (no decay) - itemid = 35902, - type = "deequip", - slot = "ammo", - }, - { - -- red quiver - itemid = 35849, - type = "equip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- red quiver - itemid = 35849, - type = "deequip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- blue quiver - itemid = 35848, - type = "equip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- blue quiver - itemid = 35848, - type = "deequip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- quiver - itemid = 35562, - type = "equip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- quiver - itemid = 35562, - type = "deequip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- jungle quiver - itemid = 35524, - type = "equip", - slot = "right-hand", - level = 150, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- jungle quiver - itemid = 35524, - type = "deequip", - slot = "right-hand", - level = 150, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- exotic amulet - itemid = 35523, - type = "equip", - slot = "necklace", - level = 180, - }, - { - -- exotic amulet - itemid = 35523, - type = "deequip", - slot = "necklace", - }, - { - -- jungle wand - itemid = 35522, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- jungle wand - itemid = 35522, - type = "deequip", - slot = "hand", - }, - { - -- jungle rod - itemid = 35521, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- jungle rod - itemid = 35521, - type = "deequip", - slot = "hand", - }, - { - -- make-do boots - itemid = 35520, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- make-do boots - itemid = 35520, - type = "deequip", - slot = "feet", - }, - { - -- makeshift boots - itemid = 35519, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- makeshift boots - itemid = 35519, - type = "deequip", - slot = "feet", - }, - { - -- jungle bow - itemid = 35518, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- jungle bow - itemid = 35518, - type = "deequip", - slot = "hand", - }, - { - -- bast legs - itemid = 35517, - type = "equip", - slot = "legs", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bast legs - itemid = 35517, - type = "deequip", - slot = "legs", - }, - { - -- exotic legs - itemid = 35516, - type = "equip", - slot = "legs", - level = 130, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- exotic legs - itemid = 35516, - type = "deequip", - slot = "legs", - }, - { - -- throwing axe - itemid = 35515, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- throwing axe - itemid = 35515, - type = "deequip", - slot = "hand", - }, - { - -- jungle flail - itemid = 35514, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- jungle flail - itemid = 35514, - type = "deequip", - slot = "hand", - }, - { - -- lion hammer - itemid = 34254, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion hammer - itemid = 34254, - type = "deequip", - slot = "hand", - }, - { - -- lion axe - itemid = 34253, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion axe - itemid = 34253, - type = "deequip", - slot = "hand", - }, - { - -- lion amulet - itemid = 34158, - type = "equip", - slot = "necklace", - level = 150, - }, - { - -- lion amulet - itemid = 34158, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- lion plate - itemid = 34157, - type = "deequip", - slot = "armor", - level = 270, - }, - { - -- lion plate - itemid = 34157, - type = "equip", - slot = "armor", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion spangenhelm - itemid = 34156, - type = "deequip", - slot = "head", - }, - { - -- lion spangenhelm - itemid = 34156, - type = "equip", - slot = "head", - level = 230, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- lion longsword - itemid = 34155, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion longsword - itemid = 34155, - type = "deequip", - slot = "hand", - }, - { - -- lion spellbook - itemid = 34153, - type = "deequip", - slot = "shield", - }, - { - -- lion spellbook - itemid = 34153, - type = "equip", - slot = "shield", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lion wand - itemid = 34152, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- lion wand - itemid = 34152, - type = "deequip", - slot = "hand", - }, - { - -- lion rod - itemid = 34151, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- lion rod - itemid = 34151, - type = "deequip", - slot = "hand", - }, - { - -- lion longbow - itemid = 34150, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- lion longbow - itemid = 34150, - type = "deequip", - slot = "hand", - }, - { - -- soulbastion shield - itemid = 34099, - type = "deequip", - slot = "shield", - }, - { - -- soulbastion shield - itemid = 34099, - type = "equip", - slot = "shield", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- pair of soulstalkers - itemid = 34098, - type = "deequip", - slot = "feet", - }, - { - -- pair of soulstalkers - itemid = 34098, - type = "equip", - slot = "feet", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- pair of soulwalkers - itemid = 34097, - type = "deequip", - slot = "feet", - }, - { - -- pair of soulwalkers - itemid = 34097, - type = "equip", - slot = "feet", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulshroud armor - itemid = 34096, - type = "deequip", - slot = "armor", - }, - { - -- soulshroud armor - itemid = 34096, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soulmantel armor - itemid = 34095, - type = "deequip", - slot = "armor", - }, - { - -- soulmantel armor - itemid = 34095, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulshell armor - itemid = 34094, - type = "deequip", - slot = "armor", - level = 400, - }, - { - -- soulshell armor - itemid = 34094, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulstrider legs - itemid = 34093, - type = "deequip", - slot = "legs", - level = 400, - }, - { - -- soulstrider legs - itemid = 34093, - type = "equip", - slot = "legs", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soulshanks legs - itemid = 34092, - type = "deequip", - slot = "legs", - level = 400, - }, - { - -- soulshanks legs - itemid = 34092, - type = "equip", - slot = "legs", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulhexer - itemid = 34091, - type = "deequip", - slot = "hand", - }, - { - -- soulhexer - itemid = 34091, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soultainter - itemid = 34090, - type = "deequip", - slot = "hand", - }, - { - -- soultainter - itemid = 34090, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulpiercer - itemid = 34089, - type = "deequip", - slot = "hand", - }, - { - -- soulpiercer - itemid = 34089, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulbleeder - itemid = 34088, - type = "deequip", - slot = "hand", - }, - { - -- soulbleeder - itemid = 34088, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulmaimer - itemid = 34087, - type = "deequip", - slot = "hand", - }, - { - -- soulmaimer - itemid = 34087, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcrusher - itemid = 34086, - type = "deequip", - slot = "hand", - }, - { - -- soulcrusher - itemid = 34086, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- souleater - itemid = 34085, - type = "deequip", - slot = "hand", - }, - { - -- souleater - itemid = 34085, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulbiter - itemid = 34084, - type = "deequip", - slot = "hand", - }, - { - -- soulbiter - itemid = 34084, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulshredder - itemid = 34083, - type = "deequip", - slot = "hand", - }, - { - -- soulshredder - itemid = 34083, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcutter - itemid = 34082, - type = "deequip", - slot = "hand", - }, - { - -- soulcutter - itemid = 34082, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion ring - itemid = 34080, - type = "deequip", - slot = "ring", - level = 270, - }, - { - -- lion ring - itemid = 34080, - type = "equip", - slot = "ring", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Lit Torch (Sparkling) - itemid = 34016, - type = "equip", - slot = "ammo", - }, - { - -- Lit Torch (Sparkling) - itemid = 34016, - type = "deequip", - slot = "ammo", - }, - { - -- pair of old bracers - itemid = 32705, - type = "equip", - slot = "armor", - }, - { - -- pair of old bracers - itemid = 32705, - type = "deequip", - slot = "armor", - }, - { - -- ring of souls - itemid = 32636, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- ring of souls - itemid = 32636, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- ring of souls - itemid = 32635, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- ring of souls - itemid = 32635, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- spooky hood - itemid = 32630, - type = "equip", - slot = "head", - }, - { - -- spooky hood - itemid = 32630, - type = "deequip", - slot = "head", - }, - { - -- ghost chestplate - itemid = 32628, - type = "equip", - slot = "armor", - level = 230, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ghost chestplate - itemid = 32628, - type = "deequip", - slot = "armor", - level = 230, - }, - { - -- ring of souls - itemid = 32621, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- ring of souls - itemid = 32621, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- ghost backpack - itemid = 32620, - type = "equip", - slot = "backpack", - }, - { - -- ghost backpack - itemid = 32620, - type = "deequip", - slot = "backpack", - }, - { - -- pair of nightmare boots - itemid = 32619, - type = "equip", - slot = "feet", - level = 140, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- pair of nightmare boots - itemid = 32619, - type = "deequip", - slot = "feet", - level = 140, - }, - { - -- soulful legs - itemid = 32618, - type = "equip", - slot = "legs", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- soulful legs - itemid = 32618, - type = "deequip", - slot = "legs", - level = 180, - }, - { - -- fabulous legs - itemid = 32617, - type = "equip", - slot = "legs", - level = 225, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- fabulous legs - itemid = 32617, - type = "deequip", - slot = "legs", - level = 225, - }, - { - -- phantasmal axe - itemid = 32616, - type = "equip", - slot = "hand", - }, - { - -- phantasmal axe - itemid = 32616, - type = "deequip", - slot = "hand", - }, - { - -- burial shroud - itemid = 32585, - type = "equip", - slot = "armor", - }, - { - -- burial shroud - itemid = 32585, - type = "deequip", - slot = "armor", - }, - { - -- meat hammer - itemid = 32093, - type = "equip", - slot = "hand", - }, - { - -- meat hammer - itemid = 32093, - type = "deequip", - slot = "hand", - }, - { - -- note about two souls - itemid = 31676, - type = "equip", - slot = "necklace", - }, - { - -- note about two souls - itemid = 31676, - type = "deequip", - slot = "necklace", - }, - { - -- the cobra amulet - itemid = 31631, - type = "equip", - slot = "necklace", - level = 250, - }, - { - -- the cobra amulet - itemid = 31631, - type = "deequip", - slot = "necklace", - level = 250, - }, - { - -- winged backpack - itemid = 31625, - type = "equip", - slot = "backpack", - }, - { - -- winged backpack - itemid = 31625, - type = "deequip", - slot = "backpack", - }, - { - -- blister ring - itemid = 31621, - type = "equip", - slot = "ring", - level = 220, - }, - { - -- blister ring - itemid = 31621, - type = "deequip", - slot = "ring", - level = 220, - }, - { - -- winged boots - itemid = 31617, - type = "equip", - slot = "feet", - level = 220, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- winged boots - itemid = 31617, - type = "deequip", - slot = "feet", - level = 220, - }, - { - -- blister ring - itemid = 31616, - type = "equip", - slot = "ring", - level = 220, - }, - { - -- blister ring - itemid = 31616, - type = "deequip", - slot = "ring", - level = 220, - }, - { - -- tagralt blade - itemid = 31614, - type = "equip", - slot = "hand", - }, - { - -- tagralt blade - itemid = 31614, - type = "deequip", - slot = "hand", - }, - { - -- toga mortis - itemid = 31583, - type = "equip", - slot = "armor", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- toga mortis - itemid = 31583, - type = "deequip", - slot = "armor", - level = 220, - }, - { - -- galea mortis - itemid = 31582, - type = "equip", - slot = "head", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- galea mortis - itemid = 31582, - type = "deequip", - slot = "head", - level = 220, - }, - { - -- bow of cataclysm - itemid = 31581, - type = "equip", - slot = "hand", - }, - { - -- bow of cataclysm - itemid = 31581, - type = "deequip", - slot = "hand", - }, - { - -- mortal mace - itemid = 31580, - type = "equip", - slot = "hand", - }, - { - -- mortal mace - itemid = 31580, - type = "deequip", - slot = "hand", - }, - { - -- embrace of nature - itemid = 31579, - type = "equip", - slot = "armor", - level = 220, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- embrace of nature - itemid = 31579, - type = "deequip", - slot = "armor", - level = 220, - }, - { - -- bear skin - itemid = 31578, - type = "equip", - slot = "armor", - level = 230, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- bear skin - itemid = 31578, - type = "deequip", - slot = "armor", - level = 230, - }, - { - -- terra helmet - itemid = 31577, - type = "equip", - slot = "head", - level = 230, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- terra helmet - itemid = 31577, - type = "deequip", - slot = "head", - level = 230, - }, - { - -- blister ring - itemid = 31557, - type = "equip", - slot = "ring", - level = 220, - }, - { - -- blister ring - itemid = 31557, - type = "deequip", - slot = "ring", - level = 220, - }, - { - -- rainbow amulet - itemid = 31556, - type = "equip", - slot = "necklace", - level = 220, - }, - { - -- rainbow amulet - itemid = 31556, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- sphinx tiara - itemid = 31438, - type = "equip", - slot = "head", - }, - { - -- sphinx tiara - itemid = 31438, - type = "deequip", - slot = "head", - }, - { - -- gryphon mask - itemid = 31433, - type = "equip", - slot = "head", - }, - { - -- gryphon mask - itemid = 31433, - type = "deequip", - slot = "head", - }, - { - -- symbol of sun and sea - itemid = 31431, - type = "equip", - slot = "ring", - }, - { - -- symbol of sun and sea - itemid = 31431, - type = "deequip", - slot = "ring", - }, - { - -- silver mask - itemid = 31370, - type = "equip", - slot = "head", - }, - { - -- silver mask - itemid = 31370, - type = "deequip", - slot = "head", - }, - { - -- ring of secret thoughts - itemid = 31306, - type = "equip", - slot = "ring", - }, - { - -- ring of secret thoughts - itemid = 31306, - type = "deequip", - slot = "ring", - }, - { - -- jade amulet - itemid = 31268, - type = "equip", - slot = "necklace", - }, - { - -- jade amulet - itemid = 31268, - type = "deequip", - slot = "necklace", - }, - { - -- ring of secret thoughts - itemid = 31263, - type = "equip", - slot = "ring", - }, - { - -- ring of secret thoughts - itemid = 31263, - type = "deequip", - slot = "ring", - }, - { - -- amulet of theurgy - itemid = 30403, - type = "equip", - slot = "necklace", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- amulet of theurgy - itemid = 30403, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- enchanted theurgic amulet - itemid = 30402, - type = "equip", - slot = "necklace", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- enchanted theurgic amulet - itemid = 30402, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- amulet of theurgy - itemid = 30401, - type = "equip", - slot = "necklace", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- amulet of theurgy - itemid = 30401, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- cobra rod - itemid = 30400, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- cobra rod - itemid = 30400, - type = "deequip", - slot = "hand", - level = 220, - }, - { - -- cobra wand - itemid = 30399, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- cobra wand - itemid = 30399, - type = "deequip", - slot = "hand", - level = 270, - }, - { - -- cobra sword - itemid = 30398, - type = "equip", - slot = "hand", - }, - { - -- cobra sword - itemid = 30398, - type = "deequip", - slot = "hand", - }, - { - -- cobra hood - itemid = 30397, - type = "equip", - slot = "head", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra hood - itemid = 30397, - type = "deequip", - slot = "head", - level = 270, - }, - { - -- cobra axe - itemid = 30396, - type = "equip", - slot = "hand", - }, - { - -- cobra axe - itemid = 30396, - type = "deequip", - slot = "hand", - }, - { - -- cobra club - itemid = 30395, - type = "equip", - slot = "hand", - }, - { - -- cobra club - itemid = 30395, - type = "deequip", - slot = "hand", - }, - { - -- cobra boots - itemid = 30394, - type = "equip", - slot = "feet", - level = 220, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra boots - itemid = 30394, - type = "deequip", - slot = "feet", - level = 220, - }, - { - -- cobra crossbow - itemid = 30393, - type = "equip", - slot = "hand", - }, - { - -- cobra crossbow - itemid = 30393, - type = "deequip", - slot = "hand", - }, - { - -- rainbow necklace - itemid = 30323, - type = "equip", - slot = "necklace", - level = 220, - }, - { - -- rainbow necklace - itemid = 30323, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- ice hatchet - itemid = 30283, - type = "equip", - slot = "hand", - }, - { - -- ice hatchet - itemid = 30283, - type = "deequip", - slot = "hand", - }, - { - -- frozen claw - itemid = 30279, - type = "equip", - slot = "ring", - }, - { - -- frozen claw - itemid = 30279, - type = "deequip", - slot = "ring", - }, - { - -- the crown of the percht queen - itemid = 30276, - type = "equip", - slot = "head", - }, - { - -- the crown of the percht queen - itemid = 30276, - type = "deequip", - slot = "head", - }, - { - -- the crown of the percht queen - itemid = 30275, - type = "equip", - slot = "head", - }, - { - -- the crown of the percht queen - itemid = 30275, - type = "deequip", - slot = "head", - }, - { - -- festive backpack - itemid = 30197, - type = "equip", - slot = "backpack", - }, - { - -- festive backpack - itemid = 30197, - type = "deequip", - slot = "backpack", - }, - { - -- yetislippers - itemid = 30196, - type = "equip", - slot = "feet", - }, - { - -- yetislippers - itemid = 30196, - type = "deequip", - slot = "feet", - }, - { - -- pendulet - itemid = 30345, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- pendulet - itemid = 30345, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- enchanted pendulet - itemid = 30344, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted pendulet - itemid = 30344, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- sleep shawl - itemid = 30343, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- sleep shawl - itemid = 30343, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- enchanted sleep shawl - itemid = 30342, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted sleep shawl - itemid = 30342, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- shield of endless search - itemid = 30181, - type = "equip", - slot = "shield", - }, - { - -- shield of endless search - itemid = 30181, - type = "deequip", - slot = "shield", - }, - { - -- spirit guide - itemid = 29431, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spirit guide - itemid = 29431, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- ectoplasmic shield - itemid = 29430, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ectoplasmic shield - itemid = 29430, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- dark whispers - itemid = 29427, - type = "equip", - slot = "head", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- dark whispers - itemid = 29427, - type = "deequip", - slot = "head", - level = 180, - }, - { - -- brain in a jar - itemid = 29426, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- brain in a jar - itemid = 29426, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- energized limb - itemid = 29425, - type = "equip", - slot = "hand", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- energized limb - itemid = 29425, - type = "deequip", - slot = "hand", - level = 180, - }, - { - -- pair of dreamwalkers - itemid = 29424, - type = "equip", - slot = "feet", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- pair of dreamwalkers - itemid = 29424, - type = "deequip", - slot = "feet", - level = 180, - }, - { - -- dream shroud - itemid = 29423, - type = "equip", - slot = "armor", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- dream shroud - itemid = 29423, - type = "deequip", - slot = "armor", - level = 180, - }, - { - -- winterblade - itemid = 29422, - type = "equip", - slot = "hand", - }, - { - -- winterblade - itemid = 29422, - type = "deequip", - slot = "hand", - }, - { - -- summerblade - itemid = 29421, - type = "equip", - slot = "hand", - }, - { - -- summerblade - itemid = 29421, - type = "deequip", - slot = "hand", - }, - { - -- shoulder plate - itemid = 29420, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- shoulder plate - itemid = 29420, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- resizer - itemid = 29419, - type = "equip", - slot = "hand", - }, - { - -- resizer - itemid = 29419, - type = "deequip", - slot = "hand", - }, - { - -- living armor - itemid = 29418, - type = "equip", - slot = "armor", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- living armor - itemid = 29418, - type = "deequip", - slot = "armor", - level = 180, - }, - { - -- living vine bow - itemid = 29417, - type = "equip", - slot = "hand", - }, - { - -- living vine bow - itemid = 29417, - type = "deequip", - slot = "hand", - }, - { - -- golden axe - itemid = 29286, - type = "equip", - slot = "hand", - }, - { - -- golden axe - itemid = 29286, - type = "deequip", - slot = "hand", - }, - { - -- book backpack - itemid = 28571, - type = "equip", - slot = "backpack", - }, - { - -- book backpack - itemid = 28571, - type = "deequip", - slot = "backpack", - }, - { - -- wand of destruction test - itemid = 28479, - type = "equip", - slot = "hand", - }, - { - -- wand of destruction test - itemid = 28479, - type = "deequip", - slot = "hand", - }, - { - -- umbral master bow test - itemid = 28478, - type = "equip", - slot = "hand", - }, - { - -- umbral master bow test - itemid = 28478, - type = "deequip", - slot = "hand", - }, - { - -- ornate testtplate - itemid = 28475, - type = "equip", - slot = "armor", - }, - { - -- ornate testtplate - itemid = 28475, - type = "deequip", - slot = "armor", - }, - { - -- sorcerer test weapon - itemid = 28466, - type = "equip", - slot = "hand", - }, - { - -- sorcerer test weapon - itemid = 28466, - type = "deequip", - slot = "hand", - }, - { - -- bow of destruction test - itemid = 28465, - type = "equip", - slot = "hand", - }, - { - -- bow of destruction test - itemid = 28465, - type = "deequip", - slot = "hand", - }, - { - -- test weapon for knights - itemid = 28464, - type = "equip", - slot = "hand", - }, - { - -- test weapon for knights - itemid = 28464, - type = "deequip", - slot = "hand", - }, - { - -- sulphurous demonbone - itemid = 28832, - type = "equip", - slot = "hand", - }, - { - -- sulphurous demonbone - itemid = 28832, - type = "deequip", - slot = "hand", - }, - { - -- unliving demonbone - itemid = 28831, - type = "equip", - slot = "hand", - }, - { - -- unliving demonbone - itemid = 28831, - type = "deequip", - slot = "hand", - }, - { - -- energized demonbone - itemid = 28830, - type = "equip", - slot = "hand", - }, - { - -- energized demonbone - itemid = 28830, - type = "deequip", - slot = "hand", - }, - { - -- rotten demonbone - itemid = 28829, - type = "equip", - slot = "hand", - }, - { - -- rotten demonbone - itemid = 28829, - type = "deequip", - slot = "hand", - }, - { - -- deepling fork - itemid = 28826, - type = "equip", - slot = "hand", - level = 230, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- deepling fork - itemid = 28826, - type = "deequip", - slot = "hand", - level = 230, - }, - { - -- deepling ceremonial dagger - itemid = 28825, - type = "equip", - slot = "hand", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- deepling ceremonial dagger - itemid = 28825, - type = "deequip", - slot = "hand", - level = 180, - }, - { - -- falcon mace - itemid = 28725, - type = "equip", - slot = "hand", - }, - { - -- falcon mace - itemid = 28725, - type = "deequip", - slot = "hand", - }, - { - -- falcon battleaxe - itemid = 28724, - type = "equip", - slot = "hand", - }, - { - -- falcon battleaxe - itemid = 28724, - type = "deequip", - slot = "hand", - }, - { - -- falcon longsword - itemid = 28723, - type = "equip", - slot = "hand", - }, - { - -- falcon longsword - itemid = 28723, - type = "deequip", - slot = "hand", - }, - { - -- falcon escutcheon - itemid = 28722, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon escutcheon - itemid = 28722, - type = "deequip", - slot = "shield", - level = 300, - }, - { - -- falcon shield - itemid = 28721, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon shield - itemid = 28721, - type = "deequip", - slot = "shield", - level = 300, - }, - { - -- falcon greaves - itemid = 28720, - type = "equip", - slot = "legs", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon greaves - itemid = 28720, - type = "deequip", - slot = "legs", - level = 300, - }, - { - -- falcon plate - itemid = 28719, - type = "equip", - slot = "armor", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon plate - itemid = 28719, - type = "deequip", - slot = "armor", - level = 300, - }, - { - -- falcon bow - itemid = 28718, - type = "equip", - slot = "hand", - }, - { - -- falcon bow - itemid = 28718, - type = "deequip", - slot = "hand", - }, - { - -- falcon wand - itemid = 28717, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- falcon wand - itemid = 28717, - type = "deequip", - slot = "hand", - level = 300, - }, - { - -- falcon rod - itemid = 28716, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- falcon rod - itemid = 28716, - type = "deequip", - slot = "hand", - level = 300, - }, - { - -- falcon coif - itemid = 28715, - type = "equip", - slot = "head", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon coif - itemid = 28715, - type = "deequip", - slot = "head", - level = 300, - }, - { - -- falcon circlet - itemid = 28714, - type = "equip", - slot = "head", - level = 300, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- falcon circlet - itemid = 28714, - type = "deequip", - slot = "head", - level = 300, - }, - { - -- silver chimes - itemid = 12126, - type = "equip", - slot = "shield", - }, - { - -- silver chimes - itemid = 12126, - type = "deequip", - slot = "shield", - }, - { - -- suspicious device - itemid = 27653, - type = "equip", - slot = "necklace", - }, - { - -- suspicious device - itemid = 27653, - type = "deequip", - slot = "necklace", - }, - { - -- gnome sword - itemid = 27651, - type = "equip", - slot = "hand", - }, - { - -- gnome sword - itemid = 27651, - type = "deequip", - slot = "hand", - }, - { - -- gnome shield - itemid = 27650, - type = "equip", - slot = "shield", - level = 200, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - { "Elite Knight" }, - }, - }, - { - -- gnome shield - itemid = 27650, - type = "deequip", - slot = "shield", - level = 200, - }, - { - -- gnome legs - itemid = 27649, - type = "equip", - slot = "legs", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gnome legs - itemid = 27649, - type = "deequip", - slot = "legs", - level = 200, - }, - { - -- gnome armor - itemid = 27648, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- gnome armor - itemid = 27648, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- gnome helmet - itemid = 27647, - type = "equip", - slot = "head", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gnome helmet - itemid = 27647, - type = "deequip", - slot = "head", - level = 200, - }, - { - -- foxtail amulet - itemid = 27565, - type = "equip", - slot = "necklace", - level = 100, - }, - { - -- foxtail amulet - itemid = 27565, - type = "deequip", - slot = "necklace", - level = 100, - }, - { - -- mallet handle - itemid = 27525, - type = "equip", - slot = "hand", - }, - { - -- mallet handle - itemid = 27525, - type = "deequip", - slot = "hand", - }, - { - -- strange mallet - itemid = 27523, - type = "equip", - slot = "hand", - }, - { - -- strange mallet - itemid = 27523, - type = "deequip", - slot = "hand", - }, - { - -- blue spectacles - itemid = 27522, - type = "equip", - slot = "head", - }, - { - -- blue spectacles - itemid = 27522, - type = "deequip", - slot = "head", - }, - { - -- rod of destruction - itemid = 27458, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of destruction - itemid = 27458, - type = "deequip", - slot = "hand", - level = 200, - }, - { - -- wand of destruction - itemid = 27457, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of destruction - itemid = 27457, - type = "deequip", - slot = "hand", - level = 200, - }, - { - -- crossbow of destruction - itemid = 27456, - type = "equip", - slot = "hand", - }, - { - -- crossbow of destruction - itemid = 27456, - type = "deequip", - slot = "hand", - }, - { - -- bow of destruction - itemid = 27455, - type = "equip", - slot = "hand", - }, - { - -- bow of destruction - itemid = 27455, - type = "deequip", - slot = "hand", - }, - { - -- hammer of destruction - itemid = 27454, - type = "equip", - slot = "hand", - }, - { - -- hammer of destruction - itemid = 27454, - type = "deequip", - slot = "hand", - }, - { - -- mace of destruction - itemid = 27453, - type = "equip", - slot = "hand", - }, - { - -- mace of destruction - itemid = 27453, - type = "deequip", - slot = "hand", - }, - { - -- chopper of destruction - itemid = 27452, - type = "equip", - slot = "hand", - }, - { - -- chopper of destruction - itemid = 27452, - type = "deequip", - slot = "hand", - }, - { - -- axe of destruction - itemid = 27451, - type = "equip", - slot = "hand", - }, - { - -- axe of destruction - itemid = 27451, - type = "deequip", - slot = "hand", - }, - { - -- slayer of destruction - itemid = 27450, - type = "equip", - slot = "hand", - }, - { - -- slayer of destruction - itemid = 27450, - type = "deequip", - slot = "hand", - }, - { - -- blade of destruction - itemid = 27449, - type = "equip", - slot = "hand", - }, - { - -- blade of destruction - itemid = 27449, - type = "deequip", - slot = "hand", - }, - { - -- Journal Shield - itemid = 26947, - type = "equip", - slot = "shield", - }, - { - -- Journal Shield - itemid = 26947, - type = "deequip", - slot = "shield", - }, - { - -- reflecting crown - itemid = 26190, - type = "equip", - slot = "head", - }, - { - -- reflecting crown - itemid = 26190, - type = "deequip", - slot = "head", - }, - { - -- incandescent crown - itemid = 26189, - type = "equip", - slot = "head", - }, - { - -- incandescent crown - itemid = 26189, - type = "deequip", - slot = "head", - }, - { - -- iron crown - itemid = 26188, - type = "equip", - slot = "head", - }, - { - -- iron crown - itemid = 26188, - type = "deequip", - slot = "head", - }, - { - -- leaf crown - itemid = 26187, - type = "equip", - slot = "head", - }, - { - -- leaf crown - itemid = 26187, - type = "deequip", - slot = "head", - }, - { - -- ornate carving hammer - itemid = 26061, - type = "equip", - slot = "hand", - }, - { - -- ornate carving hammer - itemid = 26061, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving hammer - itemid = 26060, - type = "equip", - slot = "hand", - }, - { - -- valuable carving hammer - itemid = 26060, - type = "deequip", - slot = "hand", - }, - { - -- plain carving hammer - itemid = 26059, - type = "equip", - slot = "hand", - }, - { - -- plain carving hammer - itemid = 26059, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving mace - itemid = 26058, - type = "equip", - slot = "hand", - }, - { - -- ornate carving mace - itemid = 26058, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving mace - itemid = 26057, - type = "equip", - slot = "hand", - }, - { - -- valuable carving mace - itemid = 26057, - type = "deequip", - slot = "hand", - }, - { - -- plain carving mace - itemid = 26056, - type = "equip", - slot = "hand", - }, - { - -- plain carving mace - itemid = 26056, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving chopper - itemid = 26055, - type = "equip", - slot = "hand", - }, - { - -- ornate carving chopper - itemid = 26055, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving chopper - itemid = 26054, - type = "equip", - slot = "hand", - }, - { - -- valuable carving chopper - itemid = 26054, - type = "deequip", - slot = "hand", - }, - { - -- plain carving chopper - itemid = 26053, - type = "equip", - slot = "hand", - }, - { - -- plain carving chopper - itemid = 26053, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving axe - itemid = 26052, - type = "equip", - slot = "hand", - }, - { - -- ornate carving axe - itemid = 26052, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving axe - itemid = 26051, - type = "equip", - slot = "hand", - }, - { - -- valuable carving axe - itemid = 26051, - type = "deequip", - slot = "hand", - }, - { - -- plain carving axe - itemid = 26050, - type = "equip", - slot = "hand", - }, - { - -- plain carving axe - itemid = 26050, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving slayer - itemid = 26049, - type = "equip", - slot = "hand", - }, - { - -- ornate carving slayer - itemid = 26049, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving slayer - itemid = 26048, - type = "equip", - slot = "hand", - }, - { - -- valuable carving slayer - itemid = 26048, - type = "deequip", - slot = "hand", - }, - { - -- plain carving slayer - itemid = 26047, - type = "equip", - slot = "hand", - }, - { - -- plain carving slayer - itemid = 26047, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving blade - itemid = 26046, - type = "equip", - slot = "hand", - }, - { - -- ornate carving blade - itemid = 26046, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving blade - itemid = 26045, - type = "equip", - slot = "hand", - }, - { - -- valuable carving blade - itemid = 26045, - type = "deequip", - slot = "hand", - }, - { - -- plain carving blade - itemid = 26044, - type = "equip", - slot = "hand", - }, - { - -- plain carving blade - itemid = 26044, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy hammer - itemid = 26031, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy hammer - itemid = 26031, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy hammer - itemid = 26030, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy hammer - itemid = 26030, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy hammer - itemid = 26029, - type = "equip", - slot = "hand", - }, - { - -- plain remedy hammer - itemid = 26029, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy mace - itemid = 26028, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy mace - itemid = 26028, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy mace - itemid = 26027, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy mace - itemid = 26027, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy mace - itemid = 26026, - type = "equip", - slot = "hand", - }, - { - -- plain remedy mace - itemid = 26026, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy chopper - itemid = 26025, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy chopper - itemid = 26025, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy chopper - itemid = 26024, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy chopper - itemid = 26024, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy chopper - itemid = 26023, - type = "equip", - slot = "hand", - }, - { - -- plain remedy chopper - itemid = 26023, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy axe - itemid = 26022, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy axe - itemid = 26022, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy axe - itemid = 26021, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy axe - itemid = 26021, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy axe - itemid = 26020, - type = "equip", - slot = "hand", - }, - { - -- plain remedy axe - itemid = 26020, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy slayer - itemid = 26019, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy slayer - itemid = 26019, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy slayer - itemid = 26018, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy slayer - itemid = 26018, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy slayer - itemid = 26017, - type = "equip", - slot = "hand", - }, - { - -- plain remedy slayer - itemid = 26017, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy blade - itemid = 26016, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy blade - itemid = 26016, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy blade - itemid = 26015, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy blade - itemid = 26015, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy blade - itemid = 26014, - type = "equip", - slot = "hand", - }, - { - -- plain remedy blade - itemid = 26014, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem hammer - itemid = 26000, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem hammer - itemid = 26000, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem hammer - itemid = 25999, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem hammer - itemid = 25999, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem hammer - itemid = 25998, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem hammer - itemid = 25998, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem mace - itemid = 25997, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem mace - itemid = 25997, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem mace - itemid = 25996, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem mace - itemid = 25996, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem mace - itemid = 25995, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem mace - itemid = 25995, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem chopper - itemid = 25994, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem chopper - itemid = 25994, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem chopper - itemid = 25993, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem chopper - itemid = 25993, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem chopper - itemid = 25992, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem chopper - itemid = 25992, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem axe - itemid = 25991, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem axe - itemid = 25991, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem axe - itemid = 25990, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem axe - itemid = 25990, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem axe - itemid = 25989, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem axe - itemid = 25989, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem slayer - itemid = 25988, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem slayer - itemid = 25988, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem slayer - itemid = 25987, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem slayer - itemid = 25987, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem slayer - itemid = 25986, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem slayer - itemid = 25986, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem blade - itemid = 25985, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem blade - itemid = 25985, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem blade - itemid = 25984, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem blade - itemid = 25984, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem blade - itemid = 25983, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem blade - itemid = 25983, - type = "deequip", - slot = "hand", - }, - { - -- mathmaster shield (souvenir) - itemid = 25982, - type = "equip", - slot = "shield", - }, - { - -- mathmaster shield (souvenir) - itemid = 25982, - type = "deequip", - slot = "shield", - }, - { - -- energy war hammer replica - itemid = 25974, - type = "equip", - slot = "hand", - }, - { - -- energy war hammer replica - itemid = 25974, - type = "deequip", - slot = "hand", - }, - { - -- energy orcish maul replica - itemid = 25973, - type = "equip", - slot = "hand", - }, - { - -- energy orcish maul replica - itemid = 25973, - type = "deequip", - slot = "hand", - }, - { - -- energy basher replica - itemid = 25972, - type = "equip", - slot = "hand", - }, - { - -- energy basher replica - itemid = 25972, - type = "deequip", - slot = "hand", - }, - { - -- energy crystal mace replica - itemid = 25971, - type = "equip", - slot = "hand", - }, - { - -- energy crystal mace replica - itemid = 25971, - type = "deequip", - slot = "hand", - }, - { - -- energy clerical mace replica - itemid = 25970, - type = "equip", - slot = "hand", - }, - { - -- energy clerical mace replica - itemid = 25970, - type = "deequip", - slot = "hand", - }, - { - -- energy war axe replica - itemid = 25969, - type = "equip", - slot = "hand", - }, - { - -- energy war axe replica - itemid = 25969, - type = "deequip", - slot = "hand", - }, - { - -- energy headchopper replica - itemid = 25968, - type = "equip", - slot = "hand", - }, - { - -- energy headchopper replica - itemid = 25968, - type = "deequip", - slot = "hand", - }, - { - -- energy heroic axe replica - itemid = 25967, - type = "equip", - slot = "hand", - }, - { - -- energy heroic axe replica - itemid = 25967, - type = "deequip", - slot = "hand", - }, - { - -- energy knight axe replica - itemid = 25966, - type = "equip", - slot = "hand", - }, - { - -- energy knight axe replica - itemid = 25966, - type = "deequip", - slot = "hand", - }, - { - -- energy barbarian axe replica - itemid = 25965, - type = "equip", - slot = "hand", - }, - { - -- energy barbarian axe replica - itemid = 25965, - type = "deequip", - slot = "hand", - }, - { - -- energy dragon slayer replica - itemid = 25964, - type = "equip", - slot = "hand", - }, - { - -- energy dragon slayer replica - itemid = 25964, - type = "deequip", - slot = "hand", - }, - { - -- energy blacksteel replica - itemid = 25963, - type = "equip", - slot = "hand", - }, - { - -- energy blacksteel replica - itemid = 25963, - type = "deequip", - slot = "hand", - }, - { - -- energy mystic blade replica - itemid = 25962, - type = "equip", - slot = "hand", - }, - { - -- energy mystic blade replica - itemid = 25962, - type = "deequip", - slot = "hand", - }, - { - -- energy relic sword replica - itemid = 25961, - type = "equip", - slot = "hand", - }, - { - -- energy relic sword replica - itemid = 25961, - type = "deequip", - slot = "hand", - }, - { - -- energy spike sword replica - itemid = 25960, - type = "equip", - slot = "hand", - }, - { - -- energy spike sword replica - itemid = 25960, - type = "deequip", - slot = "hand", - }, - { - -- earth war hammer replica - itemid = 25959, - type = "equip", - slot = "hand", - }, - { - -- earth war hammer replica - itemid = 25959, - type = "deequip", - slot = "hand", - }, - { - -- earth orcish maul replica - itemid = 25958, - type = "equip", - slot = "hand", - }, - { - -- earth orcish maul replica - itemid = 25958, - type = "deequip", - slot = "hand", - }, - { - -- earth basher replica - itemid = 25957, - type = "equip", - slot = "hand", - }, - { - -- earth basher replica - itemid = 25957, - type = "deequip", - slot = "hand", - }, - { - -- earth crystal mace replica - itemid = 25956, - type = "equip", - slot = "hand", - }, - { - -- earth crystal mace replica - itemid = 25956, - type = "deequip", - slot = "hand", - }, - { - -- earth clerical mace replica - itemid = 25955, - type = "equip", - slot = "hand", - }, - { - -- earth clerical mace replica - itemid = 25955, - type = "deequip", - slot = "hand", - }, - { - -- earth war axe replica - itemid = 25954, - type = "equip", - slot = "hand", - }, - { - -- earth war axe replica - itemid = 25954, - type = "deequip", - slot = "hand", - }, - { - -- earth headchopper replica - itemid = 25953, - type = "equip", - slot = "hand", - }, - { - -- earth headchopper replica - itemid = 25953, - type = "deequip", - slot = "hand", - }, - { - -- earth heroic axe replica - itemid = 25952, - type = "equip", - slot = "hand", - }, - { - -- earth heroic axe replica - itemid = 25952, - type = "deequip", - slot = "hand", - }, - { - -- earth knight axe replica - itemid = 25951, - type = "equip", - slot = "hand", - }, - { - -- earth knight axe replica - itemid = 25951, - type = "deequip", - slot = "hand", - }, - { - -- earth barbarian axe replica - itemid = 25950, - type = "equip", - slot = "hand", - }, - { - -- earth barbarian axe replica - itemid = 25950, - type = "deequip", - slot = "hand", - }, - { - -- earth dragon slayer replica - itemid = 25949, - type = "equip", - slot = "hand", - }, - { - -- earth dragon slayer replica - itemid = 25949, - type = "deequip", - slot = "hand", - }, - { - -- earth blacksteel replica - itemid = 25948, - type = "equip", - slot = "hand", - }, - { - -- earth blacksteel replica - itemid = 25948, - type = "deequip", - slot = "hand", - }, - { - -- earth mystic blade replica - itemid = 25947, - type = "equip", - slot = "hand", - }, - { - -- earth mystic blade replica - itemid = 25947, - type = "deequip", - slot = "hand", - }, - { - -- earth relic sword replica - itemid = 25946, - type = "equip", - slot = "hand", - }, - { - -- earth relic sword replica - itemid = 25946, - type = "deequip", - slot = "hand", - }, - { - -- earth spike sword replica - itemid = 25945, - type = "equip", - slot = "hand", - }, - { - -- earth spike sword replica - itemid = 25945, - type = "deequip", - slot = "hand", - }, - { - -- icy war hammer replica - itemid = 25944, - type = "equip", - slot = "hand", - }, - { - -- icy war hammer replica - itemid = 25944, - type = "deequip", - slot = "hand", - }, - { - -- icy orcish maul replica - itemid = 25943, - type = "equip", - slot = "hand", - }, - { - -- icy orcish maul replica - itemid = 25943, - type = "deequip", - slot = "hand", - }, - { - -- icy basher replica - itemid = 25942, - type = "equip", - slot = "hand", - }, - { - -- icy basher replica - itemid = 25942, - type = "deequip", - slot = "hand", - }, - { - -- icy crystal mace replica - itemid = 25941, - type = "equip", - slot = "hand", - }, - { - -- icy crystal mace replica - itemid = 25941, - type = "deequip", - slot = "hand", - }, - { - -- icy clerical mace replica - itemid = 25940, - type = "equip", - slot = "hand", - }, - { - -- icy clerical mace replica - itemid = 25940, - type = "deequip", - slot = "hand", - }, - { - -- icy war axe replica - itemid = 25939, - type = "equip", - slot = "hand", - }, - { - -- icy war axe replica - itemid = 25939, - type = "deequip", - slot = "hand", - }, - { - -- icy headchopper replica - itemid = 25938, - type = "equip", - slot = "hand", - }, - { - -- icy headchopper replica - itemid = 25938, - type = "deequip", - slot = "hand", - }, - { - -- icy heroic axe replica - itemid = 25937, - type = "equip", - slot = "hand", - }, - { - -- icy heroic axe replica - itemid = 25937, - type = "deequip", - slot = "hand", - }, - { - -- icy knight axe replica - itemid = 25936, - type = "equip", - slot = "hand", - }, - { - -- icy knight axe replica - itemid = 25936, - type = "deequip", - slot = "hand", - }, - { - -- icy barbarian axe replica - itemid = 25935, - type = "equip", - slot = "hand", - }, - { - -- icy barbarian axe replica - itemid = 25935, - type = "deequip", - slot = "hand", - }, - { - -- icy dragon slayer replica - itemid = 25934, - type = "equip", - slot = "hand", - }, - { - -- icy dragon slayer replica - itemid = 25934, - type = "deequip", - slot = "hand", - }, - { - -- icy blacksteel replica - itemid = 25933, - type = "equip", - slot = "hand", - }, - { - -- icy blacksteel replica - itemid = 25933, - type = "deequip", - slot = "hand", - }, - { - -- icy mystic blade replica - itemid = 25932, - type = "equip", - slot = "hand", - }, - { - -- icy mystic blade replica - itemid = 25932, - type = "deequip", - slot = "hand", - }, - { - -- icy relic sword replica - itemid = 25931, - type = "equip", - slot = "hand", - }, - { - -- icy relic sword replica - itemid = 25931, - type = "deequip", - slot = "hand", - }, - { - -- icy spike sword replica - itemid = 25930, - type = "equip", - slot = "hand", - }, - { - -- icy spike sword replica - itemid = 25930, - type = "deequip", - slot = "hand", - }, - { - -- fiery war hammer replica - itemid = 25929, - type = "equip", - slot = "hand", - }, - { - -- fiery war hammer replica - itemid = 25929, - type = "deequip", - slot = "hand", - }, - { - -- fiery orcish maul replica - itemid = 25928, - type = "equip", - slot = "hand", - }, - { - -- fiery orcish maul replica - itemid = 25928, - type = "deequip", - slot = "hand", - }, - { - -- fiery basher replica - itemid = 25927, - type = "equip", - slot = "hand", - }, - { - -- fiery basher replica - itemid = 25927, - type = "deequip", - slot = "hand", - }, - { - -- fiery crystal mace replica - itemid = 25926, - type = "equip", - slot = "hand", - }, - { - -- fiery crystal mace replica - itemid = 25926, - type = "deequip", - slot = "hand", - }, - { - -- fiery clerical mace replica - itemid = 25925, - type = "equip", - slot = "hand", - }, - { - -- fiery clerical mace replica - itemid = 25925, - type = "deequip", - slot = "hand", - }, - { - -- fiery war axe replica - itemid = 25924, - type = "equip", - slot = "hand", - }, - { - -- fiery war axe replica - itemid = 25924, - type = "deequip", - slot = "hand", - }, - { - -- fiery headchopper replica - itemid = 25923, - type = "equip", - slot = "hand", - }, - { - -- fiery headchopper replica - itemid = 25923, - type = "deequip", - slot = "hand", - }, - { - -- fiery heroic axe replica - itemid = 25922, - type = "equip", - slot = "hand", - }, - { - -- fiery heroic axe replica - itemid = 25922, - type = "deequip", - slot = "hand", - }, - { - -- fiery knight axe replica - itemid = 25921, - type = "equip", - slot = "hand", - }, - { - -- fiery knight axe replica - itemid = 25921, - type = "deequip", - slot = "hand", - }, - { - -- fiery barbarian axe replica - itemid = 25920, - type = "equip", - slot = "hand", - }, - { - -- fiery barbarian axe replica - itemid = 25920, - type = "deequip", - slot = "hand", - }, - { - -- fiery dragon slayer replica - itemid = 25919, - type = "equip", - slot = "hand", - }, - { - -- fiery dragon slayer replica - itemid = 25919, - type = "deequip", - slot = "hand", - }, - { - -- fiery blacksteel replica - itemid = 25918, - type = "equip", - slot = "hand", - }, - { - -- fiery blacksteel replica - itemid = 25918, - type = "deequip", - slot = "hand", - }, - { - -- fiery mystic blade replica - itemid = 25917, - type = "equip", - slot = "hand", - }, - { - -- fiery mystic blade replica - itemid = 25917, - type = "deequip", - slot = "hand", - }, - { - -- fiery relic sword replica - itemid = 25916, - type = "equip", - slot = "hand", - }, - { - -- fiery relic sword replica - itemid = 25916, - type = "deequip", - slot = "hand", - }, - { - -- fiery spike sword replica - itemid = 25915, - type = "equip", - slot = "hand", - }, - { - -- fiery spike sword replica - itemid = 25915, - type = "deequip", - slot = "hand", - }, - { - -- blossom bag - itemid = 25780, - type = "equip", - slot = "backpack", - }, - { - -- blossom bag - itemid = 25780, - type = "deequip", - slot = "backpack", - }, - { - -- swan feather cloak - itemid = 25779, - type = "equip", - slot = "armor", - level = 60, - }, - { - -- swan feather cloak - itemid = 25779, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- wand of darkness - itemid = 25760, - type = "equip", - slot = "hand", - level = 41, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of darkness - itemid = 25760, - type = "deequip", - slot = "hand", - level = 41, - }, - { - -- royal star - itemid = 25759, - type = "equip", - slot = "hand", - }, - { - -- royal star - itemid = 25759, - type = "deequip", - slot = "hand", - }, - { - -- spectral bolt - itemid = 25758, - type = "equip", - slot = "ammo", - }, - { - -- spectral bolt - itemid = 25758, - type = "deequip", - slot = "ammo", - }, - { - -- leaf star - itemid = 25735, - type = "equip", - slot = "hand", - }, - { - -- leaf star - itemid = 25735, - type = "deequip", - slot = "hand", - }, - { - -- dream blossom staff - itemid = 25700, - type = "equip", - slot = "hand", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- dream blossom staff - itemid = 25700, - type = "deequip", - slot = "hand", - level = 80, - }, - { - -- wooden spellbook - itemid = 25699, - type = "equip", - slot = "shield", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- wooden spellbook - itemid = 25699, - type = "deequip", - slot = "shield", - level = 80, - }, - { - -- butterfly ring - itemid = 25698, - type = "equip", - slot = "ring", - level = 50, - }, - { - -- butterfly ring - itemid = 25698, - type = "deequip", - slot = "ring", - level = 50, - }, - { - -- glowing rubbish amulet - itemid = 25297, - type = "equip", - slot = "necklace", - }, - { - -- glowing rubbish amulet - itemid = 25297, - type = "deequip", - slot = "necklace", - }, - { - -- rubbish amulet - itemid = 25296, - type = "equip", - slot = "necklace", - }, - { - -- rubbish amulet - itemid = 25296, - type = "deequip", - slot = "necklace", - }, - { - -- porcelain mask - itemid = 25088, - type = "equip", - slot = "head", - }, - { - -- porcelain mask - itemid = 25088, - type = "deequip", - slot = "head", - }, - { - -- filthy bunnyslippers - itemid = 24409, - type = "equip", - slot = "feet", - }, - { - -- filthy bunnyslippers - itemid = 24409, - type = "deequip", - slot = "feet", - }, - { - -- rusty winged helmet - itemid = 24405, - type = "equip", - slot = "head", - }, - { - -- rusty winged helmet - itemid = 24405, - type = "deequip", - slot = "head", - }, - { - -- tatty Dragon scale legs - itemid = 24404, - type = "equip", - slot = "legs", - }, - { - -- tatty Dragon scale legs - itemid = 24404, - type = "deequip", - slot = "legs", - }, - { - -- chocolatey dragon scale legs - itemid = 24402, - type = "equip", - slot = "legs", - }, - { - -- chocolatey dragon scale legs - itemid = 24402, - type = "deequip", - slot = "legs", - }, - { - -- Ferumbras' Candy Hat - itemid = 24397, - type = "equip", - slot = "head", - }, - { - -- Ferumbras' Candy Hat - itemid = 24397, - type = "deequip", - slot = "head", - }, - { - -- birthday backpack - itemid = 24395, - type = "equip", - slot = "backpack", - }, - { - -- birthday backpack - itemid = 24395, - type = "deequip", - slot = "backpack", - }, - { - -- pillow backpack - itemid = 24393, - type = "equip", - slot = "backpack", - }, - { - -- pillow backpack - itemid = 24393, - type = "deequip", - slot = "backpack", - }, - { - -- collar of red plasma - itemid = 23544, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- collar of red plasma - itemid = 23544, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of green plasma - itemid = 23543, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- collar of green plasma - itemid = 23543, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of blue plasma - itemid = 23542, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- collar of blue plasma - itemid = 23542, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- ring of red plasma - itemid = 23534, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ring of red plasma - itemid = 23534, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of red plasma - itemid = 23533, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ring of red plasma - itemid = 23533, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of green plasma - itemid = 23532, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- ring of green plasma - itemid = 23532, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of green plasma - itemid = 23531, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- ring of green plasma - itemid = 23531, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of blue plasma - itemid = 23530, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ring of blue plasma - itemid = 23530, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of blue plasma - itemid = 23529, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ring of blue plasma - itemid = 23529, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- collar of red plasma - itemid = 23528, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- collar of red plasma - itemid = 23528, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of green plasma - itemid = 23527, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- collar of green plasma - itemid = 23527, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of blue plasma - itemid = 23526, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- collar of blue plasma - itemid = 23526, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- energetic backpack - itemid = 23525, - type = "equip", - slot = "backpack", - }, - { - -- energetic backpack - itemid = 23525, - type = "deequip", - slot = "backpack", - }, - { - -- void boots - itemid = 23477, - type = "equip", - slot = "feet", - level = 150, - }, - { - -- void boots - itemid = 23477, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- void boots - itemid = 23476, - type = "equip", - slot = "feet", - level = 150, - }, - { - -- void boots - itemid = 23476, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- tiara of power - itemid = 23475, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- tiara of power - itemid = 23475, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- tiara of power - itemid = 23474, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- tiara of power - itemid = 23474, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- rod of carving - itemid = 23339, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of carving - itemid = 23339, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- wand of carving - itemid = 23335, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of carving - itemid = 23335, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- crossbow of carving - itemid = 23331, - type = "equip", - slot = "hand", - }, - { - -- crossbow of carving - itemid = 23331, - type = "deequip", - slot = "hand", - }, - { - -- bow of carving - itemid = 23327, - type = "equip", - slot = "hand", - }, - { - -- bow of carving - itemid = 23327, - type = "deequip", - slot = "hand", - }, - { - -- hammer of carving - itemid = 23323, - type = "equip", - slot = "hand", - }, - { - -- hammer of carving - itemid = 23323, - type = "deequip", - slot = "hand", - }, - { - -- mace of carving - itemid = 23319, - type = "equip", - slot = "hand", - }, - { - -- mace of carving - itemid = 23319, - type = "deequip", - slot = "hand", - }, - { - -- chopper of carving - itemid = 23315, - type = "equip", - slot = "hand", - }, - { - -- chopper of carving - itemid = 23315, - type = "deequip", - slot = "hand", - }, - { - -- axe of carving - itemid = 23311, - type = "equip", - slot = "hand", - }, - { - -- axe of carving - itemid = 23311, - type = "deequip", - slot = "hand", - }, - { - -- slayer of carving - itemid = 23307, - type = "equip", - slot = "hand", - }, - { - -- slayer of carving - itemid = 23307, - type = "deequip", - slot = "hand", - }, - { - -- blade of carving - itemid = 23303, - type = "equip", - slot = "hand", - }, - { - -- blade of carving - itemid = 23303, - type = "deequip", - slot = "hand", - }, - { - -- rod of remedy - itemid = 23299, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of remedy - itemid = 23299, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- wand of remedy - itemid = 23295, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of remedy - itemid = 23295, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- crossbow of remedy - itemid = 23291, - type = "equip", - slot = "hand", - }, - { - -- crossbow of remedy - itemid = 23291, - type = "deequip", - slot = "hand", - }, - { - -- bow of remedy - itemid = 23287, - type = "equip", - slot = "hand", - }, - { - -- bow of remedy - itemid = 23287, - type = "deequip", - slot = "hand", - }, - { - -- mace of remedy - itemid = 23279, - type = "equip", - slot = "hand", - }, - { - -- mace of remedy - itemid = 23279, - type = "deequip", - slot = "hand", - }, - { - -- chopper of remedy - itemid = 23275, - type = "equip", - slot = "hand", - }, - { - -- chopper of remedy - itemid = 23275, - type = "deequip", - slot = "hand", - }, - { - -- axe of remedy - itemid = 23271, - type = "equip", - slot = "hand", - }, - { - -- axe of remedy - itemid = 23271, - type = "deequip", - slot = "hand", - }, - { - -- slayer of remedy - itemid = 23267, - type = "equip", - slot = "hand", - }, - { - -- slayer of remedy - itemid = 23267, - type = "deequip", - slot = "hand", - }, - { - -- blade of remedy - itemid = 23263, - type = "equip", - slot = "hand", - }, - { - -- blade of remedy - itemid = 23263, - type = "deequip", - slot = "hand", - }, - { - -- rod of mayhem - itemid = 23232, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of mayhem - itemid = 23232, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- wand of mayhem - itemid = 23231, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of mayhem - itemid = 23231, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- crossbow of mayhem - itemid = 23230, - type = "equip", - slot = "hand", - }, - { - -- crossbow of mayhem - itemid = 23230, - type = "deequip", - slot = "hand", - }, - { - -- bow of mayhem - itemid = 23229, - type = "equip", - slot = "hand", - }, - { - -- bow of mayhem - itemid = 23229, - type = "deequip", - slot = "hand", - }, - { - -- hammer of mayhem - itemid = 23228, - type = "equip", - slot = "hand", - }, - { - -- hammer of mayhem - itemid = 23228, - type = "deequip", - slot = "hand", - }, - { - -- mace of mayhem - itemid = 23227, - type = "equip", - slot = "hand", - }, - { - -- mace of mayhem - itemid = 23227, - type = "deequip", - slot = "hand", - }, - { - -- chopper of mayhem - itemid = 23226, - type = "equip", - slot = "hand", - }, - { - -- chopper of mayhem - itemid = 23226, - type = "deequip", - slot = "hand", - }, - { - -- axe of mayhem - itemid = 23225, - type = "equip", - slot = "hand", - }, - { - -- axe of mayhem - itemid = 23225, - type = "deequip", - slot = "hand", - }, - { - -- slayer of mayhem - itemid = 23224, - type = "equip", - slot = "hand", - }, - { - -- slayer of mayhem - itemid = 23224, - type = "deequip", - slot = "hand", - }, - { - -- blade of mayhem - itemid = 23223, - type = "equip", - slot = "hand", - }, - { - -- blade of mayhem - itemid = 23223, - type = "deequip", - slot = "hand", - }, - { - -- shield of destiny - itemid = 22890, - type = "equip", - slot = "shield", - }, - { - -- shield of destiny - itemid = 22890, - type = "deequip", - slot = "shield", - }, - { - -- shield of destiny - itemid = 22889, - type = "equip", - slot = "shield", - }, - { - -- shield of destiny - itemid = 22889, - type = "deequip", - slot = "shield", - }, - { - -- rift crossbow - itemid = 22867, - type = "equip", - slot = "hand", - }, - { - -- rift crossbow - itemid = 22867, - type = "deequip", - slot = "hand", - }, - { - -- rift bow - itemid = 22866, - type = "equip", - slot = "hand", - }, - { - -- rift bow - itemid = 22866, - type = "deequip", - slot = "hand", - }, - { - -- boots of homecoming - itemid = 22774, - type = "equip", - slot = "feet", - level = 100, - }, - { - -- boots of homecoming - itemid = 22774, - type = "deequip", - slot = "feet", - level = 100, - }, - { - -- boots of homecoming - itemid = 22773, - type = "equip", - slot = "feet", - level = 100, - }, - { - -- boots of homecoming - itemid = 22773, - type = "deequip", - slot = "feet", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22768, - type = "equip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22768, - type = "deequip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22767, - type = "equip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22767, - type = "deequip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' staff (enchanted) - itemid = 22766, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- ferumbras' staff (enchanted) - itemid = 22766, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- ferumbras' staff (failed) - itemid = 22765, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- ferumbras' staff (failed) - itemid = 22765, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- Ferumbras' staff - itemid = 22764, - type = "equip", - slot = "hand", - }, - { - -- Ferumbras' staff - itemid = 22764, - type = "deequip", - slot = "hand", - }, - { - -- maimer - itemid = 22762, - type = "equip", - slot = "hand", - }, - { - -- maimer - itemid = 22762, - type = "deequip", - slot = "hand", - }, - { - -- Impaler of the igniter - itemid = 22760, - type = "equip", - slot = "hand", - }, - { - -- Impaler of the igniter - itemid = 22760, - type = "deequip", - slot = "hand", - }, - { - -- plague bite - itemid = 22759, - type = "equip", - slot = "hand", - }, - { - -- plague bite - itemid = 22759, - type = "deequip", - slot = "hand", - }, - { - -- death gaze - itemid = 22758, - type = "equip", - slot = "shield", - level = 200, - }, - { - -- death gaze - itemid = 22758, - type = "deequip", - slot = "shield", - level = 200, - }, - { - -- shroud of despair - itemid = 22757, - type = "equip", - slot = "head", - level = 150, - }, - { - -- shroud of despair - itemid = 22757, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- treader of torment - itemid = 22756, - type = "equip", - slot = "feet", - }, - { - -- treader of torment - itemid = 22756, - type = "deequip", - slot = "feet", - }, - { - -- book of lies - itemid = 22755, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- book of lies - itemid = 22755, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- visage of the end days - itemid = 22754, - type = "equip", - slot = "head", - }, - { - -- visage of the end days - itemid = 22754, - type = "deequip", - slot = "head", - }, - { - -- ancient amulet - itemid = 22746, - type = "equip", - slot = "necklace", - }, - { - -- ancient amulet - itemid = 22746, - type = "deequip", - slot = "necklace", - }, - { - -- rift lance - itemid = 22727, - type = "equip", - slot = "hand", - }, - { - -- rift lance - itemid = 22727, - type = "deequip", - slot = "hand", - }, - { - -- rift shield - itemid = 22726, - type = "equip", - slot = "shield", - }, - { - -- rift shield - itemid = 22726, - type = "deequip", - slot = "shield", - }, - { - -- rattling gourd - itemid = 22651, - type = "equip", - slot = "shield", - }, - { - -- rattling gourd - itemid = 22651, - type = "deequip", - slot = "shield", - }, - { - -- gourd - itemid = 22650, - type = "equip", - slot = "shield", - }, - { - -- gourd - itemid = 22650, - type = "deequip", - slot = "shield", - }, - { - -- frostmind raiment - itemid = 22537, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- frostmind raiment - itemid = 22537, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thundermind raiment - itemid = 22536, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- thundermind raiment - itemid = 22536, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthmind raiment - itemid = 22535, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- earthmind raiment - itemid = 22535, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- firemind raiment - itemid = 22534, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- firemind raiment - itemid = 22534, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostsoul tabard - itemid = 22533, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- frostsoul tabard - itemid = 22533, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thundersoul tabard - itemid = 22532, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- thundersoul tabard - itemid = 22532, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthsoul tabard - itemid = 22531, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- earthsoul tabard - itemid = 22531, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- firesoul tabard - itemid = 22530, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- firesoul tabard - itemid = 22530, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostheart platemail - itemid = 22529, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostheart platemail - itemid = 22529, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostheart hauberk - itemid = 22528, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostheart hauberk - itemid = 22528, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostheart cuirass - itemid = 22527, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostheart cuirass - itemid = 22527, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thunderheart platemail - itemid = 22526, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- thunderheart platemail - itemid = 22526, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thunderheart hauberk - itemid = 22525, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- thunderheart hauberk - itemid = 22525, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thunderheart cuirass - itemid = 22524, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- thunderheart cuirass - itemid = 22524, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthheart platemail - itemid = 22523, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthheart platemail - itemid = 22523, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthheart hauberk - itemid = 22522, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthheart hauberk - itemid = 22522, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthheart cuirass - itemid = 22521, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthheart cuirass - itemid = 22521, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- fireheart platemail - itemid = 22520, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireheart platemail - itemid = 22520, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- fireheart hauberk - itemid = 22519, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireheart hauberk - itemid = 22519, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- fireheart cuirass - itemid = 22518, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireheart cuirass - itemid = 22518, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- onyx pendant - itemid = 22195, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- onyx pendant - itemid = 22195, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- shamanic mask - itemid = 22192, - type = "equip", - slot = "head", - }, - { - -- shamanic mask - itemid = 22192, - type = "deequip", - slot = "head", - }, - { - -- painted gourd rattle - itemid = 22190, - type = "equip", - slot = "shield", - }, - { - -- painted gourd rattle - itemid = 22190, - type = "deequip", - slot = "shield", - }, - { - -- ogre sceptra - itemid = 22183, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- ogre sceptra - itemid = 22183, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- ogre choppa - itemid = 22172, - type = "equip", - slot = "hand", - }, - { - -- ogre choppa - itemid = 22172, - type = "deequip", - slot = "hand", - }, - { - -- ogre klubba - itemid = 22171, - type = "equip", - slot = "hand", - }, - { - -- ogre klubba - itemid = 22171, - type = "deequip", - slot = "hand", - }, - { - -- house silversun's signet ring - itemid = 22170, - type = "equip", - slot = "ring", - }, - { - -- house silversun's signet ring - itemid = 22170, - type = "deequip", - slot = "ring", - }, - { - -- dark wizard's crown - itemid = 22154, - type = "equip", - slot = "head", - }, - { - -- dark wizard's crown - itemid = 22154, - type = "deequip", - slot = "head", - }, - { - -- dark wizard's crown - itemid = 22153, - type = "equip", - slot = "head", - }, - { - -- dark wizard's crown - itemid = 22153, - type = "deequip", - slot = "head", - }, - { - -- enchanted werewolf amulet - itemid = 22134, - type = "equip", - slot = "necklace", - }, - { - -- enchanted werewolf amulet - itemid = 22134, - type = "deequip", - slot = "necklace", - }, - { - -- enchanted werewolf helmet - itemid = 22130, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted werewolf helmet - itemid = 22130, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- enchanted werewolf helmet - itemid = 22129, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted werewolf helmet - itemid = 22129, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- enchanted werewolf helmet - itemid = 22128, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- enchanted werewolf helmet - itemid = 22128, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- enchanted werewolf helmet - itemid = 22127, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- enchanted werewolf helmet - itemid = 22127, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- wereboar loincloth - itemid = 22087, - type = "equip", - slot = "legs", - }, - { - -- wereboar loincloth - itemid = 22087, - type = "deequip", - slot = "legs", - }, - { - -- badger boots - itemid = 22086, - type = "equip", - slot = "feet", - level = 60, - }, - { - -- badger boots - itemid = 22086, - type = "deequip", - slot = "feet", - level = 60, - }, - { - -- fur armor - itemid = 22085, - type = "equip", - slot = "armor", - level = 50, - }, - { - -- fur armor - itemid = 22085, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- wolf backpack - itemid = 22084, - type = "equip", - slot = "backpack", - }, - { - -- wolf backpack - itemid = 22084, - type = "deequip", - slot = "backpack", - }, - { - -- werewolf helmet - itemid = 22062, - type = "equip", - slot = "head", - level = 100, - }, - { - -- werewolf helmet - itemid = 22062, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- werewolf amulet - itemid = 22060, - type = "equip", - slot = "necklace", - }, - { - -- werewolf amulet - itemid = 22060, - type = "deequip", - slot = "necklace", - }, - { - -- oriental shoes - itemid = 21981, - type = "equip", - slot = "feet", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- oriental shoes - itemid = 21981, - type = "deequip", - slot = "feet", - level = 80, - }, - { - -- sweetheart ring - itemid = 21955, - type = "equip", - slot = "ring", - }, - { - -- sweetheart ring - itemid = 21955, - type = "deequip", - slot = "ring", - }, - { - -- crest of the deep seas - itemid = 21892, - type = "equip", - slot = "head", - level = 80, - }, - { - -- crest of the deep seas - itemid = 21892, - type = "deequip", - slot = "head", - level = 80, - }, - { - -- brandon's wedding ring - itemid = 21745, - type = "equip", - slot = "ring", - }, - { - -- brandon's wedding ring - itemid = 21745, - type = "deequip", - slot = "ring", - }, - { - -- simple arrow - itemid = 21470, - type = "equip", - slot = "ammo", - }, - { - -- simple arrow - itemid = 21470, - type = "deequip", - slot = "ammo", - }, - { - -- war backpack - itemid = 21445, - type = "equip", - slot = "backpack", - }, - { - -- war backpack - itemid = 21445, - type = "deequip", - slot = "backpack", - }, - { - -- the Lion's Heart - itemid = 21439, - type = "equip", - slot = "necklace", - }, - { - -- the Lion's Heart - itemid = 21439, - type = "deequip", - slot = "necklace", - }, - { - -- shopping bag - itemid = 21411, - type = "equip", - slot = "backpack", - }, - { - -- shopping bag - itemid = 21411, - type = "deequip", - slot = "backpack", - }, - { - -- broken wooden shield - itemid = 21401, - type = "equip", - slot = "shield", - }, - { - -- broken wooden shield - itemid = 21401, - type = "deequip", - slot = "shield", - }, - { - -- spellbook of the novice - itemid = 21400, - type = "equip", - slot = "shield", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of the novice - itemid = 21400, - type = "deequip", - slot = "shield", - }, - { - -- the chiller - itemid = 21350, - type = "equip", - slot = "hand", - level = 1, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- the chiller - itemid = 21350, - type = "deequip", - slot = "hand", - level = 1, - }, - { - -- the scorcher - itemid = 21348, - type = "equip", - slot = "hand", - level = 1, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- the scorcher - itemid = 21348, - type = "deequip", - slot = "hand", - level = 1, - }, - { - -- glooth backpack - itemid = 21295, - type = "equip", - slot = "backpack", - }, - { - -- glooth backpack - itemid = 21295, - type = "deequip", - slot = "backpack", - }, - { - -- feedbag - itemid = 21292, - type = "equip", - slot = "backpack", - }, - { - -- feedbag - itemid = 21292, - type = "deequip", - slot = "backpack", - }, - { - -- one hit wonder - itemid = 21219, - type = "equip", - slot = "hand", - }, - { - -- one hit wonder - itemid = 21219, - type = "deequip", - slot = "hand", - }, - { - -- glooth amulet - itemid = 21183, - type = "equip", - slot = "necklace", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glooth amulet - itemid = 21183, - type = "deequip", - slot = "necklace", - level = 75, - }, - { - -- glooth axe - itemid = 21180, - type = "equip", - slot = "hand", - }, - { - -- glooth axe - itemid = 21180, - type = "deequip", - slot = "hand", - }, - { - -- glooth blade - itemid = 21179, - type = "equip", - slot = "hand", - }, - { - -- glooth blade - itemid = 21179, - type = "deequip", - slot = "hand", - }, - { - -- glooth club - itemid = 21178, - type = "equip", - slot = "hand", - }, - { - -- glooth club - itemid = 21178, - type = "deequip", - slot = "hand", - }, - { - -- cowtana - itemid = 21177, - type = "equip", - slot = "hand", - }, - { - -- cowtana - itemid = 21177, - type = "deequip", - slot = "hand", - }, - { - -- execowtioner axe - itemid = 21176, - type = "equip", - slot = "hand", - }, - { - -- execowtioner axe - itemid = 21176, - type = "deequip", - slot = "hand", - }, - { - -- mino shield - itemid = 21175, - type = "equip", - slot = "shield", - }, - { - -- mino shield - itemid = 21175, - type = "deequip", - slot = "shield", - }, - { - -- mino lance - itemid = 21174, - type = "equip", - slot = "hand", - }, - { - -- mino lance - itemid = 21174, - type = "deequip", - slot = "hand", - }, - { - -- moohtant cudgel - itemid = 21173, - type = "equip", - slot = "hand", - }, - { - -- moohtant cudgel - itemid = 21173, - type = "deequip", - slot = "hand", - }, - { - -- glooth whip - itemid = 21172, - type = "equip", - slot = "hand", - }, - { - -- glooth whip - itemid = 21172, - type = "deequip", - slot = "hand", - }, - { - -- metal bat - itemid = 21171, - type = "equip", - slot = "hand", - }, - { - -- metal bat - itemid = 21171, - type = "deequip", - slot = "hand", - }, - { - -- gearwheel chain - itemid = 21170, - type = "equip", - slot = "necklace", - level = 75, - }, - { - -- gearwheel chain - itemid = 21170, - type = "deequip", - slot = "necklace", - level = 75, - }, - { - -- metal spats - itemid = 21169, - type = "equip", - slot = "feet", - level = 50, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- metal spats - itemid = 21169, - type = "deequip", - slot = "feet", - level = 50, - }, - { - -- alloy legs - itemid = 21168, - type = "equip", - slot = "legs", - level = 60, - }, - { - -- alloy legs - itemid = 21168, - type = "deequip", - slot = "legs", - level = 60, - }, - { - -- heat core - itemid = 21167, - type = "equip", - slot = "armor", - }, - { - -- heat core - itemid = 21167, - type = "deequip", - slot = "armor", - }, - { - -- mooh'tah plate - itemid = 21166, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- mooh'tah plate - itemid = 21166, - type = "deequip", - slot = "armor", - }, - { - -- rubber cap - itemid = 21165, - type = "equip", - slot = "head", - level = 70, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- rubber cap - itemid = 21165, - type = "deequip", - slot = "head", - level = 70, - }, - { - -- glooth cape - itemid = 21164, - type = "equip", - slot = "armor", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glooth cape - itemid = 21164, - type = "deequip", - slot = "armor", - level = 40, - }, - { - -- glooth spear - itemid = 21158, - type = "equip", - slot = "hand", - }, - { - -- glooth spear - itemid = 21158, - type = "deequip", - slot = "hand", - }, - { - -- cake backpack - itemid = 20347, - type = "equip", - slot = "backpack", - }, - { - -- cake backpack - itemid = 20347, - type = "deequip", - slot = "backpack", - }, - { - -- unstable ring of ending - itemid = 20209, - type = "equip", - slot = "ring", - }, - { - -- unstable ring of ending - itemid = 20209, - type = "deequip", - slot = "ring", - }, - { - -- broken visor - itemid = 20184, - type = "equip", - slot = "head", - }, - { - -- broken visor - itemid = 20184, - type = "deequip", - slot = "head", - }, - { - -- ring of ending - itemid = 20182, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- ring of ending - itemid = 20182, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- eerie song book - itemid = 20140, - type = "equip", - slot = "shield", - }, - { - -- eerie song book - itemid = 20140, - type = "deequip", - slot = "shield", - }, - { - -- umbral master spellbook - itemid = 20090, - type = "equip", - slot = "shield", - level = 250, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- umbral master spellbook - itemid = 20090, - type = "deequip", - slot = "shield", - level = 250, - }, - { - -- umbral spellbook - itemid = 20089, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- umbral spellbook - itemid = 20089, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- crude umbral spellbook - itemid = 20088, - type = "equip", - slot = "shield", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- crude umbral spellbook - itemid = 20088, - type = "deequip", - slot = "shield", - level = 75, - }, - { - -- umbral master crossbow - itemid = 20087, - type = "equip", - slot = "hand", - }, - { - -- umbral master crossbow - itemid = 20087, - type = "deequip", - slot = "hand", - }, - { - -- umbral crossbow - itemid = 20086, - type = "equip", - slot = "hand", - }, - { - -- umbral crossbow - itemid = 20086, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral crossbow - itemid = 20085, - type = "equip", - slot = "hand", - }, - { - -- crude umbral crossbow - itemid = 20085, - type = "deequip", - slot = "hand", - }, - { - -- umbral master bow - itemid = 20084, - type = "equip", - slot = "hand", - }, - { - -- umbral master bow - itemid = 20084, - type = "deequip", - slot = "hand", - }, - { - -- umbral bow - itemid = 20083, - type = "equip", - slot = "hand", - }, - { - -- umbral bow - itemid = 20083, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral bow - itemid = 20082, - type = "equip", - slot = "hand", - }, - { - -- crude umbral bow - itemid = 20082, - type = "deequip", - slot = "hand", - }, - { - -- umbral master hammer - itemid = 20081, - type = "equip", - slot = "hand", - }, - { - -- umbral master hammer - itemid = 20081, - type = "deequip", - slot = "hand", - }, - { - -- umbral hammer - itemid = 20080, - type = "equip", - slot = "hand", - }, - { - -- umbral hammer - itemid = 20080, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral hammer - itemid = 20079, - type = "equip", - slot = "hand", - }, - { - -- crude umbral hammer - itemid = 20079, - type = "deequip", - slot = "hand", - }, - { - -- umbral master mace - itemid = 20078, - type = "equip", - slot = "hand", - }, - { - -- umbral master mace - itemid = 20078, - type = "deequip", - slot = "hand", - }, - { - -- umbral mace - itemid = 20077, - type = "equip", - slot = "hand", - }, - { - -- umbral mace - itemid = 20077, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral mace - itemid = 20076, - type = "equip", - slot = "hand", - }, - { - -- crude umbral mace - itemid = 20076, - type = "deequip", - slot = "hand", - }, - { - -- umbral master chopper - itemid = 20075, - type = "equip", - slot = "hand", - }, - { - -- umbral master chopper - itemid = 20075, - type = "deequip", - slot = "hand", - }, - { - -- umbral chopper - itemid = 20074, - type = "equip", - slot = "hand", - }, - { - -- umbral chopper - itemid = 20074, - type = "deequip", - slot = "hand", - }, - { - -- guardian halberd - itemid = 20073, - type = "equip", - slot = "hand", - }, - { - -- guardian halberd - itemid = 20073, - type = "deequip", - slot = "hand", - }, - { - -- umbral master axe - itemid = 20072, - type = "equip", - slot = "hand", - }, - { - -- umbral master axe - itemid = 20072, - type = "deequip", - slot = "hand", - }, - { - -- umbral axe - itemid = 20071, - type = "equip", - slot = "hand", - }, - { - -- umbral axe - itemid = 20071, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral axe - itemid = 20070, - type = "equip", - slot = "hand", - }, - { - -- crude umbral axe - itemid = 20070, - type = "deequip", - slot = "hand", - }, - { - -- umbral master slayer - itemid = 20069, - type = "equip", - slot = "hand", - }, - { - -- umbral master slayer - itemid = 20069, - type = "deequip", - slot = "hand", - }, - { - -- umbral slayer - itemid = 20068, - type = "equip", - slot = "hand", - }, - { - -- umbral slayer - itemid = 20068, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral slayer - itemid = 20067, - type = "equip", - slot = "hand", - }, - { - -- crude umbral slayer - itemid = 20067, - type = "deequip", - slot = "hand", - }, - { - -- umbral masterblade - itemid = 20066, - type = "equip", - slot = "hand", - }, - { - -- umbral masterblade - itemid = 20066, - type = "deequip", - slot = "hand", - }, - { - -- umbral blade - itemid = 20065, - type = "equip", - slot = "hand", - }, - { - -- umbral blade - itemid = 20065, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral blade - itemid = 20064, - type = "equip", - slot = "hand", - }, - { - -- crude umbral blade - itemid = 20064, - type = "deequip", - slot = "hand", - }, - { - -- strange good night songs - itemid = 20050, - type = "equip", - slot = "shield", - }, - { - -- strange good night songs - itemid = 20050, - type = "deequip", - slot = "shield", - }, - { - -- furious frock - itemid = 19391, - type = "equip", - slot = "armor", - level = 130, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- furious frock - itemid = 19391, - type = "deequip", - slot = "armor", - level = 130, - }, - { - -- vampire silk slippers - itemid = 19374, - type = "equip", - slot = "feet", - }, - { - -- vampire silk slippers - itemid = 19374, - type = "deequip", - slot = "feet", - }, - { - -- haunted mirror piece - itemid = 19373, - type = "equip", - slot = "shield", - }, - { - -- haunted mirror piece - itemid = 19373, - type = "deequip", - slot = "shield", - }, - { - -- goo shell - itemid = 19372, - type = "equip", - slot = "armor", - }, - { - -- goo shell - itemid = 19372, - type = "deequip", - slot = "armor", - }, - { - -- icy culottes - itemid = 19366, - type = "equip", - slot = "legs", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- icy culottes - itemid = 19366, - type = "deequip", - slot = "legs", - }, - { - -- runic ice shield - itemid = 19363, - type = "equip", - slot = "shield", - }, - { - -- runic ice shield - itemid = 19363, - type = "deequip", - slot = "shield", - }, - { - -- icicle bow - itemid = 19362, - type = "equip", - slot = "hand", - }, - { - -- icicle bow - itemid = 19362, - type = "deequip", - slot = "hand", - }, - { - -- horn - itemid = 19359, - type = "equip", - slot = "ring", - }, - { - -- horn - itemid = 19359, - type = "deequip", - slot = "ring", - }, - { - -- albino plate - itemid = 19358, - type = "equip", - slot = "armor", - }, - { - -- albino plate - itemid = 19358, - type = "deequip", - slot = "armor", - }, - { - -- shrunken head necklace - itemid = 19357, - type = "equip", - slot = "necklace", - level = 150, - }, - { - -- shrunken head necklace - itemid = 19357, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- triple bolt crossbow - itemid = 19356, - type = "equip", - slot = "hand", - }, - { - -- triple bolt crossbow - itemid = 19356, - type = "deequip", - slot = "hand", - }, - { - -- pannier backpack - itemid = 19159, - type = "equip", - slot = "backpack", - }, - { - -- pannier backpack - itemid = 19159, - type = "deequip", - slot = "backpack", - }, - { - -- friendship amulet - itemid = 19153, - type = "equip", - slot = "necklace", - }, - { - -- friendship amulet - itemid = 19153, - type = "deequip", - slot = "necklace", - }, - { - -- vampire's signet ring - itemid = 18935, - type = "equip", - slot = "ring", - }, - { - -- vampire's signet ring - itemid = 18935, - type = "deequip", - slot = "ring", - }, - { - -- spiky club - itemid = 17859, - type = "equip", - slot = "hand", - }, - { - -- spiky club - itemid = 17859, - type = "deequip", - slot = "hand", - }, - { - -- helmet of the lost - itemid = 17852, - type = "equip", - slot = "head", - }, - { - -- helmet of the lost - itemid = 17852, - type = "deequip", - slot = "head", - }, - { - -- leather harness - itemid = 17846, - type = "equip", - slot = "armor", - }, - { - -- leather harness - itemid = 17846, - type = "deequip", - slot = "armor", - }, - { - -- buckle - itemid = 17829, - type = "equip", - slot = "armor", - }, - { - -- buckle - itemid = 17829, - type = "deequip", - slot = "armor", - }, - { - -- pair of iron fists - itemid = 17828, - type = "equip", - slot = "hand", - }, - { - -- pair of iron fists - itemid = 17828, - type = "deequip", - slot = "hand", - }, - { - -- swampling club - itemid = 17824, - type = "equip", - slot = "hand", - }, - { - -- swampling club - itemid = 17824, - type = "deequip", - slot = "hand", - }, - { - -- life preserver - itemid = 17813, - type = "equip", - slot = "hand", - }, - { - -- life preserver - itemid = 17813, - type = "deequip", - slot = "hand", - }, - { - -- ratana - itemid = 17812, - type = "equip", - slot = "hand", - }, - { - -- ratana - itemid = 17812, - type = "deequip", - slot = "hand", - }, - { - -- spike shield - itemid = 17810, - type = "equip", - slot = "shield", - }, - { - -- spike shield - itemid = 17810, - type = "deequip", - slot = "shield", - }, - { - -- sorc and druid staff - itemid = 17111, - type = "equip", - slot = "hand", - level = 1, - vocation = { - { "None", true }, - }, - }, - { - -- sorc and druid staff - itemid = 17111, - type = "deequip", - slot = "hand", - level = 1, - }, - { - -- mean paladin spear - itemid = 17110, - type = "equip", - slot = "hand", - }, - { - -- mean paladin spear - itemid = 17110, - type = "deequip", - slot = "hand", - }, - { - -- mean knight sword - itemid = 17109, - type = "equip", - slot = "hand", - }, - { - -- mean knight sword - itemid = 17109, - type = "deequip", - slot = "hand", - }, - { - -- prismatic ring - itemid = 16264, - type = "equip", - slot = "ring", - level = 120, - }, - { - -- prismatic ring - itemid = 16264, - type = "deequip", - slot = "ring", - level = 120, - }, - { - -- shiny blade - itemid = 16175, - type = "equip", - slot = "hand", - }, - { - -- shiny blade - itemid = 16175, - type = "deequip", - slot = "hand", - }, - { - -- mycological bow - itemid = 16164, - type = "equip", - slot = "hand", - }, - { - -- mycological bow - itemid = 16164, - type = "deequip", - slot = "hand", - }, - { - -- crystal crossbow - itemid = 16163, - type = "equip", - slot = "hand", - }, - { - -- crystal crossbow - itemid = 16163, - type = "deequip", - slot = "hand", - }, - { - -- mycological mace - itemid = 16162, - type = "equip", - slot = "hand", - }, - { - -- mycological mace - itemid = 16162, - type = "deequip", - slot = "hand", - }, - { - -- crystalline axe - itemid = 16161, - type = "equip", - slot = "hand", - }, - { - -- crystalline axe - itemid = 16161, - type = "deequip", - slot = "hand", - }, - { - -- crystalline sword - itemid = 16160, - type = "equip", - slot = "hand", - }, - { - -- crystalline sword - itemid = 16160, - type = "deequip", - slot = "hand", - }, - { - -- envenomed arrow - itemid = 16143, - type = "equip", - slot = "ammo", - }, - { - -- envenomed arrow - itemid = 16143, - type = "deequip", - slot = "ammo", - }, - { - -- drill bolt - itemid = 16142, - type = "equip", - slot = "ammo", - }, - { - -- drill bolt - itemid = 16142, - type = "deequip", - slot = "ammo", - }, - { - -- prismatic bolt - itemid = 16141, - type = "equip", - slot = "ammo", - }, - { - -- prismatic bolt - itemid = 16141, - type = "deequip", - slot = "ammo", - }, - { - -- glacial rod - itemid = 16118, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- glacial rod - itemid = 16118, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- muck rod - itemid = 16117, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- muck rod - itemid = 16117, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- prismatic shield - itemid = 16116, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- prismatic shield - itemid = 16116, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- wand of everblazing - itemid = 16115, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of everblazing - itemid = 16115, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- prismatic ring - itemid = 16114, - type = "equip", - slot = "ring", - level = 120, - }, - { - -- prismatic ring - itemid = 16114, - type = "deequip", - slot = "ring", - level = 120, - }, - { - -- prismatic necklace - itemid = 16113, - type = "equip", - slot = "necklace", - level = 150, - }, - { - -- prismatic necklace - itemid = 16113, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- prismatic boots - itemid = 16112, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- prismatic boots - itemid = 16112, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- prismatic legs - itemid = 16111, - type = "equip", - slot = "legs", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- prismatic legs - itemid = 16111, - type = "deequip", - slot = "legs", - level = 150, - }, - { - -- prismatic armor - itemid = 16110, - type = "equip", - slot = "armor", - level = 120, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- prismatic armor - itemid = 16110, - type = "deequip", - slot = "armor", - level = 120, - }, - { - -- prismatic helmet - itemid = 16109, - type = "equip", - slot = "head", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- prismatic helmet - itemid = 16109, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- gill necklace - itemid = 16108, - type = "equip", - slot = "necklace", - level = 150, - }, - { - -- gill necklace - itemid = 16108, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- spellbook of vigilance - itemid = 16107, - type = "equip", - slot = "shield", - level = 130, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of vigilance - itemid = 16107, - type = "deequip", - slot = "shield", - level = 130, - }, - { - -- gill legs - itemid = 16106, - type = "equip", - slot = "legs", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gill legs - itemid = 16106, - type = "deequip", - slot = "legs", - level = 150, - }, - { - -- gill coat - itemid = 16105, - type = "equip", - slot = "armor", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gill coat - itemid = 16105, - type = "deequip", - slot = "armor", - level = 150, - }, - { - -- gill gugel - itemid = 16104, - type = "equip", - slot = "head", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gill gugel - itemid = 16104, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- crystal backpack - itemid = 16100, - type = "equip", - slot = "backpack", - }, - { - -- crystal backpack - itemid = 16100, - type = "deequip", - slot = "backpack", - }, - { - -- mushroom backpack - itemid = 16099, - type = "equip", - slot = "backpack", - }, - { - -- mushroom backpack - itemid = 16099, - type = "deequip", - slot = "backpack", - }, - { - -- wand of defiance - itemid = 16096, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of defiance - itemid = 16096, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- crystalline arrow - itemid = 15793, - type = "equip", - slot = "ammo", - }, - { - -- crystalline arrow - itemid = 15793, - type = "deequip", - slot = "ammo", - }, - { - -- crystal bolt - itemid = 15792, - type = "equip", - slot = "ammo", - }, - { - -- crystal bolt - itemid = 15792, - type = "deequip", - slot = "ammo", - }, - { - -- spellbook of ancient arcana - itemid = 14769, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of ancient arcana - itemid = 14769, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- thorn spitter - itemid = 14768, - type = "equip", - slot = "hand", - }, - { - -- thorn spitter - itemid = 14768, - type = "deequip", - slot = "hand", - }, - { - -- mathmaster shield - itemid = 14761, - type = "equip", - slot = "shield", - }, - { - -- mathmaster shield - itemid = 14761, - type = "deequip", - slot = "shield", - }, - { - -- mathmaster shield - itemid = 14760, - type = "equip", - slot = "shield", - }, - { - -- mathmaster shield - itemid = 14760, - type = "deequip", - slot = "shield", - }, - { - -- anniversary backpack - itemid = 14674, - type = "equip", - slot = "backpack", - }, - { - -- anniversary backpack - itemid = 14674, - type = "deequip", - slot = "backpack", - }, - { - -- vortex bolt - itemid = 14252, - type = "equip", - slot = "ammo", - }, - { - -- vortex bolt - itemid = 14252, - type = "deequip", - slot = "ammo", - }, - { - -- tarsal arrow - itemid = 14251, - type = "equip", - slot = "ammo", - }, - { - -- tarsal arrow - itemid = 14251, - type = "deequip", - slot = "ammo", - }, - { - -- deepling squelcher - itemid = 14250, - type = "equip", - slot = "hand", - }, - { - -- deepling squelcher - itemid = 14250, - type = "deequip", - slot = "hand", - }, - { - -- buggy backpack - itemid = 14249, - type = "equip", - slot = "backpack", - }, - { - -- buggy backpack - itemid = 14249, - type = "deequip", - slot = "backpack", - }, - { - -- deepling backpack - itemid = 14248, - type = "equip", - slot = "backpack", - }, - { - -- deepling backpack - itemid = 14248, - type = "deequip", - slot = "backpack", - }, - { - -- ornate crossbow - itemid = 14247, - type = "equip", - slot = "hand", - }, - { - -- ornate crossbow - itemid = 14247, - type = "deequip", - slot = "hand", - }, - { - -- hive bow - itemid = 14246, - type = "equip", - slot = "hand", - }, - { - -- hive bow - itemid = 14246, - type = "deequip", - slot = "hand", - }, - { - -- hive scythe - itemid = 14089, - type = "equip", - slot = "hand", - }, - { - -- hive scythe - itemid = 14089, - type = "deequip", - slot = "hand", - }, - { - -- carapace shield - itemid = 14088, - type = "equip", - slot = "shield", - }, - { - -- carapace shield - itemid = 14088, - type = "deequip", - slot = "shield", - }, - { - -- grasshopper legs - itemid = 14087, - type = "equip", - slot = "legs", - level = 75, - }, - { - -- grasshopper legs - itemid = 14087, - type = "deequip", - slot = "legs", - level = 75, - }, - { - -- calopteryx cape - itemid = 14086, - type = "equip", - slot = "armor", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- calopteryx cape - itemid = 14086, - type = "deequip", - slot = "armor", - level = 80, - }, - { - -- guardian axe - itemid = 14043, - type = "equip", - slot = "hand", - }, - { - -- guardian axe - itemid = 14043, - type = "deequip", - slot = "hand", - }, - { - -- warrior's shield - itemid = 14042, - type = "equip", - slot = "shield", - }, - { - -- warrior's shield - itemid = 14042, - type = "deequip", - slot = "shield", - }, - { - -- warrior's axe - itemid = 14040, - type = "equip", - slot = "hand", - }, - { - -- warrior's axe - itemid = 14040, - type = "deequip", - slot = "hand", - }, - { - -- ornate mace - itemid = 14001, - type = "equip", - slot = "hand", - }, - { - -- ornate mace - itemid = 14001, - type = "deequip", - slot = "hand", - }, - { - -- ornate shield - itemid = 14000, - type = "equip", - slot = "shield", - level = 130, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate shield - itemid = 14000, - type = "deequip", - slot = "shield", - level = 130, - }, - { - -- ornate legs - itemid = 13999, - type = "equip", - slot = "legs", - level = 185, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate legs - itemid = 13999, - type = "deequip", - slot = "legs", - level = 185, - }, - { - -- depth scutum - itemid = 13998, - type = "equip", - slot = "shield", - level = 120, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- depth scutum - itemid = 13998, - type = "deequip", - slot = "shield", - level = 120, - }, - { - -- depth calcei - itemid = 13997, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- depth calcei - itemid = 13997, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- depth ocrea - itemid = 13996, - type = "equip", - slot = "legs", - level = 130, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- depth ocrea - itemid = 13996, - type = "deequip", - slot = "legs", - level = 130, - }, - { - -- depth galea - itemid = 13995, - type = "equip", - slot = "head", - level = 150, - }, - { - -- depth galea - itemid = 13995, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- depth lorica - itemid = 13994, - type = "equip", - slot = "armor", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- depth lorica - itemid = 13994, - type = "deequip", - slot = "armor", - level = 150, - }, - { - -- ornate chestplate - itemid = 13993, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate chestplate - itemid = 13993, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- deepling axe - itemid = 13991, - type = "equip", - slot = "hand", - }, - { - -- deepling axe - itemid = 13991, - type = "deequip", - slot = "hand", - }, - { - -- necklace of the deep - itemid = 13990, - type = "equip", - slot = "necklace", - level = 120, - }, - { - -- necklace of the deep - itemid = 13990, - type = "deequip", - slot = "necklace", - level = 120, - }, - { - -- deepling staff - itemid = 13987, - type = "equip", - slot = "hand", - }, - { - -- deepling staff - itemid = 13987, - type = "deequip", - slot = "hand", - }, - { - -- the Epic Wisdom - itemid = 12810, - type = "equip", - slot = "head", - }, - { - -- the Epic Wisdom - itemid = 12810, - type = "deequip", - slot = "head", - }, - { - -- the Epic Wisdom - itemid = 12809, - type = "equip", - slot = "head", - }, - { - -- the Epic Wisdom - itemid = 12809, - type = "deequip", - slot = "head", - }, - { - -- shimmer wand - itemid = 12741, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- shimmer wand - itemid = 12741, - type = "deequip", - slot = "hand", - level = 40, - }, - { - -- broken ring of ending - itemid = 12737, - type = "equip", - slot = "ring", - }, - { - -- broken ring of ending - itemid = 12737, - type = "deequip", - slot = "ring", - }, - { - -- shimmer bow - itemid = 12733, - type = "equip", - slot = "hand", - }, - { - -- shimmer bow - itemid = 12733, - type = "deequip", - slot = "hand", - }, - { - -- shimmer rod - itemid = 12732, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- shimmer rod - itemid = 12732, - type = "deequip", - slot = "hand", - level = 40, - }, - { - -- shimmer sword - itemid = 12731, - type = "equip", - slot = "hand", - }, - { - -- shimmer sword - itemid = 12731, - type = "deequip", - slot = "hand", - }, - { - -- heavy trident - itemid = 12683, - type = "equip", - slot = "hand", - }, - { - -- heavy trident - itemid = 12683, - type = "deequip", - slot = "hand", - }, - { - -- wooden sword - itemid = 12673, - type = "equip", - slot = "hand", - }, - { - -- wooden sword - itemid = 12673, - type = "deequip", - slot = "hand", - }, - { - -- star ring - itemid = 12670, - type = "equip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- star ring - itemid = 12670, - type = "deequip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- star ring - itemid = 12669, - type = "equip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- star ring - itemid = 12669, - type = "deequip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- wand of dimensions - itemid = 12603, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of dimensions - itemid = 12603, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- mage's cap - itemid = 12599, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- mage's cap - itemid = 12599, - type = "deequip", - slot = "head", - }, - { - -- fish tail (equipped) - itemid = 11543, - type = "equip", - slot = "feet", - }, - { - -- fish tail (equipped) - itemid = 11543, - type = "deequip", - slot = "feet", - }, - { - -- golden hyena pendant - itemid = 12543, - type = "equip", - slot = "necklace", - }, - { - -- golden hyena pendant - itemid = 12543, - type = "deequip", - slot = "necklace", - }, - { - -- golden scorpion pendant - itemid = 12542, - type = "equip", - slot = "necklace", - }, - { - -- golden scorpion pendant - itemid = 12542, - type = "deequip", - slot = "necklace", - }, - { - -- old cape - itemid = 11701, - type = "equip", - slot = "armor", - }, - { - -- old cape - itemid = 11701, - type = "deequip", - slot = "armor", - }, - { - -- sedge hat - itemid = 11700, - type = "equip", - slot = "head", - }, - { - -- sedge hat - itemid = 11700, - type = "deequip", - slot = "head", - }, - { - -- loot bag - itemid = 11698, - type = "equip", - slot = "backpack", - }, - { - -- loot bag - itemid = 11698, - type = "deequip", - slot = "backpack", - }, - { - -- blade of corruption - itemid = 11693, - type = "equip", - slot = "hand", - }, - { - -- blade of corruption - itemid = 11693, - type = "deequip", - slot = "hand", - }, - { - -- snake god's sceptre - itemid = 11692, - type = "equip", - slot = "hand", - }, - { - -- snake god's sceptre - itemid = 11692, - type = "deequip", - slot = "hand", - }, - { - -- snake god's wristguard - itemid = 11691, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- snake god's wristguard - itemid = 11691, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- draken boots - itemid = 4033, - type = "equip", - slot = "feet", - level = 80, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- draken boots - itemid = 4033, - type = "deequip", - slot = "feet", - level = 80, - }, - { - -- elite draken helmet - itemid = 11689, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- elite draken helmet - itemid = 11689, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- shield of corruption - itemid = 11688, - type = "equip", - slot = "shield", - level = 80, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- shield of corruption - itemid = 11688, - type = "deequip", - slot = "shield", - level = 80, - }, - { - -- royal scale robe - itemid = 11687, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- royal scale robe - itemid = 11687, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- royal draken mail - itemid = 11686, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- royal draken mail - itemid = 11686, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- cobra crown - itemid = 11674, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- cobra crown - itemid = 11674, - type = "deequip", - slot = "head", - }, - { - -- twiceslicer - itemid = 11657, - type = "equip", - slot = "hand", - }, - { - -- twiceslicer - itemid = 11657, - type = "deequip", - slot = "hand", - }, - { - -- elite draken mail - itemid = 11651, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- elite draken mail - itemid = 11651, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- fish tail (unequipped) - itemid = 11542, - type = "equip", - slot = "feet", - }, - { - -- fish tail (unequipped) - itemid = 11542, - type = "deequip", - slot = "feet", - }, - { - -- ornamented brooch - itemid = 11468, - type = "equip", - slot = "necklace", - }, - { - -- ornamented brooch - itemid = 11468, - type = "deequip", - slot = "necklace", - }, - { - -- lucky clover amulet - itemid = 10476, - type = "equip", - slot = "necklace", - }, - { - -- lucky clover amulet - itemid = 10476, - type = "deequip", - slot = "necklace", - }, - { - -- beetle necklace - itemid = 10457, - type = "equip", - slot = "necklace", - }, - { - -- beetle necklace - itemid = 10457, - type = "deequip", - slot = "necklace", - }, - { - -- jade hat - itemid = 10451, - type = "equip", - slot = "head", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- jade hat - itemid = 10451, - type = "deequip", - slot = "head", - level = 60, - }, - { - -- Zaoan robe - itemid = 10439, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- Zaoan robe - itemid = 10439, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- spellweaver's robe - itemid = 10438, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellweaver's robe - itemid = 10438, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- wailing widow's necklace - itemid = 10412, - type = "equip", - slot = "necklace", - }, - { - -- wailing widow's necklace - itemid = 10412, - type = "deequip", - slot = "necklace", - }, - { - -- Zaoan halberd - itemid = 10406, - type = "equip", - slot = "hand", - }, - { - -- Zaoan halberd - itemid = 10406, - type = "deequip", - slot = "hand", - }, - { - -- twin hooks - itemid = 10392, - type = "equip", - slot = "hand", - }, - { - -- twin hooks - itemid = 10392, - type = "deequip", - slot = "hand", - }, - { - -- drachaku - itemid = 10391, - type = "equip", - slot = "hand", - }, - { - -- drachaku - itemid = 10391, - type = "deequip", - slot = "hand", - }, - { - -- Zaoan sword - itemid = 10390, - type = "equip", - slot = "hand", - }, - { - -- Zaoan sword - itemid = 10390, - type = "deequip", - slot = "hand", - }, - { - -- sai - itemid = 10389, - type = "equip", - slot = "hand", - }, - { - -- sai - itemid = 10389, - type = "deequip", - slot = "hand", - }, - { - -- drakinata - itemid = 10388, - type = "equip", - slot = "hand", - }, - { - -- drakinata - itemid = 10388, - type = "deequip", - slot = "hand", - }, - { - -- Zaoan legs - itemid = 10387, - type = "equip", - slot = "legs", - }, - { - -- Zaoan legs - itemid = 10387, - type = "deequip", - slot = "legs", - }, - { - -- zaoan shoes - itemid = 10386, - type = "equip", - slot = "feet", - }, - { - -- zaoan shoes - itemid = 10386, - type = "deequip", - slot = "feet", - }, - { - -- Zaoan helmet - itemid = 10385, - type = "equip", - slot = "head", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- Zaoan helmet - itemid = 10385, - type = "deequip", - slot = "head", - }, - { - -- Zaoan armor - itemid = 10384, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- Zaoan armor - itemid = 10384, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- santa backpack - itemid = 10346, - type = "equip", - slot = "backpack", - }, - { - -- santa backpack - itemid = 10346, - type = "deequip", - slot = "backpack", - }, - { - -- minotaur backpack - itemid = 10327, - type = "equip", - slot = "backpack", - }, - { - -- minotaur backpack - itemid = 10327, - type = "deequip", - slot = "backpack", - }, - { - -- dragon backpack - itemid = 10326, - type = "equip", - slot = "backpack", - }, - { - -- dragon backpack - itemid = 10326, - type = "deequip", - slot = "backpack", - }, - { - -- expedition bag - itemid = 10325, - type = "equip", - slot = "backpack", - }, - { - -- expedition bag - itemid = 10325, - type = "deequip", - slot = "backpack", - }, - { - -- expedition backpack - itemid = 10324, - type = "equip", - slot = "backpack", - }, - { - -- expedition backpack - itemid = 10324, - type = "deequip", - slot = "backpack", - }, - { - -- guardian boots - itemid = 10323, - type = "equip", - slot = "feet", - level = 70, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- guardian boots - itemid = 10323, - type = "deequip", - slot = "feet", - level = 70, - }, - { - -- heart backpack - itemid = 10202, - type = "equip", - slot = "backpack", - }, - { - -- heart backpack - itemid = 10202, - type = "deequip", - slot = "backpack", - }, - { - -- dragon scale boots - itemid = 10201, - type = "equip", - slot = "feet", - level = 70, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- dragon scale boots - itemid = 10201, - type = "deequip", - slot = "feet", - level = 70, - }, - { - -- crystal boots - itemid = 10200, - type = "equip", - slot = "feet", - level = 70, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crystal boots - itemid = 10200, - type = "deequip", - slot = "feet", - level = 70, - }, - { - -- witch hat - itemid = 9653, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- witch hat - itemid = 9653, - type = "deequip", - slot = "head", - }, - { - -- crown backpack - itemid = 9605, - type = "equip", - slot = "backpack", - }, - { - -- crown backpack - itemid = 9605, - type = "deequip", - slot = "backpack", - }, - { - -- moon backpack - itemid = 9604, - type = "equip", - slot = "backpack", - }, - { - -- moon backpack - itemid = 9604, - type = "deequip", - slot = "backpack", - }, - { - -- orange bag - itemid = 9603, - type = "equip", - slot = "backpack", - }, - { - -- orange bag - itemid = 9603, - type = "deequip", - slot = "backpack", - }, - { - -- orange backpack - itemid = 9602, - type = "equip", - slot = "backpack", - }, - { - -- orange backpack - itemid = 9602, - type = "deequip", - slot = "backpack", - }, - { - -- demon backpack - itemid = 9601, - type = "equip", - slot = "backpack", - }, - { - -- demon backpack - itemid = 9601, - type = "deequip", - slot = "backpack", - }, - { - -- broken wedding ring - itemid = 9593, - type = "equip", - slot = "ring", - }, - { - -- broken wedding ring - itemid = 9593, - type = "deequip", - slot = "ring", - }, - { - -- engraved wedding ring - itemid = 9585, - type = "equip", - slot = "ring", - }, - { - -- engraved wedding ring - itemid = 9585, - type = "deequip", - slot = "ring", - }, - { - -- the shield Nevermourn - itemid = 9447, - type = "equip", - slot = "shield", - }, - { - -- the shield Nevermourn - itemid = 9447, - type = "deequip", - slot = "shield", - }, - { - -- the rain coat - itemid = 9446, - type = "equip", - slot = "armor", - }, - { - -- the rain coat - itemid = 9446, - type = "deequip", - slot = "armor", - }, - { - -- the shield Nevermourn - itemid = 9401, - type = "equip", - slot = "shield", - }, - { - -- the shield Nevermourn - itemid = 9401, - type = "deequip", - slot = "shield", - }, - { - -- the rain coat - itemid = 9400, - type = "equip", - slot = "armor", - }, - { - -- the rain coat - itemid = 9400, - type = "deequip", - slot = "armor", - }, - { - -- mighty helm of green sparks - itemid = 9399, - type = "equip", - slot = "head", - }, - { - -- mighty helm of green sparks - itemid = 9399, - type = "deequip", - slot = "head", - }, - { - -- incredible mumpiz slayer - itemid = 9396, - type = "equip", - slot = "hand", - }, - { - -- incredible mumpiz slayer - itemid = 9396, - type = "deequip", - slot = "hand", - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9394, - type = "equip", - slot = "ring", - level = 100, - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9394, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9392, - type = "equip", - slot = "ring", - level = 100, - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9392, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- poet's fencing quill - itemid = 9387, - type = "equip", - slot = "hand", - }, - { - -- poet's fencing quill - itemid = 9387, - type = "deequip", - slot = "hand", - }, - { - -- farmer's avenger - itemid = 9386, - type = "equip", - slot = "hand", - }, - { - -- farmer's avenger - itemid = 9386, - type = "deequip", - slot = "hand", - }, - { - -- club of the fury - itemid = 9385, - type = "equip", - slot = "hand", - }, - { - -- club of the fury - itemid = 9385, - type = "deequip", - slot = "hand", - }, - { - -- scythe of the reaper - itemid = 9384, - type = "equip", - slot = "hand", - }, - { - -- scythe of the reaper - itemid = 9384, - type = "deequip", - slot = "hand", - }, - { - -- trousers of the ancients - itemid = 9383, - type = "equip", - slot = "legs", - }, - { - -- trousers of the ancients - itemid = 9383, - type = "deequip", - slot = "legs", - }, - { - -- helmet of nature - itemid = 9382, - type = "equip", - slot = "head", - }, - { - -- helmet of nature - itemid = 9382, - type = "deequip", - slot = "head", - }, - { - -- helmet of ultimate terror - itemid = 9381, - type = "equip", - slot = "head", - }, - { - -- helmet of ultimate terror - itemid = 9381, - type = "deequip", - slot = "head", - }, - { - -- shield of care - itemid = 9380, - type = "equip", - slot = "shield", - }, - { - -- shield of care - itemid = 9380, - type = "deequip", - slot = "shield", - }, - { - -- heavy metal t-shirt - itemid = 9379, - type = "equip", - slot = "armor", - }, - { - -- heavy metal t-shirt - itemid = 9379, - type = "deequip", - slot = "armor", - }, - { - -- musician's bow - itemid = 9378, - type = "equip", - slot = "hand", - }, - { - -- musician's bow - itemid = 9378, - type = "deequip", - slot = "hand", - }, - { - -- shield of the white knight - itemid = 3537, - type = "equip", - slot = "shield", - }, - { - -- shield of the white knight - itemid = 3537, - type = "deequip", - slot = "shield", - }, - { - -- stale bread of ancientness - itemid = 9376, - type = "equip", - slot = "hand", - }, - { - -- stale bread of ancientness - itemid = 9376, - type = "deequip", - slot = "hand", - }, - { - -- pointed rabbitslayer - itemid = 9375, - type = "equip", - slot = "hand", - }, - { - -- pointed rabbitslayer - itemid = 9375, - type = "deequip", - slot = "hand", - }, - { - -- odd hat - itemid = 9374, - type = "equip", - slot = "head", - }, - { - -- odd hat - itemid = 9374, - type = "deequip", - slot = "head", - }, - { - -- glutton's mace - itemid = 9373, - type = "equip", - slot = "hand", - }, - { - -- glutton's mace - itemid = 9373, - type = "deequip", - slot = "hand", - }, - { - -- meat shield - itemid = 9372, - type = "equip", - slot = "shield", - }, - { - -- meat shield - itemid = 9372, - type = "deequip", - slot = "shield", - }, - { - -- shockwave amulet - itemid = 9304, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- shockwave amulet - itemid = 9304, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- leviathan's amulet - itemid = 9303, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- leviathan's amulet - itemid = 9303, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- sacred tree amulet - itemid = 9302, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- sacred tree amulet - itemid = 9302, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- bonfire amulet - itemid = 9301, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- bonfire amulet - itemid = 9301, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- laurel wreath - itemid = 9221, - type = "equip", - slot = "head", - }, - { - -- laurel wreath - itemid = 9221, - type = "deequip", - slot = "head", - }, - { - -- bronze medal - itemid = 9217, - type = "equip", - slot = "necklace", - }, - { - -- bronze medal - itemid = 9217, - type = "deequip", - slot = "necklace", - }, - { - -- silver medal - itemid = 9216, - type = "equip", - slot = "necklace", - }, - { - -- silver medal - itemid = 9216, - type = "deequip", - slot = "necklace", - }, - { - -- gold medal - itemid = 9215, - type = "equip", - slot = "necklace", - }, - { - -- gold medal - itemid = 9215, - type = "deequip", - slot = "necklace", - }, - { - -- grey bag - itemid = 9151, - type = "equip", - slot = "backpack", - }, - { - -- grey bag - itemid = 9151, - type = "deequip", - slot = "backpack", - }, - { - -- batwing hat - itemid = 9103, - type = "equip", - slot = "head", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- batwing hat - itemid = 9103, - type = "deequip", - slot = "head", - level = 50, - }, - { - -- pair firewalker boots - itemid = 9019, - type = "equip", - slot = "feet", - level = 130, - }, - { - -- pair firewalker boots - itemid = 9019, - type = "deequip", - slot = "feet", - level = 130, - }, - { - -- firewalker boots - itemid = 9018, - type = "equip", - slot = "feet", - level = 130, - }, - { - -- firewalker boots - itemid = 9018, - type = "deequip", - slot = "feet", - level = 130, - }, - { - -- coconut shoes - itemid = 9017, - type = "equip", - slot = "feet", - }, - { - -- coconut shoes - itemid = 9017, - type = "deequip", - slot = "feet", - }, - { - -- flower dress - itemid = 9015, - type = "equip", - slot = "armor", - }, - { - -- flower dress - itemid = 9015, - type = "deequip", - slot = "armor", - }, - { - -- leaf legs - itemid = 9014, - type = "equip", - slot = "legs", - }, - { - -- leaf legs - itemid = 9014, - type = "deequip", - slot = "legs", - }, - { - -- flower wreath - itemid = 9013, - type = "equip", - slot = "head", - }, - { - -- flower wreath - itemid = 9013, - type = "deequip", - slot = "head", - }, - { - -- yalahari mask - itemid = 8864, - type = "equip", - slot = "head", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- yalahari mask - itemid = 8864, - type = "deequip", - slot = "head", - level = 80, - }, - { - -- yalahari leg piece - itemid = 8863, - type = "equip", - slot = "legs", - level = 80, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- yalahari leg piece - itemid = 8863, - type = "deequip", - slot = "legs", - level = 80, - }, - { - -- yalahari armor - itemid = 8862, - type = "equip", - slot = "armor", - level = 80, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- yalahari armor - itemid = 8862, - type = "deequip", - slot = "armor", - level = 80, - }, - { - -- brocade bag - itemid = 8861, - type = "equip", - slot = "backpack", - }, - { - -- brocade bag - itemid = 8861, - type = "deequip", - slot = "backpack", - }, - { - -- brocade backpack - itemid = 8860, - type = "equip", - slot = "backpack", - }, - { - -- brocade backpack - itemid = 8860, - type = "deequip", - slot = "backpack", - }, - { - -- golden bag - itemid = 655, - type = "equip", - slot = "backpack", - }, - { - -- golden bag - itemid = 655, - type = "deequip", - slot = "backpack", - }, - { - -- purple bag - itemid = 653, - type = "equip", - slot = "backpack", - }, - { - -- purple bag - itemid = 653, - type = "deequip", - slot = "backpack", - }, - { - -- the calamity - itemid = 8104, - type = "equip", - slot = "hand", - }, - { - -- the calamity - itemid = 8104, - type = "deequip", - slot = "hand", - }, - { - -- the epiphany - itemid = 8103, - type = "equip", - slot = "hand", - }, - { - -- the epiphany - itemid = 8103, - type = "deequip", - slot = "hand", - }, - { - -- emerald sword - itemid = 8102, - type = "equip", - slot = "hand", - }, - { - -- emerald sword - itemid = 8102, - type = "deequip", - slot = "hand", - }, - { - -- the stomper - itemid = 8101, - type = "equip", - slot = "hand", - }, - { - -- the stomper - itemid = 8101, - type = "deequip", - slot = "hand", - }, - { - -- obsidian truncheon - itemid = 8100, - type = "equip", - slot = "hand", - }, - { - -- obsidian truncheon - itemid = 8100, - type = "deequip", - slot = "hand", - }, - { - -- dark trinity mace - itemid = 8099, - type = "equip", - slot = "hand", - }, - { - -- dark trinity mace - itemid = 8099, - type = "deequip", - slot = "hand", - }, - { - -- demonwing axe - itemid = 8098, - type = "equip", - slot = "hand", - }, - { - -- demonwing axe - itemid = 8098, - type = "deequip", - slot = "hand", - }, - { - -- solar axe - itemid = 8097, - type = "equip", - slot = "hand", - }, - { - -- solar axe - itemid = 8097, - type = "deequip", - slot = "hand", - }, - { - -- hellforged axe - itemid = 8096, - type = "equip", - slot = "hand", - }, - { - -- hellforged axe - itemid = 8096, - type = "deequip", - slot = "hand", - }, - { - -- ranger legs - itemid = 8095, - type = "equip", - slot = "legs", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ranger legs - itemid = 8095, - type = "deequip", - slot = "legs", - }, - { - -- wand of voodoo - itemid = 8094, - type = "equip", - slot = "hand", - level = 42, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of voodoo - itemid = 8094, - type = "deequip", - slot = "hand", - level = 42, - }, - { - -- wand of draconia - itemid = 8093, - type = "equip", - slot = "hand", - level = 22, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of draconia - itemid = 8093, - type = "deequip", - slot = "hand", - level = 22, - }, - { - -- wand of starmstorm - itemid = 8092, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of starmstorm - itemid = 8092, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- spellbook of dark mysteries - itemid = 8090, - type = "equip", - slot = "shield", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of dark mysteries - itemid = 8090, - type = "deequip", - slot = "shield", - level = 80, - }, - { - -- springsprout rod - itemid = 8084, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- springsprout rod - itemid = 8084, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- northwind rod - itemid = 8083, - type = "equip", - slot = "hand", - level = 22, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- northwind rod - itemid = 8083, - type = "deequip", - slot = "hand", - level = 22, - }, - { - -- underworld rod - itemid = 8082, - type = "equip", - slot = "hand", - level = 42, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- underworld rod - itemid = 8082, - type = "deequip", - slot = "hand", - level = 42, - }, - { - -- terran rainbow shield - itemid = 8081, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- terran rainbow shield - itemid = 8081, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- sparking rainbow shield - itemid = 8080, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sparking rainbow shield - itemid = 8080, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- icy rainbow shield - itemid = 8079, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy rainbow shield - itemid = 8079, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- fiery rainbow shield - itemid = 8078, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery rainbow shield - itemid = 8078, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- rainbow shield - itemid = 8077, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rainbow shield - itemid = 8077, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- spellscroll of prophecies - itemid = 8076, - type = "equip", - slot = "shield", - level = 70, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellscroll of prophecies - itemid = 8076, - type = "deequip", - slot = "shield", - level = 70, - }, - { - -- spellbook of lost souls - itemid = 8075, - type = "equip", - slot = "shield", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of lost souls - itemid = 8075, - type = "deequip", - slot = "shield", - level = 60, - }, - { - -- spellbook of mind control - itemid = 8074, - type = "equip", - slot = "shield", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of mind control - itemid = 8074, - type = "deequip", - slot = "shield", - level = 50, - }, - { - -- spellbook of warding - itemid = 8073, - type = "equip", - slot = "shield", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of warding - itemid = 8073, - type = "deequip", - slot = "shield", - level = 40, - }, - { - -- spellbook of enlightenment - itemid = 8072, - type = "equip", - slot = "shield", - level = 30, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of enlightenment - itemid = 8072, - type = "deequip", - slot = "shield", - level = 30, - }, - { - -- ethno coat - itemid = 8064, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- ethno coat - itemid = 8064, - type = "deequip", - slot = "armor", - }, - { - -- paladin armor - itemid = 8063, - type = "equip", - slot = "armor", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- paladin armor - itemid = 8063, - type = "deequip", - slot = "armor", - }, - { - -- robe of the underworld - itemid = 8062, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- robe of the underworld - itemid = 8062, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- skullcracker armor - itemid = 8061, - type = "equip", - slot = "armor", - level = 85, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- skullcracker armor - itemid = 8061, - type = "deequip", - slot = "armor", - level = 85, - }, - { - -- master archer's armor - itemid = 8060, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- master archer's armor - itemid = 8060, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- frozen plate - itemid = 8059, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- frozen plate - itemid = 8059, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- molten plate - itemid = 8058, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- molten plate - itemid = 8058, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- divine plate - itemid = 8057, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- divine plate - itemid = 8057, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- oceanborn leviathan armor - itemid = 8056, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- oceanborn leviathan armor - itemid = 8056, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- windborn colossus armor - itemid = 8055, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- windborn colossus armor - itemid = 8055, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- earthborn titan armor - itemid = 8054, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthborn titan armor - itemid = 8054, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- fireborn giant armor - itemid = 8053, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireborn giant armor - itemid = 8053, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- swamplair armor - itemid = 8052, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- swamplair armor - itemid = 8052, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- voltage armor - itemid = 8051, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- voltage armor - itemid = 8051, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- crystalline armor - itemid = 8050, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crystalline armor - itemid = 8050, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- lavos armor - itemid = 8049, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- lavos armor - itemid = 8049, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- girl's dress - itemid = 8048, - type = "equip", - slot = "armor", - }, - { - -- girl's dress - itemid = 8048, - type = "deequip", - slot = "armor", - }, - { - -- tunic - itemid = 8047, - type = "equip", - slot = "armor", - }, - { - -- tunic - itemid = 8047, - type = "deequip", - slot = "armor", - }, - { - -- summer dress - itemid = 8046, - type = "equip", - slot = "armor", - }, - { - -- summer dress - itemid = 8046, - type = "deequip", - slot = "armor", - }, - { - -- hibiscus dress - itemid = 8045, - type = "equip", - slot = "armor", - }, - { - -- hibiscus dress - itemid = 8045, - type = "deequip", - slot = "armor", - }, - { - -- belted cape - itemid = 8044, - type = "equip", - slot = "armor", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- belted cape - itemid = 8044, - type = "deequip", - slot = "armor", - }, - { - -- focus cape - itemid = 8043, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- focus cape - itemid = 8043, - type = "deequip", - slot = "armor", - }, - { - -- spirit cloak - itemid = 8042, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spirit cloak - itemid = 8042, - type = "deequip", - slot = "armor", - }, - { - -- greenwood coat - itemid = 8041, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- greenwood coat - itemid = 8041, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- velvet mantle - itemid = 8040, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- velvet mantle - itemid = 8040, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- dragon robe - itemid = 8039, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- dragon robe - itemid = 8039, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- robe of the ice queen - itemid = 8038, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- robe of the ice queen - itemid = 8038, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- dark lord's cape - itemid = 8037, - type = "equip", - slot = "armor", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- dark lord's cape - itemid = 8037, - type = "deequip", - slot = "armor", - level = 65, - }, - { - -- elethriel's elemental bow - itemid = 8030, - type = "equip", - slot = "hand", - }, - { - -- elethriel's elemental bow - itemid = 8030, - type = "deequip", - slot = "hand", - }, - { - -- silkweaver bow - itemid = 8029, - type = "equip", - slot = "hand", - }, - { - -- silkweaver bow - itemid = 8029, - type = "deequip", - slot = "hand", - }, - { - -- yol's bow - itemid = 8028, - type = "equip", - slot = "hand", - }, - { - -- yol's bow - itemid = 8028, - type = "deequip", - slot = "hand", - }, - { - -- composite hornbow - itemid = 8027, - type = "equip", - slot = "hand", - }, - { - -- composite hornbow - itemid = 8027, - type = "deequip", - slot = "hand", - }, - { - -- warsinger bow - itemid = 8026, - type = "equip", - slot = "hand", - }, - { - -- warsinger bow - itemid = 8026, - type = "deequip", - slot = "hand", - }, - { - -- ironworker - itemid = 8025, - type = "equip", - slot = "hand", - }, - { - -- ironworker - itemid = 8025, - type = "deequip", - slot = "hand", - }, - { - -- devileye - itemid = 8024, - type = "equip", - slot = "hand", - }, - { - -- devileye - itemid = 8024, - type = "deequip", - slot = "hand", - }, - { - -- royal crossbow - itemid = 8023, - type = "equip", - slot = "hand", - }, - { - -- royal crossbow - itemid = 8023, - type = "deequip", - slot = "hand", - }, - { - -- chain bolter - itemid = 8022, - type = "equip", - slot = "hand", - }, - { - -- chain bolter - itemid = 8022, - type = "deequip", - slot = "hand", - }, - { - -- modified crossbow - itemid = 8021, - type = "equip", - slot = "hand", - }, - { - -- modified crossbow - itemid = 8021, - type = "deequip", - slot = "hand", - }, - { - -- witchhunter's coat - itemid = 7993, - type = "equip", - slot = "armor", - level = 50, - }, - { - -- witchhunter's coat - itemid = 7993, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- mage hat - itemid = 7992, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- mage hat - itemid = 7992, - type = "deequip", - slot = "head", - }, - { - -- magician's robe - itemid = 7991, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magician's robe - itemid = 7991, - type = "deequip", - slot = "armor", - }, - { - -- jagged sword - itemid = 7774, - type = "equip", - slot = "hand", - }, - { - -- jagged sword - itemid = 7774, - type = "deequip", - slot = "hand", - }, - { - -- steel axe - itemid = 7773, - type = "equip", - slot = "hand", - }, - { - -- steel axe - itemid = 7773, - type = "deequip", - slot = "hand", - }, - { - -- Jerom's family necklace - itemid = 7754, - type = "equip", - slot = "necklace", - }, - { - -- Jerom's family necklace - itemid = 7754, - type = "deequip", - slot = "necklace", - }, - { - -- Koshei's ancient amulet - itemid = 7532, - type = "equip", - slot = "necklace", - }, - { - -- Koshei's ancient amulet - itemid = 7532, - type = "deequip", - slot = "necklace", - }, - { - -- crimson sword - itemid = 860, - type = "equip", - slot = "hand", - }, - { - -- crimson sword - itemid = 860, - type = "deequip", - slot = "hand", - }, - { - -- shapeshifter ring - itemid = 908, - type = "equip", - slot = "ring", - }, - { - -- shapeshifter ring - itemid = 908, - type = "deequip", - slot = "ring", - }, - { - -- shapeshifter ring - itemid = 907, - type = "equip", - slot = "ring", - }, - { - -- shapeshifter ring - itemid = 904, - type = "deequip", - slot = "ring", - }, - { - -- jester hat - itemid = 894, - type = "equip", - slot = "head", - }, - { - -- jester hat - itemid = 894, - type = "deequip", - slot = "head", - }, - { - -- terra hood - itemid = 830, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra hood - itemid = 830, - type = "deequip", - slot = "head", - }, - { - -- glacier mask - itemid = 829, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier mask - itemid = 829, - type = "deequip", - slot = "head", - }, - { - -- lightning headband - itemid = 828, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning headband - itemid = 828, - type = "deequip", - slot = "head", - }, - { - -- magma monocle - itemid = 827, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma monocle - itemid = 827, - type = "deequip", - slot = "head", - }, - { - -- magma coat - itemid = 826, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma coat - itemid = 826, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- lightning robe - itemid = 825, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning robe - itemid = 825, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- glacier robe - itemid = 824, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier robe - itemid = 824, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- glacier kilt - itemid = 823, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier kilt - itemid = 823, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- lightning legs - itemid = 822, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning legs - itemid = 822, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- magma legs - itemid = 821, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma legs - itemid = 821, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- lightning boots - itemid = 820, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning boots - itemid = 820, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- glacier shoes - itemid = 819, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier shoes - itemid = 819, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- magma boots - itemid = 818, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma boots - itemid = 818, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- magma amulet - itemid = 817, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- magma amulet - itemid = 817, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- lightning pendant - itemid = 816, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- lightning pendant - itemid = 816, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- glacier amulet - itemid = 815, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- glacier amulet - itemid = 815, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- terra amulet - itemid = 814, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- terra amulet - itemid = 814, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- terra boots - itemid = 813, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra boots - itemid = 813, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- terra legs - itemid = 812, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra legs - itemid = 812, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- terra mantle - itemid = 811, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra mantle - itemid = 811, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- energy war hammer - itemid = 810, - type = "equip", - slot = "hand", - }, - { - -- energy war hammer - itemid = 810, - type = "deequip", - slot = "hand", - }, - { - -- energy orcish maul - itemid = 809, - type = "equip", - slot = "hand", - }, - { - -- energy orcish maul - itemid = 809, - type = "deequip", - slot = "hand", - }, - { - -- energy cranial basher - itemid = 808, - type = "equip", - slot = "hand", - }, - { - -- energy cranial basher - itemid = 808, - type = "deequip", - slot = "hand", - }, - { - -- energy crystal mace - itemid = 807, - type = "equip", - slot = "hand", - }, - { - -- energy crystal mace - itemid = 807, - type = "deequip", - slot = "hand", - }, - { - -- energy clerical mace - itemid = 806, - type = "equip", - slot = "hand", - }, - { - -- energy clerical mace - itemid = 806, - type = "deequip", - slot = "hand", - }, - { - -- energy war axe - itemid = 805, - type = "equip", - slot = "hand", - }, - { - -- energy war axe - itemid = 805, - type = "deequip", - slot = "hand", - }, - { - -- energy headchopper - itemid = 804, - type = "equip", - slot = "hand", - }, - { - -- energy headchopper - itemid = 804, - type = "deequip", - slot = "hand", - }, - { - -- energy heroic axe - itemid = 803, - type = "equip", - slot = "hand", - }, - { - -- energy heroic axe - itemid = 803, - type = "deequip", - slot = "hand", - }, - { - -- energy knight axe - itemid = 802, - type = "equip", - slot = "hand", - }, - { - -- energy knight axe - itemid = 802, - type = "deequip", - slot = "hand", - }, - { - -- energy barbarian axe - itemid = 801, - type = "equip", - slot = "hand", - }, - { - -- energy barbarian axe - itemid = 801, - type = "deequip", - slot = "hand", - }, - { - -- energy dragon slayer - itemid = 798, - type = "equip", - slot = "hand", - }, - { - -- energy dragon slayer - itemid = 798, - type = "deequip", - slot = "hand", - }, - { - -- energy blacksteel sword - itemid = 797, - type = "equip", - slot = "hand", - }, - { - -- energy blacksteel sword - itemid = 797, - type = "deequip", - slot = "hand", - }, - { - -- energy mystic blade - itemid = 796, - type = "equip", - slot = "hand", - }, - { - -- energy mystic blade - itemid = 796, - type = "deequip", - slot = "hand", - }, - { - -- energy relic sword - itemid = 795, - type = "equip", - slot = "hand", - }, - { - -- energy relic sword - itemid = 795, - type = "deequip", - slot = "hand", - }, - { - -- energy spike sword - itemid = 794, - type = "equip", - slot = "hand", - }, - { - -- energy spike sword - itemid = 794, - type = "deequip", - slot = "hand", - }, - { - -- earth war hammer - itemid = 793, - type = "equip", - slot = "hand", - }, - { - -- earth war hammer - itemid = 793, - type = "deequip", - slot = "hand", - }, - { - -- earth orcish maul - itemid = 792, - type = "equip", - slot = "hand", - }, - { - -- earth orcish maul - itemid = 792, - type = "deequip", - slot = "hand", - }, - { - -- earth cranial basher - itemid = 791, - type = "equip", - slot = "hand", - }, - { - -- earth cranial basher - itemid = 791, - type = "deequip", - slot = "hand", - }, - { - -- earth crystal mace - itemid = 790, - type = "equip", - slot = "hand", - }, - { - -- earth crystal mace - itemid = 790, - type = "deequip", - slot = "hand", - }, - { - -- earth clerical mace - itemid = 789, - type = "equip", - slot = "hand", - }, - { - -- earth clerical mace - itemid = 789, - type = "deequip", - slot = "hand", - }, - { - -- earth war axe - itemid = 788, - type = "equip", - slot = "hand", - }, - { - -- earth war axe - itemid = 788, - type = "deequip", - slot = "hand", - }, - { - -- earth headchopper - itemid = 787, - type = "equip", - slot = "hand", - }, - { - -- earth headchopper - itemid = 787, - type = "deequip", - slot = "hand", - }, - { - -- earth heroic axe - itemid = 786, - type = "equip", - slot = "hand", - }, - { - -- earth heroic axe - itemid = 786, - type = "deequip", - slot = "hand", - }, - { - -- earth knight axe - itemid = 785, - type = "equip", - slot = "hand", - }, - { - -- earth knight axe - itemid = 785, - type = "deequip", - slot = "hand", - }, - { - -- earth barbarian axe - itemid = 784, - type = "equip", - slot = "hand", - }, - { - -- earth barbarian axe - itemid = 784, - type = "deequip", - slot = "hand", - }, - { - -- earth dragon slayer - itemid = 783, - type = "equip", - slot = "hand", - }, - { - -- earth dragon slayer - itemid = 783, - type = "deequip", - slot = "hand", - }, - { - -- earth blacksteel sword - itemid = 782, - type = "equip", - slot = "hand", - }, - { - -- earth blacksteel sword - itemid = 782, - type = "deequip", - slot = "hand", - }, - { - -- earth mystic blade - itemid = 781, - type = "equip", - slot = "hand", - }, - { - -- earth mystic blade - itemid = 781, - type = "deequip", - slot = "hand", - }, - { - -- earth relic sword - itemid = 780, - type = "equip", - slot = "hand", - }, - { - -- earth relic sword - itemid = 780, - type = "deequip", - slot = "hand", - }, - { - -- earth spike sword - itemid = 779, - type = "equip", - slot = "hand", - }, - { - -- earth spike sword - itemid = 779, - type = "deequip", - slot = "hand", - }, - { - -- earth arrow - itemid = 774, - type = "equip", - slot = "ammo", - }, - { - -- earth arrow - itemid = 774, - type = "deequip", - slot = "ammo", - }, - { - -- flaming arrow - itemid = 763, - type = "equip", - slot = "ammo", - }, - { - -- flaming arrow - itemid = 763, - type = "deequip", - slot = "ammo", - }, - { - -- shiver arrow - itemid = 762, - type = "equip", - slot = "ammo", - }, - { - -- shiver arrow - itemid = 762, - type = "deequip", - slot = "ammo", - }, - { - -- flash arrow - itemid = 761, - type = "equip", - slot = "ammo", - }, - { - -- flash arrow - itemid = 761, - type = "deequip", - slot = "ammo", - }, - { - -- icy war hammer - itemid = 693, - type = "equip", - slot = "hand", - }, - { - -- icy war hammer - itemid = 693, - type = "deequip", - slot = "hand", - }, - { - -- icy orcish maul - itemid = 692, - type = "equip", - slot = "hand", - }, - { - -- icy orcish maul - itemid = 692, - type = "deequip", - slot = "hand", - }, - { - -- icy cranial basher - itemid = 691, - type = "equip", - slot = "hand", - }, - { - -- icy cranial basher - itemid = 691, - type = "deequip", - slot = "hand", - }, - { - -- icy crystal mace - itemid = 690, - type = "equip", - slot = "hand", - }, - { - -- icy crystal mace - itemid = 690, - type = "deequip", - slot = "hand", - }, - { - -- icy clerical mace - itemid = 689, - type = "equip", - slot = "hand", - }, - { - -- icy clerical mace - itemid = 689, - type = "deequip", - slot = "hand", - }, - { - -- icy war axe - itemid = 688, - type = "equip", - slot = "hand", - }, - { - -- icy war axe - itemid = 688, - type = "deequip", - slot = "hand", - }, - { - -- icy headchopper - itemid = 687, - type = "equip", - slot = "hand", - }, - { - -- icy headchopper - itemid = 687, - type = "deequip", - slot = "hand", - }, - { - -- icy heroic axe - itemid = 686, - type = "equip", - slot = "hand", - }, - { - -- icy heroic axe - itemid = 686, - type = "deequip", - slot = "hand", - }, - { - -- icy knight axe - itemid = 685, - type = "equip", - slot = "hand", - }, - { - -- icy knight axe - itemid = 685, - type = "deequip", - slot = "hand", - }, - { - -- icy barbarian axe - itemid = 684, - type = "equip", - slot = "hand", - }, - { - -- icy barbarian axe - itemid = 684, - type = "deequip", - slot = "hand", - }, - { - -- icy dragon slayer - itemid = 683, - type = "equip", - slot = "hand", - }, - { - -- icy dragon slayer - itemid = 683, - type = "deequip", - slot = "hand", - }, - { - -- icy blacksteel sword - itemid = 682, - type = "equip", - slot = "hand", - }, - { - -- icy blacksteel sword - itemid = 682, - type = "deequip", - slot = "hand", - }, - { - -- icy mystic blade - itemid = 681, - type = "equip", - slot = "hand", - }, - { - -- icy mystic blade - itemid = 681, - type = "deequip", - slot = "hand", - }, - { - -- icy relic sword - itemid = 680, - type = "equip", - slot = "hand", - }, - { - -- icy relic sword - itemid = 680, - type = "deequip", - slot = "hand", - }, - { - -- icy spike sword - itemid = 679, - type = "equip", - slot = "hand", - }, - { - -- icy spike sword - itemid = 679, - type = "deequip", - slot = "hand", - }, - { - -- fiery war hammer - itemid = 674, - type = "equip", - slot = "hand", - }, - { - -- fiery war hammer - itemid = 674, - type = "deequip", - slot = "hand", - }, - { - -- fiery orcish maul - itemid = 673, - type = "equip", - slot = "hand", - }, - { - -- fiery orcish maul - itemid = 673, - type = "deequip", - slot = "hand", - }, - { - -- fiery cranial basher - itemid = 672, - type = "equip", - slot = "hand", - }, - { - -- fiery cranial basher - itemid = 672, - type = "deequip", - slot = "hand", - }, - { - -- fiery crystal mace - itemid = 671, - type = "equip", - slot = "hand", - }, - { - -- fiery crystal mace - itemid = 671, - type = "deequip", - slot = "hand", - }, - { - -- fiery clerical mace - itemid = 670, - type = "equip", - slot = "hand", - }, - { - -- fiery clerical mace - itemid = 670, - type = "deequip", - slot = "hand", - }, - { - -- fiery war axe - itemid = 669, - type = "equip", - slot = "hand", - }, - { - -- fiery war axe - itemid = 669, - type = "deequip", - slot = "hand", - }, - { - -- fiery headchopper - itemid = 668, - type = "equip", - slot = "hand", - }, - { - -- fiery headchopper - itemid = 668, - type = "deequip", - slot = "hand", - }, - { - -- fiery heroic axe - itemid = 667, - type = "equip", - slot = "hand", - }, - { - -- fiery heroic axe - itemid = 667, - type = "deequip", - slot = "hand", - }, - { - -- fiery knight axe - itemid = 666, - type = "equip", - slot = "hand", - }, - { - -- fiery knight axe - itemid = 666, - type = "deequip", - slot = "hand", - }, - { - -- fiery barbarian axe - itemid = 665, - type = "equip", - slot = "hand", - }, - { - -- fiery barbarian axe - itemid = 665, - type = "deequip", - slot = "hand", - }, - { - -- fiery dragon slayer - itemid = 664, - type = "equip", - slot = "hand", - }, - { - -- fiery dragon slayer - itemid = 664, - type = "deequip", - slot = "hand", - }, - { - -- fiery blacksteel sword - itemid = 663, - type = "equip", - slot = "hand", - }, - { - -- fiery blacksteel sword - itemid = 663, - type = "deequip", - slot = "hand", - }, - { - -- fiery mystic blade - itemid = 662, - type = "equip", - slot = "hand", - }, - { - -- fiery mystic blade - itemid = 662, - type = "deequip", - slot = "hand", - }, - { - -- fiery relic sword - itemid = 661, - type = "equip", - slot = "hand", - }, - { - -- fiery relic sword - itemid = 661, - type = "deequip", - slot = "hand", - }, - { - -- fiery spike sword - itemid = 660, - type = "equip", - slot = "hand", - }, - { - -- fiery spike sword - itemid = 660, - type = "deequip", - slot = "hand", - }, - { - -- blue legs - itemid = 645, - type = "equip", - slot = "legs", - }, - { - -- blue legs - itemid = 645, - type = "deequip", - slot = "legs", - }, - { - -- suspicious signet ring - itemid = 406, - type = "equip", - slot = "ring", - }, - { - -- suspicious signet ring - itemid = 406, - type = "deequip", - slot = "ring", - }, - { - -- family signet ring - itemid = 349, - type = "equip", - slot = "ring", - }, - { - -- family signet ring - itemid = 349, - type = "deequip", - slot = "ring", - }, - { - -- mining helmet - itemid = 139, - type = "equip", - slot = "head", - }, - { - -- mining helmet - itemid = 139, - type = "deequip", - slot = "head", - }, - { - -- mammoth fur shorts - itemid = 7464, - type = "equip", - slot = "legs", - }, - { - -- mammoth fur shorts - itemid = 7464, - type = "deequip", - slot = "legs", - }, - { - -- mammoth fur cape - itemid = 7463, - type = "equip", - slot = "armor", - }, - { - -- mammoth fur cape - itemid = 7463, - type = "deequip", - slot = "armor", - }, - { - -- ragnir helmet - itemid = 7462, - type = "equip", - slot = "head", - }, - { - -- ragnir helmet - itemid = 7462, - type = "deequip", - slot = "head", - }, - { - -- krimhorn helmet - itemid = 7461, - type = "equip", - slot = "head", - }, - { - -- krimhorn helmet - itemid = 7461, - type = "deequip", - slot = "head", - }, - { - -- norse shield - itemid = 7460, - type = "equip", - slot = "shield", - }, - { - -- norse shield - itemid = 7460, - type = "deequip", - slot = "shield", - }, - { - -- pair of earmuffs - itemid = 7459, - type = "equip", - slot = "head", - }, - { - -- pair of earmuffs - itemid = 7459, - type = "deequip", - slot = "head", - }, - { - -- fur cap - itemid = 7458, - type = "equip", - slot = "head", - }, - { - -- fur cap - itemid = 7458, - type = "deequip", - slot = "head", - }, - { - -- fur boots - itemid = 7457, - type = "equip", - slot = "feet", - }, - { - -- fur boots - itemid = 7457, - type = "deequip", - slot = "feet", - }, - { - -- noble axe - itemid = 7456, - type = "equip", - slot = "hand", - }, - { - -- noble axe - itemid = 7456, - type = "deequip", - slot = "hand", - }, - { - -- mythril axe - itemid = 7455, - type = "equip", - slot = "hand", - }, - { - -- mythril axe - itemid = 7455, - type = "deequip", - slot = "hand", - }, - { - -- glorious axe - itemid = 7454, - type = "equip", - slot = "hand", - }, - { - -- glorious axe - itemid = 7454, - type = "deequip", - slot = "hand", - }, - { - -- executioner - itemid = 7453, - type = "equip", - slot = "hand", - }, - { - -- executioner - itemid = 7453, - type = "deequip", - slot = "hand", - }, - { - -- spiked squelcher - itemid = 7452, - type = "equip", - slot = "hand", - }, - { - -- spiked squelcher - itemid = 7452, - type = "deequip", - slot = "hand", - }, - { - -- shadow sceptre - itemid = 7451, - type = "equip", - slot = "hand", - }, - { - -- shadow sceptre - itemid = 7451, - type = "deequip", - slot = "hand", - }, - { - -- hammer of prophecy - itemid = 7450, - type = "equip", - slot = "hand", - }, - { - -- hammer of prophecy - itemid = 7450, - type = "deequip", - slot = "hand", - }, - { - -- crystal sword - itemid = 7449, - type = "equip", - slot = "hand", - }, - { - -- crystal sword - itemid = 7449, - type = "deequip", - slot = "hand", - }, - { - -- elvish bow - itemid = 7438, - type = "equip", - slot = "hand", - }, - { - -- elvish bow - itemid = 7438, - type = "deequip", - slot = "hand", - }, - { - -- sapphire hammer - itemid = 7437, - type = "equip", - slot = "hand", - }, - { - -- sapphire hammer - itemid = 7437, - type = "deequip", - slot = "hand", - }, - { - -- angelic axe - itemid = 7436, - type = "equip", - slot = "hand", - }, - { - -- angelic axe - itemid = 7436, - type = "deequip", - slot = "hand", - }, - { - -- impaler - itemid = 7435, - type = "equip", - slot = "hand", - }, - { - -- impaler - itemid = 7435, - type = "deequip", - slot = "hand", - }, - { - -- royal axe - itemid = 7434, - type = "equip", - slot = "hand", - }, - { - -- royal axe - itemid = 7434, - type = "deequip", - slot = "hand", - }, - { - -- ravenwing - itemid = 7433, - type = "equip", - slot = "hand", - }, - { - -- ravenwing - itemid = 7433, - type = "deequip", - slot = "hand", - }, - { - -- furry club - itemid = 7432, - type = "equip", - slot = "hand", - }, - { - -- furry club - itemid = 7432, - type = "deequip", - slot = "hand", - }, - { - -- demonbone - itemid = 7431, - type = "equip", - slot = "hand", - }, - { - -- demonbone - itemid = 7431, - type = "deequip", - slot = "hand", - }, - { - -- dragonbone staff - itemid = 7430, - type = "equip", - slot = "hand", - }, - { - -- dragonbone staff - itemid = 7430, - type = "deequip", - slot = "hand", - }, - { - -- blessed sceptre - itemid = 7429, - type = "equip", - slot = "hand", - }, - { - -- blessed sceptre - itemid = 7429, - type = "deequip", - slot = "hand", - }, - { - -- bonebreaker - itemid = 7428, - type = "equip", - slot = "hand", - }, - { - -- bonebreaker - itemid = 7428, - type = "deequip", - slot = "hand", - }, - { - -- chaos mace - itemid = 7427, - type = "equip", - slot = "hand", - }, - { - -- chaos mace - itemid = 7427, - type = "deequip", - slot = "hand", - }, - { - -- amber staff - itemid = 7426, - type = "equip", - slot = "hand", - }, - { - -- amber staff - itemid = 7426, - type = "deequip", - slot = "hand", - }, - { - -- taurus mace - itemid = 7425, - type = "equip", - slot = "hand", - }, - { - -- taurus mace - itemid = 7425, - type = "deequip", - slot = "hand", - }, - { - -- lunar staff - itemid = 7424, - type = "equip", - slot = "hand", - }, - { - -- lunar staff - itemid = 7424, - type = "deequip", - slot = "hand", - }, - { - -- skullcrusher - itemid = 7423, - type = "equip", - slot = "hand", - }, - { - -- skullcrusher - itemid = 7423, - type = "deequip", - slot = "hand", - }, - { - -- jade hammer - itemid = 7422, - type = "equip", - slot = "hand", - }, - { - -- jade hammer - itemid = 7422, - type = "deequip", - slot = "hand", - }, - { - -- onyx flail - itemid = 7421, - type = "equip", - slot = "hand", - }, - { - -- onyx flail - itemid = 7421, - type = "deequip", - slot = "hand", - }, - { - -- reaper's axe - itemid = 7420, - type = "equip", - slot = "hand", - }, - { - -- reaper's axe - itemid = 7420, - type = "deequip", - slot = "hand", - }, - { - -- dreaded cleaver - itemid = 7419, - type = "equip", - slot = "hand", - }, - { - -- dreaded cleaver - itemid = 7419, - type = "deequip", - slot = "hand", - }, - { - -- nightmare blade - itemid = 7418, - type = "equip", - slot = "hand", - }, - { - -- nightmare blade - itemid = 7418, - type = "deequip", - slot = "hand", - }, - { - -- runed sword - itemid = 7417, - type = "equip", - slot = "hand", - }, - { - -- runed sword - itemid = 7417, - type = "deequip", - slot = "hand", - }, - { - -- bloody edge - itemid = 7416, - type = "equip", - slot = "hand", - }, - { - -- bloody edge - itemid = 7416, - type = "deequip", - slot = "hand", - }, - { - -- cranial basher - itemid = 7415, - type = "equip", - slot = "hand", - }, - { - -- cranial basher - itemid = 7415, - type = "deequip", - slot = "hand", - }, - { - -- abyss hammer - itemid = 7414, - type = "equip", - slot = "hand", - }, - { - -- abyss hammer - itemid = 7414, - type = "deequip", - slot = "hand", - }, - { - -- titan axe - itemid = 7413, - type = "equip", - slot = "hand", - }, - { - -- titan axe - itemid = 7413, - type = "deequip", - slot = "hand", - }, - { - -- butcher's axe - itemid = 7412, - type = "equip", - slot = "hand", - }, - { - -- butcher's axe - itemid = 7412, - type = "deequip", - slot = "hand", - }, - { - -- ornamented axe - itemid = 7411, - type = "equip", - slot = "hand", - }, - { - -- ornamented axe - itemid = 7411, - type = "deequip", - slot = "hand", - }, - { - -- queen's sceptre - itemid = 7410, - type = "equip", - slot = "hand", - }, - { - -- queen's sceptre - itemid = 7410, - type = "deequip", - slot = "hand", - }, - { - -- northern star - itemid = 7409, - type = "equip", - slot = "hand", - }, - { - -- northern star - itemid = 7409, - type = "deequip", - slot = "hand", - }, - { - -- wyvern fang - itemid = 7408, - type = "equip", - slot = "hand", - }, - { - -- wyvern fang - itemid = 7408, - type = "deequip", - slot = "hand", - }, - { - -- haunted blade - itemid = 7407, - type = "equip", - slot = "hand", - }, - { - -- haunted blade - itemid = 7407, - type = "deequip", - slot = "hand", - }, - { - -- blacksteel sword - itemid = 7406, - type = "equip", - slot = "hand", - }, - { - -- blacksteel sword - itemid = 7406, - type = "deequip", - slot = "hand", - }, - { - -- havoc blade - itemid = 7405, - type = "equip", - slot = "hand", - }, - { - -- havoc blade - itemid = 7405, - type = "deequip", - slot = "hand", - }, - { - -- assassin dagger - itemid = 7404, - type = "equip", - slot = "hand", - }, - { - -- assassin dagger - itemid = 7404, - type = "deequip", - slot = "hand", - }, - { - -- berserker - itemid = 7403, - type = "equip", - slot = "hand", - }, - { - -- berserker - itemid = 7403, - type = "deequip", - slot = "hand", - }, - { - -- dragon slayer - itemid = 7402, - type = "equip", - slot = "hand", - }, - { - -- dragon slayer - itemid = 7402, - type = "deequip", - slot = "hand", - }, - { - -- orcish maul - itemid = 7392, - type = "equip", - slot = "hand", - }, - { - -- orcish maul - itemid = 7392, - type = "deequip", - slot = "hand", - }, - { - -- thaian sword - itemid = 7391, - type = "equip", - slot = "hand", - }, - { - -- thaian sword - itemid = 7391, - type = "deequip", - slot = "hand", - }, - { - -- the justice seeker - itemid = 7390, - type = "equip", - slot = "hand", - }, - { - -- the justice seeker - itemid = 7390, - type = "deequip", - slot = "hand", - }, - { - -- heroic axe - itemid = 7389, - type = "equip", - slot = "hand", - }, - { - -- heroic axe - itemid = 7389, - type = "deequip", - slot = "hand", - }, - { - -- vile axe - itemid = 7388, - type = "equip", - slot = "hand", - }, - { - -- vile axe - itemid = 7388, - type = "deequip", - slot = "hand", - }, - { - -- diamond sceptre - itemid = 7387, - type = "equip", - slot = "hand", - }, - { - -- diamond sceptre - itemid = 7387, - type = "deequip", - slot = "hand", - }, - { - -- mercenary sword - itemid = 7386, - type = "equip", - slot = "hand", - }, - { - -- mercenary sword - itemid = 7386, - type = "deequip", - slot = "hand", - }, - { - -- crimson sword - itemid = 7385, - type = "equip", - slot = "hand", - }, - { - -- crimson sword - itemid = 7385, - type = "deequip", - slot = "hand", - }, - { - -- mystic blade - itemid = 7384, - type = "equip", - slot = "hand", - }, - { - -- mystic blade - itemid = 7384, - type = "deequip", - slot = "hand", - }, - { - -- relic sword - itemid = 7383, - type = "equip", - slot = "hand", - }, - { - -- relic sword - itemid = 7383, - type = "deequip", - slot = "hand", - }, - { - -- demonrage sword - itemid = 7382, - type = "equip", - slot = "hand", - }, - { - -- demonrage sword - itemid = 7382, - type = "deequip", - slot = "hand", - }, - { - -- mammoth whopper - itemid = 7381, - type = "equip", - slot = "hand", - }, - { - -- mammoth whopper - itemid = 7381, - type = "deequip", - slot = "hand", - }, - { - -- headchopper - itemid = 7380, - type = "equip", - slot = "hand", - }, - { - -- headchopper - itemid = 7380, - type = "deequip", - slot = "hand", - }, - { - -- brutetamer's staff - itemid = 7379, - type = "equip", - slot = "hand", - }, - { - -- brutetamer's staff - itemid = 7379, - type = "deequip", - slot = "hand", - }, - { - -- royal spear - itemid = 7378, - type = "equip", - slot = "hand", - }, - { - -- royal spear - itemid = 7378, - type = "deequip", - slot = "hand", - }, - { - -- assassin star - itemid = 7368, - type = "equip", - slot = "hand", - }, - { - -- assassin star - itemid = 7368, - type = "deequip", - slot = "hand", - }, - { - -- enchanted spear - itemid = 7367, - type = "equip", - slot = "hand", - }, - { - -- enchanted spear - itemid = 7367, - type = "deequip", - slot = "hand", - }, - { - -- onyx arrow - itemid = 7365, - type = "equip", - slot = "ammo", - }, - { - -- onyx arrow - itemid = 7365, - type = "deequip", - slot = "ammo", - }, - { - -- sniper arrow - itemid = 7364, - type = "equip", - slot = "ammo", - }, - { - -- sniper arrow - itemid = 7364, - type = "deequip", - slot = "ammo", - }, - { - -- piercing bolt - itemid = 7363, - type = "equip", - slot = "ammo", - }, - { - -- piercing bolt - itemid = 7363, - type = "deequip", - slot = "ammo", - }, - { - -- flame of life - itemid = 7360, - type = "additem", - }, - { - -- flame of life - itemid = 7359, - type = "stepin", - }, - { - -- fur bag - itemid = 7343, - type = "equip", - slot = "backpack", - }, - { - -- fur bag - itemid = 7343, - type = "deequip", - slot = "backpack", - }, - { - -- fur backpack - itemid = 7342, - type = "equip", - slot = "backpack", - }, - { - -- fur backpack - itemid = 7342, - type = "deequip", - slot = "backpack", - }, - { - -- party hat - itemid = 6578, - type = "equip", - slot = "head", - }, - { - -- party hat - itemid = 6578, - type = "deequip", - slot = "head", - }, - { - -- ruthless axe - itemid = 6553, - type = "equip", - slot = "hand", - }, - { - -- ruthless axe - itemid = 6553, - type = "deequip", - slot = "hand", - }, - { - -- santa hat - itemid = 6531, - type = "equip", - slot = "head", - }, - { - -- santa hat - itemid = 6531, - type = "deequip", - slot = "head", - }, - { - -- infernal bolt - itemid = 6528, - type = "equip", - slot = "ammo", - }, - { - -- infernal bolt - itemid = 6528, - type = "deequip", - slot = "ammo", - }, - { - -- the avenger - itemid = 6527, - type = "equip", - slot = "hand", - }, - { - -- the avenger - itemid = 6527, - type = "deequip", - slot = "hand", - }, - { - -- necromancer shield - itemid = 6432, - type = "equip", - slot = "shield", - }, - { - -- necromancer shield - itemid = 6432, - type = "deequip", - slot = "shield", - }, - { - -- nightmare shield - itemid = 6390, - type = "equip", - slot = "shield", - }, - { - -- nightmare shield - itemid = 6390, - type = "deequip", - slot = "shield", - }, - { - -- death ring - itemid = 6300, - type = "equip", - slot = "ring", - }, - { - -- death ring - itemid = 6300, - type = "deequip", - slot = "ring", - }, - { - -- death ring - itemid = 6299, - type = "equip", - slot = "ring", - }, - { - -- death ring - itemid = 6299, - type = "deequip", - slot = "ring", - }, - { - -- pair of soft boots - itemid = 6529, - type = "equip", - slot = "feet", - level = 10, - }, - { - -- pair of soft boots - itemid = 6529, - type = "deequip", - slot = "feet", - level = 10, - }, - { - -- tortoise shield - itemid = 6131, - type = "equip", - slot = "shield", - }, - { - -- tortoise shield - itemid = 6131, - type = "deequip", - slot = "shield", - }, - { - -- Dragha's spellbook - itemid = 6120, - type = "equip", - slot = "shield", - }, - { - -- Dragha's spellbook - itemid = 6120, - type = "deequip", - slot = "shield", - }, - { - -- Ron the Ripper's sabre - itemid = 6101, - type = "equip", - slot = "hand", - }, - { - -- Ron the Ripper's sabre - itemid = 6101, - type = "deequip", - slot = "hand", - }, - { - -- pirate hat - itemid = 6096, - type = "equip", - slot = "head", - }, - { - -- pirate hat - itemid = 6096, - type = "deequip", - slot = "head", - }, - { - -- pirate shirt - itemid = 6095, - type = "equip", - slot = "armor", - }, - { - -- pirate shirt - itemid = 6095, - type = "deequip", - slot = "armor", - }, - { - -- beach bag - itemid = 5950, - type = "equip", - slot = "backpack", - }, - { - -- beach bag - itemid = 5950, - type = "deequip", - slot = "backpack", - }, - { - -- beach backpack - itemid = 5949, - type = "equip", - slot = "backpack", - }, - { - -- beach backpack - itemid = 5949, - type = "deequip", - slot = "backpack", - }, - { - -- pirate bag - itemid = 5927, - type = "equip", - slot = "backpack", - }, - { - -- pirate bag - itemid = 5927, - type = "deequip", - slot = "backpack", - }, - { - -- pirate backpack - itemid = 5926, - type = "equip", - slot = "backpack", - }, - { - -- pirate backpack - itemid = 5926, - type = "deequip", - slot = "backpack", - }, - { - -- pirate knee breeches - itemid = 5918, - type = "equip", - slot = "legs", - }, - { - -- pirate knee breeches - itemid = 5918, - type = "deequip", - slot = "legs", - }, - { - -- bandana - itemid = 5917, - type = "equip", - slot = "head", - }, - { - -- bandana - itemid = 5917, - type = "deequip", - slot = "head", - }, - { - -- Ferumbras' hat - itemid = 5903, - type = "equip", - slot = "head", - }, - { - -- Ferumbras' hat - itemid = 5903, - type = "deequip", - slot = "head", - }, - { - -- arbalest - itemid = 5803, - type = "equip", - slot = "hand", - }, - { - -- arbalest - itemid = 5803, - type = "deequip", - slot = "hand", - }, - { - -- jewelled backpack - itemid = 5801, - type = "equip", - slot = "backpack", - }, - { - -- jewelled backpack - itemid = 5801, - type = "deequip", - slot = "backpack", - }, - { - -- skull helmet - itemid = 5741, - type = "equip", - slot = "head", - }, - { - -- skull helmet - itemid = 5741, - type = "deequip", - slot = "head", - }, - { - -- pirate boots - itemid = 5461, - type = "equip", - slot = "feet", - }, - { - -- pirate boots - itemid = 5461, - type = "deequip", - slot = "feet", - }, - { - -- helmet of the deep - itemid = 5460, - type = "equip", - slot = "head", - }, - { - -- helmet of the deep - itemid = 5460, - type = "deequip", - slot = "head", - }, - { - -- spectral dress - itemid = 4836, - type = "equip", - slot = "armor", - }, - { - -- spectral dress - itemid = 4836, - type = "deequip", - slot = "armor", - }, - { - -- bast skirt - itemid = 3560, - type = "equip", - slot = "legs", - }, - { - -- bast skirt - itemid = 3560, - type = "deequip", - slot = "legs", - }, - { - -- crocodile boots - itemid = 3556, - type = "equip", - slot = "feet", - }, - { - -- crocodile boots - itemid = 3556, - type = "deequip", - slot = "feet", - }, - { - -- salamander shield - itemid = 3445, - type = "equip", - slot = "shield", - }, - { - -- salamander shield - itemid = 3445, - type = "deequip", - slot = "shield", - }, - { - -- sentinel shield - itemid = 3444, - type = "equip", - slot = "shield", - }, - { - -- sentinel shield - itemid = 3444, - type = "deequip", - slot = "shield", - }, - { - -- tusk shield - itemid = 3443, - type = "equip", - slot = "shield", - }, - { - -- tusk shield - itemid = 3443, - type = "deequip", - slot = "shield", - }, - { - -- bonelord helmet - itemid = 3408, - type = "equip", - slot = "head", - }, - { - -- bonelord helmet - itemid = 3408, - type = "deequip", - slot = "head", - }, - { - -- charmer's tiara - itemid = 3407, - type = "equip", - slot = "head", - }, - { - -- charmer's tiara - itemid = 3407, - type = "deequip", - slot = "head", - }, - { - -- feather headdress - itemid = 3406, - type = "equip", - slot = "head", - }, - { - -- feather headdress - itemid = 3406, - type = "deequip", - slot = "head", - }, - { - -- horseman helmet - itemid = 3405, - type = "equip", - slot = "head", - }, - { - -- horseman helmet - itemid = 3405, - type = "deequip", - slot = "head", - }, - { - -- leopard armor - itemid = 3404, - type = "equip", - slot = "armor", - }, - { - -- leopard armor - itemid = 3404, - type = "deequip", - slot = "armor", - }, - { - -- tribal mask - itemid = 3403, - type = "equip", - slot = "head", - }, - { - -- tribal mask - itemid = 3403, - type = "deequip", - slot = "head", - }, - { - -- banana staff - itemid = 3348, - type = "equip", - slot = "hand", - }, - { - -- banana staff - itemid = 3348, - type = "deequip", - slot = "hand", - }, - { - -- hunting spear - itemid = 3347, - type = "equip", - slot = "hand", - }, - { - -- hunting spear - itemid = 3347, - type = "deequip", - slot = "hand", - }, - { - -- ripper lance - itemid = 3346, - type = "equip", - slot = "hand", - }, - { - -- ripper lance - itemid = 3346, - type = "deequip", - slot = "hand", - }, - { - -- templar scytheblade - itemid = 3345, - type = "equip", - slot = "hand", - }, - { - -- templar scytheblade - itemid = 3345, - type = "deequip", - slot = "hand", - }, - { - -- beastslayer axe - itemid = 3344, - type = "equip", - slot = "hand", - }, - { - -- beastslayer axe - itemid = 3344, - type = "deequip", - slot = "hand", - }, - { - -- lich staff - itemid = 3343, - type = "equip", - slot = "hand", - }, - { - -- lich staff - itemid = 3343, - type = "deequip", - slot = "hand", - }, - { - -- old and used backpack - itemid = 3244, - type = "equip", - slot = "backpack", - }, - { - -- old and used backpack - itemid = 3244, - type = "deequip", - slot = "backpack", - }, - { - -- camouflage backpack - itemid = 2872, - type = "equip", - slot = "backpack", - }, - { - -- camouflage backpack - itemid = 2872, - type = "deequip", - slot = "backpack", - }, - { - -- camouflage bag - itemid = 2864, - type = "equip", - slot = "backpack", - }, - { - -- camouflage bag - itemid = 2864, - type = "deequip", - slot = "backpack", - }, - { - -- post officer's hat - itemid = 3576, - type = "equip", - slot = "head", - }, - { - -- post officer's hat - itemid = 3576, - type = "deequip", - slot = "head", - }, - { - -- wood cape - itemid = 3575, - type = "equip", - slot = "head", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- wood cape - itemid = 3575, - type = "deequip", - slot = "head", - }, - { - -- mystic turban - itemid = 3574, - type = "equip", - slot = "head", - }, - { - -- mystic turban - itemid = 3574, - type = "deequip", - slot = "head", - }, - { - -- magician hat - itemid = 3573, - type = "equip", - slot = "head", - }, - { - -- magician hat - itemid = 3573, - type = "deequip", - slot = "head", - }, - { - -- scarf - itemid = 3572, - type = "equip", - slot = "necklace", - }, - { - -- scarf - itemid = 3572, - type = "deequip", - slot = "necklace", - }, - { - -- ranger's cloak - itemid = 3571, - type = "equip", - slot = "armor", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ranger's cloak - itemid = 3571, - type = "deequip", - slot = "armor", - }, - { - -- ball gown - itemid = 3570, - type = "equip", - slot = "armor", - }, - { - -- ball gown - itemid = 3570, - type = "deequip", - slot = "armor", - }, - { - -- white dress - itemid = 3569, - type = "equip", - slot = "armor", - }, - { - -- white dress - itemid = 3569, - type = "deequip", - slot = "armor", - }, - { - -- simple dress - itemid = 3568, - type = "equip", - slot = "armor", - }, - { - -- simple dress - itemid = 3568, - type = "deequip", - slot = "armor", - }, - { - -- blue robe - itemid = 3567, - type = "equip", - slot = "armor", - }, - { - -- blue robe - itemid = 3567, - type = "deequip", - slot = "armor", - }, - { - -- red robe - itemid = 3566, - type = "equip", - slot = "armor", - }, - { - -- red robe - itemid = 3566, - type = "deequip", - slot = "armor", - }, - { - -- cape - itemid = 3565, - type = "equip", - slot = "armor", - }, - { - -- cape - itemid = 3565, - type = "deequip", - slot = "armor", - }, - { - -- red tunic - itemid = 3564, - type = "equip", - slot = "armor", - }, - { - -- red tunic - itemid = 3564, - type = "deequip", - slot = "armor", - }, - { - -- green tunic - itemid = 3563, - type = "equip", - slot = "armor", - }, - { - -- green tunic - itemid = 3563, - type = "deequip", - slot = "armor", - }, - { - -- coat - itemid = 3562, - type = "equip", - slot = "armor", - }, - { - -- coat - itemid = 3562, - type = "deequip", - slot = "armor", - }, - { - -- jacket - itemid = 3561, - type = "equip", - slot = "armor", - }, - { - -- jacket - itemid = 3561, - type = "deequip", - slot = "armor", - }, - { - -- leather legs - itemid = 3559, - type = "equip", - slot = "legs", - }, - { - -- leather legs - itemid = 3559, - type = "deequip", - slot = "legs", - }, - { - -- chain legs - itemid = 3558, - type = "equip", - slot = "legs", - }, - { - -- chain legs - itemid = 3558, - type = "deequip", - slot = "legs", - }, - { - -- plate legs - itemid = 3557, - type = "equip", - slot = "legs", - }, - { - -- plate legs - itemid = 3557, - type = "deequip", - slot = "legs", - }, - { - -- golden boots - itemid = 3555, - type = "equip", - slot = "feet", - }, - { - -- golden boots - itemid = 3555, - type = "deequip", - slot = "feet", - }, - { - -- steel boots - itemid = 3554, - type = "equip", - slot = "feet", - }, - { - -- steel boots - itemid = 3554, - type = "deequip", - slot = "feet", - }, - { - -- bunnyslippers - itemid = 3553, - type = "equip", - slot = "feet", - }, - { - -- bunnyslippers - itemid = 3553, - type = "deequip", - slot = "feet", - }, - { - -- leather boots - itemid = 3552, - type = "equip", - slot = "feet", - }, - { - -- leather boots - itemid = 3552, - type = "deequip", - slot = "feet", - }, - { - -- sandals - itemid = 3551, - type = "equip", - slot = "feet", - }, - { - -- sandals - itemid = 3551, - type = "deequip", - slot = "feet", - }, - { - -- patched boots - itemid = 3550, - type = "equip", - slot = "feet", - }, - { - -- patched boots - itemid = 3550, - type = "deequip", - slot = "feet", - }, - { - -- pair of soft boots - itemid = 3549, - type = "equip", - slot = "feet", - level = 10, - }, - { - -- pair of soft boots - itemid = 3549, - type = "deequip", - slot = "feet", - level = 10, - }, - { - -- scythe - itemid = 3453, - type = "equip", - slot = "hand", - }, - { - -- scythe - itemid = 3453, - type = "deequip", - slot = "hand", - }, - { - -- power bolt - itemid = 3450, - type = "equip", - slot = "ammo", - }, - { - -- power bolt - itemid = 3450, - type = "deequip", - slot = "ammo", - }, - { - -- arrow - itemid = 3447, - type = "equip", - slot = "ammo", - }, - { - -- arrow - itemid = 3447, - type = "deequip", - slot = "ammo", - }, - { - -- bolt - itemid = 3446, - type = "equip", - slot = "ammo", - }, - { - -- bolt - itemid = 3446, - type = "deequip", - slot = "ammo", - }, - { - -- tempest shield - itemid = 3442, - type = "equip", - slot = "shield", - }, - { - -- tempest shield - itemid = 3442, - type = "deequip", - slot = "shield", - }, - { - -- bone shield - itemid = 3441, - type = "equip", - slot = "shield", - }, - { - -- bone shield - itemid = 3441, - type = "deequip", - slot = "shield", - }, - { - -- scarab shield - itemid = 3440, - type = "equip", - slot = "shield", - }, - { - -- scarab shield - itemid = 3440, - type = "deequip", - slot = "shield", - }, - { - -- phoenix shield - itemid = 3439, - type = "equip", - slot = "shield", - }, - { - -- phoenix shield - itemid = 3439, - type = "deequip", - slot = "shield", - }, - { - -- eagle shield - itemid = 3438, - type = "equip", - slot = "shield", - }, - { - -- eagle shield - itemid = 3438, - type = "deequip", - slot = "shield", - }, - { - -- amazon shield - itemid = 3437, - type = "equip", - slot = "shield", - }, - { - -- amazon shield - itemid = 3437, - type = "deequip", - slot = "shield", - }, - { - -- medusa shield - itemid = 3436, - type = "equip", - slot = "shield", - }, - { - -- medusa shield - itemid = 3436, - type = "deequip", - slot = "shield", - }, - { - -- castle shield - itemid = 3435, - type = "equip", - slot = "shield", - }, - { - -- castle shield - itemid = 3435, - type = "deequip", - slot = "shield", - }, - { - -- vampire shield - itemid = 3434, - type = "equip", - slot = "shield", - }, - { - -- vampire shield - itemid = 3434, - type = "deequip", - slot = "shield", - }, - { - -- griffin shield - itemid = 3433, - type = "equip", - slot = "shield", - }, - { - -- griffin shield - itemid = 3433, - type = "deequip", - slot = "shield", - }, - { - -- ancient shield - itemid = 3432, - type = "equip", - slot = "shield", - }, - { - -- ancient shield - itemid = 3432, - type = "deequip", - slot = "shield", - }, - { - -- viking shield - itemid = 3431, - type = "equip", - slot = "shield", - }, - { - -- viking shield - itemid = 3431, - type = "deequip", - slot = "shield", - }, - { - -- copper shield - itemid = 3430, - type = "equip", - slot = "shield", - }, - { - -- copper shield - itemid = 3430, - type = "deequip", - slot = "shield", - }, - { - -- black shield - itemid = 3429, - type = "equip", - slot = "shield", - }, - { - -- black shield - itemid = 3429, - type = "deequip", - slot = "shield", - }, - { - -- tower shield - itemid = 3428, - type = "equip", - slot = "shield", - }, - { - -- tower shield - itemid = 3428, - type = "deequip", - slot = "shield", - }, - { - -- rose shield - itemid = 3427, - type = "equip", - slot = "shield", - }, - { - -- rose shield - itemid = 3427, - type = "deequip", - slot = "shield", - }, - { - -- studded shield - itemid = 3426, - type = "equip", - slot = "shield", - }, - { - -- studded shield - itemid = 3426, - type = "deequip", - slot = "shield", - }, - { - -- dwarven shield - itemid = 3425, - type = "equip", - slot = "shield", - }, - { - -- dwarven shield - itemid = 3425, - type = "deequip", - slot = "shield", - }, - { - -- ornamented shield - itemid = 3424, - type = "equip", - slot = "shield", - }, - { - -- ornamented shield - itemid = 3424, - type = "deequip", - slot = "shield", - }, - { - -- blessed shield - itemid = 3423, - type = "equip", - slot = "shield", - }, - { - -- blessed shield - itemid = 3423, - type = "deequip", - slot = "shield", - }, - { - -- great shield - itemid = 3422, - type = "equip", - slot = "shield", - }, - { - -- great shield - itemid = 3422, - type = "deequip", - slot = "shield", - }, - { - -- dark shield - itemid = 3421, - type = "equip", - slot = "shield", - }, - { - -- dark shield - itemid = 3421, - type = "deequip", - slot = "shield", - }, - { - -- demon shield - itemid = 3420, - type = "equip", - slot = "shield", - }, - { - -- demon shield - itemid = 3420, - type = "deequip", - slot = "shield", - }, - { - -- crown shield - itemid = 3419, - type = "equip", - slot = "shield", - }, - { - -- crown shield - itemid = 3419, - type = "deequip", - slot = "shield", - }, - { - -- bonelord shield - itemid = 3418, - type = "equip", - slot = "shield", - }, - { - -- bonelord shield - itemid = 3418, - type = "deequip", - slot = "shield", - }, - { - -- shield of honour - itemid = 3417, - type = "equip", - slot = "shield", - }, - { - -- shield of honour - itemid = 3417, - type = "deequip", - slot = "shield", - }, - { - -- dragon shield - itemid = 3416, - type = "equip", - slot = "shield", - }, - { - -- dragon shield - itemid = 3416, - type = "deequip", - slot = "shield", - }, - { - -- guardian shield - itemid = 3415, - type = "equip", - slot = "shield", - }, - { - -- guardian shield - itemid = 3415, - type = "deequip", - slot = "shield", - }, - { - -- mastermind shield - itemid = 3414, - type = "equip", - slot = "shield", - }, - { - -- mastermind shield - itemid = 3414, - type = "deequip", - slot = "shield", - }, - { - -- battle shield - itemid = 3413, - type = "equip", - slot = "shield", - }, - { - -- battle shield - itemid = 3413, - type = "deequip", - slot = "shield", - }, - { - -- wooden shield - itemid = 3412, - type = "equip", - slot = "shield", - }, - { - -- wooden shield - itemid = 3412, - type = "deequip", - slot = "shield", - }, - { - -- brass shield - itemid = 3411, - type = "equip", - slot = "shield", - }, - { - -- brass shield - itemid = 3411, - type = "deequip", - slot = "shield", - }, - { - -- plate shield - itemid = 3410, - type = "equip", - slot = "shield", - }, - { - -- plate shield - itemid = 3410, - type = "deequip", - slot = "shield", - }, - { - -- steel shield - itemid = 3409, - type = "equip", - slot = "shield", - }, - { - -- steel shield - itemid = 3409, - type = "deequip", - slot = "shield", - }, - { - -- native armor - itemid = 3402, - type = "equip", - slot = "armor", - }, - { - -- native armor - itemid = 3402, - type = "deequip", - slot = "armor", - }, - { - -- elven legs - itemid = 3401, - type = "equip", - slot = "legs", - }, - { - -- elven legs - itemid = 3401, - type = "deequip", - slot = "legs", - }, - { - -- dragon scale helmet - itemid = 3400, - type = "equip", - slot = "head", - }, - { - -- dragon scale helmet - itemid = 3400, - type = "deequip", - slot = "head", - }, - { - -- elven mail - itemid = 3399, - type = "equip", - slot = "armor", - }, - { - -- elven mail - itemid = 3399, - type = "deequip", - slot = "armor", - }, - { - -- dwarven legs - itemid = 3398, - type = "equip", - slot = "legs", - }, - { - -- dwarven legs - itemid = 3398, - type = "deequip", - slot = "legs", - }, - { - -- dwarven armor - itemid = 3397, - type = "equip", - slot = "armor", - }, - { - -- dwarven armor - itemid = 3397, - type = "deequip", - slot = "armor", - }, - { - -- dwarven helmet - itemid = 3396, - type = "equip", - slot = "head", - }, - { - -- dwarven helmet - itemid = 3396, - type = "deequip", - slot = "head", - }, - { - -- ceremonial mask - itemid = 3395, - type = "equip", - slot = "head", - }, - { - -- ceremonial mask - itemid = 3395, - type = "deequip", - slot = "head", - }, - { - -- amazon armor - itemid = 3394, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- amazon armor - itemid = 3394, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- amazon helmet - itemid = 3393, - type = "equip", - slot = "head", - }, - { - -- amazon helmet - itemid = 3393, - type = "deequip", - slot = "head", - }, - { - -- royal helmet - itemid = 3392, - type = "equip", - slot = "head", - }, - { - -- royal helmet - itemid = 3392, - type = "deequip", - slot = "head", - }, - { - -- crusader helmet - itemid = 3391, - type = "equip", - slot = "head", - }, - { - -- crusader helmet - itemid = 3391, - type = "deequip", - slot = "head", - }, - { - -- horned helmet - itemid = 3390, - type = "equip", - slot = "head", - }, - { - -- horned helmet - itemid = 3390, - type = "deequip", - slot = "head", - }, - { - -- demon legs - itemid = 3389, - type = "equip", - slot = "legs", - }, - { - -- demon legs - itemid = 3389, - type = "deequip", - slot = "legs", - }, - { - -- demon armor - itemid = 3388, - type = "equip", - slot = "armor", - }, - { - -- demon armor - itemid = 3388, - type = "deequip", - slot = "armor", - }, - { - -- demon helmet - itemid = 3387, - type = "equip", - slot = "head", - }, - { - -- demon helmet - itemid = 3387, - type = "deequip", - slot = "head", - }, - { - -- dragon scale mail - itemid = 3386, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- dragon scale mail - itemid = 3386, - type = "deequip", - slot = "armor", - }, - { - -- crown helmet - itemid = 3385, - type = "equip", - slot = "head", - }, - { - -- crown helmet - itemid = 3385, - type = "deequip", - slot = "head", - }, - { - -- dark helmet - itemid = 3384, - type = "equip", - slot = "head", - }, - { - -- dark helmet - itemid = 3384, - type = "deequip", - slot = "head", - }, - { - -- dark armor - itemid = 3383, - type = "equip", - slot = "armor", - }, - { - -- dark armor - itemid = 3383, - type = "deequip", - slot = "armor", - }, - { - -- crown legs - itemid = 3382, - type = "equip", - slot = "legs", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crown legs - itemid = 3382, - type = "deequip", - slot = "legs", - }, - { - -- crown armor - itemid = 3381, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crown armor - itemid = 3381, - type = "deequip", - slot = "armor", - }, - { - -- noble armor - itemid = 3380, - type = "equip", - slot = "armor", - }, - { - -- noble armor - itemid = 3380, - type = "deequip", - slot = "armor", - }, - { - -- doublet - itemid = 3379, - type = "equip", - slot = "armor", - }, - { - -- doublet - itemid = 3379, - type = "deequip", - slot = "armor", - }, - { - -- studded armor - itemid = 3378, - type = "equip", - slot = "armor", - }, - { - -- studded armor - itemid = 3378, - type = "deequip", - slot = "armor", - }, - { - -- scale armor - itemid = 3377, - type = "equip", - slot = "armor", - }, - { - -- scale armor - itemid = 3377, - type = "deequip", - slot = "armor", - }, - { - -- studded helmet - itemid = 3376, - type = "equip", - slot = "head", - }, - { - -- studded helmet - itemid = 3376, - type = "deequip", - slot = "head", - }, - { - -- soldier helmet - itemid = 3375, - type = "equip", - slot = "head", - }, - { - -- soldier helmet - itemid = 3375, - type = "deequip", - slot = "head", - }, - { - -- legion helmet - itemid = 3374, - type = "equip", - slot = "head", - }, - { - -- legion helmet - itemid = 3374, - type = "deequip", - slot = "head", - }, - { - -- strange helmet - itemid = 3373, - type = "equip", - slot = "head", - }, - { - -- strange helmet - itemid = 3373, - type = "deequip", - slot = "head", - }, - { - -- brass legs - itemid = 3372, - type = "equip", - slot = "legs", - }, - { - -- brass legs - itemid = 3372, - type = "deequip", - slot = "legs", - }, - { - -- knight legs - itemid = 3371, - type = "equip", - slot = "legs", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- knight legs - itemid = 3371, - type = "deequip", - slot = "legs", - }, - { - -- knight armor - itemid = 3370, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- knight armor - itemid = 3370, - type = "deequip", - slot = "armor", - }, - { - -- warrior helmet - itemid = 3369, - type = "equip", - slot = "head", - }, - { - -- warrior helmet - itemid = 3369, - type = "deequip", - slot = "head", - }, - { - -- winged helmet - itemid = 3368, - type = "equip", - slot = "head", - }, - { - -- winged helmet - itemid = 3368, - type = "deequip", - slot = "head", - }, - { - -- viking helmet - itemid = 3367, - type = "equip", - slot = "head", - }, - { - -- viking helmet - itemid = 3367, - type = "deequip", - slot = "head", - }, - { - -- magic plate armor - itemid = 3366, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- magic plate armor - itemid = 3366, - type = "deequip", - slot = "armor", - }, - { - -- golden helmet - itemid = 3365, - type = "equip", - slot = "head", - }, - { - -- golden helmet - itemid = 3365, - type = "deequip", - slot = "head", - }, - { - -- golden legs - itemid = 3364, - type = "equip", - slot = "legs", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- golden legs - itemid = 3364, - type = "deequip", - slot = "legs", - }, - { - -- dragon scale legs - itemid = 3363, - type = "equip", - slot = "legs", - }, - { - -- dragon scale legs - itemid = 3363, - type = "deequip", - slot = "legs", - }, - { - -- studded legs - itemid = 3362, - type = "equip", - slot = "legs", - }, - { - -- studded legs - itemid = 3362, - type = "deequip", - slot = "legs", - }, - { - -- leather armor - itemid = 3361, - type = "equip", - slot = "armor", - }, - { - -- leather armor - itemid = 3361, - type = "deequip", - slot = "armor", - }, - { - -- golden armor - itemid = 3360, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- golden armor - itemid = 3360, - type = "deequip", - slot = "armor", - }, - { - -- brass armor - itemid = 3359, - type = "equip", - slot = "armor", - }, - { - -- brass armor - itemid = 3359, - type = "deequip", - slot = "armor", - }, - { - -- chain armor - itemid = 3358, - type = "equip", - slot = "armor", - }, - { - -- chain armor - itemid = 3358, - type = "deequip", - slot = "armor", - }, - { - -- plate armor - itemid = 3357, - type = "equip", - slot = "armor", - }, - { - -- plate armor - itemid = 3357, - type = "deequip", - slot = "armor", - }, - { - -- devil helmet - itemid = 3356, - type = "equip", - slot = "head", - }, - { - -- devil helmet - itemid = 3356, - type = "deequip", - slot = "head", - }, - { - -- leather helmet - itemid = 3355, - type = "equip", - slot = "head", - }, - { - -- leather helmet - itemid = 3355, - type = "deequip", - slot = "head", - }, - { - -- brass helmet - itemid = 3354, - type = "equip", - slot = "head", - }, - { - -- brass helmet - itemid = 3354, - type = "deequip", - slot = "head", - }, - { - -- iron helmet - itemid = 3353, - type = "equip", - slot = "head", - }, - { - -- iron helmet - itemid = 3353, - type = "deequip", - slot = "head", - }, - { - -- chain helmet - itemid = 3352, - type = "equip", - slot = "head", - }, - { - -- chain helmet - itemid = 3352, - type = "deequip", - slot = "head", - }, - { - -- steel helmet - itemid = 3351, - type = "equip", - slot = "head", - }, - { - -- steel helmet - itemid = 3351, - type = "deequip", - slot = "head", - }, - { - -- bow - itemid = 3350, - type = "equip", - slot = "hand", - }, - { - -- bow - itemid = 3350, - type = "deequip", - slot = "hand", - }, - { - -- crossbow - itemid = 3349, - type = "equip", - slot = "hand", - }, - { - -- crossbow - itemid = 3349, - type = "deequip", - slot = "hand", - }, - { - -- war axe - itemid = 3342, - type = "equip", - slot = "hand", - }, - { - -- war axe - itemid = 3342, - type = "deequip", - slot = "hand", - }, - { - -- arcane staff - itemid = 3341, - type = "equip", - slot = "hand", - }, - { - -- arcane staff - itemid = 3341, - type = "deequip", - slot = "hand", - }, - { - -- heavy mace - itemid = 3340, - type = "equip", - slot = "hand", - }, - { - -- heavy mace - itemid = 3340, - type = "deequip", - slot = "hand", - }, - { - -- djinn blade - itemid = 3339, - type = "equip", - slot = "hand", - }, - { - -- djinn blade - itemid = 3339, - type = "deequip", - slot = "hand", - }, - { - -- bone sword - itemid = 3338, - type = "equip", - slot = "hand", - }, - { - -- bone sword - itemid = 3338, - type = "deequip", - slot = "hand", - }, - { - -- bone club - itemid = 3337, - type = "equip", - slot = "hand", - }, - { - -- bone club - itemid = 3337, - type = "deequip", - slot = "hand", - }, - { - -- studded club - itemid = 3336, - type = "equip", - slot = "hand", - }, - { - -- studded club - itemid = 3336, - type = "deequip", - slot = "hand", - }, - { - -- twin axe - itemid = 3335, - type = "equip", - slot = "hand", - }, - { - -- twin axe - itemid = 3335, - type = "deequip", - slot = "hand", - }, - { - -- pharaoh sword - itemid = 3334, - type = "equip", - slot = "hand", - }, - { - -- pharaoh sword - itemid = 3334, - type = "deequip", - slot = "hand", - }, - { - -- crystal mace - itemid = 3333, - type = "equip", - slot = "hand", - }, - { - -- crystal mace - itemid = 3333, - type = "deequip", - slot = "hand", - }, - { - -- hammer of wrath - itemid = 3332, - type = "equip", - slot = "hand", - }, - { - -- hammer of wrath - itemid = 3332, - type = "deequip", - slot = "hand", - }, - { - -- ravager's axe - itemid = 3331, - type = "equip", - slot = "hand", - }, - { - -- ravager's axe - itemid = 3331, - type = "deequip", - slot = "hand", - }, - { - -- heavy machete - itemid = 3330, - type = "equip", - slot = "hand", - }, - { - -- heavy machete - itemid = 3330, - type = "deequip", - slot = "hand", - }, - { - -- daramian axe - itemid = 3329, - type = "equip", - slot = "hand", - }, - { - -- daramian axe - itemid = 3329, - type = "deequip", - slot = "hand", - }, - { - -- daramian waraxe - itemid = 3328, - type = "equip", - slot = "hand", - }, - { - -- daramian waraxe - itemid = 3328, - type = "deequip", - slot = "hand", - }, - { - -- daramian mace - itemid = 3327, - type = "equip", - slot = "hand", - }, - { - -- daramian mace - itemid = 3327, - type = "deequip", - slot = "hand", - }, - { - -- epee - itemid = 3326, - type = "equip", - slot = "hand", - }, - { - -- epee - itemid = 3326, - type = "deequip", - slot = "hand", - }, - { - -- light mace - itemid = 3325, - type = "equip", - slot = "hand", - }, - { - -- light mace - itemid = 3325, - type = "deequip", - slot = "hand", - }, - { - -- skull staff - itemid = 3324, - type = "equip", - slot = "hand", - }, - { - -- skull staff - itemid = 3324, - type = "deequip", - slot = "hand", - }, - { - -- dwarven axe - itemid = 3323, - type = "equip", - slot = "hand", - }, - { - -- dwarven axe - itemid = 3323, - type = "deequip", - slot = "hand", - }, - { - -- dragon hammer - itemid = 3322, - type = "equip", - slot = "hand", - }, - { - -- dragon hammer - itemid = 3322, - type = "deequip", - slot = "hand", - }, - { - -- enchanted staff - itemid = 3321, - type = "equip", - slot = "hand", - }, - { - -- enchanted staff - itemid = 3321, - type = "deequip", - slot = "hand", - }, - { - -- fire axe - itemid = 3320, - type = "equip", - slot = "hand", - }, - { - -- fire axe - itemid = 3320, - type = "deequip", - slot = "hand", - }, - { - -- stonecutter axe - itemid = 3319, - type = "equip", - slot = "hand", - }, - { - -- stonecutter axe - itemid = 3319, - type = "deequip", - slot = "hand", - }, - { - -- knight axe - itemid = 3318, - type = "equip", - slot = "hand", - }, - { - -- knight axe - itemid = 3318, - type = "deequip", - slot = "hand", - }, - { - -- barbarian axe - itemid = 3317, - type = "equip", - slot = "hand", - }, - { - -- barbarian axe - itemid = 3317, - type = "deequip", - slot = "hand", - }, - { - -- orcish axe - itemid = 3316, - type = "equip", - slot = "hand", - }, - { - -- orcish axe - itemid = 3316, - type = "deequip", - slot = "hand", - }, - { - -- guardian halberd - itemid = 3315, - type = "equip", - slot = "hand", - }, - { - -- guardian halberd - itemid = 3315, - type = "deequip", - slot = "hand", - }, - { - -- naginata - itemid = 3314, - type = "equip", - slot = "hand", - }, - { - -- naginata - itemid = 3314, - type = "deequip", - slot = "hand", - }, - { - -- obsidian lance - itemid = 3313, - type = "equip", - slot = "hand", - }, - { - -- obsidian lance - itemid = 3313, - type = "deequip", - slot = "hand", - }, - { - -- silver mace - itemid = 3312, - type = "equip", - slot = "hand", - }, - { - -- silver mace - itemid = 3312, - type = "deequip", - slot = "hand", - }, - { - -- clerical mace - itemid = 3311, - type = "equip", - slot = "hand", - }, - { - -- clerical mace - itemid = 3311, - type = "deequip", - slot = "hand", - }, - { - -- iron hammer - itemid = 3310, - type = "equip", - slot = "hand", - }, - { - -- iron hammer - itemid = 3310, - type = "deequip", - slot = "hand", - }, - { - -- thunder hammer - itemid = 3309, - type = "equip", - slot = "hand", - }, - { - -- thunder hammer - itemid = 3309, - type = "deequip", - slot = "hand", - }, - { - -- machete - itemid = 3308, - type = "equip", - slot = "hand", - }, - { - -- machete - itemid = 3308, - type = "deequip", - slot = "hand", - }, - { - -- scimitar - itemid = 3307, - type = "equip", - slot = "hand", - }, - { - -- scimitar - itemid = 3307, - type = "deequip", - slot = "hand", - }, - { - -- golden sickle - itemid = 3306, - type = "equip", - slot = "hand", - }, - { - -- golden sickle - itemid = 3306, - type = "deequip", - slot = "hand", - }, - { - -- battle hammer - itemid = 3305, - type = "equip", - slot = "hand", - }, - { - -- battle hammer - itemid = 3305, - type = "deequip", - slot = "hand", - }, - { - -- crowbar - itemid = 3304, - type = "equip", - slot = "hand", - }, - { - -- crowbar - itemid = 3304, - type = "deequip", - slot = "hand", - }, - { - -- great axe - itemid = 3303, - type = "equip", - slot = "hand", - }, - { - -- great axe - itemid = 3303, - type = "deequip", - slot = "hand", - }, - { - -- dragon lance - itemid = 3302, - type = "equip", - slot = "hand", - }, - { - -- dragon lance - itemid = 3302, - type = "deequip", - slot = "hand", - }, - { - -- broadsword - itemid = 3301, - type = "equip", - slot = "hand", - }, - { - -- broadsword - itemid = 3301, - type = "deequip", - slot = "hand", - }, - { - -- katana - itemid = 3300, - type = "equip", - slot = "hand", - }, - { - -- katana - itemid = 3300, - type = "deequip", - slot = "hand", - }, - { - -- poison dagger - itemid = 3299, - type = "equip", - slot = "hand", - }, - { - -- poison dagger - itemid = 3299, - type = "deequip", - slot = "hand", - }, - { - -- throwing knife - itemid = 3298, - type = "equip", - slot = "hand", - }, - { - -- throwing knife - itemid = 3298, - type = "deequip", - slot = "hand", - }, - { - -- serpent sword - itemid = 3297, - type = "equip", - slot = "hand", - }, - { - -- serpent sword - itemid = 3297, - type = "deequip", - slot = "hand", - }, - { - -- warlord sword - itemid = 3296, - type = "equip", - slot = "hand", - }, - { - -- warlord sword - itemid = 3296, - type = "deequip", - slot = "hand", - }, - { - -- bright sword - itemid = 3295, - type = "equip", - slot = "hand", - }, - { - -- bright sword - itemid = 3295, - type = "deequip", - slot = "hand", - }, - { - -- short sword - itemid = 3294, - type = "equip", - slot = "hand", - }, - { - -- short sword - itemid = 3294, - type = "deequip", - slot = "hand", - }, - { - -- sickle - itemid = 3293, - type = "equip", - slot = "hand", - }, - { - -- sickle - itemid = 3293, - type = "deequip", - slot = "hand", - }, - { - -- combat knife - itemid = 3292, - type = "equip", - slot = "hand", - }, - { - -- combat knife - itemid = 3292, - type = "deequip", - slot = "hand", - }, - { - -- knife - itemid = 3291, - type = "equip", - slot = "hand", - }, - { - -- knife - itemid = 3291, - type = "deequip", - slot = "hand", - }, - { - -- silver dagger - itemid = 3290, - type = "equip", - slot = "hand", - }, - { - -- silver dagger - itemid = 3290, - type = "deequip", - slot = "hand", - }, - { - -- staff - itemid = 3289, - type = "equip", - slot = "hand", - }, - { - -- staff - itemid = 3289, - type = "deequip", - slot = "hand", - }, - { - -- magic sword - itemid = 3288, - type = "equip", - slot = "hand", - }, - { - -- magic sword - itemid = 3288, - type = "deequip", - slot = "hand", - }, - { - -- throwing star - itemid = 3287, - type = "equip", - slot = "hand", - }, - { - -- throwing star - itemid = 3287, - type = "deequip", - slot = "hand", - }, - { - -- mace - itemid = 3286, - type = "equip", - slot = "hand", - }, - { - -- mace - itemid = 3286, - type = "deequip", - slot = "hand", - }, - { - -- longsword - itemid = 3285, - type = "equip", - slot = "hand", - }, - { - -- longsword - itemid = 3285, - type = "deequip", - slot = "hand", - }, - { - -- ice rapier - itemid = 3284, - type = "equip", - slot = "hand", - }, - { - -- ice rapier - itemid = 3284, - type = "deequip", - slot = "hand", - }, - { - -- carlin sword - itemid = 3283, - type = "equip", - slot = "hand", - }, - { - -- carlin sword - itemid = 3283, - type = "deequip", - slot = "hand", - }, - { - -- morning star - itemid = 3282, - type = "equip", - slot = "hand", - }, - { - -- morning star - itemid = 3282, - type = "deequip", - slot = "hand", - }, - { - -- giant sword - itemid = 3281, - type = "equip", - slot = "hand", - }, - { - -- giant sword - itemid = 3281, - type = "deequip", - slot = "hand", - }, - { - -- fire sword - itemid = 3280, - type = "equip", - slot = "hand", - }, - { - -- fire sword - itemid = 3280, - type = "deequip", - slot = "hand", - }, - { - -- war hammer - itemid = 3279, - type = "equip", - slot = "hand", - }, - { - -- war hammer - itemid = 3279, - type = "deequip", - slot = "hand", - }, - { - -- magic longsword - itemid = 3278, - type = "equip", - slot = "hand", - }, - { - -- magic longsword - itemid = 3278, - type = "deequip", - slot = "hand", - }, - { - -- spear - itemid = 3277, - type = "equip", - slot = "hand", - }, - { - -- spear - itemid = 3277, - type = "deequip", - slot = "hand", - }, - { - -- hatchet - itemid = 3276, - type = "equip", - slot = "hand", - }, - { - -- hatchet - itemid = 3276, - type = "deequip", - slot = "hand", - }, - { - -- double axe - itemid = 3275, - type = "equip", - slot = "hand", - }, - { - -- double axe - itemid = 3275, - type = "deequip", - slot = "hand", - }, - { - -- axe - itemid = 3274, - type = "equip", - slot = "hand", - }, - { - -- axe - itemid = 3274, - type = "deequip", - slot = "hand", - }, - { - -- sabre - itemid = 3273, - type = "equip", - slot = "hand", - }, - { - -- sabre - itemid = 3273, - type = "deequip", - slot = "hand", - }, - { - -- rapier - itemid = 3272, - type = "equip", - slot = "hand", - }, - { - -- rapier - itemid = 3272, - type = "deequip", - slot = "hand", - }, - { - -- spike sword - itemid = 3271, - type = "equip", - slot = "hand", - }, - { - -- spike sword - itemid = 3271, - type = "deequip", - slot = "hand", - }, - { - -- club - itemid = 3270, - type = "equip", - slot = "hand", - }, - { - -- club - itemid = 3270, - type = "deequip", - slot = "hand", - }, - { - -- halberd - itemid = 3269, - type = "equip", - slot = "hand", - }, - { - -- halberd - itemid = 3269, - type = "deequip", - slot = "hand", - }, - { - -- hand axe - itemid = 3268, - type = "equip", - slot = "hand", - }, - { - -- hand axe - itemid = 3268, - type = "deequip", - slot = "hand", - }, - { - -- dagger - itemid = 3267, - type = "equip", - slot = "hand", - }, - { - -- dagger - itemid = 3267, - type = "deequip", - slot = "hand", - }, - { - -- battle axe - itemid = 3266, - type = "equip", - slot = "hand", - }, - { - -- battle axe - itemid = 3266, - type = "deequip", - slot = "hand", - }, - { - -- two handed sword - itemid = 3265, - type = "equip", - slot = "hand", - }, - { - -- two handed sword - itemid = 3265, - type = "deequip", - slot = "hand", - }, - { - -- sword - itemid = 3264, - type = "equip", - slot = "hand", - }, - { - -- sword - itemid = 3264, - type = "deequip", - slot = "hand", - }, - { - -- backpack of holding - itemid = 3253, - type = "equip", - slot = "backpack", - }, - { - -- backpack of holding - itemid = 3253, - type = "deequip", - slot = "backpack", - }, - { - -- boots of waterwalking - itemid = 3246, - type = "equip", - slot = "feet", - }, - { - -- boots of waterwalking - itemid = 3246, - type = "deequip", - slot = "feet", - }, - { - -- ring of wishes - itemid = 3245, - type = "equip", - slot = "ring", - }, - { - -- ring of wishes - itemid = 3245, - type = "deequip", - slot = "ring", - }, - { - -- helmet of the ancients - itemid = 3230, - type = "equip", - slot = "head", - }, - { - -- helmet of the ancients - itemid = 3230, - type = "deequip", - slot = "head", - }, - { - -- helmet of the ancients - itemid = 3229, - type = "equip", - slot = "head", - }, - { - -- helmet of the ancients - itemid = 3229, - type = "deequip", - slot = "head", - }, - { - -- damaged helmet - itemid = 3226, - type = "equip", - slot = "head", - }, - { - -- damaged helmet - itemid = 3226, - type = "deequip", - slot = "head", - }, - { - -- hat of the mad - itemid = 3210, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- hat of the mad - itemid = 3210, - type = "deequip", - slot = "head", - }, - { - -- giant smithhammer - itemid = 12510, - type = "equip", - slot = "hand", - }, - { - -- giant smithhammer - itemid = 12510, - type = "deequip", - slot = "hand", - }, - { - -- paw amulet - itemid = 3102, - type = "equip", - slot = "necklace", - }, - { - -- paw amulet - itemid = 3102, - type = "deequip", - slot = "necklace", - }, - { - -- ring of healing - itemid = 3100, - type = "equip", - slot = "ring", - }, - { - -- ring of healing - itemid = 3100, - type = "deequip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3099, - type = "equip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3099, - type = "deequip", - slot = "ring", - }, - { - -- ring of healing - itemid = 3098, - type = "equip", - slot = "ring", - }, - { - -- ring of healing - itemid = 3098, - type = "deequip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3097, - type = "equip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3097, - type = "deequip", - slot = "ring", - }, - { - -- club ring - itemid = 3096, - type = "equip", - slot = "ring", - }, - { - -- club ring - itemid = 3096, - type = "deequip", - slot = "ring", - }, - { - -- axe ring - itemid = 3095, - type = "equip", - slot = "ring", - }, - { - -- axe ring - itemid = 3095, - type = "deequip", - slot = "ring", - }, - { - -- sword ring - itemid = 3094, - type = "equip", - slot = "ring", - }, - { - -- sword ring - itemid = 3094, - type = "deequip", - slot = "ring", - }, - { - -- club ring - itemid = 3093, - type = "equip", - slot = "ring", - }, - { - -- club ring - itemid = 3093, - type = "deequip", - slot = "ring", - }, - { - -- axe ring - itemid = 3092, - type = "equip", - slot = "ring", - }, - { - -- axe ring - itemid = 3092, - type = "deequip", - slot = "ring", - }, - { - -- sword ring - itemid = 3091, - type = "equip", - slot = "ring", - }, - { - -- sword ring - itemid = 3091, - type = "deequip", - slot = "ring", - }, - { - -- time ring - itemid = 3090, - type = "equip", - slot = "ring", - }, - { - -- time ring - itemid = 3090, - type = "deequip", - slot = "ring", - }, - { - -- life ring - itemid = 3089, - type = "equip", - slot = "ring", - }, - { - -- life ring - itemid = 3089, - type = "deequip", - slot = "ring", - }, - { - -- energy ring - itemid = 3088, - type = "equip", - slot = "ring", - }, - { - -- energy ring - itemid = 3088, - type = "deequip", - slot = "ring", - }, - { - -- power ring - itemid = 3087, - type = "equip", - slot = "ring", - }, - { - -- power ring - itemid = 3087, - type = "deequip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3086, - type = "equip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3086, - type = "deequip", - slot = "ring", - }, - { - -- dragon necklace - itemid = 3085, - type = "equip", - slot = "necklace", - }, - { - -- dragon necklace - itemid = 3085, - type = "deequip", - slot = "necklace", - }, - { - -- protection amulet - itemid = 3084, - type = "equip", - slot = "necklace", - }, - { - -- protection amulet - itemid = 3084, - type = "deequip", - slot = "necklace", - }, - { - -- garlic necklace - itemid = 3083, - type = "equip", - slot = "necklace", - }, - { - -- garlic necklace - itemid = 3083, - type = "deequip", - slot = "necklace", - }, - { - -- elven amulet - itemid = 3082, - type = "equip", - slot = "necklace", - }, - { - -- elven amulet - itemid = 3082, - type = "deequip", - slot = "necklace", - }, - { - -- stone skin amulet - itemid = 3081, - type = "equip", - slot = "necklace", - }, - { - -- stone skin amulet - itemid = 3081, - type = "deequip", - slot = "necklace", - }, - { - -- amulet of life - itemid = 3080, - type = "equip", - slot = "necklace", - }, - { - -- amulet of life - itemid = 3080, - type = "deequip", - slot = "necklace", - }, - { - -- boots of haste - itemid = 3079, - type = "equip", - slot = "feet", - }, - { - -- boots of haste - itemid = 3079, - type = "deequip", - slot = "feet", - }, - { - -- wand of dragonbreath - itemid = 3075, - type = "equip", - slot = "hand", - level = 13, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of dragonbreath - itemid = 3075, - type = "deequip", - slot = "hand", - level = 13, - }, - { - -- wand of vortex - itemid = 3074, - type = "equip", - slot = "hand", - level = 6, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of vortex - itemid = 3074, - type = "deequip", - slot = "hand", - level = 6, - }, - { - -- wand of cosmic energy - itemid = 3073, - type = "equip", - slot = "hand", - level = 26, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of cosmic energy - itemid = 3073, - type = "deequip", - slot = "hand", - level = 26, - }, - { - -- wand of decay - itemid = 3072, - type = "equip", - slot = "hand", - level = 19, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of decay - itemid = 3072, - type = "deequip", - slot = "hand", - level = 19, - }, - { - -- wand of inferno - itemid = 3071, - type = "equip", - slot = "hand", - level = 33, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of inferno - itemid = 3071, - type = "deequip", - slot = "hand", - level = 33, - }, - { - -- moonlight rod - itemid = 3070, - type = "equip", - slot = "hand", - level = 13, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- moonlight rod - itemid = 3070, - type = "deequip", - slot = "hand", - level = 13, - }, - { - -- necrotic rod - itemid = 3069, - type = "equip", - slot = "hand", - level = 19, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- necrotic rod - itemid = 3069, - type = "deequip", - slot = "hand", - level = 19, - }, - { - -- hailstorm rod - itemid = 3067, - type = "equip", - slot = "hand", - level = 33, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- hailstorm rod - itemid = 3067, - type = "deequip", - slot = "hand", - level = 33, - }, - { - -- snakebit rod - itemid = 3066, - type = "equip", - slot = "hand", - level = 6, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- snakebit rod - itemid = 3066, - type = "deequip", - slot = "hand", - level = 6, - }, - { - -- terra rod - itemid = 3065, - type = "equip", - slot = "hand", - level = 26, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- terra rod - itemid = 3065, - type = "deequip", - slot = "hand", - level = 26, - }, - { - -- gold ring - itemid = 3063, - type = "equip", - slot = "ring", - }, - { - -- gold ring - itemid = 3063, - type = "deequip", - slot = "ring", - }, - { - -- spellbook - itemid = 3059, - type = "equip", - slot = "shield", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook - itemid = 3059, - type = "deequip", - slot = "shield", - }, - { - -- amulet of loss - itemid = 3057, - type = "equip", - slot = "necklace", - }, - { - -- amulet of loss - itemid = 3057, - type = "deequip", - slot = "necklace", - }, - { - -- bronze amulet - itemid = 3056, - type = "equip", - slot = "necklace", - }, - { - -- bronze amulet - itemid = 3056, - type = "deequip", - slot = "necklace", - }, - { - -- platinum amulet - itemid = 3055, - type = "equip", - slot = "necklace", - }, - { - -- platinum amulet - itemid = 3055, - type = "deequip", - slot = "necklace", - }, - { - -- silver amulet - itemid = 3054, - type = "equip", - slot = "necklace", - }, - { - -- silver amulet - itemid = 3054, - type = "deequip", - slot = "necklace", - }, - { - -- time ring - itemid = 3053, - type = "equip", - slot = "ring", - }, - { - -- time ring - itemid = 3053, - type = "deequip", - slot = "ring", - }, - { - -- life ring - itemid = 3052, - type = "equip", - slot = "ring", - }, - { - -- life ring - itemid = 3052, - type = "deequip", - slot = "ring", - }, - { - -- energy ring - itemid = 3051, - type = "equip", - slot = "ring", - }, - { - -- energy ring - itemid = 3051, - type = "deequip", - slot = "ring", - }, - { - -- power ring - itemid = 3050, - type = "equip", - slot = "ring", - }, - { - -- power ring - itemid = 3050, - type = "deequip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3049, - type = "equip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3049, - type = "deequip", - slot = "ring", - }, - { - -- might ring - itemid = 3048, - type = "equip", - slot = "ring", - }, - { - -- might ring - itemid = 3048, - type = "deequip", - slot = "ring", - }, - { - -- strange talisman - itemid = 3045, - type = "equip", - slot = "necklace", - }, - { - -- strange talisman - itemid = 3045, - type = "deequip", - slot = "necklace", - }, - { - -- ancient amulet - itemid = 3025, - type = "equip", - slot = "necklace", - }, - { - -- ancient amulet - itemid = 3025, - type = "deequip", - slot = "necklace", - }, - { - -- ancient tiara - itemid = 3022, - type = "equip", - slot = "head", - }, - { - -- ancient tiara - itemid = 3022, - type = "deequip", - slot = "head", - }, - { - -- sapphire amulet - itemid = 3021, - type = "equip", - slot = "necklace", - }, - { - -- sapphire amulet - itemid = 3021, - type = "deequip", - slot = "necklace", - }, - { - -- demonbone amulet - itemid = 3019, - type = "equip", - slot = "necklace", - }, - { - -- demonbone amulet - itemid = 3019, - type = "deequip", - slot = "necklace", - }, - { - -- scarab amulet - itemid = 3018, - type = "equip", - slot = "necklace", - }, - { - -- scarab amulet - itemid = 3018, - type = "deequip", - slot = "necklace", - }, - { - -- ruby necklace - itemid = 3016, - type = "equip", - slot = "necklace", - }, - { - -- ruby necklace - itemid = 3016, - type = "deequip", - slot = "necklace", - }, - { - -- silver necklace - itemid = 3015, - type = "equip", - slot = "necklace", - }, - { - -- silver necklace - itemid = 3015, - type = "deequip", - slot = "necklace", - }, - { - -- star amulet - itemid = 3014, - type = "equip", - slot = "necklace", - }, - { - -- star amulet - itemid = 3014, - type = "deequip", - slot = "necklace", - }, - { - -- golden amulet - itemid = 3013, - type = "equip", - slot = "necklace", - }, - { - -- golden amulet - itemid = 3013, - type = "deequip", - slot = "necklace", - }, - { - -- wolf tooth chain - itemid = 3012, - type = "equip", - slot = "necklace", - }, - { - -- wolf tooth chain - itemid = 3012, - type = "deequip", - slot = "necklace", - }, - { - -- crown - itemid = 3011, - type = "equip", - slot = "head", - }, - { - -- crown - itemid = 3011, - type = "deequip", - slot = "head", - }, - { - -- bronze necklace - itemid = 3009, - type = "equip", - slot = "necklace", - }, - { - -- bronze necklace - itemid = 3009, - type = "deequip", - slot = "necklace", - }, - { - -- crystal necklace - itemid = 3008, - type = "equip", - slot = "necklace", - }, - { - -- crystal necklace - itemid = 3008, - type = "deequip", - slot = "necklace", - }, - { - -- crystal ring - itemid = 3007, - type = "equip", - slot = "ring", - }, - { - -- crystal ring - itemid = 3007, - type = "deequip", - slot = "ring", - }, - { - -- ring of the sky - itemid = 3006, - type = "equip", - slot = "ring", - }, - { - -- ring of the sky - itemid = 3006, - type = "deequip", - slot = "ring", - }, - { - -- wedding ring - itemid = 3004, - type = "equip", - slot = "ring", - }, - { - -- wedding ring - itemid = 3004, - type = "deequip", - slot = "ring", - }, - { - -- snowball - itemid = 2992, - type = "equip", - slot = "hand", - }, - { - -- snowball - itemid = 2992, - type = "deequip", - slot = "hand", - }, - { - -- golden backpack - itemid = 2871, - type = "equip", - slot = "backpack", - }, - { - -- golden backpack - itemid = 2871, - type = "deequip", - slot = "backpack", - }, - { - -- grey backpack - itemid = 2870, - type = "equip", - slot = "backpack", - }, - { - -- grey backpack - itemid = 2870, - type = "deequip", - slot = "backpack", - }, - { - -- blue backpack - itemid = 2869, - type = "equip", - slot = "backpack", - }, - { - -- blue backpack - itemid = 2869, - type = "deequip", - slot = "backpack", - }, - { - -- purple backpack - itemid = 2868, - type = "equip", - slot = "backpack", - }, - { - -- purple backpack - itemid = 2868, - type = "deequip", - slot = "backpack", - }, - { - -- red backpack - itemid = 2867, - type = "equip", - slot = "backpack", - }, - { - -- red backpack - itemid = 2867, - type = "deequip", - slot = "backpack", - }, - { - -- yellow backpack - itemid = 2866, - type = "equip", - slot = "backpack", - }, - { - -- yellow backpack - itemid = 2866, - type = "deequip", - slot = "backpack", - }, - { - -- green backpack - itemid = 2865, - type = "equip", - slot = "backpack", - }, - { - -- green backpack - itemid = 2865, - type = "deequip", - slot = "backpack", - }, - { - -- golden bag - itemid = 2863, - type = "equip", - slot = "backpack", - }, - { - -- golden bag - itemid = 2863, - type = "deequip", - slot = "backpack", - }, - { - -- grey bag - itemid = 2862, - type = "equip", - slot = "backpack", - }, - { - -- grey bag - itemid = 2862, - type = "deequip", - slot = "backpack", - }, - { - -- blue bag - itemid = 2861, - type = "equip", - slot = "backpack", - }, - { - -- blue bag - itemid = 2861, - type = "deequip", - slot = "backpack", - }, - { - -- purple bag - itemid = 2860, - type = "equip", - slot = "backpack", - }, - { - -- purple bag - itemid = 2860, - type = "deequip", - slot = "backpack", - }, - { - -- red bag - itemid = 2859, - type = "equip", - slot = "backpack", - }, - { - -- red bag - itemid = 2859, - type = "deequip", - slot = "backpack", - }, - { - -- yellow bag - itemid = 2858, - type = "equip", - slot = "backpack", - }, - { - -- yellow bag - itemid = 2858, - type = "deequip", - slot = "backpack", - }, - { - -- green bag - itemid = 2857, - type = "equip", - slot = "backpack", - }, - { - -- green bag - itemid = 2857, - type = "deequip", - slot = "backpack", - }, - { - -- backpack - itemid = 2854, - type = "equip", - slot = "backpack", - }, - { - -- backpack - itemid = 2854, - type = "deequip", - slot = "backpack", - }, - { - -- bag - itemid = 2853, - type = "equip", - slot = "backpack", - }, - { - -- bag - itemid = 2853, - type = "deequip", - slot = "backpack", - }, - { - -- searing fire - itemid = 2138, - type = "stepin", - }, - { - -- searing fire - itemid = 2138, - type = "additem", - }, - { - -- searing fire - itemid = 2137, - type = "stepin", - }, - { - -- searing fire - itemid = 2137, - type = "additem", - }, - { - -- smoke - itemid = 2136, - type = "stepin", - }, - { - -- smoke - itemid = 2136, - type = "additem", - }, - { - -- energy field - itemid = 2135, - type = "stepin", - }, - { - -- energy field - itemid = 2135, - type = "additem", - }, - { - -- poison gas - itemid = 2134, - type = "stepin", - }, - { - -- poison gas - itemid = 2134, - type = "additem", - }, - { - -- fire field - itemid = 2133, - type = "stepin", - }, - { - -- fire field - itemid = 2133, - type = "additem", - }, - { - -- fire field - itemid = 2132, - type = "stepin", - }, - { - -- fire field - itemid = 2132, - type = "additem", - }, - { - -- fire field - itemid = 21465, - type = "stepin", - }, - { - -- fire field - itemid = 21465, - type = "additem", - }, - { - -- rush wood - itemid = 2130, - type = "stepin", - }, - { - -- rush wood - itemid = 2130, - type = "additem", - }, - { - -- magic wall - itemid = 2129, - type = "stepin", - }, - { - -- magic wall - itemid = 2129, - type = "additem", - }, - { - -- magic wall - itemid = 2128, - type = "stepin", - }, - { - -- magic wall - itemid = 2128, - type = "additem", - }, - { - -- poison field - itemid = 2121, - type = "stepin", - }, - { - -- poison field - itemid = 2121, - type = "additem", - }, - { - -- energy field - itemid = 2126, - type = "stepin", - }, - { - -- energy field - itemid = 2126, - type = "additem", - }, - { - -- fire field - itemid = 2125, - type = "stepin", - }, - { - -- fire field - itemid = 2125, - type = "additem", - }, - { - -- fire field - itemid = 2124, - type = "stepin", - }, - { - -- fire field - itemid = 2124, - type = "additem", - }, - { - -- fire field - itemid = 2123, - type = "stepin", - }, - { - -- fire field - itemid = 2123, - type = "additem", - }, - { - -- energy field - itemid = 2122, - type = "stepin", - }, - { - -- energy field - itemid = 2122, - type = "additem", - }, - { - -- poison field - itemid = 105, - type = "stepin", - }, - { - -- poison field - itemid = 105, - type = "additem", - }, - { - -- fire field - itemid = 2120, - type = "stepin", - }, - { - -- fire field - itemid = 2120, - type = "additem", - }, - { - -- fire field - itemid = 2119, - type = "stepin", - }, - { - -- fire field - itemid = 2119, - type = "additem", - }, - { - -- fire field - itemid = 2118, - type = "stepin", - }, - { - -- fire field - itemid = 2118, - type = "additem", - }, - { - -- campfire - itemid = 2000, - type = "stepin", - }, - { - -- campfire - itemid = 2000, - type = "additem", - }, - { - -- campfire - itemid = 1999, - type = "stepin", - }, - { - -- campfire - itemid = 1999, - type = "additem", - }, - { - -- campfire - itemid = 1998, - type = "stepin", - }, - { - -- campfire - itemid = 1998, - type = "additem", - }, - { - -- small stone - itemid = 1781, - type = "equip", - slot = "hand", - }, - { - -- small stone - itemid = 1781, - type = "deequip", - slot = "hand", - }, -} - -for _, i in ipairs(items) do - local movement = MoveEvent() - movement:id(i.itemid) - - if i.type then - movement:type(i.type) - end - if i.slot then - movement:slot(i.slot) - end - if i.level then - movement:level(i.level) - end - if i.vocation then - for _, v in ipairs(i.vocation) do - movement:vocation(v[1], v[2] or false, v[3] or false) - end - end - movement:register() -end diff --git a/data-canary/scripts/weapons/unscripted_weapons.lua b/data-canary/scripts/weapons/unscripted_weapons.lua deleted file mode 100644 index 5f56e9c7a06..00000000000 --- a/data-canary/scripts/weapons/unscripted_weapons.lua +++ /dev/null @@ -1,5141 +0,0 @@ -local weapons = { - { - -- naga rod - itemId = 39163, - type = WEAPON_WAND, - wandType = "ice", - level = 250, - mana = 22, - damage = { 90, 110 }, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- naga wand - itemId = 39162, - type = WEAPON_WAND, - wandType = "energy", - level = 250, - mana = 21, - damage = { 90, 120 }, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- naga crossbow - itemId = 39159, - type = WEAPON_DISTANCE, - level = 300, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- naga club - itemId = 39157, - type = WEAPON_CLUB, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga axe - itemId = 39156, - type = WEAPON_AXE, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga sword - itemId = 39155, - type = WEAPON_SWORD, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch rod - itemId = 36675, - type = WEAPON_WAND, - level = 250, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch rod - itemId = 36674, - type = WEAPON_WAND, - level = 250, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- gilded eldritch wand - itemId = 36669, - type = WEAPON_WAND, - level = 250, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch wand - itemId = 36668, - type = WEAPON_WAND, - level = 250, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- gilded eldritch bow - itemId = 36665, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch bow - itemId = 36664, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- gilded eldritch greataxe - itemId = 36662, - type = WEAPON_AXE, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch greataxe - itemId = 36661, - type = WEAPON_AXE, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch warmace - itemId = 36660, - type = WEAPON_CLUB, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch warmace - itemId = 36659, - type = WEAPON_CLUB, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch claymore - itemId = 36658, - type = WEAPON_SWORD, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch claymore - itemId = 36657, - type = WEAPON_SWORD, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spectral bolt (no decay) - itemId = 35902, - type = WEAPON_AMMO, - level = 150, - unproperly = true, - action = "removecount", - }, - { - -- jungle wand - itemId = 35522, - type = WEAPON_WAND, - wandType = "earth", - level = 150, - mana = 19, - damage = { 80, 100 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- jungle rod - itemId = 35521, - type = WEAPON_WAND, - wandType = "ice", - level = 150, - mana = 19, - damage = { 80, 100 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- jungle bow - itemId = 35518, - type = WEAPON_DISTANCE, - level = 150, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- throwing axe - itemId = 35515, - type = WEAPON_AXE, - level = 150, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- jungle flail - itemId = 35514, - type = WEAPON_CLUB, - level = 150, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion longsword - itemId = 34155, - type = WEAPON_SWORD, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion hammer - itemId = 34254, - type = WEAPON_CLUB, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion axe - itemId = 34253, - type = WEAPON_AXE, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion wand - itemId = 34152, - type = WEAPON_WAND, - wandType = "ice", - level = 220, - mana = 21, - damage = { 89, 109 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- lion rod - itemId = 34151, - type = WEAPON_WAND, - wandType = "ice", - level = 270, - mana = 20, - damage = { 85, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- lion longbow - itemId = 34150, - type = WEAPON_DISTANCE, - level = 270, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulhexer rod - itemId = 34091, - type = WEAPON_WAND, - wandType = "ice", - level = 400, - mana = 21, - damage = { 98, 118 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soultainter wand - itemId = 34090, - type = WEAPON_WAND, - wandType = "death", - level = 400, - mana = 21, - damage = { 100, 120 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulpiercer crossbow - itemId = 34089, - type = WEAPON_DISTANCE, - level = 400, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulbleeder bow - itemId = 34088, - type = WEAPON_DISTANCE, - level = 400, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulmaimer club - itemId = 34087, - type = WEAPON_CLUB, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcrusher club - itemId = 34086, - type = WEAPON_CLUB, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- souleater axe - itemId = 34085, - type = WEAPON_AXE, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulbiter axe - itemId = 34084, - type = WEAPON_AXE, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulshredder sword - itemId = 34083, - type = WEAPON_SWORD, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcutter sword - itemId = 34082, - type = WEAPON_SWORD, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- phantasmal axe - itemid = 32616, - type = WEAPON_AXE, - level = 180, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- meat hammer - itemid = 32093, - type = WEAPON_CLUB, - }, - { - -- tagralt blade - itemid = 31614, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- bow of cataclysm - itemid = 31581, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- mortal mace - itemid = 31580, - type = WEAPON_CLUB, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra rod - itemid = 30400, - type = WEAPON_WAND, - wandType = "earth", - level = 220, - mana = 21, - damage = { 70, 110 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- cobra wand - itemid = 30399, - type = WEAPON_WAND, - wandType = "energy", - level = 270, - mana = 22, - damage = { 94, 100 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- cobra sword - itemid = 30398, - type = WEAPON_SWORD, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra axe - itemid = 30396, - type = WEAPON_AXE, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra club - itemid = 30395, - type = WEAPON_CLUB, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra crossbow - itemid = 30393, - type = WEAPON_DISTANCE, - level = 220, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ice hatchet - itemid = 30283, - type = WEAPON_AXE, - }, - { - -- energized limb - itemid = 29425, - type = WEAPON_WAND, - wandType = "fire", - level = 180, - mana = 24, - damage = { 88, 108 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- winterblade - itemid = 29422, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- summerblade - itemid = 29421, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- resizer - itemid = 29419, - type = WEAPON_CLUB, - level = 230, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- living vine bow - itemid = 29417, - type = WEAPON_DISTANCE, - level = 220, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- golden axe - itemid = 29286, - type = WEAPON_AXE, - }, - { - -- wand of destruction test - itemid = 28479, - type = WEAPON_WAND, - }, - { - -- umbral master bow test - itemid = 28478, - type = WEAPON_DISTANCE, - }, - { - -- sorcerer test weapon - itemid = 28466, - type = WEAPON_WAND, - }, - { - -- bow of destruction test - itemid = 28465, - type = WEAPON_DISTANCE, - }, - { - -- test weapon for knights - itemid = 28464, - type = WEAPON_SWORD, - }, - { - -- sulphurous demonbone - itemid = 28832, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- unliving demonbone - itemid = 28831, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- energized demonbone - itemid = 28830, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- rotten demonbone - itemid = 28829, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- deepling fork - itemid = 28826, - type = WEAPON_WAND, - wandType = "ice", - level = 230, - mana = 23, - damage = { 80, 120 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- deepling ceremonial dagger - itemid = 28825, - type = WEAPON_WAND, - wandType = "ice", - level = 180, - mana = 23, - damage = { 86, 98 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- falcon mace - itemid = 28725, - type = WEAPON_CLUB, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon battleaxe - itemid = 28724, - type = WEAPON_AXE, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon longsword - itemid = 28723, - type = WEAPON_SWORD, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon bow - itemid = 28718, - type = WEAPON_DISTANCE, - level = 300, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- falcon wand - itemid = 28717, - type = WEAPON_WAND, - wandType = "energy", - level = 300, - mana = 21, - damage = { 86, 102 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- falcon rod - itemid = 28716, - type = WEAPON_WAND, - wandType = "earth", - level = 300, - mana = 20, - damage = { 87, 101 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- gnome sword - itemid = 27651, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mallet handle - itemid = 27525, - type = WEAPON_CLUB, - }, - { - -- strange mallet - itemid = 27523, - type = WEAPON_CLUB, - }, - { - -- rod of destruction - itemid = 27458, - type = WEAPON_WAND, - wandType = "ice", - level = 200, - mana = 20, - damage = { 80, 110 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of destruction - itemid = 27457, - type = WEAPON_WAND, - wandType = "energy", - level = 200, - mana = 20, - damage = { 80, 110 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of destruction - itemid = 27456, - type = WEAPON_DISTANCE, - level = 200, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of destruction - itemid = 27455, - type = WEAPON_DISTANCE, - level = 200, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of destruction - itemid = 27454, - type = WEAPON_CLUB, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of destruction - itemid = 27453, - type = WEAPON_CLUB, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of destruction - itemid = 27452, - type = WEAPON_AXE, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of destruction - itemid = 27451, - type = WEAPON_AXE, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of destruction - itemid = 27450, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of destruction - itemid = 27449, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate carving hammer - itemid = 26061, - type = WEAPON_CLUB, - }, - { - -- valuable carving hammer - itemid = 26060, - type = WEAPON_CLUB, - }, - { - -- plain carving hammer - itemid = 26059, - type = WEAPON_CLUB, - }, - { - -- ornate carving mace - itemid = 26058, - type = WEAPON_CLUB, - }, - { - -- valuable carving mace - itemid = 26057, - type = WEAPON_CLUB, - }, - { - -- plain carving mace - itemid = 26056, - type = WEAPON_CLUB, - }, - { - -- ornate carving chopper - itemid = 26055, - type = WEAPON_AXE, - }, - { - -- valuable carving chopper - itemid = 26054, - type = WEAPON_AXE, - }, - { - -- plain carving chopper - itemid = 26053, - type = WEAPON_AXE, - }, - { - -- ornate carving axe - itemid = 26052, - type = WEAPON_AXE, - }, - { - -- valuable carving axe - itemid = 26051, - type = WEAPON_AXE, - }, - { - -- plain carving axe - itemid = 26050, - type = WEAPON_AXE, - }, - { - -- ornate carving slayer - itemid = 26049, - type = WEAPON_SWORD, - }, - { - -- valuable carving slayer - itemid = 26048, - type = WEAPON_SWORD, - }, - { - -- plain carving slayer - itemid = 26047, - type = WEAPON_SWORD, - }, - { - -- ornate carving blade - itemid = 26046, - type = WEAPON_SWORD, - }, - { - -- valuable carving blade - itemid = 26045, - type = WEAPON_SWORD, - }, - { - -- plain carving blade - itemid = 26044, - type = WEAPON_SWORD, - }, - { - -- ornate remedy hammer - itemid = 26031, - type = WEAPON_CLUB, - }, - { - -- valuable remedy hammer - itemid = 26030, - type = WEAPON_CLUB, - }, - { - -- plain remedy hammer - itemid = 26029, - type = WEAPON_CLUB, - }, - { - -- ornate remedy mace - itemid = 26028, - type = WEAPON_CLUB, - }, - { - -- valuable remedy mace - itemid = 26027, - type = WEAPON_CLUB, - }, - { - -- plain remedy mace - itemid = 26026, - type = WEAPON_CLUB, - }, - { - -- ornate remedy chopper - itemid = 26025, - type = WEAPON_AXE, - }, - { - -- valuable remedy chopper - itemid = 26024, - type = WEAPON_AXE, - }, - { - -- plain remedy chopper - itemid = 26023, - type = WEAPON_AXE, - }, - { - -- ornate remedy axe - itemid = 26022, - type = WEAPON_AXE, - }, - { - -- valuable remedy axe - itemid = 26021, - type = WEAPON_AXE, - }, - { - -- plain remedy axe - itemid = 26020, - type = WEAPON_AXE, - }, - { - -- ornate remedy slayer - itemid = 26019, - type = WEAPON_SWORD, - }, - { - -- valuable remedy slayer - itemid = 26018, - type = WEAPON_SWORD, - }, - { - -- plain remedy slayer - itemid = 26017, - type = WEAPON_SWORD, - }, - { - -- ornate remedy blade - itemid = 26016, - type = WEAPON_SWORD, - }, - { - -- valuable remedy blade - itemid = 26015, - type = WEAPON_SWORD, - }, - { - -- plain remedy blade - itemid = 26014, - type = WEAPON_SWORD, - }, - { - -- ornate mayhem hammer - itemid = 26000, - type = WEAPON_CLUB, - }, - { - -- valuable mayhem hammer - itemid = 25999, - type = WEAPON_CLUB, - }, - { - -- plain mayhem hammer - itemid = 25998, - type = WEAPON_CLUB, - }, - { - -- ornate mayhem mace - itemid = 25997, - type = WEAPON_CLUB, - }, - { - -- valuable mayhem mace - itemid = 25996, - type = WEAPON_CLUB, - }, - { - -- plain mayhem mace - itemid = 25995, - type = WEAPON_CLUB, - }, - { - -- ornate mayhem chopper - itemid = 25994, - type = WEAPON_AXE, - }, - { - -- valuable mayhem chopper - itemid = 25993, - type = WEAPON_AXE, - }, - { - -- plain mayhem chopper - itemid = 25992, - type = WEAPON_AXE, - }, - { - -- ornate mayhem axe - itemid = 25991, - type = WEAPON_AXE, - }, - { - -- valuable mayhem axe - itemid = 25990, - type = WEAPON_AXE, - }, - { - -- plain mayhem axe - itemid = 25989, - type = WEAPON_AXE, - }, - { - -- ornate mayhem slayer - itemid = 25988, - type = WEAPON_SWORD, - }, - { - -- valuable mayhem slayer - itemid = 25987, - type = WEAPON_SWORD, - }, - { - -- plain mayhem slayer - itemid = 25986, - type = WEAPON_SWORD, - }, - { - -- ornate mayhem blade - itemid = 25985, - type = WEAPON_SWORD, - }, - { - -- valuable mayhem blade - itemid = 25984, - type = WEAPON_SWORD, - }, - { - -- plain mayhem blade - itemid = 25983, - type = WEAPON_SWORD, - }, - { - -- energy war hammer replica - itemid = 25974, - type = WEAPON_CLUB, - }, - { - -- energy orcish maul replica - itemid = 25973, - type = WEAPON_CLUB, - }, - { - -- energy basher replica - itemid = 25972, - type = WEAPON_CLUB, - }, - { - -- energy crystal mace replica - itemid = 25971, - type = WEAPON_CLUB, - }, - { - -- energy clerical mace replica - itemid = 25970, - type = WEAPON_CLUB, - }, - { - -- energy war axe replica - itemid = 25969, - type = WEAPON_AXE, - }, - { - -- energy headchopper replica - itemid = 25968, - type = WEAPON_AXE, - }, - { - -- energy heroic axe replica - itemid = 25967, - type = WEAPON_AXE, - }, - { - -- energy knight axe replica - itemid = 25966, - type = WEAPON_AXE, - }, - { - -- energy barbarian axe replica - itemid = 25965, - type = WEAPON_AXE, - }, - { - -- energy dragon slayer replica - itemid = 25964, - type = WEAPON_SWORD, - }, - { - -- energy blacksteel replica - itemid = 25963, - type = WEAPON_SWORD, - }, - { - -- energy mystic blade replica - itemid = 25962, - type = WEAPON_SWORD, - }, - { - -- energy relic sword replica - itemid = 25961, - type = WEAPON_SWORD, - }, - { - -- energy spike sword replica - itemid = 25960, - type = WEAPON_SWORD, - }, - { - -- earth war hammer replica - itemid = 25959, - type = WEAPON_CLUB, - }, - { - -- earth orcish maul replica - itemid = 25958, - type = WEAPON_CLUB, - }, - { - -- earth basher replica - itemid = 25957, - type = WEAPON_CLUB, - }, - { - -- earth crystal mace replica - itemid = 25956, - type = WEAPON_CLUB, - }, - { - -- earth clerical mace replica - itemid = 25955, - type = WEAPON_CLUB, - }, - { - -- earth war axe replica - itemid = 25954, - type = WEAPON_AXE, - }, - { - -- earth headchopper replica - itemid = 25953, - type = WEAPON_AXE, - }, - { - -- earth heroic axe replica - itemid = 25952, - type = WEAPON_AXE, - }, - { - -- earth knight axe replica - itemid = 25951, - type = WEAPON_AXE, - }, - { - -- earth barbarian axe replica - itemid = 25950, - type = WEAPON_AXE, - }, - { - -- earth dragon slayer replica - itemid = 25949, - type = WEAPON_SWORD, - }, - { - -- earth blacksteel replica - itemid = 25948, - type = WEAPON_SWORD, - }, - { - -- earth mystic blade replica - itemid = 25947, - type = WEAPON_SWORD, - }, - { - -- earth relic sword replica - itemid = 25946, - type = WEAPON_SWORD, - }, - { - -- earth spike sword replica - itemid = 25945, - type = WEAPON_SWORD, - }, - { - -- icy war hammer replica - itemid = 25944, - type = WEAPON_CLUB, - }, - { - -- icy orcish maul replica - itemid = 25943, - type = WEAPON_CLUB, - }, - { - -- icy basher replica - itemid = 25942, - type = WEAPON_CLUB, - }, - { - -- icy crystal mace replica - itemid = 25941, - type = WEAPON_CLUB, - }, - { - -- icy clerical mace replica - itemid = 25940, - type = WEAPON_CLUB, - }, - { - -- icy war axe replica - itemid = 25939, - type = WEAPON_AXE, - }, - { - -- icy headchopper replica - itemid = 25938, - type = WEAPON_AXE, - }, - { - -- icy heroic axe replica - itemid = 25937, - type = WEAPON_AXE, - }, - { - -- icy knight axe replica - itemid = 25936, - type = WEAPON_AXE, - }, - { - -- icy barbarian axe replica - itemid = 25935, - type = WEAPON_AXE, - }, - { - -- icy dragon slayer replica - itemid = 25934, - type = WEAPON_SWORD, - }, - { - -- icy blacksteel replica - itemid = 25933, - type = WEAPON_SWORD, - }, - { - -- icy mystic blade replica - itemid = 25932, - type = WEAPON_SWORD, - }, - { - -- icy relic sword replica - itemid = 25931, - type = WEAPON_SWORD, - }, - { - -- icy spike sword replica - itemid = 25930, - type = WEAPON_SWORD, - }, - { - -- fiery war hammer replica - itemid = 25929, - type = WEAPON_CLUB, - }, - { - -- fiery orcish maul replica - itemid = 25928, - type = WEAPON_CLUB, - }, - { - -- fiery basher replica - itemid = 25927, - type = WEAPON_CLUB, - }, - { - -- fiery crystal mace replica - itemid = 25926, - type = WEAPON_CLUB, - }, - { - -- fiery clerical mace replica - itemid = 25925, - type = WEAPON_CLUB, - }, - { - -- fiery war axe replica - itemid = 25924, - type = WEAPON_AXE, - }, - { - -- fiery headchopper replica - itemid = 25923, - type = WEAPON_AXE, - }, - { - -- fiery heroic axe replica - itemid = 25922, - type = WEAPON_AXE, - }, - { - -- fiery knight axe replica - itemid = 25921, - type = WEAPON_AXE, - }, - { - -- fiery barbarian axe replica - itemid = 25920, - type = WEAPON_AXE, - }, - { - -- fiery dragon slayer replica - itemid = 25919, - type = WEAPON_SWORD, - }, - { - -- fiery blacksteel replica - itemid = 25918, - type = WEAPON_SWORD, - }, - { - -- fiery mystic blade replica - itemid = 25917, - type = WEAPON_SWORD, - }, - { - -- fiery relic sword replica - itemid = 25916, - type = WEAPON_SWORD, - }, - { - -- fiery spike sword replica - itemid = 25915, - type = WEAPON_SWORD, - }, - { - -- wand of darkness - itemid = 25760, - type = WEAPON_WAND, - wandType = "death", - level = 41, - mana = 15, - damage = { 80, 100 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- royal star - itemid = 25759, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - breakchance = 30, - }, - { - -- spectral bolt - itemid = 25758, - type = WEAPON_AMMO, - level = 150, - unproperly = true, - action = "removecount", - }, - { - -- leaf star - itemid = 25735, - type = WEAPON_DISTANCE, - level = 60, - unproperly = true, - breakchance = 40, - }, - { - -- dream blossom staff - itemid = 25700, - type = WEAPON_WAND, - wandType = "energy", - level = 80, - mana = 18, - damage = { 63, 77 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- rod of carving - itemid = 23339, - type = WEAPON_WAND, - wandType = "ice", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of carving - itemid = 23335, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of carving - itemid = 23331, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of carving - itemid = 23327, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of carving - itemid = 23323, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of carving - itemid = 23319, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of carving - itemid = 23315, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of carving - itemid = 23311, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of carving - itemid = 23307, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of carving - itemid = 23303, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rod of remedy - itemid = 23299, - type = WEAPON_WAND, - wandType = "ice", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of remedy - itemid = 23295, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of remedy - itemid = 23291, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of remedy - itemid = 23287, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of remedy - itemid = 23283, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of remedy - itemid = 23279, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of remedy - itemid = 23275, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of remedy - itemid = 23271, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of remedy - itemid = 23267, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of remedy - itemid = 23263, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rod of mayhem - itemid = 23232, - type = WEAPON_WAND, - wandType = "ice", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of mayhem - itemid = 23231, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of mayhem - itemid = 23230, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of mayhem - itemid = 23229, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of mayhem - itemid = 23228, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of mayhem - itemid = 23227, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of mayhem - itemid = 23226, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of mayhem - itemid = 23225, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of mayhem - itemid = 23224, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of mayhem - itemid = 23223, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rift crossbow - itemid = 22867, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- rift bow - itemid = 22866, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ferumbras' staff (enchanted) - itemid = 22766, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 19, - damage = { 80, 110 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- ferumbras' staff (failed) - itemid = 22765, - type = WEAPON_WAND, - wandType = "energy", - level = 65, - mana = 17, - damage = { 65, 95 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- Ferumbras' staff - itemid = 22764, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - }, - { - -- maimer - itemid = 22762, - type = WEAPON_CLUB, - level = 150, - unproperly = true, - }, - { - -- Impaler of the igniter - itemid = 22760, - type = WEAPON_SWORD, - level = 150, - unproperly = true, - }, - { - -- plague bite - itemid = 22759, - type = WEAPON_AXE, - level = 150, - unproperly = true, - }, - { - -- rift lance - itemid = 22727, - type = WEAPON_AXE, - level = 70, - unproperly = true, - }, - { - -- ogre sceptra - itemid = 22183, - type = WEAPON_WAND, - wandType = "earth", - level = 37, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- ogre choppa - itemid = 22172, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- ogre klubba - itemid = 22171, - type = WEAPON_AXE, - level = 50, - unproperly = true, - }, - { - -- simple arrow - itemid = 21470, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- the chiller - itemid = 21350, - type = WEAPON_WAND, - wandType = "ice", - level = 1, - mana = 1, - damage = { 4, 8 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- the scorcher - itemid = 21348, - type = WEAPON_WAND, - wandType = "fire", - level = 1, - mana = 1, - damage = { 4, 8 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- one hit wonder - itemid = 21219, - type = WEAPON_CLUB, - level = 70, - unproperly = true, - }, - { - -- glooth axe - itemid = 21180, - type = WEAPON_AXE, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glooth blade - itemid = 21179, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glooth club - itemid = 21178, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cowtana - itemid = 21177, - type = WEAPON_SWORD, - level = 25, - unproperly = true, - }, - { - -- execowtioner axe - itemid = 21176, - type = WEAPON_AXE, - level = 55, - unproperly = true, - }, - { - -- mino lance - itemid = 21174, - type = WEAPON_AXE, - level = 45, - unproperly = true, - }, - { - -- moohtant cudgel - itemid = 21173, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - }, - { - -- glooth whip - itemid = 21172, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- metal bat - itemid = 21171, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - }, - { - -- glooth spear - itemid = 21158, - type = WEAPON_DISTANCE, - level = 60, - unproperly = true, - breakchance = 2, - }, - { - -- umbral master crossbow - itemid = 20087, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral crossbow - itemid = 20086, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crude umbral crossbow - itemid = 20085, - type = WEAPON_DISTANCE, - level = 75, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral master bow - itemid = 20084, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral bow - itemid = 20083, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crude umbral bow - itemid = 20082, - type = WEAPON_DISTANCE, - level = 75, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral master hammer - itemid = 20081, - type = WEAPON_CLUB, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral hammer - itemid = 20080, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral hammer - itemid = 20079, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master mace - itemid = 20078, - type = WEAPON_CLUB, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral mace - itemid = 20077, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral mace - itemid = 20076, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master chopper - itemid = 20075, - type = WEAPON_AXE, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral chopper - itemid = 20074, - type = WEAPON_AXE, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- guardian halberd - itemid = 20073, - type = WEAPON_AXE, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master axe - itemid = 20072, - type = WEAPON_AXE, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral axe - itemid = 20071, - type = WEAPON_AXE, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral axe - itemid = 20070, - type = WEAPON_AXE, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master slayer - itemid = 20069, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral slayer - itemid = 20068, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral slayer - itemid = 20067, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral masterblade - itemid = 20066, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral blade - itemid = 20065, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral blade - itemid = 20064, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icicle bow - itemid = 19362, - type = WEAPON_DISTANCE, - unproperly = true, - }, - { - -- triple bolt crossbow - itemid = 19356, - type = WEAPON_DISTANCE, - level = 70, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- spiky club - itemid = 17859, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- pair of iron fists - itemid = 17828, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- swampling club - itemid = 17824, - type = WEAPON_CLUB, - }, - { - -- life preserver - itemid = 17813, - type = WEAPON_CLUB, - level = 15, - unproperly = true, - }, - { - -- ratana - itemid = 17812, - type = WEAPON_SWORD, - level = 15, - unproperly = true, - }, - { - -- sorc and druid staff - itemid = 17111, - type = WEAPON_WAND, - wandType = "energy", - level = 1, - mana = 2, - damage = { 8, 18 }, - vocation = { - { "None", true }, - }, - }, - { - -- mean paladin spear - itemid = 17110, - type = WEAPON_DISTANCE, - breakchance = 3, - vocation = { - { "None", true }, - }, - }, - { - -- mean knight sword - itemid = 17109, - type = WEAPON_SWORD, - unproperly = true, - vocation = { - { "None", true }, - }, - }, - { - -- shiny blade - itemid = 16175, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - }, - { - -- mycological bow - itemid = 16164, - type = WEAPON_DISTANCE, - level = 105, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crystal crossbow - itemid = 16163, - type = WEAPON_DISTANCE, - level = 90, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- mycological mace - itemid = 16162, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - }, - { - -- crystalline axe - itemid = 16161, - type = WEAPON_AXE, - level = 120, - unproperly = true, - }, - { - -- crystalline sword - itemid = 16160, - type = WEAPON_SWORD, - level = 62, - unproperly = true, - }, - { - -- envenomed arrow - itemid = 16143, - type = WEAPON_AMMO, - level = 70, - unproperly = true, - action = "removecount", - }, - { - -- drill bolt - itemid = 16142, - type = WEAPON_AMMO, - level = 70, - unproperly = true, - action = "removecount", - }, - { - -- prismatic bolt - itemid = 16141, - type = WEAPON_AMMO, - level = 90, - unproperly = true, - action = "removecount", - }, - { - -- glacial rod - itemid = 16118, - type = WEAPON_WAND, - wandType = "ice", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- muck rod - itemid = 16117, - type = WEAPON_WAND, - wandType = "earth", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of everblazing - itemid = 16115, - type = WEAPON_WAND, - wandType = "fire", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of defiance - itemid = 16096, - type = WEAPON_WAND, - wandType = "energy", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crystalline arrow - itemid = 15793, - type = WEAPON_AMMO, - level = 90, - unproperly = true, - action = "removecount", - }, - { - -- crystal bolt - itemid = 15792, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- thorn spitter - itemid = 14768, - type = WEAPON_DISTANCE, - level = 150, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- vortex bolt - itemid = 14252, - type = WEAPON_AMMO, - level = 40, - unproperly = true, - action = "removecount", - }, - { - -- tarsal arrow - itemid = 14251, - type = WEAPON_AMMO, - level = 30, - unproperly = true, - action = "removecount", - }, - { - -- deepling squelcher - itemid = 14250, - type = WEAPON_CLUB, - level = 48, - unproperly = true, - }, - { - -- ornate crossbow - itemid = 14247, - type = WEAPON_DISTANCE, - level = 50, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hive bow - itemid = 14246, - type = WEAPON_DISTANCE, - level = 85, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hive scythe - itemid = 14089, - type = WEAPON_AXE, - level = 70, - unproperly = true, - }, - { - -- guardian axe - itemid = 14043, - type = WEAPON_AXE, - level = 50, - unproperly = true, - }, - { - -- warrior's axe - itemid = 14040, - type = WEAPON_AXE, - level = 40, - unproperly = true, - }, - { - -- ornate mace - itemid = 14001, - type = WEAPON_CLUB, - level = 90, - unproperly = true, - }, - { - -- deepling axe - itemid = 13991, - type = WEAPON_AXE, - level = 80, - unproperly = true, - }, - { - -- deepling staff - itemid = 13987, - type = WEAPON_CLUB, - level = 38, - unproperly = true, - }, - { - -- shimmer wand - itemid = 12741, - type = WEAPON_WAND, - wandType = "energy", - level = 40, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- shimmer bow - itemid = 12733, - type = WEAPON_DISTANCE, - level = 40, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- shimmer rod - itemid = 12732, - type = WEAPON_WAND, - wandType = "ice", - level = 40, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- shimmer sword - itemid = 12731, - type = WEAPON_SWORD, - level = 40, - unproperly = true, - }, - { - -- heavy trident - itemid = 12683, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- wooden sword - itemid = 12673, - type = WEAPON_SWORD, - }, - { - -- wand of dimensions - itemid = 12603, - type = WEAPON_WAND, - wandType = "death", - level = 37, - mana = 9, - damage = { 44, 62 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- blade of corruption - itemid = 11693, - type = WEAPON_SWORD, - level = 82, - unproperly = true, - }, - { - -- snake god's sceptre - itemid = 11692, - type = WEAPON_CLUB, - level = 82, - unproperly = true, - }, - { - -- twiceslicer - itemid = 11657, - type = WEAPON_SWORD, - level = 58, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Zaoan halberd - itemid = 10406, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- twin hooks - itemid = 10392, - type = WEAPON_SWORD, - level = 20, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- drachaku - itemid = 10391, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Zaoan sword - itemid = 10390, - type = WEAPON_SWORD, - level = 55, - unproperly = true, - }, - { - -- sai - itemid = 10389, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- drakinata - itemid = 10388, - type = WEAPON_AXE, - level = 60, - unproperly = true, - }, - { - -- incredible mumpiz slayer - itemid = 9396, - type = WEAPON_SWORD, - }, - { - -- poet's fencing quill - itemid = 9387, - type = WEAPON_SWORD, - }, - { - -- farmer's avenger - itemid = 9386, - type = WEAPON_AXE, - }, - { - -- club of the fury - itemid = 9385, - type = WEAPON_CLUB, - }, - { - -- scythe of the reaper - itemid = 9384, - type = WEAPON_AXE, - }, - { - -- musician's bow - itemid = 9378, - type = WEAPON_DISTANCE, - }, - { - -- stale bread of ancientness - itemid = 9376, - type = WEAPON_CLUB, - }, - { - -- pointed rabbitslayer - itemid = 9375, - type = WEAPON_SWORD, - }, - { - -- glutton's mace - itemid = 9373, - type = WEAPON_CLUB, - }, - { - -- the calamity - itemid = 8104, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- the epiphany - itemid = 8103, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - }, - { - -- emerald sword - itemid = 8102, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - }, - { - -- the stomper - itemid = 8101, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- obsidian truncheon - itemid = 8100, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - }, - { - -- dark trinity mace - itemid = 8099, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - }, - { - -- demonwing axe - itemid = 8098, - type = WEAPON_AXE, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- solar axe - itemid = 8097, - type = WEAPON_AXE, - level = 130, - unproperly = true, - }, - { - -- hellforged axe - itemid = 8096, - type = WEAPON_AXE, - level = 110, - unproperly = true, - }, - { - -- wand of voodoo - itemid = 8094, - type = WEAPON_WAND, - wandType = "death", - level = 42, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of draconia - itemid = 8093, - type = WEAPON_WAND, - wandType = "fire", - level = 22, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of starmstorm - itemid = 8092, - type = WEAPON_WAND, - wandType = "energy", - level = 37, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- springsprout rod - itemid = 8084, - type = WEAPON_WAND, - wandType = "earth", - level = 37, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- northwind rod - itemid = 8083, - type = WEAPON_WAND, - wandType = "ice", - level = 22, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- underworld rod - itemid = 8082, - type = WEAPON_WAND, - wandType = "death", - level = 42, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- elethriel's elemental bow - itemid = 8030, - type = WEAPON_DISTANCE, - level = 70, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- silkweaver bow - itemid = 8029, - type = WEAPON_DISTANCE, - level = 40, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- yol's bow - itemid = 8028, - type = WEAPON_DISTANCE, - level = 60, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- composite hornbow - itemid = 8027, - type = WEAPON_DISTANCE, - level = 50, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- warsinger bow - itemid = 8026, - type = WEAPON_DISTANCE, - level = 80, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ironworker - itemid = 8025, - type = WEAPON_DISTANCE, - level = 80, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- devileye - itemid = 8024, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- royal crossbow - itemid = 8023, - type = WEAPON_DISTANCE, - level = 130, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- chain bolter - itemid = 8022, - type = WEAPON_DISTANCE, - level = 60, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- modified crossbow - itemid = 8021, - type = WEAPON_DISTANCE, - level = 45, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- jagged sword - itemid = 7774, - type = WEAPON_SWORD, - }, - { - -- steel axe - itemid = 7773, - type = WEAPON_AXE, - }, - { - -- crimson sword - itemid = 860, - type = WEAPON_SWORD, - }, - { - -- energy war hammer - itemid = 810, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy orcish maul - itemid = 809, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- energy cranial basher - itemid = 808, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- energy crystal mace - itemid = 807, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- energy clerical mace - itemid = 806, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- energy war axe - itemid = 805, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy headchopper - itemid = 804, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy heroic axe - itemid = 803, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- energy knight axe - itemid = 802, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- energy barbarian axe - itemid = 801, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- energy dragon slayer - itemid = 798, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy blacksteel sword - itemid = 797, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy mystic blade - itemid = 796, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- energy relic sword - itemid = 795, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- energy spike sword - itemid = 794, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- earth war hammer - itemid = 793, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth orcish maul - itemid = 792, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- earth cranial basher - itemid = 791, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- earth crystal mace - itemid = 790, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- earth clerical mace - itemid = 789, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- earth war axe - itemid = 788, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth headchopper - itemid = 787, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth heroic axe - itemid = 786, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- earth knight axe - itemid = 785, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- earth barbarian axe - itemid = 784, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- earth dragon slayer - itemid = 783, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth blacksteel sword - itemid = 782, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth mystic blade - itemid = 781, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- earth relic sword - itemid = 780, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- earth spike sword - itemid = 779, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- earth arrow - itemid = 774, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- flaming arrow - itemid = 763, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- shiver arrow - itemid = 762, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- flash arrow - itemid = 761, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- icy war hammer - itemid = 693, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy orcish maul - itemid = 692, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- icy cranial basher - itemid = 691, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- icy crystal mace - itemid = 690, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- icy clerical mace - itemid = 689, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- icy war axe - itemid = 688, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy headchopper - itemid = 687, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy heroic axe - itemid = 686, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- icy knight axe - itemid = 685, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- icy barbarian axe - itemid = 684, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- icy dragon slayer - itemid = 683, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy blacksteel sword - itemid = 682, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy mystic blade - itemid = 681, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- icy relic sword - itemid = 680, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- icy spike sword - itemid = 679, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- fiery war hammer - itemid = 674, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery orcish maul - itemid = 673, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- fiery cranial basher - itemid = 672, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- fiery crystal mace - itemid = 671, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- fiery clerical mace - itemid = 670, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- fiery war axe - itemid = 669, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery headchopper - itemid = 668, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery heroic axe - itemid = 667, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- fiery knight axe - itemid = 666, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- fiery barbarian axe - itemid = 665, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- fiery dragon slayer - itemid = 664, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery blacksteel sword - itemid = 663, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery mystic blade - itemid = 662, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- fiery relic sword - itemid = 661, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- fiery spike sword - itemid = 660, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- noble axe - itemid = 7456, - type = WEAPON_AXE, - level = 35, - unproperly = true, - }, - { - -- mythril axe - itemid = 7455, - type = WEAPON_AXE, - level = 80, - unproperly = true, - }, - { - -- glorious axe - itemid = 7454, - type = WEAPON_AXE, - level = 30, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- executioner - itemid = 7453, - type = WEAPON_AXE, - level = 85, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spiked squelcher - itemid = 7452, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- shadow sceptre - itemid = 7451, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - }, - { - -- hammer of prophecy - itemid = 7450, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crystal sword - itemid = 7449, - type = WEAPON_SWORD, - level = 25, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- elvish bow - itemid = 7438, - type = WEAPON_DISTANCE, - }, - { - -- sapphire hammer - itemid = 7437, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- angelic axe - itemid = 7436, - type = WEAPON_AXE, - level = 45, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- impaler - itemid = 7435, - type = WEAPON_AXE, - level = 85, - unproperly = true, - }, - { - -- royal axe - itemid = 7434, - type = WEAPON_AXE, - level = 75, - unproperly = true, - }, - { - -- ravenwing - itemid = 7433, - type = WEAPON_AXE, - level = 65, - unproperly = true, - }, - { - -- furry club - itemid = 7432, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- demonbone - itemid = 7431, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- dragonbone staff - itemid = 7430, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- blessed sceptre - itemid = 7429, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - }, - { - -- bonebreaker - itemid = 7428, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chaos mace - itemid = 7427, - type = WEAPON_CLUB, - level = 45, - unproperly = true, - }, - { - -- amber staff - itemid = 7426, - type = WEAPON_CLUB, - level = 40, - unproperly = true, - }, - { - -- taurus mace - itemid = 7425, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- lunar staff - itemid = 7424, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- skullcrusher - itemid = 7423, - type = WEAPON_CLUB, - level = 85, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- jade hammer - itemid = 7422, - type = WEAPON_CLUB, - level = 70, - unproperly = true, - }, - { - -- onyx flail - itemid = 7421, - type = WEAPON_CLUB, - level = 65, - unproperly = true, - }, - { - -- reaper's axe - itemid = 7420, - type = WEAPON_AXE, - level = 70, - unproperly = true, - }, - { - -- dreaded cleaver - itemid = 7419, - type = WEAPON_AXE, - level = 40, - unproperly = true, - }, - { - -- nightmare blade - itemid = 7418, - type = WEAPON_SWORD, - level = 70, - unproperly = true, - }, - { - -- runed sword - itemid = 7417, - type = WEAPON_SWORD, - level = 65, - unproperly = true, - }, - { - -- bloody edge - itemid = 7416, - type = WEAPON_SWORD, - level = 55, - unproperly = true, - }, - { - -- cranial basher - itemid = 7415, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - }, - { - -- abyss hammer - itemid = 7414, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- titan axe - itemid = 7413, - type = WEAPON_AXE, - level = 40, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- butcher's axe - itemid = 7412, - type = WEAPON_AXE, - level = 45, - unproperly = true, - }, - { - -- ornamented axe - itemid = 7411, - type = WEAPON_AXE, - level = 50, - unproperly = true, - }, - { - -- queen's sceptre - itemid = 7410, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - }, - { - -- northern star - itemid = 7409, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - }, - { - -- wyvern fang - itemid = 7408, - type = WEAPON_SWORD, - level = 25, - unproperly = true, - }, - { - -- haunted blade - itemid = 7407, - type = WEAPON_SWORD, - level = 30, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blacksteel sword - itemid = 7406, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- havoc blade - itemid = 7405, - type = WEAPON_SWORD, - level = 70, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- assassin dagger - itemid = 7404, - type = WEAPON_SWORD, - level = 40, - unproperly = true, - }, - { - -- berserker - itemid = 7403, - type = WEAPON_SWORD, - level = 65, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- dragon slayer - itemid = 7402, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- orcish maul - itemid = 7392, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - }, - { - -- thaian sword - itemid = 7391, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- the justice seeker - itemid = 7390, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - }, - { - -- heroic axe - itemid = 7389, - type = WEAPON_AXE, - level = 60, - unproperly = true, - }, - { - -- vile axe - itemid = 7388, - type = WEAPON_AXE, - level = 55, - unproperly = true, - }, - { - -- diamond sceptre - itemid = 7387, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- mercenary sword - itemid = 7386, - type = WEAPON_SWORD, - level = 40, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crimson sword - itemid = 7385, - type = WEAPON_SWORD, - level = 20, - unproperly = true, - }, - { - -- mystic blade - itemid = 7384, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - }, - { - -- relic sword - itemid = 7383, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - }, - { - -- demonrage sword - itemid = 7382, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mammoth whopper - itemid = 7381, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- headchopper - itemid = 7380, - type = WEAPON_AXE, - level = 35, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- brutetamer's staff - itemid = 7379, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- royal spear - itemid = 7378, - type = WEAPON_DISTANCE, - level = 25, - unproperly = true, - breakchance = 3, - }, - { - -- assassin star - itemid = 7368, - type = WEAPON_DISTANCE, - level = 80, - unproperly = true, - breakchance = 33, - }, - { - -- enchanted spear - itemid = 7367, - type = WEAPON_DISTANCE, - level = 42, - unproperly = true, - breakchance = 1, - }, - { - -- onyx arrow - itemid = 7365, - type = WEAPON_AMMO, - level = 40, - unproperly = true, - action = "removecount", - }, - { - -- sniper arrow - itemid = 7364, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- piercing bolt - itemid = 7363, - type = WEAPON_AMMO, - level = 30, - unproperly = true, - action = "removecount", - }, - { - -- ruthless axe - itemid = 6553, - type = WEAPON_AXE, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- infernal bolt - itemid = 6528, - type = WEAPON_AMMO, - level = 110, - unproperly = true, - action = "removecount", - }, - { - -- the avenger - itemid = 6527, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Ron the Ripper's sabre - itemid = 6101, - type = WEAPON_SWORD, - }, - { - -- arbalest - itemid = 5803, - type = WEAPON_DISTANCE, - level = 75, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- banana staff - itemid = 3348, - type = WEAPON_CLUB, - }, - { - -- hunting spear - itemid = 3347, - type = WEAPON_DISTANCE, - level = 20, - unproperly = true, - breakchance = 6, - }, - { - -- ripper lance - itemid = 3346, - type = WEAPON_AXE, - }, - { - -- templar scytheblade - itemid = 3345, - type = WEAPON_SWORD, - }, - { - -- beastslayer axe - itemid = 3344, - type = WEAPON_AXE, - level = 30, - unproperly = true, - }, - { - -- lich staff - itemid = 3343, - type = WEAPON_CLUB, - level = 40, - unproperly = true, - }, - { - -- scythe - itemid = 3453, - type = WEAPON_CLUB, - }, - { - -- power bolt - itemid = 3450, - type = WEAPON_AMMO, - level = 55, - unproperly = true, - action = "removecount", - }, - { - -- arrow - itemid = 3447, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- bolt - itemid = 3446, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- bow - itemid = 3350, - type = WEAPON_DISTANCE, - }, - { - -- crossbow - itemid = 3349, - type = WEAPON_DISTANCE, - }, - { - -- war axe - itemid = 3342, - type = WEAPON_AXE, - level = 65, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- arcane staff - itemid = 3341, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - }, - { - -- heavy mace - itemid = 3340, - type = WEAPON_CLUB, - level = 70, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- djinn blade - itemid = 3339, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - }, - { - -- bone sword - itemid = 3338, - type = WEAPON_SWORD, - }, - { - -- bone club - itemid = 3337, - type = WEAPON_CLUB, - }, - { - -- studded club - itemid = 3336, - type = WEAPON_CLUB, - }, - { - -- twin axe - itemid = 3335, - type = WEAPON_AXE, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- pharaoh sword - itemid = 3334, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - }, - { - -- crystal mace - itemid = 3333, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - }, - { - -- hammer of wrath - itemid = 3332, - type = WEAPON_CLUB, - level = 65, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ravager's axe - itemid = 3331, - type = WEAPON_AXE, - level = 70, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- heavy machete - itemid = 3330, - type = WEAPON_SWORD, - }, - { - -- daramian axe - itemid = 3329, - type = WEAPON_AXE, - }, - { - -- daramian waraxe - itemid = 3328, - type = WEAPON_AXE, - level = 25, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- daramian mace - itemid = 3327, - type = WEAPON_CLUB, - }, - { - -- epee - itemid = 3326, - type = WEAPON_SWORD, - level = 30, - unproperly = true, - }, - { - -- light mace - itemid = 3325, - type = WEAPON_CLUB, - }, - { - -- skull staff - itemid = 3324, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- dwarven axe - itemid = 3323, - type = WEAPON_AXE, - level = 20, - unproperly = true, - }, - { - -- dragon hammer - itemid = 3322, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- enchanted staff - itemid = 3321, - type = WEAPON_CLUB, - }, - { - -- fire axe - itemid = 3320, - type = WEAPON_AXE, - level = 35, - unproperly = true, - }, - { - -- stonecutter axe - itemid = 3319, - type = WEAPON_AXE, - level = 90, - unproperly = true, - }, - { - -- knight axe - itemid = 3318, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- barbarian axe - itemid = 3317, - type = WEAPON_AXE, - level = 20, - unproperly = true, - }, - { - -- orcish axe - itemid = 3316, - type = WEAPON_AXE, - }, - { - -- guardian halberd - itemid = 3315, - type = WEAPON_AXE, - level = 55, - unproperly = true, - }, - { - -- naginata - itemid = 3314, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- obsidian lance - itemid = 3313, - type = WEAPON_AXE, - level = 20, - unproperly = true, - }, - { - -- silver mace - itemid = 3312, - type = WEAPON_CLUB, - level = 45, - unproperly = true, - }, - { - -- clerical mace - itemid = 3311, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- iron hammer - itemid = 3310, - type = WEAPON_CLUB, - }, - { - -- thunder hammer - itemid = 3309, - type = WEAPON_CLUB, - level = 85, - unproperly = true, - }, - { - -- machete - itemid = 3308, - type = WEAPON_SWORD, - }, - { - -- scimitar - itemid = 3307, - type = WEAPON_SWORD, - }, - { - -- golden sickle - itemid = 3306, - type = WEAPON_AXE, - }, - { - -- battle hammer - itemid = 3305, - type = WEAPON_CLUB, - }, - { - -- crowbar - itemid = 3304, - type = WEAPON_CLUB, - }, - { - -- great axe - itemid = 3303, - type = WEAPON_AXE, - level = 95, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- dragon lance - itemid = 3302, - type = WEAPON_AXE, - level = 60, - unproperly = true, - }, - { - -- broadsword - itemid = 3301, - type = WEAPON_SWORD, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- katana - itemid = 3300, - type = WEAPON_SWORD, - }, - { - -- poison dagger - itemid = 3299, - type = WEAPON_SWORD, - }, - { - -- throwing knife - itemid = 3298, - type = WEAPON_DISTANCE, - breakchance = 7, - }, - { - -- serpent sword - itemid = 3297, - type = WEAPON_SWORD, - }, - { - -- warlord sword - itemid = 3296, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- bright sword - itemid = 3295, - type = WEAPON_SWORD, - level = 30, - unproperly = true, - }, - { - -- short sword - itemid = 3294, - type = WEAPON_SWORD, - }, - { - -- sickle - itemid = 3293, - type = WEAPON_AXE, - }, - { - -- combat knife - itemid = 3292, - type = WEAPON_SWORD, - }, - { - -- knife - itemid = 3291, - type = WEAPON_SWORD, - }, - { - -- silver dagger - itemid = 3290, - type = WEAPON_SWORD, - }, - { - -- staff - itemid = 3289, - type = WEAPON_CLUB, - }, - { - -- magic sword - itemid = 3288, - type = WEAPON_SWORD, - level = 80, - unproperly = true, - }, - { - -- throwing star - itemid = 3287, - type = WEAPON_DISTANCE, - breakchance = 10, - }, - { - -- mace - itemid = 3286, - type = WEAPON_CLUB, - }, - { - -- longsword - itemid = 3285, - type = WEAPON_SWORD, - }, - { - -- ice rapier - itemid = 3284, - type = WEAPON_SWORD, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- carlin sword - itemid = 3283, - type = WEAPON_SWORD, - }, - { - -- morning star - itemid = 3282, - type = WEAPON_CLUB, - }, - { - -- giant sword - itemid = 3281, - type = WEAPON_SWORD, - level = 55, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fire sword - itemid = 3280, - type = WEAPON_SWORD, - level = 30, - unproperly = true, - }, - { - -- war hammer - itemid = 3279, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- magic longsword - itemid = 3278, - type = WEAPON_SWORD, - level = 140, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spear - itemid = 3277, - type = WEAPON_DISTANCE, - breakchance = 3, - }, - { - -- hatchet - itemid = 3276, - type = WEAPON_AXE, - }, - { - -- double axe - itemid = 3275, - type = WEAPON_AXE, - level = 25, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe - itemid = 3274, - type = WEAPON_AXE, - }, - { - -- sabre - itemid = 3273, - type = WEAPON_SWORD, - }, - { - -- rapier - itemid = 3272, - type = WEAPON_SWORD, - }, - { - -- spike sword - itemid = 3271, - type = WEAPON_SWORD, - }, - { - -- club - itemid = 3270, - type = WEAPON_CLUB, - }, - { - -- halberd - itemid = 3269, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- hand axe - itemid = 3268, - type = WEAPON_AXE, - }, - { - -- dagger - itemid = 3267, - type = WEAPON_SWORD, - }, - { - -- battle axe - itemid = 3266, - type = WEAPON_AXE, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- two handed sword - itemid = 3265, - type = WEAPON_SWORD, - level = 20, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sword - itemid = 3264, - type = WEAPON_SWORD, - }, - { - -- giant smithhammer - itemid = 12510, - type = WEAPON_CLUB, - }, - { - -- wand of dragonbreath - itemid = 3075, - type = WEAPON_WAND, - wandType = "fire", - level = 13, - mana = 3, - damage = { 13, 25 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of vortex - itemid = 3074, - type = WEAPON_WAND, - wandType = "energy", - level = 6, - mana = 1, - damage = { 8, 18 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of cosmic energy - itemid = 3073, - type = WEAPON_WAND, - wandType = "energy", - level = 26, - mana = 8, - damage = { 37, 53 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of decay - itemid = 3072, - type = WEAPON_WAND, - wandType = "death", - level = 19, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of inferno - itemid = 3071, - type = WEAPON_WAND, - wandType = "fire", - level = 33, - mana = 8, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- moonlight rod - itemid = 3070, - type = WEAPON_WAND, - wandType = "ice", - level = 13, - mana = 3, - damage = { 13, 25 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- necrotic rod - itemid = 3069, - type = WEAPON_WAND, - wandType = "death", - level = 19, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- hailstorm rod - itemid = 3067, - type = WEAPON_WAND, - wandType = "ice", - level = 33, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- snakebit rod - itemid = 3066, - type = WEAPON_WAND, - wandType = "earth", - level = 6, - mana = 2, - damage = { 8, 18 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- terra rod - itemid = 3065, - type = WEAPON_WAND, - wandType = "earth", - level = 26, - mana = 8, - damage = { 37, 53 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- snowball - itemid = 2992, - type = WEAPON_DISTANCE, - action = "removecount", - }, - { - -- small stone - itemid = 1781, - type = WEAPON_DISTANCE, - breakchance = 3, - }, -} - -for _, w in ipairs(weapons) do - local weapon = Weapon(w.type) - weapon:id(w.itemid) - - if w.action then - weapon:action(w.action) - end - if w.breakchance then - weapon:breakChance(w.breakchance) - end - if w.level then - weapon:level(w.level) - end - if w.mana then - weapon:mana(w.mana) - end - if w.unproperly then - weapon:wieldUnproperly(w.unproperly) - end - if w.damage then - weapon:damage(w.damage[1], w.damage[2]) - end - if w.wandType then - weapon:element(w.wandType) - end - if w.vocation then - for _, v in ipairs(w.vocation) do - weapon:vocation(v[1], v[2] or false, v[3] or false) - end - end - - weapon:register() -end diff --git a/data-otservbr-global/scripts/movements/equipment/unscripted_equipments.lua b/data-otservbr-global/scripts/movements/equipment/unscripted_equipments.lua deleted file mode 100644 index 83b78dce5bf..00000000000 --- a/data-otservbr-global/scripts/movements/equipment/unscripted_equipments.lua +++ /dev/null @@ -1,20059 +0,0 @@ -local items = { - { - -- sanguine galoshes - itemid = 43887, - type = "equip", - slot = "feet", - level = 500, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- sanguine galoshes - itemid = 43887, - type = "deequip", - slot = "feet", - level = 500, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- grand sanguine rod - itemid = 43886, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- grand sanguine rod - itemid = 43886, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- sanguine rod - itemid = 43885, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- sanguine rod - itemid = 43885, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- sanguine boots - itemid = 43884, - type = "equip", - slot = "feet", - level = 500, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- sanguine boots - itemid = 43884, - type = "deequip", - slot = "feet", - level = 500, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- grand sanguine coil - itemid = 43883, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- grand sanguine coil - itemid = 43883, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- sanguine coil - itemid = 43882, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- sanguine coil - itemid = 43882, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- sanguine Greaves - itemid = 43881, - type = "equip", - slot = "legs", - level = 500, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine Greaves - itemid = 43881, - type = "deequip", - slot = "legs", - level = 500, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- grand sanguine crossbow - itemid = 43880, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- grand sanguine crossbow - itemid = 43880, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine crossbow - itemid = 43879, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine crossbow - itemid = 43879, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- grand sanguine bow - itemid = 43878, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- grand sanguine bow - itemid = 43878, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine bow - itemid = 43877, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine bow - itemid = 43877, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine legs - itemid = 43876, - type = "equip", - slot = "legs", - level = 500, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine legs - itemid = 43876, - type = "deequip", - slot = "legs", - level = 500, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine battleaxe - itemid = 43875, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine battleaxe - itemid = 43875, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine battleaxe - itemid = 43874, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine battleaxe - itemid = 43874, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine bludgeon - itemid = 43873, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine bludgeon - itemid = 43873, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine bludgeon - itemid = 43872, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine bludgeon - itemid = 43872, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine razor - itemid = 43871, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine razor - itemid = 43871, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine razor - itemid = 43870, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine razor - itemid = 43870, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine hatchet - itemid = 43869, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine hatchet - itemid = 43869, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine hatchet - itemid = 43868, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine hatchet - itemid = 43868, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine cudgel - itemid = 43867, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine cudgel - itemid = 43867, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine cudgel - itemid = 43866, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine cudgel - itemid = 43866, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine blade - itemid = 43865, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine blade - itemid = 43865, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine blade - itemid = 43864, - type = "equip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine blade - itemid = 43864, - type = "deequip", - slot = "hand", - level = 600, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mutant bone kilt - itemid = 40595, - type = "equip", - slot = "legs", - level = 300, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- mutant bone kilt - itemid = 40595, - type = "deequip", - slot = "legs", - level = 300, - }, - { - -- alchemist's notepad - itemid = 40594, - type = "equip", - slot = "shield", - level = 250, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- alchemist's notepad - itemid = 40594, - type = "deequip", - slot = "shield", - level = 250, - }, - { - -- mutant bone boots - itemid = 40593, - type = "equip", - slot = "feet", - level = 250, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- mutant bone boots - itemid = 40593, - type = "deequip", - slot = "feet", - level = 250, - }, - { - -- alchemist's boots - itemid = 40592, - type = "equip", - slot = "feet", - level = 250, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- alchemist's boots - itemid = 40592, - type = "deequip", - slot = "feet", - level = 250, - }, - { - -- mutated skin armor - itemid = 40591, - type = "equip", - slot = "armor", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- mutated skin armor - itemid = 40591, - type = "deequip", - slot = "armor", - level = 270, - }, - { - -- Mutated Skin Legs - itemid = 40590, - type = "equip", - slot = "legs", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- Mutated Skin Legs - itemid = 40590, - type = "deequip", - slot = "legs", - level = 270, - }, - { - -- Stitched Mutant Hide Legs - itemid = 40589, - type = "equip", - slot = "legs", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Stitched Mutant Hide Legs - itemid = 40589, - type = "deequip", - slot = "legs", - level = 270, - }, - { - -- Antler-Horn Helmet - itemid = 40588, - type = "equip", - slot = "head", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Antler-Horn Helmet - itemid = 40588, - type = "deequip", - slot = "head", - level = 250, - }, - { - -- broken iks cuirass - itemid = 40533, - type = "equip", - slot = "armor", - }, - { - -- broken iks cuirass - itemid = 40533, - type = "deequip", - slot = "armor", - }, - { - -- broken iks faulds - itemid = 40531, - type = "equip", - slot = "legs", - }, - { - -- broken iks faulds - itemid = 40531, - type = "deequip", - slot = "legs", - }, - { - -- broken iks sandals - itemid = 40534, - type = "equip", - slot = "feet", - }, - { - -- broken iks sandals - itemid = 40534, - type = "deequip", - slot = "feet", - }, - { - -- broken macuahuitl - itemid = 40530, - type = "equip", - slot = "hand", - }, - { - -- broken macuahuitl - itemid = 40530, - type = "deequip", - slot = "hand", - }, - { - -- 25 years backpack - itemid = 39693, - type = "equip", - slot = "backpack", - }, - { - -- 25 years backpack - itemid = 39693, - type = "deequip", - slot = "backpack", - }, - { - -- turtle amulet - itemid = 39235, - type = "equip", - slot = "necklace", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- turtle amulet - itemid = 39235, - type = "deequip", - slot = "necklace", - }, - { - -- enchanted turtle amulet - itemid = 39234, - type = "equip", - slot = "necklace", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted turtle amulet - itemid = 39234, - type = "deequip", - slot = "necklace", - }, - { - -- enchanted turtle amulet - itemid = 39233, - type = "equip", - slot = "necklace", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted turtle amulet - itemid = 39233, - type = "deequip", - slot = "necklace", - }, - { - -- arboreal ring - itemid = 39188, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- arboreal ring - itemid = 39188, - type = "deequip", - slot = "ring", - }, - { - -- charged arboreal ring - itemid = 39187, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- charged arboreal ring - itemid = 39187, - type = "deequip", - slot = "ring", - }, - { - -- charged arboreal ring - itemid = 39186, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- charged arboreal ring - itemid = 39186, - type = "deequip", - slot = "ring", - }, - { - -- arcanomancer sigil - itemid = 39185, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- arcanomancer sigil - itemid = 39185, - type = "deequip", - slot = "ring", - }, - { - -- charged arcanomancer sigil - itemid = 39184, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- charged arcanomancer sigil - itemid = 39184, - type = "deequip", - slot = "ring", - }, - { - -- charged arcanomancer sigil - itemid = 39183, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- charged arcanomancer sigil - itemid = 39183, - type = "deequip", - slot = "ring", - }, - { - -- alicorn ring - itemid = 39182, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- alicorn ring - itemid = 39182, - type = "deequip", - slot = "ring", - }, - { - -- charged alicorn ring - itemid = 39181, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- charged alicorn ring - itemid = 39181, - type = "deequip", - slot = "ring", - }, - { - -- charged alicorn ring - itemid = 39180, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- charged alicorn ring - itemid = 39180, - type = "deequip", - slot = "ring", - }, - { - -- spiritthorn ring - itemid = 39179, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spiritthorn ring - itemid = 39179, - type = "deequip", - slot = "ring", - }, - { - -- charged spiritthorn ring - itemid = 39178, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- charged spiritthorn ring - itemid = 39178, - type = "deequip", - slot = "ring", - }, - { - -- charged spiritthorn ring - itemid = 39177, - type = "equip", - slot = "ring", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- charged spiritthorn ring - itemid = 39177, - type = "deequip", - slot = "ring", - }, - { - -- midnight sarong - itemid = 39167, - type = "equip", - slot = "legs", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- midnight sarong - itemid = 39167, - type = "deequip", - slot = "legs", - }, - { - -- dawnfire pantaloons - itemid = 39166, - type = "equip", - slot = "legs", - level = 300, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- dawnfire pantaloons - itemid = 39166, - type = "deequip", - slot = "legs", - }, - { - -- midnight tunic - itemid = 39165, - type = "equip", - slot = "armor", - level = 300, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- midnight tunic - itemid = 39165, - type = "deequip", - slot = "armor", - }, - { - -- dawnfire sherwani - itemid = 39164, - type = "equip", - slot = "armor", - level = 270, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- dawnfire sherwani - itemid = 39164, - type = "deequip", - slot = "armor", - }, - { - -- naga rod - itemid = 39163, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- naga rod - itemid = 39163, - type = "deequip", - slot = "hand", - }, - { - -- naga wand - itemid = 39162, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- naga wand - itemid = 39162, - type = "deequip", - slot = "hand", - }, - { - -- feverbloom boots - itemid = 39161, - type = "equip", - slot = "feet", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- feverbloom boots - itemid = 39161, - type = "deequip", - slot = "feet", - }, - { - -- naga quiver - itemid = 39160, - type = "equip", - slot = "right-hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- naga quiver - itemid = 39160, - type = "deequip", - slot = "right-hand", - }, - { - -- naga crossbow - itemid = 39159, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- naga crossbow - itemid = 39159, - type = "deequip", - slot = "hand", - }, - { - -- frostflower boots - itemid = 39158, - type = "equip", - slot = "feet", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostflower boots - itemid = 39158, - type = "deequip", - slot = "feet", - }, - { - -- naga club - itemid = 39157, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga club - itemid = 39157, - type = "deequip", - slot = "hand", - }, - { - -- naga axe - itemid = 39156, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga axe - itemid = 39156, - type = "deequip", - slot = "hand", - }, - { - -- naga sword - itemid = 39155, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga sword - itemid = 39155, - type = "deequip", - slot = "hand", - }, - { - -- arboreal tome - itemid = 39154, - type = "equip", - slot = "shield", - level = 400, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- arboreal tome - itemid = 39154, - type = "deequip", - slot = "shield", - }, - { - -- arboreal crown - itemid = 39153, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- arboreal crown - itemid = 39153, - type = "deequip", - slot = "head", - }, - { - -- arcanomancer folio - itemid = 39152, - type = "equip", - slot = "shield", - level = 400, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- arcanomancer folio - itemid = 39152, - type = "deequip", - slot = "shield", - }, - { - -- arcanomancer regalia - itemid = 39151, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- arcanomancer regalia - itemid = 39151, - type = "deequip", - slot = "head", - }, - { - -- alicorn quiver - itemid = 39150, - type = "equip", - slot = "right-hand", - level = 400, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- alicorn quiver - itemid = 39150, - type = "deequip", - slot = "right-hand", - }, - { - -- alicorn headguard - itemid = 39149, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- alicorn headguard - itemid = 39149, - type = "deequip", - slot = "head", - }, - { - -- spiritthorn helmet - itemid = 39148, - type = "equip", - slot = "head", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spiritthorn helmet - itemid = 39148, - type = "deequip", - slot = "head", - }, - { - -- spiritthorn armor - itemid = 39147, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Knight", true, true }, - { "Elite Knight" }, - }, - }, - { - -- spiritthorn armor - itemid = 39147, - type = "deequip", - slot = "armor", - }, - { - -- green demon slippers - itemid = 37610, - type = "equip", - slot = "feet", - }, - { - -- green demon slippers - itemid = 37610, - type = "deequip", - slot = "feet", - }, - { - -- Morshabaal's mask - itemid = 37611, - type = "equip", - slot = "shield", - level = 150, - }, - { - -- Morshabaal's mask - itemid = 37611, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- green demon helmet - itemid = 37609, - type = "equip", - slot = "head", - }, - { - -- green demon helmet - itemid = 37609, - type = "deequip", - slot = "head", - }, - { - -- green demon armor - itemid = 37608, - type = "equip", - slot = "armor", - }, - { - -- green demon armor - itemid = 37608, - type = "deequip", - slot = "armor", - }, - { - -- green demon legs - itemid = 37607, - type = "equip", - slot = "legs", - }, - { - -- green demon legs - itemid = 37607, - type = "deequip", - slot = "legs", - }, - { - -- changing backpack - itemid = 37536, - type = "equip", - slot = "backpack", - }, - { - -- changing backpack - itemid = 37536, - type = "deequip", - slot = "backpack", - }, - { - -- gilded eldritch rod - itemid = 36675, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- gilded eldritch rod - itemid = 36675, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch rod - itemid = 36674, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch rod - itemid = 36674, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch tome - itemid = 36673, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch tome - itemid = 36673, - type = "deequip", - slot = "shield", - level = 300, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch folio - itemid = 36672, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch folio - itemid = 36672, - type = "deequip", - slot = "shield", - level = 300, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch hood - itemid = 36671, - type = "equip", - slot = "head", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch hood - itemid = 36671, - type = "deequip", - slot = "head", - level = 250, - vocation = { - { "Druid", true, true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch cowl - itemid = 36670, - type = "equip", - slot = "head", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch cowl - itemid = 36670, - type = "deequip", - slot = "head", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- gilded eldritch wand - itemid = 36669, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- gilded eldritch wand - itemid = 36669, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch wand - itemid = 36668, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch wand - itemid = 36668, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Sorcerer", true, true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch breeches - itemid = 36667, - type = "equip", - slot = "legs", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch breeches - itemid = 36667, - type = "deequip", - slot = "legs", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch quiver - itemid = 36666, - type = "equip", - slot = "right-hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch quiver - itemid = 36666, - type = "deequip", - slot = "right-hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- gilded eldritch bow - itemid = 36665, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- gilded eldritch bow - itemid = 36665, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch bow - itemid = 36664, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch bow - itemid = 36664, - type = "deequip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch cuirass - itemid = 36663, - type = "equip", - slot = "armor", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch cuirass - itemid = 36663, - type = "deequip", - slot = "armor", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch greataxe - itemid = 36662, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch greataxe - itemid = 36662, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch greataxe - itemid = 36661, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch greataxe - itemid = 36661, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch warmace - itemid = 36660, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch warmace - itemid = 36660, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch warmace - itemid = 36659, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch warmace - itemid = 36659, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch claymore - itemid = 36658, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch claymore - itemid = 36658, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch claymore - itemid = 36657, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch claymore - itemid = 36657, - type = "deequip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch shield - itemid = 36656, - type = "equip", - slot = "shield", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch shield - itemid = 36656, - type = "deequip", - slot = "shield", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spectral bolt (no decay) - itemid = 35902, - type = "equip", - slot = "ammo", - }, - { - -- spectral bolt (no decay) - itemid = 35902, - type = "deequip", - slot = "ammo", - }, - { - -- red quiver - itemid = 35849, - type = "equip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- red quiver - itemid = 35849, - type = "deequip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- blue quiver - itemid = 35848, - type = "equip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- blue quiver - itemid = 35848, - type = "deequip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- quiver - itemid = 35562, - type = "equip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- quiver - itemid = 35562, - type = "deequip", - slot = "right-hand", - vocation = { - { "None", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- jungle quiver - itemid = 35524, - type = "equip", - slot = "right-hand", - level = 150, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- jungle quiver - itemid = 35524, - type = "deequip", - slot = "right-hand", - level = 150, - vocation = { - { "Paladin", true, true }, - { "Royal Paladin" }, - }, - }, - { - -- exotic amulet - itemid = 35523, - type = "equip", - slot = "necklace", - level = 180, - }, - { - -- exotic amulet - itemid = 35523, - type = "deequip", - slot = "necklace", - }, - { - -- jungle wand - itemid = 35522, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- jungle wand - itemid = 35522, - type = "deequip", - slot = "hand", - }, - { - -- jungle rod - itemid = 35521, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- jungle rod - itemid = 35521, - type = "deequip", - slot = "hand", - }, - { - -- make-do boots - itemid = 35520, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- make-do boots - itemid = 35520, - type = "deequip", - slot = "feet", - }, - { - -- makeshift boots - itemid = 35519, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- makeshift boots - itemid = 35519, - type = "deequip", - slot = "feet", - }, - { - -- jungle bow - itemid = 35518, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- jungle bow - itemid = 35518, - type = "deequip", - slot = "hand", - }, - { - -- bast legs - itemid = 35517, - type = "equip", - slot = "legs", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bast legs - itemid = 35517, - type = "deequip", - slot = "legs", - }, - { - -- exotic legs - itemid = 35516, - type = "equip", - slot = "legs", - level = 130, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- exotic legs - itemid = 35516, - type = "deequip", - slot = "legs", - }, - { - -- throwing axe - itemid = 35515, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- throwing axe - itemid = 35515, - type = "deequip", - slot = "hand", - }, - { - -- jungle flail - itemid = 35514, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- jungle flail - itemid = 35514, - type = "deequip", - slot = "hand", - }, - { - -- lion hammer - itemid = 34254, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion hammer - itemid = 34254, - type = "deequip", - slot = "hand", - }, - { - -- lion axe - itemid = 34253, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion axe - itemid = 34253, - type = "deequip", - slot = "hand", - }, - { - -- lion amulet - itemid = 34158, - type = "equip", - slot = "necklace", - level = 230, - }, - { - -- lion amulet - itemid = 34158, - type = "deequip", - slot = "necklace", - level = 230, - }, - { - -- lion plate - itemid = 34157, - type = "deequip", - slot = "armor", - level = 270, - }, - { - -- lion plate - itemid = 34157, - type = "equip", - slot = "armor", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion spangenhelm - itemid = 34156, - type = "deequip", - slot = "head", - }, - { - -- lion spangenhelm - itemid = 34156, - type = "equip", - slot = "head", - level = 230, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- lion longsword - itemid = 34155, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion longsword - itemid = 34155, - type = "deequip", - slot = "hand", - }, - { - -- lion shield - itemid = 34154, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion shield - itemid = 34154, - type = "deequip", - slot = "hand", - }, - { - -- lion spellbook - itemid = 34153, - type = "deequip", - slot = "shield", - level = 220, - }, - { - -- lion spellbook - itemid = 34153, - type = "equip", - slot = "shield", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lion wand - itemid = 34152, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- lion wand - itemid = 34152, - type = "deequip", - slot = "hand", - }, - { - -- lion rod - itemid = 34151, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- lion rod - itemid = 34151, - type = "deequip", - slot = "hand", - }, - { - -- lion longbow - itemid = 34150, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- lion longbow - itemid = 34150, - type = "deequip", - slot = "hand", - }, - { - -- soulbastion shield - itemid = 34099, - type = "deequip", - slot = "shield", - }, - { - -- soulbastion shield - itemid = 34099, - type = "equip", - slot = "shield", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- pair of soulstalkers - itemid = 34098, - type = "deequip", - slot = "feet", - }, - { - -- pair of soulstalkers - itemid = 34098, - type = "equip", - slot = "feet", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- pair of soulwalkers - itemid = 34097, - type = "deequip", - slot = "feet", - }, - { - -- pair of soulwalkers - itemid = 34097, - type = "equip", - slot = "feet", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulshroud armor - itemid = 34096, - type = "deequip", - slot = "armor", - }, - { - -- soulshroud armor - itemid = 34096, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soulmantle - itemid = 34095, - type = "deequip", - slot = "armor", - }, - { - -- soulmantle - itemid = 34095, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulshell armor - itemid = 34094, - type = "deequip", - slot = "armor", - level = 400, - }, - { - -- soulshell armor - itemid = 34094, - type = "equip", - slot = "armor", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulstrider legs - itemid = 34093, - type = "deequip", - slot = "legs", - level = 400, - }, - { - -- soulstrider legs - itemid = 34093, - type = "equip", - slot = "legs", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soulshanks legs - itemid = 34092, - type = "deequip", - slot = "legs", - level = 400, - }, - { - -- soulshanks legs - itemid = 34092, - type = "equip", - slot = "legs", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulhexer - itemid = 34091, - type = "deequip", - slot = "hand", - }, - { - -- soulhexer - itemid = 34091, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soultainter - itemid = 34090, - type = "deequip", - slot = "hand", - }, - { - -- soultainter - itemid = 34090, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulpiercer - itemid = 34089, - type = "deequip", - slot = "hand", - }, - { - -- soulpiercer - itemid = 34089, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulbleeder - itemid = 34088, - type = "deequip", - slot = "hand", - }, - { - -- soulbleeder - itemid = 34088, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulmaimer - itemid = 34087, - type = "deequip", - slot = "hand", - }, - { - -- soulmaimer - itemid = 34087, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcrusher - itemid = 34086, - type = "deequip", - slot = "hand", - }, - { - -- soulcrusher - itemid = 34086, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- souleater - itemid = 34085, - type = "deequip", - slot = "hand", - }, - { - -- souleater - itemid = 34085, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulbiter - itemid = 34084, - type = "deequip", - slot = "hand", - }, - { - -- soulbiter - itemid = 34084, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulshredder - itemid = 34083, - type = "deequip", - slot = "hand", - }, - { - -- soulshredder - itemid = 34083, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcutter - itemid = 34082, - type = "deequip", - slot = "hand", - }, - { - -- soulcutter - itemid = 34082, - type = "equip", - slot = "hand", - level = 400, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion ring - itemid = 34080, - type = "deequip", - slot = "ring", - }, - { - -- lion ring - itemid = 34080, - type = "equip", - slot = "ring", - }, - { - -- Lit Torch (Sparkling) - itemid = 34016, - type = "equip", - slot = "ammo", - }, - { - -- Lit Torch (Sparkling) - itemid = 34016, - type = "deequip", - slot = "ammo", - }, - { - -- pair of old bracers - itemid = 32705, - type = "equip", - slot = "armor", - }, - { - -- pair of old bracers - itemid = 32705, - type = "deequip", - slot = "armor", - }, - { - -- ring of souls - itemid = 32636, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- ring of souls - itemid = 32636, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- enchanted ring of souls - itemid = 32635, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- enchanted ring of souls - itemid = 32635, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- spooky hood - itemid = 32630, - type = "equip", - slot = "head", - }, - { - -- spooky hood - itemid = 32630, - type = "deequip", - slot = "head", - }, - { - -- ghost chestplate - itemid = 32628, - type = "equip", - slot = "armor", - level = 230, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ghost chestplate - itemid = 32628, - type = "deequip", - slot = "armor", - level = 230, - }, - { - -- enchanted ring of souls - itemid = 32621, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- enchanted ring of souls - itemid = 32621, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- ghost backpack - itemid = 32620, - type = "equip", - slot = "backpack", - }, - { - -- ghost backpack - itemid = 32620, - type = "deequip", - slot = "backpack", - }, - { - -- pair of nightmare boots - itemid = 32619, - type = "equip", - slot = "feet", - level = 140, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- pair of nightmare boots - itemid = 32619, - type = "deequip", - slot = "feet", - level = 140, - }, - { - -- soulful legs - itemid = 32618, - type = "equip", - slot = "legs", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- soulful legs - itemid = 32618, - type = "deequip", - slot = "legs", - level = 180, - }, - { - -- fabulous legs - itemid = 32617, - type = "equip", - slot = "legs", - level = 225, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- fabulous legs - itemid = 32617, - type = "deequip", - slot = "legs", - level = 225, - }, - { - -- phantasmal axe - itemid = 32616, - type = "equip", - slot = "hand", - level = 180, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- phantasmal axe - itemid = 32616, - type = "deequip", - slot = "hand", - }, - { - -- burial shroud - itemid = 32585, - type = "equip", - slot = "armor", - }, - { - -- burial shroud - itemid = 32585, - type = "deequip", - slot = "armor", - }, - { - -- Traditional Gamsbart Hat - itemid = 32100, - type = "equip", - slot = "head", - }, - { - -- Traditional Gamsbart Hat - itemid = 32100, - type = "deequip", - slot = "head", - }, - { - -- traditional shirt - itemid = 32099, - type = "equip", - slot = "armor", - }, - { - -- traditional shirt - itemid = 32099, - type = "deequip", - slot = "armor", - }, - { - -- lederhosen - itemid = 32097, - type = "equip", - slot = "legs", - }, - { - -- lederhosen - itemid = 32097, - type = "deequip", - slot = "legs", - }, - { - -- traditional leather shoes - itemid = 32098, - type = "equip", - slot = "feet", - }, - { - -- traditional leather shoes - itemid = 32098, - type = "deequip", - slot = "feet", - }, - { - -- meat hammer - itemid = 32093, - type = "equip", - slot = "hand", - }, - { - -- meat hammer - itemid = 32093, - type = "deequip", - slot = "hand", - }, - { - -- note about two souls - itemid = 31676, - type = "equip", - slot = "necklace", - }, - { - -- note about two souls - itemid = 31676, - type = "deequip", - slot = "necklace", - }, - { - -- the cobra amulet - itemid = 31631, - type = "equip", - slot = "necklace", - level = 250, - }, - { - -- the cobra amulet - itemid = 31631, - type = "deequip", - slot = "necklace", - level = 250, - }, - { - -- winged backpack - itemid = 31625, - type = "equip", - slot = "backpack", - }, - { - -- winged backpack - itemid = 31625, - type = "deequip", - slot = "backpack", - }, - { - -- blister ring - itemid = 31621, - type = "equip", - slot = "ring", - level = 220, - }, - { - -- blister ring - itemid = 31621, - type = "deequip", - slot = "ring", - level = 220, - }, - { - -- winged boots - itemid = 31617, - type = "equip", - slot = "feet", - level = 220, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- winged boots - itemid = 31617, - type = "deequip", - slot = "feet", - level = 220, - }, - { - -- enchanted blister ring - itemid = 31616, - type = "equip", - slot = "ring", - level = 220, - }, - { - -- enchanted blister ring - itemid = 31616, - type = "deequip", - slot = "ring", - level = 220, - }, - { - -- tagralt blade - itemid = 31614, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- tagralt blade - itemid = 31614, - type = "deequip", - slot = "hand", - }, - { - -- toga mortis - itemid = 31583, - type = "equip", - slot = "armor", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- toga mortis - itemid = 31583, - type = "deequip", - slot = "armor", - level = 220, - }, - { - -- galea mortis - itemid = 31582, - type = "equip", - slot = "head", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- galea mortis - itemid = 31582, - type = "deequip", - slot = "head", - level = 220, - }, - { - -- bow of cataclysm - itemid = 31581, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of cataclysm - itemid = 31581, - type = "deequip", - slot = "hand", - }, - { - -- mortal mace - itemid = 31580, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mortal mace - itemid = 31580, - type = "deequip", - slot = "hand", - }, - { - -- embrace of nature - itemid = 31579, - type = "equip", - slot = "armor", - level = 220, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- embrace of nature - itemid = 31579, - type = "deequip", - slot = "armor", - level = 220, - }, - { - -- bear skin - itemid = 31578, - type = "equip", - slot = "armor", - level = 230, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- bear skin - itemid = 31578, - type = "deequip", - slot = "armor", - level = 230, - }, - { - -- terra helmet - itemid = 31577, - type = "equip", - slot = "head", - level = 230, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- terra helmet - itemid = 31577, - type = "deequip", - slot = "head", - level = 230, - }, - { - -- enchanted blister ring - itemid = 31557, - type = "equip", - slot = "ring", - level = 220, - }, - { - -- enchanted blister ring - itemid = 31557, - type = "deequip", - slot = "ring", - level = 220, - }, - { - -- rainbow amulet - itemid = 31556, - type = "equip", - slot = "necklace", - level = 220, - }, - { - -- rainbow amulet - itemid = 31556, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- sphinx tiara - itemid = 31438, - type = "equip", - slot = "head", - }, - { - -- sphinx tiara - itemid = 31438, - type = "deequip", - slot = "head", - }, - { - -- gryphon mask - itemid = 31433, - type = "equip", - slot = "head", - }, - { - -- gryphon mask - itemid = 31433, - type = "deequip", - slot = "head", - }, - { - -- symbol of sun and sea - itemid = 31431, - type = "equip", - slot = "ring", - }, - { - -- symbol of sun and sea - itemid = 31431, - type = "deequip", - slot = "ring", - }, - { - -- silver mask - itemid = 31370, - type = "equip", - slot = "head", - }, - { - -- silver mask - itemid = 31370, - type = "deequip", - slot = "head", - }, - { - -- ring of secret thoughts - itemid = 31306, - type = "equip", - slot = "ring", - }, - { - -- ring of secret thoughts - itemid = 31306, - type = "deequip", - slot = "ring", - }, - { - -- jade amulet - itemid = 31268, - type = "equip", - slot = "necklace", - }, - { - -- jade amulet - itemid = 31268, - type = "deequip", - slot = "necklace", - }, - { - -- ring of secret thoughts - itemid = 31263, - type = "equip", - slot = "ring", - }, - { - -- ring of secret thoughts - itemid = 31263, - type = "deequip", - slot = "ring", - }, - { - -- enchanted theurgic amulet - itemid = 30403, - type = "equip", - slot = "necklace", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- enchanted theurgic amulet - itemid = 30403, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- enchanted theurgic amulet - itemid = 30402, - type = "equip", - slot = "necklace", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- enchanted theurgic amulet - itemid = 30402, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- amulet of theurgy - itemid = 30401, - type = "equip", - slot = "necklace", - level = 220, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- amulet of theurgy - itemid = 30401, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- cobra rod - itemid = 30400, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- cobra rod - itemid = 30400, - type = "deequip", - slot = "hand", - level = 220, - }, - { - -- cobra wand - itemid = 30399, - type = "equip", - slot = "hand", - level = 270, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- cobra wand - itemid = 30399, - type = "deequip", - slot = "hand", - level = 270, - }, - { - -- cobra sword - itemid = 30398, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra sword - itemid = 30398, - type = "deequip", - slot = "hand", - level = 220, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra hood - itemid = 30397, - type = "equip", - slot = "head", - level = 270, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra hood - itemid = 30397, - type = "deequip", - slot = "head", - level = 270, - }, - { - -- cobra axe - itemid = 30396, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra axe - itemid = 30396, - type = "deequip", - slot = "hand", - }, - { - -- cobra club - itemid = 30395, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra club - itemid = 30395, - type = "deequip", - slot = "hand", - }, - { - -- cobra boots - itemid = 30394, - type = "equip", - slot = "feet", - level = 220, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra boots - itemid = 30394, - type = "deequip", - slot = "feet", - level = 220, - }, - { - -- cobra crossbow - itemid = 30393, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- cobra crossbow - itemid = 30393, - type = "deequip", - slot = "hand", - }, - { - -- rainbow necklace - itemid = 30323, - type = "equip", - slot = "necklace", - level = 220, - }, - { - -- rainbow necklace - itemid = 30323, - type = "deequip", - slot = "necklace", - level = 220, - }, - { - -- ice hatchet - itemid = 30283, - type = "equip", - slot = "hand", - }, - { - -- ice hatchet - itemid = 30283, - type = "deequip", - slot = "hand", - }, - { - -- frozen claw - itemid = 30279, - type = "equip", - slot = "ring", - }, - { - -- frozen claw - itemid = 30279, - type = "deequip", - slot = "ring", - }, - { - -- the crown of the percht queen - itemid = 30276, - type = "equip", - slot = "head", - }, - { - -- the crown of the percht queen - itemid = 30276, - type = "deequip", - slot = "head", - }, - { - -- the crown of the percht queen - itemid = 30275, - type = "equip", - slot = "head", - }, - { - -- the crown of the percht queen - itemid = 30275, - type = "deequip", - slot = "head", - }, - { - -- festive backpack - itemid = 30197, - type = "equip", - slot = "backpack", - }, - { - -- festive backpack - itemid = 30197, - type = "deequip", - slot = "backpack", - }, - { - -- yetislippers - itemid = 30196, - type = "equip", - slot = "feet", - }, - { - -- yetislippers - itemid = 30196, - type = "deequip", - slot = "feet", - }, - { - -- enchanted pendulet - itemid = 30345, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted pendulet - itemid = 30345, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- enchanted pendulet - itemid = 30344, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted pendulet - itemid = 30344, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- enchanted sleep shawl - itemid = 30343, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted sleep shawl - itemid = 30343, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- enchanted sleep shawl - itemid = 30342, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted sleep shawl - itemid = 30342, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- shield of endless search - itemid = 30181, - type = "equip", - slot = "shield", - }, - { - -- shield of endless search - itemid = 30181, - type = "deequip", - slot = "shield", - }, - { - -- spirit guide - itemid = 29431, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spirit guide - itemid = 29431, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- ectoplasmic shield - itemid = 29430, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ectoplasmic shield - itemid = 29430, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- pendulet - itemid = 29429, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- pendulet - itemid = 29429, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- sleep shawl - itemid = 29428, - type = "equip", - slot = "necklace", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- sleep shawl - itemid = 29428, - type = "deequip", - slot = "necklace", - level = 180, - }, - { - -- dark whispers - itemid = 29427, - type = "equip", - slot = "head", - level = 180, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- dark whispers - itemid = 29427, - type = "deequip", - slot = "head", - level = 180, - }, - { - -- brain in a jar - itemid = 29426, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- brain in a jar - itemid = 29426, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- energized limb - itemid = 29425, - type = "equip", - slot = "hand", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- energized limb - itemid = 29425, - type = "deequip", - slot = "hand", - level = 180, - }, - { - -- pair of dreamwalkers - itemid = 29424, - type = "equip", - slot = "feet", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- pair of dreamwalkers - itemid = 29424, - type = "deequip", - slot = "feet", - level = 180, - }, - { - -- dream shroud - itemid = 29423, - type = "equip", - slot = "armor", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- dream shroud - itemid = 29423, - type = "deequip", - slot = "armor", - level = 180, - }, - { - -- winterblade - itemid = 29422, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- winterblade - itemid = 29422, - type = "deequip", - slot = "hand", - }, - { - -- summerblade - itemid = 29421, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- summerblade - itemid = 29421, - type = "deequip", - slot = "hand", - }, - { - -- shoulder plate - itemid = 29420, - type = "equip", - slot = "shield", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- shoulder plate - itemid = 29420, - type = "deequip", - slot = "shield", - level = 180, - }, - { - -- resizer - itemid = 29419, - type = "equip", - slot = "hand", - level = 230, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- resizer - itemid = 29419, - type = "deequip", - slot = "hand", - }, - { - -- living armor - itemid = 29418, - type = "equip", - slot = "armor", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- living armor - itemid = 29418, - type = "deequip", - slot = "armor", - level = 180, - }, - { - -- living vine bow - itemid = 29417, - type = "equip", - slot = "hand", - level = 220, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- living vine bow - itemid = 29417, - type = "deequip", - slot = "hand", - level = 220, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- golden axe - itemid = 29286, - type = "equip", - slot = "hand", - }, - { - -- golden axe - itemid = 29286, - type = "deequip", - slot = "hand", - }, - { - -- book backpack - itemid = 28571, - type = "equip", - slot = "backpack", - }, - { - -- book backpack - itemid = 28571, - type = "deequip", - slot = "backpack", - }, - { - -- wand of destruction test - itemid = 28479, - type = "equip", - slot = "hand", - }, - { - -- wand of destruction test - itemid = 28479, - type = "deequip", - slot = "hand", - }, - { - -- umbral master bow test - itemid = 28478, - type = "equip", - slot = "hand", - }, - { - -- umbral master bow test - itemid = 28478, - type = "deequip", - slot = "hand", - }, - { - -- ornate testtplate - itemid = 28475, - type = "equip", - slot = "armor", - }, - { - -- ornate testtplate - itemid = 28475, - type = "deequip", - slot = "armor", - }, - { - -- sorcerer test weapon - itemid = 28466, - type = "equip", - slot = "hand", - }, - { - -- sorcerer test weapon - itemid = 28466, - type = "deequip", - slot = "hand", - }, - { - -- bow of destruction test - itemid = 28465, - type = "equip", - slot = "hand", - }, - { - -- bow of destruction test - itemid = 28465, - type = "deequip", - slot = "hand", - }, - { - -- test weapon for knights - itemid = 28464, - type = "equip", - slot = "hand", - }, - { - -- test weapon for knights - itemid = 28464, - type = "deequip", - slot = "hand", - }, - { - -- sulphurous demonbone - itemid = 28832, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- sulphurous demonbone - itemid = 28832, - type = "deequip", - slot = "hand", - }, - { - -- unliving demonbone - itemid = 28831, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- unliving demonbone - itemid = 28831, - type = "deequip", - slot = "hand", - }, - { - -- energized demonbone - itemid = 28830, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- energized demonbone - itemid = 28830, - type = "deequip", - slot = "hand", - }, - { - -- rotten demonbone - itemid = 28829, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- rotten demonbone - itemid = 28829, - type = "deequip", - slot = "hand", - }, - { - -- deepling fork - itemid = 28826, - type = "equip", - slot = "hand", - level = 230, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- deepling fork - itemid = 28826, - type = "deequip", - slot = "hand", - level = 230, - }, - { - -- deepling ceremonial dagger - itemid = 28825, - type = "equip", - slot = "hand", - level = 180, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- deepling ceremonial dagger - itemid = 28825, - type = "deequip", - slot = "hand", - level = 180, - }, - { - -- falcon mace - itemid = 28725, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon mace - itemid = 28725, - type = "deequip", - slot = "hand", - }, - { - -- falcon battleaxe - itemid = 28724, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon battleaxe - itemid = 28724, - type = "deequip", - slot = "hand", - }, - { - -- falcon longsword - itemid = 28723, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon longsword - itemid = 28723, - type = "deequip", - slot = "hand", - }, - { - -- falcon escutcheon - itemid = 28722, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon escutcheon - itemid = 28722, - type = "deequip", - slot = "shield", - level = 300, - }, - { - -- falcon shield - itemid = 28721, - type = "equip", - slot = "shield", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon shield - itemid = 28721, - type = "deequip", - slot = "shield", - level = 300, - }, - { - -- falcon greaves - itemid = 28720, - type = "equip", - slot = "legs", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon greaves - itemid = 28720, - type = "deequip", - slot = "legs", - level = 300, - }, - { - -- falcon plate - itemid = 28719, - type = "equip", - slot = "armor", - level = 300, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon plate - itemid = 28719, - type = "deequip", - slot = "armor", - level = 300, - }, - { - -- falcon bow - itemid = 28718, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "paladin", true }, - { "royal paladin" }, - }, - }, - { - -- falcon bow - itemid = 28718, - type = "deequip", - slot = "hand", - level = 300, - }, - { - -- falcon wand - itemid = 28717, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- falcon wand - itemid = 28717, - type = "deequip", - slot = "hand", - level = 300, - }, - { - -- falcon rod - itemid = 28716, - type = "equip", - slot = "hand", - level = 300, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- falcon rod - itemid = 28716, - type = "deequip", - slot = "hand", - level = 300, - }, - { - -- falcon coif - itemid = 28715, - type = "equip", - slot = "head", - level = 300, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- falcon coif - itemid = 28715, - type = "deequip", - slot = "head", - level = 300, - }, - { - -- falcon circlet - itemid = 28714, - type = "equip", - slot = "head", - level = 300, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- falcon circlet - itemid = 28714, - type = "deequip", - slot = "head", - level = 300, - }, - { - -- silver chimes - itemid = 12126, - type = "equip", - slot = "shield", - }, - { - -- silver chimes - itemid = 12126, - type = "deequip", - slot = "shield", - }, - { - -- suspicious device - itemid = 27653, - type = "equip", - slot = "necklace", - }, - { - -- suspicious device - itemid = 27653, - type = "deequip", - slot = "necklace", - }, - { - -- gnome sword - itemid = 27651, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gnome sword - itemid = 27651, - type = "deequip", - slot = "hand", - }, - { - -- gnome shield - itemid = 27650, - type = "equip", - slot = "shield", - level = 200, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Royal Paladin" }, - { "Elite Knight" }, - }, - }, - { - -- gnome shield - itemid = 27650, - type = "deequip", - slot = "shield", - level = 200, - }, - { - -- gnome legs - itemid = 27649, - type = "equip", - slot = "legs", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gnome legs - itemid = 27649, - type = "deequip", - slot = "legs", - level = 200, - }, - { - -- gnome armor - itemid = 27648, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- gnome armor - itemid = 27648, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- gnome helmet - itemid = 27647, - type = "equip", - slot = "head", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gnome helmet - itemid = 27647, - type = "deequip", - slot = "head", - level = 200, - }, - { - -- foxtail amulet - itemid = 27565, - type = "equip", - slot = "necklace", - level = 100, - }, - { - -- foxtail amulet - itemid = 27565, - type = "deequip", - slot = "necklace", - level = 100, - }, - { - -- mallet handle - itemid = 27525, - type = "equip", - slot = "hand", - }, - { - -- mallet handle - itemid = 27525, - type = "deequip", - slot = "hand", - }, - { - -- strange mallet - itemid = 27523, - type = "equip", - slot = "hand", - }, - { - -- strange mallet - itemid = 27523, - type = "deequip", - slot = "hand", - }, - { - -- blue spectacles - itemid = 27522, - type = "equip", - slot = "head", - }, - { - -- blue spectacles - itemid = 27522, - type = "deequip", - slot = "head", - }, - { - -- rod of destruction - itemid = 27458, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of destruction - itemid = 27458, - type = "deequip", - slot = "hand", - level = 200, - }, - { - -- wand of destruction - itemid = 27457, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of destruction - itemid = 27457, - type = "deequip", - slot = "hand", - level = 200, - }, - { - -- crossbow of destruction - itemid = 27456, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crossbow of destruction - itemid = 27456, - type = "deequip", - slot = "hand", - }, - { - -- bow of destruction - itemid = 27455, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of destruction - itemid = 27455, - type = "deequip", - slot = "hand", - }, - { - -- hammer of destruction - itemid = 27454, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- hammer of destruction - itemid = 27454, - type = "deequip", - slot = "hand", - }, - { - -- mace of destruction - itemid = 27453, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of destruction - itemid = 27453, - type = "deequip", - slot = "hand", - }, - { - -- chopper of destruction - itemid = 27452, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of destruction - itemid = 27452, - type = "deequip", - slot = "hand", - }, - { - -- axe of destruction - itemid = 27451, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of destruction - itemid = 27451, - type = "deequip", - slot = "hand", - }, - { - -- slayer of destruction - itemid = 27450, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of destruction - itemid = 27450, - type = "deequip", - slot = "hand", - }, - { - -- blade of destruction - itemid = 27449, - type = "equip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of destruction - itemid = 27449, - type = "deequip", - slot = "hand", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Journal Shield - itemid = 26947, - type = "equip", - slot = "shield", - }, - { - -- Journal Shield - itemid = 26947, - type = "deequip", - slot = "shield", - }, - { - -- reflecting crown - itemid = 26190, - type = "equip", - slot = "head", - }, - { - -- reflecting crown - itemid = 26190, - type = "deequip", - slot = "head", - }, - { - -- incandescent crown - itemid = 26189, - type = "equip", - slot = "head", - }, - { - -- incandescent crown - itemid = 26189, - type = "deequip", - slot = "head", - }, - { - -- iron crown - itemid = 26188, - type = "equip", - slot = "head", - }, - { - -- iron crown - itemid = 26188, - type = "deequip", - slot = "head", - }, - { - -- leaf crown - itemid = 26187, - type = "equip", - slot = "head", - }, - { - -- leaf crown - itemid = 26187, - type = "deequip", - slot = "head", - }, - { - -- ornate carving hammer - itemid = 26061, - type = "equip", - slot = "hand", - }, - { - -- ornate carving hammer - itemid = 26061, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving hammer - itemid = 26060, - type = "equip", - slot = "hand", - }, - { - -- valuable carving hammer - itemid = 26060, - type = "deequip", - slot = "hand", - }, - { - -- plain carving hammer - itemid = 26059, - type = "equip", - slot = "hand", - }, - { - -- plain carving hammer - itemid = 26059, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving mace - itemid = 26058, - type = "equip", - slot = "hand", - }, - { - -- ornate carving mace - itemid = 26058, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving mace - itemid = 26057, - type = "equip", - slot = "hand", - }, - { - -- valuable carving mace - itemid = 26057, - type = "deequip", - slot = "hand", - }, - { - -- plain carving mace - itemid = 26056, - type = "equip", - slot = "hand", - }, - { - -- plain carving mace - itemid = 26056, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving chopper - itemid = 26055, - type = "equip", - slot = "hand", - }, - { - -- ornate carving chopper - itemid = 26055, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving chopper - itemid = 26054, - type = "equip", - slot = "hand", - }, - { - -- valuable carving chopper - itemid = 26054, - type = "deequip", - slot = "hand", - }, - { - -- plain carving chopper - itemid = 26053, - type = "equip", - slot = "hand", - }, - { - -- plain carving chopper - itemid = 26053, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving axe - itemid = 26052, - type = "equip", - slot = "hand", - }, - { - -- ornate carving axe - itemid = 26052, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving axe - itemid = 26051, - type = "equip", - slot = "hand", - }, - { - -- valuable carving axe - itemid = 26051, - type = "deequip", - slot = "hand", - }, - { - -- plain carving axe - itemid = 26050, - type = "equip", - slot = "hand", - }, - { - -- plain carving axe - itemid = 26050, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving slayer - itemid = 26049, - type = "equip", - slot = "hand", - }, - { - -- ornate carving slayer - itemid = 26049, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving slayer - itemid = 26048, - type = "equip", - slot = "hand", - }, - { - -- valuable carving slayer - itemid = 26048, - type = "deequip", - slot = "hand", - }, - { - -- plain carving slayer - itemid = 26047, - type = "equip", - slot = "hand", - }, - { - -- plain carving slayer - itemid = 26047, - type = "deequip", - slot = "hand", - }, - { - -- ornate carving blade - itemid = 26046, - type = "equip", - slot = "hand", - }, - { - -- ornate carving blade - itemid = 26046, - type = "deequip", - slot = "hand", - }, - { - -- valuable carving blade - itemid = 26045, - type = "equip", - slot = "hand", - }, - { - -- valuable carving blade - itemid = 26045, - type = "deequip", - slot = "hand", - }, - { - -- plain carving blade - itemid = 26044, - type = "equip", - slot = "hand", - }, - { - -- plain carving blade - itemid = 26044, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy hammer - itemid = 26031, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy hammer - itemid = 26031, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy hammer - itemid = 26030, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy hammer - itemid = 26030, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy hammer - itemid = 26029, - type = "equip", - slot = "hand", - }, - { - -- plain remedy hammer - itemid = 26029, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy mace - itemid = 26028, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy mace - itemid = 26028, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy mace - itemid = 26027, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy mace - itemid = 26027, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy mace - itemid = 26026, - type = "equip", - slot = "hand", - }, - { - -- plain remedy mace - itemid = 26026, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy chopper - itemid = 26025, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy chopper - itemid = 26025, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy chopper - itemid = 26024, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy chopper - itemid = 26024, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy chopper - itemid = 26023, - type = "equip", - slot = "hand", - }, - { - -- plain remedy chopper - itemid = 26023, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy axe - itemid = 26022, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy axe - itemid = 26022, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy axe - itemid = 26021, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy axe - itemid = 26021, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy axe - itemid = 26020, - type = "equip", - slot = "hand", - }, - { - -- plain remedy axe - itemid = 26020, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy slayer - itemid = 26019, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy slayer - itemid = 26019, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy slayer - itemid = 26018, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy slayer - itemid = 26018, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy slayer - itemid = 26017, - type = "equip", - slot = "hand", - }, - { - -- plain remedy slayer - itemid = 26017, - type = "deequip", - slot = "hand", - }, - { - -- ornate remedy blade - itemid = 26016, - type = "equip", - slot = "hand", - }, - { - -- ornate remedy blade - itemid = 26016, - type = "deequip", - slot = "hand", - }, - { - -- valuable remedy blade - itemid = 26015, - type = "equip", - slot = "hand", - }, - { - -- valuable remedy blade - itemid = 26015, - type = "deequip", - slot = "hand", - }, - { - -- plain remedy blade - itemid = 26014, - type = "equip", - slot = "hand", - }, - { - -- plain remedy blade - itemid = 26014, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem hammer - itemid = 26000, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem hammer - itemid = 26000, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem hammer - itemid = 25999, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem hammer - itemid = 25999, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem hammer - itemid = 25998, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem hammer - itemid = 25998, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem mace - itemid = 25997, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem mace - itemid = 25997, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem mace - itemid = 25996, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem mace - itemid = 25996, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem mace - itemid = 25995, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem mace - itemid = 25995, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem chopper - itemid = 25994, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem chopper - itemid = 25994, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem chopper - itemid = 25993, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem chopper - itemid = 25993, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem chopper - itemid = 25992, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem chopper - itemid = 25992, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem axe - itemid = 25991, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem axe - itemid = 25991, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem axe - itemid = 25990, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem axe - itemid = 25990, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem axe - itemid = 25989, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem axe - itemid = 25989, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem slayer - itemid = 25988, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem slayer - itemid = 25988, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem slayer - itemid = 25987, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem slayer - itemid = 25987, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem slayer - itemid = 25986, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem slayer - itemid = 25986, - type = "deequip", - slot = "hand", - }, - { - -- ornate mayhem blade - itemid = 25985, - type = "equip", - slot = "hand", - }, - { - -- ornate mayhem blade - itemid = 25985, - type = "deequip", - slot = "hand", - }, - { - -- valuable mayhem blade - itemid = 25984, - type = "equip", - slot = "hand", - }, - { - -- valuable mayhem blade - itemid = 25984, - type = "deequip", - slot = "hand", - }, - { - -- plain mayhem blade - itemid = 25983, - type = "equip", - slot = "hand", - }, - { - -- plain mayhem blade - itemid = 25983, - type = "deequip", - slot = "hand", - }, - { - -- mathmaster shield (souvenir) - itemid = 25982, - type = "equip", - slot = "shield", - }, - { - -- mathmaster shield (souvenir) - itemid = 25982, - type = "deequip", - slot = "shield", - }, - { - -- sun catcher - itemid = 25977, - type = "equip", - slot = "ammo", - }, - { - -- sun catcher - itemid = 25977, - type = "deequip", - slot = "ammo", - }, - { - -- starlight vial - itemid = 25976, - type = "equip", - slot = "ammo", - }, - { - -- starlight vial - itemid = 25976, - type = "deequip", - slot = "ammo", - }, - { - -- moon mirror - itemid = 25975, - type = "equip", - slot = "ammo", - }, - { - -- moon mirror - itemid = 25975, - type = "deequip", - slot = "ammo", - }, - { - -- energy war hammer replica - itemid = 25974, - type = "equip", - slot = "hand", - }, - { - -- energy war hammer replica - itemid = 25974, - type = "deequip", - slot = "hand", - }, - { - -- energy orcish maul replica - itemid = 25973, - type = "equip", - slot = "hand", - }, - { - -- energy orcish maul replica - itemid = 25973, - type = "deequip", - slot = "hand", - }, - { - -- energy basher replica - itemid = 25972, - type = "equip", - slot = "hand", - }, - { - -- energy basher replica - itemid = 25972, - type = "deequip", - slot = "hand", - }, - { - -- energy crystal mace replica - itemid = 25971, - type = "equip", - slot = "hand", - }, - { - -- energy crystal mace replica - itemid = 25971, - type = "deequip", - slot = "hand", - }, - { - -- energy clerical mace replica - itemid = 25970, - type = "equip", - slot = "hand", - }, - { - -- energy clerical mace replica - itemid = 25970, - type = "deequip", - slot = "hand", - }, - { - -- energy war axe replica - itemid = 25969, - type = "equip", - slot = "hand", - }, - { - -- energy war axe replica - itemid = 25969, - type = "deequip", - slot = "hand", - }, - { - -- energy headchopper replica - itemid = 25968, - type = "equip", - slot = "hand", - }, - { - -- energy headchopper replica - itemid = 25968, - type = "deequip", - slot = "hand", - }, - { - -- energy heroic axe replica - itemid = 25967, - type = "equip", - slot = "hand", - }, - { - -- energy heroic axe replica - itemid = 25967, - type = "deequip", - slot = "hand", - }, - { - -- energy knight axe replica - itemid = 25966, - type = "equip", - slot = "hand", - }, - { - -- energy knight axe replica - itemid = 25966, - type = "deequip", - slot = "hand", - }, - { - -- energy barbarian axe replica - itemid = 25965, - type = "equip", - slot = "hand", - }, - { - -- energy barbarian axe replica - itemid = 25965, - type = "deequip", - slot = "hand", - }, - { - -- energy dragon slayer replica - itemid = 25964, - type = "equip", - slot = "hand", - }, - { - -- energy dragon slayer replica - itemid = 25964, - type = "deequip", - slot = "hand", - }, - { - -- energy blacksteel replica - itemid = 25963, - type = "equip", - slot = "hand", - }, - { - -- energy blacksteel replica - itemid = 25963, - type = "deequip", - slot = "hand", - }, - { - -- energy mystic blade replica - itemid = 25962, - type = "equip", - slot = "hand", - }, - { - -- energy mystic blade replica - itemid = 25962, - type = "deequip", - slot = "hand", - }, - { - -- energy relic sword replica - itemid = 25961, - type = "equip", - slot = "hand", - }, - { - -- energy relic sword replica - itemid = 25961, - type = "deequip", - slot = "hand", - }, - { - -- energy spike sword replica - itemid = 25960, - type = "equip", - slot = "hand", - }, - { - -- energy spike sword replica - itemid = 25960, - type = "deequip", - slot = "hand", - }, - { - -- earth war hammer replica - itemid = 25959, - type = "equip", - slot = "hand", - }, - { - -- earth war hammer replica - itemid = 25959, - type = "deequip", - slot = "hand", - }, - { - -- earth orcish maul replica - itemid = 25958, - type = "equip", - slot = "hand", - }, - { - -- earth orcish maul replica - itemid = 25958, - type = "deequip", - slot = "hand", - }, - { - -- earth basher replica - itemid = 25957, - type = "equip", - slot = "hand", - }, - { - -- earth basher replica - itemid = 25957, - type = "deequip", - slot = "hand", - }, - { - -- earth crystal mace replica - itemid = 25956, - type = "equip", - slot = "hand", - }, - { - -- earth crystal mace replica - itemid = 25956, - type = "deequip", - slot = "hand", - }, - { - -- earth clerical mace replica - itemid = 25955, - type = "equip", - slot = "hand", - }, - { - -- earth clerical mace replica - itemid = 25955, - type = "deequip", - slot = "hand", - }, - { - -- earth war axe replica - itemid = 25954, - type = "equip", - slot = "hand", - }, - { - -- earth war axe replica - itemid = 25954, - type = "deequip", - slot = "hand", - }, - { - -- earth headchopper replica - itemid = 25953, - type = "equip", - slot = "hand", - }, - { - -- earth headchopper replica - itemid = 25953, - type = "deequip", - slot = "hand", - }, - { - -- earth heroic axe replica - itemid = 25952, - type = "equip", - slot = "hand", - }, - { - -- earth heroic axe replica - itemid = 25952, - type = "deequip", - slot = "hand", - }, - { - -- earth knight axe replica - itemid = 25951, - type = "equip", - slot = "hand", - }, - { - -- earth knight axe replica - itemid = 25951, - type = "deequip", - slot = "hand", - }, - { - -- earth barbarian axe replica - itemid = 25950, - type = "equip", - slot = "hand", - }, - { - -- earth barbarian axe replica - itemid = 25950, - type = "deequip", - slot = "hand", - }, - { - -- earth dragon slayer replica - itemid = 25949, - type = "equip", - slot = "hand", - }, - { - -- earth dragon slayer replica - itemid = 25949, - type = "deequip", - slot = "hand", - }, - { - -- earth blacksteel replica - itemid = 25948, - type = "equip", - slot = "hand", - }, - { - -- earth blacksteel replica - itemid = 25948, - type = "deequip", - slot = "hand", - }, - { - -- earth mystic blade replica - itemid = 25947, - type = "equip", - slot = "hand", - }, - { - -- earth mystic blade replica - itemid = 25947, - type = "deequip", - slot = "hand", - }, - { - -- earth relic sword replica - itemid = 25946, - type = "equip", - slot = "hand", - }, - { - -- earth relic sword replica - itemid = 25946, - type = "deequip", - slot = "hand", - }, - { - -- earth spike sword replica - itemid = 25945, - type = "equip", - slot = "hand", - }, - { - -- earth spike sword replica - itemid = 25945, - type = "deequip", - slot = "hand", - }, - { - -- icy war hammer replica - itemid = 25944, - type = "equip", - slot = "hand", - }, - { - -- icy war hammer replica - itemid = 25944, - type = "deequip", - slot = "hand", - }, - { - -- icy orcish maul replica - itemid = 25943, - type = "equip", - slot = "hand", - }, - { - -- icy orcish maul replica - itemid = 25943, - type = "deequip", - slot = "hand", - }, - { - -- icy basher replica - itemid = 25942, - type = "equip", - slot = "hand", - }, - { - -- icy basher replica - itemid = 25942, - type = "deequip", - slot = "hand", - }, - { - -- icy crystal mace replica - itemid = 25941, - type = "equip", - slot = "hand", - }, - { - -- icy crystal mace replica - itemid = 25941, - type = "deequip", - slot = "hand", - }, - { - -- icy clerical mace replica - itemid = 25940, - type = "equip", - slot = "hand", - }, - { - -- icy clerical mace replica - itemid = 25940, - type = "deequip", - slot = "hand", - }, - { - -- icy war axe replica - itemid = 25939, - type = "equip", - slot = "hand", - }, - { - -- icy war axe replica - itemid = 25939, - type = "deequip", - slot = "hand", - }, - { - -- icy headchopper replica - itemid = 25938, - type = "equip", - slot = "hand", - }, - { - -- icy headchopper replica - itemid = 25938, - type = "deequip", - slot = "hand", - }, - { - -- icy heroic axe replica - itemid = 25937, - type = "equip", - slot = "hand", - }, - { - -- icy heroic axe replica - itemid = 25937, - type = "deequip", - slot = "hand", - }, - { - -- icy knight axe replica - itemid = 25936, - type = "equip", - slot = "hand", - }, - { - -- icy knight axe replica - itemid = 25936, - type = "deequip", - slot = "hand", - }, - { - -- icy barbarian axe replica - itemid = 25935, - type = "equip", - slot = "hand", - }, - { - -- icy barbarian axe replica - itemid = 25935, - type = "deequip", - slot = "hand", - }, - { - -- icy dragon slayer replica - itemid = 25934, - type = "equip", - slot = "hand", - }, - { - -- icy dragon slayer replica - itemid = 25934, - type = "deequip", - slot = "hand", - }, - { - -- icy blacksteel replica - itemid = 25933, - type = "equip", - slot = "hand", - }, - { - -- icy blacksteel replica - itemid = 25933, - type = "deequip", - slot = "hand", - }, - { - -- icy mystic blade replica - itemid = 25932, - type = "equip", - slot = "hand", - }, - { - -- icy mystic blade replica - itemid = 25932, - type = "deequip", - slot = "hand", - }, - { - -- icy relic sword replica - itemid = 25931, - type = "equip", - slot = "hand", - }, - { - -- icy relic sword replica - itemid = 25931, - type = "deequip", - slot = "hand", - }, - { - -- icy spike sword replica - itemid = 25930, - type = "equip", - slot = "hand", - }, - { - -- icy spike sword replica - itemid = 25930, - type = "deequip", - slot = "hand", - }, - { - -- fiery war hammer replica - itemid = 25929, - type = "equip", - slot = "hand", - }, - { - -- fiery war hammer replica - itemid = 25929, - type = "deequip", - slot = "hand", - }, - { - -- fiery orcish maul replica - itemid = 25928, - type = "equip", - slot = "hand", - }, - { - -- fiery orcish maul replica - itemid = 25928, - type = "deequip", - slot = "hand", - }, - { - -- fiery basher replica - itemid = 25927, - type = "equip", - slot = "hand", - }, - { - -- fiery basher replica - itemid = 25927, - type = "deequip", - slot = "hand", - }, - { - -- fiery crystal mace replica - itemid = 25926, - type = "equip", - slot = "hand", - }, - { - -- fiery crystal mace replica - itemid = 25926, - type = "deequip", - slot = "hand", - }, - { - -- fiery clerical mace replica - itemid = 25925, - type = "equip", - slot = "hand", - }, - { - -- fiery clerical mace replica - itemid = 25925, - type = "deequip", - slot = "hand", - }, - { - -- fiery war axe replica - itemid = 25924, - type = "equip", - slot = "hand", - }, - { - -- fiery war axe replica - itemid = 25924, - type = "deequip", - slot = "hand", - }, - { - -- fiery headchopper replica - itemid = 25923, - type = "equip", - slot = "hand", - }, - { - -- fiery headchopper replica - itemid = 25923, - type = "deequip", - slot = "hand", - }, - { - -- fiery heroic axe replica - itemid = 25922, - type = "equip", - slot = "hand", - }, - { - -- fiery heroic axe replica - itemid = 25922, - type = "deequip", - slot = "hand", - }, - { - -- fiery knight axe replica - itemid = 25921, - type = "equip", - slot = "hand", - }, - { - -- fiery knight axe replica - itemid = 25921, - type = "deequip", - slot = "hand", - }, - { - -- fiery barbarian axe replica - itemid = 25920, - type = "equip", - slot = "hand", - }, - { - -- fiery barbarian axe replica - itemid = 25920, - type = "deequip", - slot = "hand", - }, - { - -- fiery dragon slayer replica - itemid = 25919, - type = "equip", - slot = "hand", - }, - { - -- fiery dragon slayer replica - itemid = 25919, - type = "deequip", - slot = "hand", - }, - { - -- fiery blacksteel replica - itemid = 25918, - type = "equip", - slot = "hand", - }, - { - -- fiery blacksteel replica - itemid = 25918, - type = "deequip", - slot = "hand", - }, - { - -- fiery mystic blade replica - itemid = 25917, - type = "equip", - slot = "hand", - }, - { - -- fiery mystic blade replica - itemid = 25917, - type = "deequip", - slot = "hand", - }, - { - -- fiery relic sword replica - itemid = 25916, - type = "equip", - slot = "hand", - }, - { - -- fiery relic sword replica - itemid = 25916, - type = "deequip", - slot = "hand", - }, - { - -- fiery spike sword replica - itemid = 25915, - type = "equip", - slot = "hand", - }, - { - -- fiery spike sword replica - itemid = 25915, - type = "deequip", - slot = "hand", - }, - { - -- blossom bag - itemid = 25780, - type = "equip", - slot = "backpack", - }, - { - -- blossom bag - itemid = 25780, - type = "deequip", - slot = "backpack", - }, - { - -- swan feather cloak - itemid = 25779, - type = "equip", - slot = "armor", - level = 60, - }, - { - -- swan feather cloak - itemid = 25779, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- wand of darkness - itemid = 25760, - type = "equip", - slot = "hand", - level = 41, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of darkness - itemid = 25760, - type = "deequip", - slot = "hand", - level = 41, - }, - { - -- royal star - itemid = 25759, - type = "equip", - slot = "hand", - level = 120, - }, - { - -- royal star - itemid = 25759, - type = "deequip", - slot = "hand", - level = 120, - }, - { - -- spectral bolt - itemid = 25758, - type = "equip", - slot = "ammo", - }, - { - -- spectral bolt - itemid = 25758, - type = "deequip", - slot = "ammo", - }, - { - -- leaf star - itemid = 25735, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- leaf star - itemid = 25735, - type = "deequip", - slot = "hand", - level = 60, - }, - { - -- dream blossom staff - itemid = 25700, - type = "equip", - slot = "hand", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- dream blossom staff - itemid = 25700, - type = "deequip", - slot = "hand", - level = 80, - }, - { - -- wooden spellbook - itemid = 25699, - type = "equip", - slot = "shield", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- wooden spellbook - itemid = 25699, - type = "deequip", - slot = "shield", - level = 80, - }, - { - -- butterfly ring - itemid = 25698, - type = "equip", - slot = "ring", - level = 50, - }, - { - -- butterfly ring - itemid = 25698, - type = "deequip", - slot = "ring", - level = 50, - }, - { - -- glowing rubbish amulet - itemid = 25297, - type = "equip", - slot = "necklace", - }, - { - -- glowing rubbish amulet - itemid = 25297, - type = "deequip", - slot = "necklace", - }, - { - -- rubbish amulet - itemid = 25296, - type = "equip", - slot = "necklace", - }, - { - -- rubbish amulet - itemid = 25296, - type = "deequip", - slot = "necklace", - }, - { - -- porcelain mask - itemid = 25088, - type = "equip", - slot = "head", - }, - { - -- porcelain mask - itemid = 25088, - type = "deequip", - slot = "head", - }, - { - -- filthy bunnyslippers - itemid = 24409, - type = "equip", - slot = "feet", - }, - { - -- filthy bunnyslippers - itemid = 24409, - type = "deequip", - slot = "feet", - }, - { - -- rusty winged helmet - itemid = 24405, - type = "equip", - slot = "head", - }, - { - -- rusty winged helmet - itemid = 24405, - type = "deequip", - slot = "head", - }, - { - -- tatty Dragon scale legs - itemid = 24404, - type = "equip", - slot = "legs", - }, - { - -- tatty Dragon scale legs - itemid = 24404, - type = "deequip", - slot = "legs", - }, - { - -- chocolatey dragon scale legs - itemid = 24402, - type = "equip", - slot = "legs", - }, - { - -- chocolatey dragon scale legs - itemid = 24402, - type = "deequip", - slot = "legs", - }, - { - -- Ferumbras' Candy Hat - itemid = 24397, - type = "equip", - slot = "head", - }, - { - -- Ferumbras' Candy Hat - itemid = 24397, - type = "deequip", - slot = "head", - }, - { - -- birthday backpack - itemid = 24395, - type = "equip", - slot = "backpack", - }, - { - -- birthday backpack - itemid = 24395, - type = "deequip", - slot = "backpack", - }, - { - -- pillow backpack - itemid = 24393, - type = "equip", - slot = "backpack", - }, - { - -- pillow backpack - itemid = 24393, - type = "deequip", - slot = "backpack", - }, - { - -- collar of red plasma - itemid = 23544, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- collar of red plasma - itemid = 23544, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of green plasma - itemid = 23543, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- collar of green plasma - itemid = 23543, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of blue plasma - itemid = 23542, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- collar of blue plasma - itemid = 23542, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- ring of red plasma - itemid = 23534, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ring of red plasma - itemid = 23534, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of red plasma - itemid = 23533, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ring of red plasma - itemid = 23533, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of green plasma - itemid = 23532, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- ring of green plasma - itemid = 23532, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of green plasma - itemid = 23531, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- ring of green plasma - itemid = 23531, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of blue plasma - itemid = 23530, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ring of blue plasma - itemid = 23530, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- ring of blue plasma - itemid = 23529, - type = "equip", - slot = "ring", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ring of blue plasma - itemid = 23529, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- collar of red plasma - itemid = 23528, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- collar of red plasma - itemid = 23528, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of green plasma - itemid = 23527, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- collar of green plasma - itemid = 23527, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- collar of blue plasma - itemid = 23526, - type = "equip", - slot = "necklace", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- collar of blue plasma - itemid = 23526, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- energetic backpack - itemid = 23525, - type = "equip", - slot = "backpack", - }, - { - -- energetic backpack - itemid = 23525, - type = "deequip", - slot = "backpack", - }, - { - -- void boots - itemid = 23477, - type = "equip", - slot = "feet", - level = 150, - }, - { - -- void boots - itemid = 23477, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- void boots - itemid = 23476, - type = "equip", - slot = "feet", - level = 150, - }, - { - -- void boots - itemid = 23476, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- tiara of power - itemid = 23475, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- tiara of power - itemid = 23475, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- tiara of power - itemid = 23474, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- tiara of power - itemid = 23474, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- rod of carving - itemid = 23339, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of carving - itemid = 23339, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- wand of carving - itemid = 23335, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of carving - itemid = 23335, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- crossbow of carving - itemid = 23331, - type = "equip", - slot = "hand", - }, - { - -- crossbow of carving - itemid = 23331, - type = "deequip", - slot = "hand", - }, - { - -- bow of carving - itemid = 23327, - type = "equip", - slot = "hand", - }, - { - -- bow of carving - itemid = 23327, - type = "deequip", - slot = "hand", - }, - { - -- hammer of carving - itemid = 23323, - type = "equip", - slot = "hand", - }, - { - -- hammer of carving - itemid = 23323, - type = "deequip", - slot = "hand", - }, - { - -- mace of carving - itemid = 23319, - type = "equip", - slot = "hand", - }, - { - -- mace of carving - itemid = 23319, - type = "deequip", - slot = "hand", - }, - { - -- chopper of carving - itemid = 23315, - type = "equip", - slot = "hand", - }, - { - -- chopper of carving - itemid = 23315, - type = "deequip", - slot = "hand", - }, - { - -- axe of carving - itemid = 23311, - type = "equip", - slot = "hand", - }, - { - -- axe of carving - itemid = 23311, - type = "deequip", - slot = "hand", - }, - { - -- slayer of carving - itemid = 23307, - type = "equip", - slot = "hand", - }, - { - -- slayer of carving - itemid = 23307, - type = "deequip", - slot = "hand", - }, - { - -- blade of carving - itemid = 23303, - type = "equip", - slot = "hand", - }, - { - -- blade of carving - itemid = 23303, - type = "deequip", - slot = "hand", - }, - { - -- rod of remedy - itemid = 23299, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of remedy - itemid = 23299, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- wand of remedy - itemid = 23295, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of remedy - itemid = 23295, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- crossbow of remedy - itemid = 23291, - type = "equip", - slot = "hand", - }, - { - -- crossbow of remedy - itemid = 23291, - type = "deequip", - slot = "hand", - }, - { - -- bow of remedy - itemid = 23287, - type = "equip", - slot = "hand", - }, - { - -- bow of remedy - itemid = 23287, - type = "deequip", - slot = "hand", - }, - { - -- mace of remedy - itemid = 23279, - type = "equip", - slot = "hand", - }, - { - -- mace of remedy - itemid = 23279, - type = "deequip", - slot = "hand", - }, - { - -- chopper of remedy - itemid = 23275, - type = "equip", - slot = "hand", - }, - { - -- chopper of remedy - itemid = 23275, - type = "deequip", - slot = "hand", - }, - { - -- axe of remedy - itemid = 23271, - type = "equip", - slot = "hand", - }, - { - -- axe of remedy - itemid = 23271, - type = "deequip", - slot = "hand", - }, - { - -- slayer of remedy - itemid = 23267, - type = "equip", - slot = "hand", - }, - { - -- slayer of remedy - itemid = 23267, - type = "deequip", - slot = "hand", - }, - { - -- blade of remedy - itemid = 23263, - type = "equip", - slot = "hand", - }, - { - -- blade of remedy - itemid = 23263, - type = "deequip", - slot = "hand", - }, - { - -- rod of mayhem - itemid = 23232, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- rod of mayhem - itemid = 23232, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- wand of mayhem - itemid = 23231, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of mayhem - itemid = 23231, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- crossbow of mayhem - itemid = 23230, - type = "equip", - slot = "hand", - }, - { - -- crossbow of mayhem - itemid = 23230, - type = "deequip", - slot = "hand", - }, - { - -- bow of mayhem - itemid = 23229, - type = "equip", - slot = "hand", - }, - { - -- bow of mayhem - itemid = 23229, - type = "deequip", - slot = "hand", - }, - { - -- hammer of mayhem - itemid = 23228, - type = "equip", - slot = "hand", - }, - { - -- hammer of mayhem - itemid = 23228, - type = "deequip", - slot = "hand", - }, - { - -- mace of mayhem - itemid = 23227, - type = "equip", - slot = "hand", - }, - { - -- mace of mayhem - itemid = 23227, - type = "deequip", - slot = "hand", - }, - { - -- chopper of mayhem - itemid = 23226, - type = "equip", - slot = "hand", - }, - { - -- chopper of mayhem - itemid = 23226, - type = "deequip", - slot = "hand", - }, - { - -- axe of mayhem - itemid = 23225, - type = "equip", - slot = "hand", - }, - { - -- axe of mayhem - itemid = 23225, - type = "deequip", - slot = "hand", - }, - { - -- slayer of mayhem - itemid = 23224, - type = "equip", - slot = "hand", - }, - { - -- slayer of mayhem - itemid = 23224, - type = "deequip", - slot = "hand", - }, - { - -- blade of mayhem - itemid = 23223, - type = "equip", - slot = "hand", - }, - { - -- blade of mayhem - itemid = 23223, - type = "deequip", - slot = "hand", - }, - { - -- shield of destiny - itemid = 22890, - type = "equip", - slot = "shield", - }, - { - -- shield of destiny - itemid = 22890, - type = "deequip", - slot = "shield", - }, - { - -- shield of destiny - itemid = 22889, - type = "equip", - slot = "shield", - }, - { - -- shield of destiny - itemid = 22889, - type = "deequip", - slot = "shield", - }, - { - -- rift crossbow - itemid = 22867, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- rift crossbow - itemid = 22867, - type = "deequip", - slot = "hand", - }, - { - -- rift bow - itemid = 22866, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- rift bow - itemid = 22866, - type = "deequip", - slot = "hand", - }, - { - -- boots of homecoming - itemid = 22774, - type = "equip", - slot = "feet", - level = 100, - }, - { - -- boots of homecoming - itemid = 22774, - type = "deequip", - slot = "feet", - level = 100, - }, - { - -- boots of homecoming - itemid = 22773, - type = "equip", - slot = "feet", - level = 100, - }, - { - -- boots of homecoming - itemid = 22773, - type = "deequip", - slot = "feet", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22768, - type = "equip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22768, - type = "deequip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22767, - type = "equip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' amulet - itemid = 22767, - type = "deequip", - slot = "necklace", - level = 100, - }, - { - -- ferumbras' staff (enchanted) - itemid = 22766, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- ferumbras' staff (enchanted) - itemid = 22766, - type = "deequip", - slot = "hand", - level = 100, - }, - { - -- ferumbras' staff (failed) - itemid = 22765, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- ferumbras' staff (failed) - itemid = 22765, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- Ferumbras' staff (club) - itemid = 22764, - type = "equip", - slot = "hand", - level = 100, - }, - { - -- Ferumbras' staff (club) - itemid = 22764, - type = "deequip", - slot = "hand", - }, - { - -- maimer - itemid = 22762, - type = "equip", - slot = "hand", - level = 150, - }, - { - -- maimer - itemid = 22762, - type = "deequip", - slot = "hand", - }, - { - -- Impaler of the igniter - itemid = 22760, - type = "equip", - slot = "hand", - level = 150, - }, - { - -- Impaler of the igniter - itemid = 22760, - type = "deequip", - slot = "hand", - }, - { - -- plague bite - itemid = 22759, - type = "equip", - slot = "hand", - level = 150, - }, - { - -- plague bite - itemid = 22759, - type = "deequip", - slot = "hand", - }, - { - -- death gaze - itemid = 22758, - type = "equip", - slot = "shield", - level = 200, - }, - { - -- death gaze - itemid = 22758, - type = "deequip", - slot = "shield", - level = 200, - }, - { - -- shroud of despair - itemid = 22757, - type = "equip", - slot = "head", - level = 150, - }, - { - -- shroud of despair - itemid = 22757, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- treader of torment - itemid = 22756, - type = "equip", - slot = "feet", - }, - { - -- treader of torment - itemid = 22756, - type = "deequip", - slot = "feet", - }, - { - -- book of lies - itemid = 22755, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- book of lies - itemid = 22755, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- visage of the end days - itemid = 22754, - type = "equip", - slot = "head", - }, - { - -- visage of the end days - itemid = 22754, - type = "deequip", - slot = "head", - }, - { - -- ancient amulet - itemid = 22746, - type = "equip", - slot = "necklace", - }, - { - -- ancient amulet - itemid = 22746, - type = "deequip", - slot = "necklace", - }, - { - -- rift lance - itemid = 22727, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- rift lance - itemid = 22727, - type = "deequip", - slot = "hand", - }, - { - -- rift shield - itemid = 22726, - type = "equip", - slot = "shield", - }, - { - -- rift shield - itemid = 22726, - type = "deequip", - slot = "shield", - }, - { - -- rattling gourd - itemid = 22651, - type = "equip", - slot = "shield", - }, - { - -- rattling gourd - itemid = 22651, - type = "deequip", - slot = "shield", - }, - { - -- gourd - itemid = 22650, - type = "equip", - slot = "shield", - }, - { - -- gourd - itemid = 22650, - type = "deequip", - slot = "shield", - }, - { - -- frostmind raiment - itemid = 22537, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- frostmind raiment - itemid = 22537, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thundermind raiment - itemid = 22536, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- thundermind raiment - itemid = 22536, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthmind raiment - itemid = 22535, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- earthmind raiment - itemid = 22535, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- firemind raiment - itemid = 22534, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- firemind raiment - itemid = 22534, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostsoul tabard - itemid = 22533, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- frostsoul tabard - itemid = 22533, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thundersoul tabard - itemid = 22532, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- thundersoul tabard - itemid = 22532, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthsoul tabard - itemid = 22531, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- earthsoul tabard - itemid = 22531, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- firesoul tabard - itemid = 22530, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- firesoul tabard - itemid = 22530, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostheart platemail - itemid = 22529, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostheart platemail - itemid = 22529, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostheart hauberk - itemid = 22528, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostheart hauberk - itemid = 22528, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- frostheart cuirass - itemid = 22527, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- frostheart cuirass - itemid = 22527, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thunderheart platemail - itemid = 22526, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- thunderheart platemail - itemid = 22526, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thunderheart hauberk - itemid = 22525, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- thunderheart hauberk - itemid = 22525, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- thunderheart cuirass - itemid = 22524, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- thunderheart cuirass - itemid = 22524, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthheart platemail - itemid = 22523, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthheart platemail - itemid = 22523, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthheart hauberk - itemid = 22522, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthheart hauberk - itemid = 22522, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- earthheart cuirass - itemid = 22521, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthheart cuirass - itemid = 22521, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- fireheart platemail - itemid = 22520, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireheart platemail - itemid = 22520, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- fireheart hauberk - itemid = 22519, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireheart hauberk - itemid = 22519, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- fireheart cuirass - itemid = 22518, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireheart cuirass - itemid = 22518, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- onyx pendant - itemid = 22195, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- onyx pendant - itemid = 22195, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- shamanic mask - itemid = 22192, - type = "equip", - slot = "head", - }, - { - -- shamanic mask - itemid = 22192, - type = "deequip", - slot = "head", - }, - { - -- painted gourd rattle - itemid = 22190, - type = "equip", - slot = "shield", - }, - { - -- painted gourd rattle - itemid = 22190, - type = "deequip", - slot = "shield", - }, - { - -- ogre scepta - itemid = 22183, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- ogre scepta - itemid = 22183, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- ogre choppa - itemid = 22172, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- ogre choppa - itemid = 22172, - type = "deequip", - slot = "hand", - }, - { - -- ogre klubba - itemid = 22171, - type = "equip", - slot = "hand", - level = 50, - }, - { - -- ogre klubba - itemid = 22171, - type = "deequip", - slot = "hand", - }, - { - -- house silversun's signet ring - itemid = 22170, - type = "equip", - slot = "ring", - }, - { - -- house silversun's signet ring - itemid = 22170, - type = "deequip", - slot = "ring", - }, - { - -- dark wizard's crown - itemid = 22154, - type = "equip", - slot = "head", - }, - { - -- dark wizard's crown - itemid = 22154, - type = "deequip", - slot = "head", - }, - { - -- dark wizard's crown - itemid = 22153, - type = "equip", - slot = "head", - }, - { - -- dark wizard's crown - itemid = 22153, - type = "deequip", - slot = "head", - }, - { - -- enchanted werewolf amulet - itemid = 22134, - type = "equip", - slot = "necklace", - }, - { - -- enchanted werewolf amulet - itemid = 22134, - type = "deequip", - slot = "necklace", - }, - { - -- enchanted werewolf helmet - sword - itemid = 22132, - type = "equip", - slot = "necklace", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted werewolf helmet - sword - itemid = 22132, - type = "deequip", - slot = "necklace", - level = 100, - }, - { - -- enchanted werewolf helmet - ml - itemid = 22130, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- enchanted werewolf helmet - ml - itemid = 22130, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- enchanted werewolf helmet - distance - itemid = 22129, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- enchanted werewolf helmet - distance - itemid = 22129, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- enchanted werewolf helmet - club - itemid = 22128, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted werewolf helmet - club - itemid = 22128, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- enchanted werewolf helmet - axe - itemid = 22127, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- enchanted werewolf helmet - axe - itemid = 22127, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- wereboar loincloth - itemid = 22087, - type = "equip", - slot = "legs", - }, - { - -- wereboar loincloth - itemid = 22087, - type = "deequip", - slot = "legs", - }, - { - -- badger boots - itemid = 22086, - type = "equip", - slot = "feet", - level = 60, - }, - { - -- badger boots - itemid = 22086, - type = "deequip", - slot = "feet", - level = 60, - }, - { - -- fur armor - itemid = 22085, - type = "equip", - slot = "armor", - level = 50, - }, - { - -- fur armor - itemid = 22085, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- wolf backpack - itemid = 22084, - type = "equip", - slot = "backpack", - }, - { - -- wolf backpack - itemid = 22084, - type = "deequip", - slot = "backpack", - }, - { - -- werewolf helmet - itemid = 22062, - type = "equip", - slot = "head", - level = 100, - }, - { - -- werewolf helmet - itemid = 22062, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- enchanted werewolf amulet - itemid = 22061, - type = "equip", - slot = "necklace", - }, - { - -- enchanted werewolf amulet - itemid = 22061, - type = "deequip", - slot = "necklace", - }, - { - -- werewolf amulet - itemid = 22060, - type = "equip", - slot = "necklace", - }, - { - -- werewolf amulet - itemid = 22060, - type = "deequip", - slot = "necklace", - }, - { - -- oriental shoes - itemid = 21981, - type = "equip", - slot = "feet", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- oriental shoes - itemid = 21981, - type = "deequip", - slot = "feet", - level = 80, - }, - { - -- sweetheart ring - itemid = 21955, - type = "equip", - slot = "ring", - }, - { - -- sweetheart ring - itemid = 21955, - type = "deequip", - slot = "ring", - }, - { - -- crest of the deep seas - itemid = 21892, - type = "equip", - slot = "head", - level = 80, - }, - { - -- crest of the deep seas - itemid = 21892, - type = "deequip", - slot = "head", - level = 80, - }, - { - -- brandon's wedding ring - itemid = 21745, - type = "equip", - slot = "ring", - }, - { - -- brandon's wedding ring - itemid = 21745, - type = "deequip", - slot = "ring", - }, - { - -- simple arrow - itemid = 21470, - type = "equip", - slot = "ammo", - }, - { - -- simple arrow - itemid = 21470, - type = "deequip", - slot = "ammo", - }, - { - -- war backpack - itemid = 21445, - type = "equip", - slot = "backpack", - }, - { - -- war backpack - itemid = 21445, - type = "deequip", - slot = "backpack", - }, - { - -- the Lion's Heart - itemid = 21439, - type = "equip", - slot = "necklace", - }, - { - -- the Lion's Heart - itemid = 21439, - type = "deequip", - slot = "necklace", - }, - { - -- shopping bag - itemid = 21411, - type = "equip", - slot = "backpack", - }, - { - -- shopping bag - itemid = 21411, - type = "deequip", - slot = "backpack", - }, - { - -- broken wooden shield - itemid = 21401, - type = "equip", - slot = "shield", - }, - { - -- broken wooden shield - itemid = 21401, - type = "deequip", - slot = "shield", - }, - { - -- spellbook of the novice - itemid = 21400, - type = "equip", - slot = "shield", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of the novice - itemid = 21400, - type = "deequip", - slot = "shield", - }, - { - -- the chiller - itemid = 21350, - type = "equip", - slot = "hand", - level = 1, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- the chiller - itemid = 21350, - type = "deequip", - slot = "hand", - level = 1, - }, - { - -- the scorcher - itemid = 21348, - type = "equip", - slot = "hand", - level = 1, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- the scorcher - itemid = 21348, - type = "deequip", - slot = "hand", - level = 1, - }, - { - -- glooth backpack - itemid = 21295, - type = "equip", - slot = "backpack", - }, - { - -- glooth backpack - itemid = 21295, - type = "deequip", - slot = "backpack", - }, - { - -- feedbag - itemid = 21292, - type = "equip", - slot = "backpack", - }, - { - -- feedbag - itemid = 21292, - type = "deequip", - slot = "backpack", - }, - { - -- one hit wonder - itemid = 21219, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- one hit wonder - itemid = 21219, - type = "deequip", - slot = "hand", - }, - { - -- glooth amulet - itemid = 21183, - type = "equip", - slot = "necklace", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glooth amulet - itemid = 21183, - type = "deequip", - slot = "necklace", - level = 75, - }, - { - -- glooth axe - itemid = 21180, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glooth axe - itemid = 21180, - type = "deequip", - slot = "hand", - }, - { - -- glooth blade - itemid = 21179, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glooth blade - itemid = 21179, - type = "deequip", - slot = "hand", - }, - { - -- glooth club - itemid = 21178, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glooth club - itemid = 21178, - type = "deequip", - slot = "hand", - }, - { - -- cowtana - itemid = 21177, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- cowtana - itemid = 21177, - type = "deequip", - slot = "hand", - level = 25, - }, - { - -- execowtioner axe - itemid = 21176, - type = "equip", - slot = "hand", - level = 55, - }, - { - -- execowtioner axe - itemid = 21176, - type = "deequip", - slot = "hand", - }, - { - -- mino shield - itemid = 21175, - type = "equip", - slot = "shield", - }, - { - -- mino shield - itemid = 21175, - type = "deequip", - slot = "shield", - }, - { - -- mino lance - itemid = 21174, - type = "equip", - slot = "hand", - level = 45, - }, - { - -- mino lance - itemid = 21174, - type = "deequip", - slot = "hand", - }, - { - -- moohtant cudgel - itemid = 21173, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- moohtant cudgel - itemid = 21173, - type = "deequip", - slot = "hand", - }, - { - -- glooth whip - itemid = 21172, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- glooth whip - itemid = 21172, - type = "deequip", - slot = "hand", - }, - { - -- metal bat - itemid = 21171, - type = "equip", - slot = "hand", - level = 55, - }, - { - -- metal bat - itemid = 21171, - type = "deequip", - slot = "hand", - }, - { - -- gearwheel chain - itemid = 21170, - type = "equip", - slot = "necklace", - level = 75, - }, - { - -- gearwheel chain - itemid = 21170, - type = "deequip", - slot = "necklace", - level = 75, - }, - { - -- metal spats - itemid = 21169, - type = "equip", - slot = "feet", - level = 50, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- metal spats - itemid = 21169, - type = "deequip", - slot = "feet", - level = 50, - }, - { - -- alloy legs - itemid = 21168, - type = "equip", - slot = "legs", - level = 60, - }, - { - -- alloy legs - itemid = 21168, - type = "deequip", - slot = "legs", - level = 60, - }, - { - -- heat core - itemid = 21167, - type = "equip", - slot = "armor", - }, - { - -- heat core - itemid = 21167, - type = "deequip", - slot = "armor", - }, - { - -- mooh'tah plate - itemid = 21166, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- mooh'tah plate - itemid = 21166, - type = "deequip", - slot = "armor", - }, - { - -- rubber cap - itemid = 21165, - type = "equip", - slot = "head", - level = 70, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- rubber cap - itemid = 21165, - type = "deequip", - slot = "head", - level = 70, - }, - { - -- glooth cape - itemid = 21164, - type = "equip", - slot = "armor", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glooth cape - itemid = 21164, - type = "deequip", - slot = "armor", - level = 40, - }, - { - -- glooth spear - itemid = 21158, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- glooth spear - itemid = 21158, - type = "deequip", - slot = "hand", - level = 60, - }, - { - -- cake backpack - itemid = 20347, - type = "equip", - slot = "backpack", - }, - { - -- cake backpack - itemid = 20347, - type = "deequip", - slot = "backpack", - }, - { - -- unstable ring of ending - itemid = 20209, - type = "equip", - slot = "ring", - }, - { - -- unstable ring of ending - itemid = 20209, - type = "deequip", - slot = "ring", - }, - { - -- broken visor - itemid = 20184, - type = "equip", - slot = "head", - }, - { - -- broken visor - itemid = 20184, - type = "deequip", - slot = "head", - }, - { - -- ring of ending - itemid = 20182, - type = "equip", - slot = "ring", - level = 200, - }, - { - -- ring of ending - itemid = 20182, - type = "deequip", - slot = "ring", - level = 200, - }, - { - -- eerie song book - itemid = 20140, - type = "equip", - slot = "shield", - }, - { - -- eerie song book - itemid = 20140, - type = "deequip", - slot = "shield", - }, - { - -- umbral master spellbook - itemid = 20090, - type = "equip", - slot = "shield", - level = 250, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- umbral master spellbook - itemid = 20090, - type = "deequip", - slot = "shield", - level = 250, - }, - { - -- umbral spellbook - itemid = 20089, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- umbral spellbook - itemid = 20089, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- crude umbral spellbook - itemid = 20088, - type = "equip", - slot = "shield", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- crude umbral spellbook - itemid = 20088, - type = "deequip", - slot = "shield", - level = 75, - }, - { - -- umbral master crossbow - itemid = 20087, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral master crossbow - itemid = 20087, - type = "deequip", - slot = "hand", - }, - { - -- umbral crossbow - itemid = 20086, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral crossbow - itemid = 20086, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral crossbow - itemid = 20085, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crude umbral crossbow - itemid = 20085, - type = "deequip", - slot = "hand", - }, - { - -- umbral master bow - itemid = 20084, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral master bow - itemid = 20084, - type = "deequip", - slot = "hand", - }, - { - -- umbral bow - itemid = 20083, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral bow - itemid = 20083, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral bow - itemid = 20082, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crude umbral bow - itemid = 20082, - type = "deequip", - slot = "hand", - }, - { - -- umbral master hammer - itemid = 20081, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master hammer - itemid = 20081, - type = "deequip", - slot = "hand", - }, - { - -- umbral hammer - itemid = 20080, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral hammer - itemid = 20080, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral hammer - itemid = 20079, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral hammer - itemid = 20079, - type = "deequip", - slot = "hand", - }, - { - -- umbral master mace - itemid = 20078, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master mace - itemid = 20078, - type = "deequip", - slot = "hand", - }, - { - -- umbral mace - itemid = 20077, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral mace - itemid = 20077, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral mace - itemid = 20076, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral mace - itemid = 20076, - type = "deequip", - slot = "hand", - }, - { - -- umbral master chopper - itemid = 20075, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master chopper - itemid = 20075, - type = "deequip", - slot = "hand", - }, - { - -- umbral chopper - itemid = 20074, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral chopper - itemid = 20074, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral chopper - itemid = 20073, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral chopper - itemid = 20073, - type = "deequip", - slot = "hand", - }, - { - -- umbral master axe - itemid = 20072, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master axe - itemid = 20072, - type = "deequip", - slot = "hand", - }, - { - -- umbral axe - itemid = 20071, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral axe - itemid = 20071, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral axe - itemid = 20070, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral axe - itemid = 20070, - type = "deequip", - slot = "hand", - }, - { - -- umbral master slayer - itemid = 20069, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master slayer - itemid = 20069, - type = "deequip", - slot = "hand", - }, - { - -- umbral slayer - itemid = 20068, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral slayer - itemid = 20068, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral slayer - itemid = 20067, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral slayer - itemid = 20067, - type = "deequip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral masterblade - itemid = 20066, - type = "equip", - slot = "hand", - level = 250, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral masterblade - itemid = 20066, - type = "deequip", - slot = "hand", - }, - { - -- umbral blade - itemid = 20065, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral blade - itemid = 20065, - type = "deequip", - slot = "hand", - }, - { - -- crude umbral blade - itemid = 20064, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral blade - itemid = 20064, - type = "deequip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- strange good night songs - itemid = 20050, - type = "equip", - slot = "shield", - }, - { - -- strange good night songs - itemid = 20050, - type = "deequip", - slot = "shield", - }, - { - -- furious frock - itemid = 19391, - type = "equip", - slot = "armor", - level = 130, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- furious frock - itemid = 19391, - type = "deequip", - slot = "armor", - level = 130, - }, - { - -- vampire silk slippers - itemid = 19374, - type = "equip", - slot = "feet", - }, - { - -- vampire silk slippers - itemid = 19374, - type = "deequip", - slot = "feet", - }, - { - -- haunted mirror piece - itemid = 19373, - type = "equip", - slot = "shield", - }, - { - -- haunted mirror piece - itemid = 19373, - type = "deequip", - slot = "shield", - }, - { - -- goo shell - itemid = 19372, - type = "equip", - slot = "armor", - }, - { - -- goo shell - itemid = 19372, - type = "deequip", - slot = "armor", - }, - { - -- icy culottes - itemid = 19366, - type = "equip", - slot = "legs", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- icy culottes - itemid = 19366, - type = "deequip", - slot = "legs", - }, - { - -- runic ice shield - itemid = 19363, - type = "equip", - slot = "shield", - }, - { - -- runic ice shield - itemid = 19363, - type = "deequip", - slot = "shield", - }, - { - -- icicle bow - itemid = 19362, - type = "equip", - slot = "hand", - }, - { - -- icicle bow - itemid = 19362, - type = "deequip", - slot = "hand", - }, - { - -- horn - itemid = 19359, - type = "equip", - slot = "ring", - }, - { - -- horn - itemid = 19359, - type = "deequip", - slot = "ring", - }, - { - -- albino plate - itemid = 19358, - type = "equip", - slot = "armor", - }, - { - -- albino plate - itemid = 19358, - type = "deequip", - slot = "armor", - }, - { - -- shrunken head necklace - itemid = 19357, - type = "equip", - slot = "necklace", - level = 150, - }, - { - -- shrunken head necklace - itemid = 19357, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- triple bolt crossbow - itemid = 19356, - type = "equip", - slot = "hand", - level = 70, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- triple bolt crossbow - itemid = 19356, - type = "deequip", - slot = "hand", - }, - { - -- pannier backpack - itemid = 19159, - type = "equip", - slot = "backpack", - }, - { - -- pannier backpack - itemid = 19159, - type = "deequip", - slot = "backpack", - }, - { - -- friendship amulet - itemid = 19153, - type = "equip", - slot = "necklace", - }, - { - -- friendship amulet - itemid = 19153, - type = "deequip", - slot = "necklace", - }, - { - -- vampire's signet ring - itemid = 18935, - type = "equip", - slot = "ring", - }, - { - -- vampire's signet ring - itemid = 18935, - type = "deequip", - slot = "ring", - }, - { - -- spiky club - itemid = 17859, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- spiky club - itemid = 17859, - type = "deequip", - slot = "hand", - }, - { - -- helmet of the lost - itemid = 17852, - type = "equip", - slot = "head", - }, - { - -- helmet of the lost - itemid = 17852, - type = "deequip", - slot = "head", - }, - { - -- leather harness - itemid = 17846, - type = "equip", - slot = "armor", - }, - { - -- leather harness - itemid = 17846, - type = "deequip", - slot = "armor", - }, - { - -- buckle - itemid = 17829, - type = "equip", - slot = "armor", - }, - { - -- buckle - itemid = 17829, - type = "deequip", - slot = "armor", - }, - { - -- pair of iron fists - itemid = 17828, - type = "equip", - slot = "hand", - level = 50, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- pair of iron fists - itemid = 17828, - type = "deequip", - slot = "hand", - }, - { - -- swampling club - itemid = 17824, - type = "equip", - slot = "hand", - }, - { - -- swampling club - itemid = 17824, - type = "deequip", - slot = "hand", - }, - { - -- life preserver - itemid = 17813, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- life preserver - itemid = 17813, - type = "deequip", - slot = "hand", - }, - { - -- ratana - itemid = 17812, - type = "equip", - slot = "hand", - level = 15, - }, - { - -- ratana - itemid = 17812, - type = "deequip", - slot = "hand", - }, - { - -- spike shield - itemid = 17810, - type = "equip", - slot = "shield", - }, - { - -- spike shield - itemid = 17810, - type = "deequip", - slot = "shield", - }, - { - -- sorc and druid staff - itemid = 17111, - type = "equip", - slot = "hand", - level = 1, - vocation = { - { "None", true }, - }, - }, - { - -- sorc and druid staff - itemid = 17111, - type = "deequip", - slot = "hand", - level = 1, - }, - { - -- mean paladin spear - itemid = 17110, - type = "equip", - slot = "hand", - vocation = { - { "None", true }, - }, - }, - { - -- mean paladin spear - itemid = 17110, - type = "deequip", - slot = "hand", - vocation = { - { "None", true }, - }, - }, - { - -- mean knight sword - itemid = 17109, - type = "equip", - slot = "hand", - vocation = { - { "None", true }, - }, - }, - { - -- mean knight sword - itemid = 17109, - type = "deequip", - slot = "hand", - }, - { - -- prismatic ring - itemid = 16264, - type = "equip", - slot = "ring", - level = 120, - }, - { - -- prismatic ring - itemid = 16264, - type = "deequip", - slot = "ring", - level = 120, - }, - { - -- shiny blade - itemid = 16175, - type = "equip", - slot = "hand", - level = 120, - }, - { - -- shiny blade - itemid = 16175, - type = "deequip", - slot = "hand", - }, - { - -- mycological bow - itemid = 16164, - type = "equip", - slot = "hand", - level = 105, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- mycological bow - itemid = 16164, - type = "deequip", - slot = "hand", - }, - { - -- crystal crossbow - itemid = 16163, - type = "equip", - slot = "hand", - level = 90, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crystal crossbow - itemid = 16163, - type = "deequip", - slot = "hand", - }, - { - -- mycological mace - itemid = 16162, - type = "equip", - slot = "hand", - level = 120, - }, - { - -- mycological mace - itemid = 16162, - type = "deequip", - slot = "hand", - }, - { - -- crystalline axe - itemid = 16161, - type = "equip", - slot = "hand", - level = 120, - }, - { - -- crystalline axe - itemid = 16161, - type = "deequip", - slot = "hand", - }, - { - -- crystalline sword - itemid = 16160, - type = "equip", - slot = "hand", - level = 62, - }, - { - -- crystalline sword - itemid = 16160, - type = "deequip", - slot = "hand", - }, - { - -- envenomed arrow - itemid = 16143, - type = "equip", - slot = "ammo", - }, - { - -- envenomed arrow - itemid = 16143, - type = "deequip", - slot = "ammo", - }, - { - -- drill bolt - itemid = 16142, - type = "equip", - slot = "ammo", - }, - { - -- drill bolt - itemid = 16142, - type = "deequip", - slot = "ammo", - }, - { - -- prismatic bolt - itemid = 16141, - type = "equip", - slot = "ammo", - }, - { - -- prismatic bolt - itemid = 16141, - type = "deequip", - slot = "ammo", - }, - { - -- glacial rod - itemid = 16118, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- glacial rod - itemid = 16118, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- muck rod - itemid = 16117, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- muck rod - itemid = 16117, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- prismatic shield - itemid = 16116, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- prismatic shield - itemid = 16116, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- wand of everblazing - itemid = 16115, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of everblazing - itemid = 16115, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- prismatic ring - itemid = 16114, - type = "equip", - slot = "ring", - level = 120, - }, - { - -- prismatic ring - itemid = 16114, - type = "deequip", - slot = "ring", - level = 120, - }, - { - -- prismatic necklace - itemid = 16113, - type = "equip", - slot = "necklace", - level = 150, - }, - { - -- prismatic necklace - itemid = 16113, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- prismatic boots - itemid = 16112, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- prismatic boots - itemid = 16112, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- prismatic legs - itemid = 16111, - type = "equip", - slot = "legs", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- prismatic legs - itemid = 16111, - type = "deequip", - slot = "legs", - level = 150, - }, - { - -- prismatic armor - itemid = 16110, - type = "equip", - slot = "armor", - level = 120, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- prismatic armor - itemid = 16110, - type = "deequip", - slot = "armor", - level = 120, - }, - { - -- prismatic helmet - itemid = 16109, - type = "equip", - slot = "head", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- prismatic helmet - itemid = 16109, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- gill necklace - itemid = 16108, - type = "equip", - slot = "necklace", - level = 150, - }, - { - -- gill necklace - itemid = 16108, - type = "deequip", - slot = "necklace", - level = 150, - }, - { - -- spellbook of vigilance - itemid = 16107, - type = "equip", - slot = "shield", - level = 130, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of vigilance - itemid = 16107, - type = "deequip", - slot = "shield", - level = 130, - }, - { - -- gill legs - itemid = 16106, - type = "equip", - slot = "legs", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gill legs - itemid = 16106, - type = "deequip", - slot = "legs", - level = 150, - }, - { - -- gill coat - itemid = 16105, - type = "equip", - slot = "armor", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gill coat - itemid = 16105, - type = "deequip", - slot = "armor", - level = 150, - }, - { - -- gill gugel - itemid = 16104, - type = "equip", - slot = "head", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- gill gugel - itemid = 16104, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- crystal backpack - itemid = 16100, - type = "equip", - slot = "backpack", - }, - { - -- crystal backpack - itemid = 16100, - type = "deequip", - slot = "backpack", - }, - { - -- mushroom backpack - itemid = 16099, - type = "equip", - slot = "backpack", - }, - { - -- mushroom backpack - itemid = 16099, - type = "deequip", - slot = "backpack", - }, - { - -- wand of defiance - itemid = 16096, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of defiance - itemid = 16096, - type = "deequip", - slot = "hand", - level = 65, - }, - { - -- crystalline arrow - itemid = 15793, - type = "equip", - slot = "ammo", - }, - { - -- crystalline arrow - itemid = 15793, - type = "deequip", - slot = "ammo", - }, - { - -- crystal bolt - itemid = 15792, - type = "equip", - slot = "ammo", - }, - { - -- crystal bolt - itemid = 15792, - type = "deequip", - slot = "ammo", - }, - { - -- spellbook of ancient arcana - itemid = 14769, - type = "equip", - slot = "shield", - level = 150, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of ancient arcana - itemid = 14769, - type = "deequip", - slot = "shield", - level = 150, - }, - { - -- thorn spitter - itemid = 14768, - type = "equip", - slot = "hand", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- thorn spitter - itemid = 14768, - type = "deequip", - slot = "hand", - }, - { - -- mathmaster shield - itemid = 14761, - type = "equip", - slot = "shield", - }, - { - -- mathmaster shield - itemid = 14761, - type = "deequip", - slot = "shield", - }, - { - -- mathmaster shield - itemid = 14760, - type = "equip", - slot = "shield", - }, - { - -- mathmaster shield - itemid = 14760, - type = "deequip", - slot = "shield", - }, - { - -- anniversary backpack - itemid = 14674, - type = "equip", - slot = "backpack", - }, - { - -- anniversary backpack - itemid = 14674, - type = "deequip", - slot = "backpack", - }, - { - -- vortex bolt - itemid = 14252, - type = "equip", - slot = "ammo", - }, - { - -- vortex bolt - itemid = 14252, - type = "deequip", - slot = "ammo", - }, - { - -- tarsal arrow - itemid = 14251, - type = "equip", - slot = "ammo", - }, - { - -- tarsal arrow - itemid = 14251, - type = "deequip", - slot = "ammo", - }, - { - -- deepling squelcher - itemid = 14250, - type = "equip", - slot = "hand", - level = 48, - }, - { - -- deepling squelcher - itemid = 14250, - type = "deequip", - slot = "hand", - }, - { - -- buggy backpack - itemid = 14249, - type = "equip", - slot = "backpack", - }, - { - -- buggy backpack - itemid = 14249, - type = "deequip", - slot = "backpack", - }, - { - -- deepling backpack - itemid = 14248, - type = "equip", - slot = "backpack", - }, - { - -- deepling backpack - itemid = 14248, - type = "deequip", - slot = "backpack", - }, - { - -- ornate crossbow - itemid = 14247, - type = "equip", - slot = "hand", - level = 50, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ornate crossbow - itemid = 14247, - type = "deequip", - slot = "hand", - }, - { - -- hive bow - itemid = 14246, - type = "equip", - slot = "hand", - level = 85, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hive bow - itemid = 14246, - type = "deequip", - slot = "hand", - }, - { - -- hive scythe - itemid = 14089, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- hive scythe - itemid = 14089, - type = "deequip", - slot = "hand", - }, - { - -- carapace shield - itemid = 14088, - type = "equip", - slot = "shield", - }, - { - -- carapace shield - itemid = 14088, - type = "deequip", - slot = "shield", - }, - { - -- grasshopper legs - itemid = 14087, - type = "equip", - slot = "legs", - level = 75, - }, - { - -- grasshopper legs - itemid = 14087, - type = "deequip", - slot = "legs", - level = 75, - }, - { - -- calopteryx cape - itemid = 14086, - type = "equip", - slot = "armor", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- calopteryx cape - itemid = 14086, - type = "deequip", - slot = "armor", - level = 80, - }, - { - -- guardian axe - itemid = 14043, - type = "equip", - slot = "hand", - level = 50, - }, - { - -- guardian axe - itemid = 14043, - type = "deequip", - slot = "hand", - }, - { - -- warrior's shield - itemid = 14042, - type = "equip", - slot = "shield", - }, - { - -- warrior's shield - itemid = 14042, - type = "deequip", - slot = "shield", - }, - { - -- warrior's axe - itemid = 14040, - type = "equip", - slot = "hand", - level = 40, - }, - { - -- warrior's axe - itemid = 14040, - type = "deequip", - slot = "hand", - }, - { - -- ornate mace - itemid = 14001, - type = "equip", - slot = "hand", - level = 90, - }, - { - -- ornate mace - itemid = 14001, - type = "deequip", - slot = "hand", - }, - { - -- ornate shield - itemid = 14000, - type = "equip", - slot = "shield", - level = 130, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate shield - itemid = 14000, - type = "deequip", - slot = "shield", - level = 130, - }, - { - -- ornate legs - itemid = 13999, - type = "equip", - slot = "legs", - level = 185, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate legs - itemid = 13999, - type = "deequip", - slot = "legs", - level = 185, - }, - { - -- depth scutum - itemid = 13998, - type = "equip", - slot = "shield", - level = 120, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- depth scutum - itemid = 13998, - type = "deequip", - slot = "shield", - level = 120, - }, - { - -- depth calcei - itemid = 13997, - type = "equip", - slot = "feet", - level = 150, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- depth calcei - itemid = 13997, - type = "deequip", - slot = "feet", - level = 150, - }, - { - -- depth ocrea - itemid = 13996, - type = "equip", - slot = "legs", - level = 130, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- depth ocrea - itemid = 13996, - type = "deequip", - slot = "legs", - level = 130, - }, - { - -- depth galea - itemid = 13995, - type = "equip", - slot = "head", - level = 150, - }, - { - -- depth galea - itemid = 13995, - type = "deequip", - slot = "head", - level = 150, - }, - { - -- depth lorica - itemid = 13994, - type = "equip", - slot = "armor", - level = 150, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- depth lorica - itemid = 13994, - type = "deequip", - slot = "armor", - level = 150, - }, - { - -- ornate chestplate - itemid = 13993, - type = "equip", - slot = "armor", - level = 200, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate chestplate - itemid = 13993, - type = "deequip", - slot = "armor", - level = 200, - }, - { - -- deepling axe - itemid = 13991, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- deepling axe - itemid = 13991, - type = "deequip", - slot = "hand", - }, - { - -- necklace of the deep - itemid = 13990, - type = "equip", - slot = "necklace", - level = 120, - }, - { - -- necklace of the deep - itemid = 13990, - type = "deequip", - slot = "necklace", - level = 120, - }, - { - -- deepling staff - itemid = 13987, - type = "equip", - slot = "hand", - level = 38, - }, - { - -- deepling staff - itemid = 13987, - type = "deequip", - slot = "hand", - }, - { - -- the Epic Wisdom - itemid = 12810, - type = "equip", - slot = "head", - }, - { - -- the Epic Wisdom - itemid = 12810, - type = "deequip", - slot = "head", - }, - { - -- the Epic Wisdom - itemid = 12809, - type = "equip", - slot = "head", - }, - { - -- the Epic Wisdom - itemid = 12809, - type = "deequip", - slot = "head", - }, - { - -- shimmer wand - itemid = 12741, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- shimmer wand - itemid = 12741, - type = "deequip", - slot = "hand", - level = 40, - }, - { - -- broken ring of ending - itemid = 12737, - type = "equip", - slot = "ring", - }, - { - -- broken ring of ending - itemid = 12737, - type = "deequip", - slot = "ring", - }, - { - -- shimmer bow - itemid = 12733, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- shimmer bow - itemid = 12733, - type = "deequip", - slot = "hand", - }, - { - -- shimmer rod - itemid = 12732, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- shimmer rod - itemid = 12732, - type = "deequip", - slot = "hand", - level = 40, - }, - { - -- shimmer sword - itemid = 12731, - type = "equip", - slot = "hand", - level = 40, - }, - { - -- shimmer sword - itemid = 12731, - type = "deequip", - slot = "hand", - }, - { - -- heavy trident - itemid = 12683, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- heavy trident - itemid = 12683, - type = "deequip", - slot = "hand", - }, - { - -- wooden sword - itemid = 12673, - type = "equip", - slot = "hand", - }, - { - -- wooden sword - itemid = 12673, - type = "deequip", - slot = "hand", - }, - { - -- star ring - itemid = 12670, - type = "equip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- star ring - itemid = 12670, - type = "deequip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- star ring - itemid = 12669, - type = "equip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- star ring - itemid = 12669, - type = "deequip", - slot = "ring", - vocation = { - { "None", true }, - }, - }, - { - -- wand of dimensions - itemid = 12603, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of dimensions - itemid = 12603, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- mage's cap - itemid = 12599, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- mage's cap - itemid = 12599, - type = "deequip", - slot = "head", - }, - { - -- fish tail (equipped) - itemid = 11543, - type = "equip", - slot = "feet", - }, - { - -- fish tail (equipped) - itemid = 11543, - type = "deequip", - slot = "feet", - }, - { - -- golden hyena pendant - itemid = 12543, - type = "equip", - slot = "necklace", - }, - { - -- golden hyena pendant - itemid = 12543, - type = "deequip", - slot = "necklace", - }, - { - -- golden scorpion pendant - itemid = 12542, - type = "equip", - slot = "necklace", - }, - { - -- golden scorpion pendant - itemid = 12542, - type = "deequip", - slot = "necklace", - }, - { - -- old cape - itemid = 11701, - type = "equip", - slot = "armor", - }, - { - -- old cape - itemid = 11701, - type = "deequip", - slot = "armor", - }, - { - -- sedge hat - itemid = 11700, - type = "equip", - slot = "head", - }, - { - -- sedge hat - itemid = 11700, - type = "deequip", - slot = "head", - }, - { - -- loot bag - itemid = 11698, - type = "equip", - slot = "backpack", - }, - { - -- loot bag - itemid = 11698, - type = "deequip", - slot = "backpack", - }, - { - -- blade of corruption - itemid = 11693, - type = "equip", - slot = "hand", - level = 82, - }, - { - -- blade of corruption - itemid = 11693, - type = "deequip", - slot = "hand", - level = 82, - }, - { - -- snake god's sceptre - itemid = 11692, - type = "equip", - slot = "hand", - level = 82, - }, - { - -- snake god's sceptre - itemid = 11692, - type = "deequip", - slot = "hand", - }, - { - -- snake god's wristguard - itemid = 11691, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- snake god's wristguard - itemid = 11691, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- draken boots - itemid = 4033, - type = "equip", - slot = "feet", - level = 80, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- draken boots - itemid = 4033, - type = "deequip", - slot = "feet", - level = 80, - }, - { - -- elite draken helmet - itemid = 11689, - type = "equip", - slot = "head", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- elite draken helmet - itemid = 11689, - type = "deequip", - slot = "head", - level = 100, - }, - { - -- shield of corruption - itemid = 11688, - type = "equip", - slot = "shield", - level = 80, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- shield of corruption - itemid = 11688, - type = "deequip", - slot = "shield", - level = 80, - }, - { - -- royal scale robe - itemid = 11687, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- royal scale robe - itemid = 11687, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- royal draken mail - itemid = 11686, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- royal draken mail - itemid = 11686, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- cobra crown - itemid = 11674, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- cobra crown - itemid = 11674, - type = "deequip", - slot = "head", - }, - { - -- twiceslicer - itemid = 11657, - type = "equip", - slot = "hand", - level = 58, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- twiceslicer - itemid = 11657, - type = "deequip", - slot = "hand", - }, - { - -- elite draken mail - itemid = 11651, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- elite draken mail - itemid = 11651, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- fish tail (unequipped) - itemid = 11542, - type = "equip", - slot = "feet", - }, - { - -- fish tail (unequipped) - itemid = 11542, - type = "deequip", - slot = "feet", - }, - { - -- ornamented brooch - itemid = 11468, - type = "equip", - slot = "necklace", - }, - { - -- ornamented brooch - itemid = 11468, - type = "deequip", - slot = "necklace", - }, - { - -- lucky clover amulet - itemid = 10476, - type = "equip", - slot = "necklace", - }, - { - -- lucky clover amulet - itemid = 10476, - type = "deequip", - slot = "necklace", - }, - { - -- beetle necklace - itemid = 10457, - type = "equip", - slot = "necklace", - }, - { - -- beetle necklace - itemid = 10457, - type = "deequip", - slot = "necklace", - }, - { - -- jade hat - itemid = 10451, - type = "equip", - slot = "head", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- jade hat - itemid = 10451, - type = "deequip", - slot = "head", - level = 60, - }, - { - -- Zaoan robe - itemid = 10439, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- Zaoan robe - itemid = 10439, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- spellweaver's robe - itemid = 10438, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellweaver's robe - itemid = 10438, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- wailing widow's necklace - itemid = 10412, - type = "equip", - slot = "necklace", - }, - { - -- wailing widow's necklace - itemid = 10412, - type = "deequip", - slot = "necklace", - }, - { - -- Zaoan halberd - itemid = 10406, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- Zaoan halberd - itemid = 10406, - type = "deequip", - slot = "hand", - }, - { - -- twin hooks - itemid = 10392, - type = "equip", - slot = "hand", - level = 20, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- twin hooks - itemid = 10392, - type = "deequip", - slot = "hand", - }, - { - -- drachaku - itemid = 10391, - type = "equip", - slot = "hand", - level = 55, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- drachaku - itemid = 10391, - type = "deequip", - slot = "hand", - }, - { - -- Zaoan sword - itemid = 10390, - type = "equip", - slot = "hand", - level = 55, - }, - { - -- Zaoan sword - itemid = 10390, - type = "deequip", - slot = "hand", - }, - { - -- sai - itemid = 10389, - type = "equip", - slot = "hand", - level = 50, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sai - itemid = 10389, - type = "deequip", - slot = "hand", - }, - { - -- drakinata - itemid = 10388, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- drakinata - itemid = 10388, - type = "deequip", - slot = "hand", - }, - { - -- Zaoan legs - itemid = 10387, - type = "equip", - slot = "legs", - }, - { - -- Zaoan legs - itemid = 10387, - type = "deequip", - slot = "legs", - }, - { - -- zaoan shoes - itemid = 10386, - type = "equip", - slot = "feet", - }, - { - -- zaoan shoes - itemid = 10386, - type = "deequip", - slot = "feet", - }, - { - -- Zaoan helmet - itemid = 10385, - type = "equip", - slot = "head", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- Zaoan helmet - itemid = 10385, - type = "deequip", - slot = "head", - }, - { - -- Zaoan armor - itemid = 10384, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- Zaoan armor - itemid = 10384, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- santa backpack - itemid = 10346, - type = "equip", - slot = "backpack", - }, - { - -- santa backpack - itemid = 10346, - type = "deequip", - slot = "backpack", - }, - { - -- minotaur backpack - itemid = 10327, - type = "equip", - slot = "backpack", - }, - { - -- minotaur backpack - itemid = 10327, - type = "deequip", - slot = "backpack", - }, - { - -- dragon backpack - itemid = 10326, - type = "equip", - slot = "backpack", - }, - { - -- dragon backpack - itemid = 10326, - type = "deequip", - slot = "backpack", - }, - { - -- expedition bag - itemid = 10325, - type = "equip", - slot = "backpack", - }, - { - -- expedition bag - itemid = 10325, - type = "deequip", - slot = "backpack", - }, - { - -- expedition backpack - itemid = 10324, - type = "equip", - slot = "backpack", - }, - { - -- expedition backpack - itemid = 10324, - type = "deequip", - slot = "backpack", - }, - { - -- guardian boots - itemid = 10323, - type = "equip", - slot = "feet", - level = 70, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- guardian boots - itemid = 10323, - type = "deequip", - slot = "feet", - level = 70, - }, - { - -- heart backpack - itemid = 10202, - type = "equip", - slot = "backpack", - }, - { - -- heart backpack - itemid = 10202, - type = "deequip", - slot = "backpack", - }, - { - -- dragon scale boots - itemid = 10201, - type = "equip", - slot = "feet", - level = 70, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- dragon scale boots - itemid = 10201, - type = "deequip", - slot = "feet", - level = 70, - }, - { - -- crystal boots - itemid = 10200, - type = "equip", - slot = "feet", - level = 70, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crystal boots - itemid = 10200, - type = "deequip", - slot = "feet", - level = 70, - }, - { - -- witch hat - itemid = 9653, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- witch hat - itemid = 9653, - type = "deequip", - slot = "head", - }, - { - -- crown backpack - itemid = 9605, - type = "equip", - slot = "backpack", - }, - { - -- crown backpack - itemid = 9605, - type = "deequip", - slot = "backpack", - }, - { - -- moon backpack - itemid = 9604, - type = "equip", - slot = "backpack", - }, - { - -- moon backpack - itemid = 9604, - type = "deequip", - slot = "backpack", - }, - { - -- orange bag - itemid = 9603, - type = "equip", - slot = "backpack", - }, - { - -- orange bag - itemid = 9603, - type = "deequip", - slot = "backpack", - }, - { - -- orange backpack - itemid = 9602, - type = "equip", - slot = "backpack", - }, - { - -- orange backpack - itemid = 9602, - type = "deequip", - slot = "backpack", - }, - { - -- demon backpack - itemid = 9601, - type = "equip", - slot = "backpack", - }, - { - -- demon backpack - itemid = 9601, - type = "deequip", - slot = "backpack", - }, - { - -- broken wedding ring - itemid = 9593, - type = "equip", - slot = "ring", - }, - { - -- broken wedding ring - itemid = 9593, - type = "deequip", - slot = "ring", - }, - { - -- engraved wedding ring - itemid = 9585, - type = "equip", - slot = "ring", - }, - { - -- engraved wedding ring - itemid = 9585, - type = "deequip", - slot = "ring", - }, - { - -- the shield Nevermourn - itemid = 9447, - type = "equip", - slot = "shield", - }, - { - -- the shield Nevermourn - itemid = 9447, - type = "deequip", - slot = "shield", - }, - { - -- the rain coat - itemid = 9446, - type = "equip", - slot = "armor", - }, - { - -- the rain coat - itemid = 9446, - type = "deequip", - slot = "armor", - }, - { - -- the shield Nevermourn - itemid = 9401, - type = "equip", - slot = "shield", - }, - { - -- the shield Nevermourn - itemid = 9401, - type = "deequip", - slot = "shield", - }, - { - -- the rain coat - itemid = 9400, - type = "equip", - slot = "armor", - }, - { - -- the rain coat - itemid = 9400, - type = "deequip", - slot = "armor", - }, - { - -- mighty helm of green sparks - itemid = 9399, - type = "equip", - slot = "head", - }, - { - -- mighty helm of green sparks - itemid = 9399, - type = "deequip", - slot = "head", - }, - { - -- incredible mumpiz slayer - itemid = 9396, - type = "equip", - slot = "hand", - }, - { - -- incredible mumpiz slayer - itemid = 9396, - type = "deequip", - slot = "hand", - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9394, - type = "equip", - slot = "ring", - level = 100, - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9394, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9392, - type = "equip", - slot = "ring", - level = 100, - }, - { - -- claw of 'The Noxious Spawn' - itemid = 9392, - type = "deequip", - slot = "ring", - level = 100, - }, - { - -- poet's fencing quill - itemid = 9387, - type = "equip", - slot = "hand", - }, - { - -- poet's fencing quill - itemid = 9387, - type = "deequip", - slot = "hand", - }, - { - -- farmer's avenger - itemid = 9386, - type = "equip", - slot = "hand", - }, - { - -- farmer's avenger - itemid = 9386, - type = "deequip", - slot = "hand", - }, - { - -- club of the fury - itemid = 9385, - type = "equip", - slot = "hand", - }, - { - -- club of the fury - itemid = 9385, - type = "deequip", - slot = "hand", - }, - { - -- scythe of the reaper - itemid = 9384, - type = "equip", - slot = "hand", - }, - { - -- scythe of the reaper - itemid = 9384, - type = "deequip", - slot = "hand", - }, - { - -- trousers of the ancients - itemid = 9383, - type = "equip", - slot = "legs", - }, - { - -- trousers of the ancients - itemid = 9383, - type = "deequip", - slot = "legs", - }, - { - -- helmet of nature - itemid = 9382, - type = "equip", - slot = "head", - }, - { - -- helmet of nature - itemid = 9382, - type = "deequip", - slot = "head", - }, - { - -- helmet of ultimate terror - itemid = 9381, - type = "equip", - slot = "head", - }, - { - -- helmet of ultimate terror - itemid = 9381, - type = "deequip", - slot = "head", - }, - { - -- shield of care - itemid = 9380, - type = "equip", - slot = "shield", - }, - { - -- shield of care - itemid = 9380, - type = "deequip", - slot = "shield", - }, - { - -- heavy metal t-shirt - itemid = 9379, - type = "equip", - slot = "armor", - }, - { - -- heavy metal t-shirt - itemid = 9379, - type = "deequip", - slot = "armor", - }, - { - -- musician's bow - itemid = 9378, - type = "equip", - slot = "hand", - }, - { - -- musician's bow - itemid = 9378, - type = "deequip", - slot = "hand", - }, - { - -- shield of the white knight - itemid = 9377, - type = "equip", - slot = "shield", - }, - { - -- shield of the white knight - itemid = 9377, - type = "deequip", - slot = "shield", - }, - { - -- stale bread of ancientness - itemid = 9376, - type = "equip", - slot = "hand", - }, - { - -- stale bread of ancientness - itemid = 9376, - type = "deequip", - slot = "hand", - }, - { - -- pointed rabbitslayer - itemid = 9375, - type = "equip", - slot = "hand", - }, - { - -- pointed rabbitslayer - itemid = 9375, - type = "deequip", - slot = "hand", - }, - { - -- odd hat - itemid = 9374, - type = "equip", - slot = "head", - }, - { - -- odd hat - itemid = 9374, - type = "deequip", - slot = "head", - }, - { - -- glutton's mace - itemid = 9373, - type = "equip", - slot = "hand", - }, - { - -- glutton's mace - itemid = 9373, - type = "deequip", - slot = "hand", - }, - { - -- meat shield - itemid = 9372, - type = "equip", - slot = "shield", - }, - { - -- meat shield - itemid = 9372, - type = "deequip", - slot = "shield", - }, - { - -- shockwave amulet - itemid = 9304, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- shockwave amulet - itemid = 9304, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- leviathan's amulet - itemid = 9303, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- leviathan's amulet - itemid = 9303, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- sacred tree amulet - itemid = 9302, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- sacred tree amulet - itemid = 9302, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- bonfire amulet - itemid = 9301, - type = "equip", - slot = "necklace", - level = 80, - }, - { - -- bonfire amulet - itemid = 9301, - type = "deequip", - slot = "necklace", - level = 80, - }, - { - -- laurel wreath - itemid = 9221, - type = "equip", - slot = "head", - }, - { - -- laurel wreath - itemid = 9221, - type = "deequip", - slot = "head", - }, - { - -- bronze medal - itemid = 9217, - type = "equip", - slot = "necklace", - }, - { - -- bronze medal - itemid = 9217, - type = "deequip", - slot = "necklace", - }, - { - -- silver medal - itemid = 9216, - type = "equip", - slot = "necklace", - }, - { - -- silver medal - itemid = 9216, - type = "deequip", - slot = "necklace", - }, - { - -- gold medal - itemid = 9215, - type = "equip", - slot = "necklace", - }, - { - -- gold medal - itemid = 9215, - type = "deequip", - slot = "necklace", - }, - { - -- grey bag - itemid = 9151, - type = "equip", - slot = "backpack", - }, - { - -- grey bag - itemid = 9151, - type = "deequip", - slot = "backpack", - }, - { - -- batwing hat - itemid = 9103, - type = "equip", - slot = "head", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- batwing hat - itemid = 9103, - type = "deequip", - slot = "head", - level = 50, - }, - { - -- pair firewalker boots - itemid = 9019, - type = "equip", - slot = "feet", - level = 130, - }, - { - -- pair firewalker boots - itemid = 9019, - type = "deequip", - slot = "feet", - level = 130, - }, - { - -- firewalker boots - itemid = 9018, - type = "equip", - slot = "feet", - level = 130, - }, - { - -- firewalker boots - itemid = 9018, - type = "deequip", - slot = "feet", - level = 130, - }, - { - -- coconut shoes - itemid = 9017, - type = "equip", - slot = "feet", - }, - { - -- coconut shoes - itemid = 9017, - type = "deequip", - slot = "feet", - }, - { - -- flower dress - itemid = 9015, - type = "equip", - slot = "armor", - }, - { - -- flower dress - itemid = 9015, - type = "deequip", - slot = "armor", - }, - { - -- leaf legs - itemid = 9014, - type = "equip", - slot = "legs", - }, - { - -- leaf legs - itemid = 9014, - type = "deequip", - slot = "legs", - }, - { - -- flower wreath - itemid = 9013, - type = "equip", - slot = "head", - }, - { - -- flower wreath - itemid = 9013, - type = "deequip", - slot = "head", - }, - { - -- yalahari mask - itemid = 8864, - type = "equip", - slot = "head", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- yalahari mask - itemid = 8864, - type = "deequip", - slot = "head", - level = 80, - }, - { - -- yalahari leg piece - itemid = 8863, - type = "equip", - slot = "legs", - level = 80, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- yalahari leg piece - itemid = 8863, - type = "deequip", - slot = "legs", - level = 80, - }, - { - -- yalahari armor - itemid = 8862, - type = "equip", - slot = "armor", - level = 80, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- yalahari armor - itemid = 8862, - type = "deequip", - slot = "armor", - level = 80, - }, - { - -- brocade bag - itemid = 8861, - type = "equip", - slot = "backpack", - }, - { - -- brocade bag - itemid = 8861, - type = "deequip", - slot = "backpack", - }, - { - -- brocade backpack - itemid = 8860, - type = "equip", - slot = "backpack", - }, - { - -- brocade backpack - itemid = 8860, - type = "deequip", - slot = "backpack", - }, - { - -- golden bag - itemid = 655, - type = "equip", - slot = "backpack", - }, - { - -- golden bag - itemid = 655, - type = "deequip", - slot = "backpack", - }, - { - -- purple bag - itemid = 653, - type = "equip", - slot = "backpack", - }, - { - -- purple bag - itemid = 653, - type = "deequip", - slot = "backpack", - }, - { - -- the calamity - itemid = 8104, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- the calamity - itemid = 8104, - type = "deequip", - slot = "hand", - }, - { - -- the epiphany - itemid = 8103, - type = "equip", - slot = "hand", - level = 120, - }, - { - -- the epiphany - itemid = 8103, - type = "deequip", - slot = "hand", - }, - { - -- emerald sword - itemid = 8102, - type = "equip", - slot = "hand", - level = 100, - }, - { - -- emerald sword - itemid = 8102, - type = "deequip", - slot = "hand", - }, - { - -- the stomper - itemid = 8101, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- the stomper - itemid = 8101, - type = "deequip", - slot = "hand", - }, - { - -- obsidian truncheon - itemid = 8100, - type = "equip", - slot = "hand", - level = 100, - }, - { - -- obsidian truncheon - itemid = 8100, - type = "deequip", - slot = "hand", - }, - { - -- dark trinity mace - itemid = 8099, - type = "equip", - slot = "hand", - level = 120, - }, - { - -- dark trinity mace - itemid = 8099, - type = "deequip", - slot = "hand", - }, - { - -- demonwing axe - itemid = 8098, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- demonwing axe - itemid = 8098, - type = "deequip", - slot = "hand", - }, - { - -- solar axe - itemid = 8097, - type = "equip", - slot = "hand", - level = 130, - }, - { - -- solar axe - itemid = 8097, - type = "deequip", - slot = "hand", - }, - { - -- hellforged axe - itemid = 8096, - type = "equip", - slot = "hand", - level = 110, - }, - { - -- hellforged axe - itemid = 8096, - type = "deequip", - slot = "hand", - }, - { - -- ranger legs - itemid = 8095, - type = "equip", - slot = "legs", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ranger legs - itemid = 8095, - type = "deequip", - slot = "legs", - }, - { - -- wand of voodoo - itemid = 8094, - type = "equip", - slot = "hand", - level = 42, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of voodoo - itemid = 8094, - type = "deequip", - slot = "hand", - level = 42, - }, - { - -- wand of draconia - itemid = 8093, - type = "equip", - slot = "hand", - level = 22, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of draconia - itemid = 8093, - type = "deequip", - slot = "hand", - level = 22, - }, - { - -- wand of starstorm - itemid = 8092, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of starstorm - itemid = 8092, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- spellbook of dark mysteries - itemid = 8090, - type = "equip", - slot = "shield", - level = 80, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of dark mysteries - itemid = 8090, - type = "deequip", - slot = "shield", - level = 80, - }, - { - -- springsprout rod - itemid = 8084, - type = "equip", - slot = "hand", - level = 37, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- springsprout rod - itemid = 8084, - type = "deequip", - slot = "hand", - level = 37, - }, - { - -- northwind rod - itemid = 8083, - type = "equip", - slot = "hand", - level = 22, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- northwind rod - itemid = 8083, - type = "deequip", - slot = "hand", - level = 22, - }, - { - -- underworld rod - itemid = 8082, - type = "equip", - slot = "hand", - level = 42, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- underworld rod - itemid = 8082, - type = "deequip", - slot = "hand", - level = 42, - }, - { - -- terran rainbow shield - itemid = 8081, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- terran rainbow shield - itemid = 8081, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- sparking rainbow shield - itemid = 8080, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sparking rainbow shield - itemid = 8080, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- icy rainbow shield - itemid = 8079, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy rainbow shield - itemid = 8079, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- fiery rainbow shield - itemid = 8078, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery rainbow shield - itemid = 8078, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- rainbow shield - itemid = 8077, - type = "equip", - slot = "shield", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rainbow shield - itemid = 8077, - type = "deequip", - slot = "shield", - level = 100, - }, - { - -- spellscroll of prophecies - itemid = 8076, - type = "equip", - slot = "shield", - level = 70, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellscroll of prophecies - itemid = 8076, - type = "deequip", - slot = "shield", - level = 70, - }, - { - -- spellbook of lost souls - itemid = 8075, - type = "equip", - slot = "shield", - level = 60, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of lost souls - itemid = 8075, - type = "deequip", - slot = "shield", - level = 60, - }, - { - -- spellbook of mind control - itemid = 8074, - type = "equip", - slot = "shield", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of mind control - itemid = 8074, - type = "deequip", - slot = "shield", - level = 50, - }, - { - -- spellbook of warding - itemid = 8073, - type = "equip", - slot = "shield", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of warding - itemid = 8073, - type = "deequip", - slot = "shield", - level = 40, - }, - { - -- spellbook of enlightenment - itemid = 8072, - type = "equip", - slot = "shield", - level = 30, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook of enlightenment - itemid = 8072, - type = "deequip", - slot = "shield", - level = 30, - }, - { - -- ethno coat - itemid = 8064, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- ethno coat - itemid = 8064, - type = "deequip", - slot = "armor", - }, - { - -- paladin armor - itemid = 8063, - type = "equip", - slot = "armor", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- paladin armor - itemid = 8063, - type = "deequip", - slot = "armor", - }, - { - -- robe of the underworld - itemid = 8062, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- robe of the underworld - itemid = 8062, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- skullcracker armor - itemid = 8061, - type = "equip", - slot = "armor", - level = 85, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- skullcracker armor - itemid = 8061, - type = "deequip", - slot = "armor", - level = 85, - }, - { - -- master archer's armor - itemid = 8060, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- master archer's armor - itemid = 8060, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- frozen plate - itemid = 8059, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- frozen plate - itemid = 8059, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- molten plate - itemid = 8058, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- molten plate - itemid = 8058, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- divine plate - itemid = 8057, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- divine plate - itemid = 8057, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- oceanborn leviathan armor - itemid = 8056, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- oceanborn leviathan armor - itemid = 8056, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- windborn colossus armor - itemid = 8055, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- windborn colossus armor - itemid = 8055, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- earthborn titan armor - itemid = 8054, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earthborn titan armor - itemid = 8054, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- fireborn giant armor - itemid = 8053, - type = "equip", - slot = "armor", - level = 100, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fireborn giant armor - itemid = 8053, - type = "deequip", - slot = "armor", - level = 100, - }, - { - -- swamplair armor - itemid = 8052, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- swamplair armor - itemid = 8052, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- voltage armor - itemid = 8051, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- voltage armor - itemid = 8051, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- crystalline armor - itemid = 8050, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crystalline armor - itemid = 8050, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- lavos armor - itemid = 8049, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- lavos armor - itemid = 8049, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- girl's dress - itemid = 8048, - type = "equip", - slot = "armor", - }, - { - -- girl's dress - itemid = 8048, - type = "deequip", - slot = "armor", - }, - { - -- tunic - itemid = 8047, - type = "equip", - slot = "armor", - }, - { - -- tunic - itemid = 8047, - type = "deequip", - slot = "armor", - }, - { - -- summer dress - itemid = 8046, - type = "equip", - slot = "armor", - }, - { - -- summer dress - itemid = 8046, - type = "deequip", - slot = "armor", - }, - { - -- hibiscus dress - itemid = 8045, - type = "equip", - slot = "armor", - }, - { - -- hibiscus dress - itemid = 8045, - type = "deequip", - slot = "armor", - }, - { - -- belted cape - itemid = 8044, - type = "equip", - slot = "armor", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- belted cape - itemid = 8044, - type = "deequip", - slot = "armor", - }, - { - -- focus cape - itemid = 8043, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- focus cape - itemid = 8043, - type = "deequip", - slot = "armor", - }, - { - -- spirit cloak - itemid = 8042, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spirit cloak - itemid = 8042, - type = "deequip", - slot = "armor", - }, - { - -- greenwood coat - itemid = 8041, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- greenwood coat - itemid = 8041, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- velvet mantle - itemid = 8040, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- velvet mantle - itemid = 8040, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- dragon robe - itemid = 8039, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- dragon robe - itemid = 8039, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- robe of the ice queen - itemid = 8038, - type = "equip", - slot = "armor", - level = 75, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- robe of the ice queen - itemid = 8038, - type = "deequip", - slot = "armor", - level = 75, - }, - { - -- dark lord's cape - itemid = 8037, - type = "equip", - slot = "armor", - level = 65, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- dark lord's cape - itemid = 8037, - type = "deequip", - slot = "armor", - level = 65, - }, - { - -- elethriel's elemental bow - itemid = 8030, - type = "equip", - slot = "hand", - level = 70, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- elethriel's elemental bow - itemid = 8030, - type = "deequip", - slot = "hand", - }, - { - -- silkweaver bow - itemid = 8029, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- silkweaver bow - itemid = 8029, - type = "deequip", - slot = "hand", - }, - { - -- yol's bow - itemid = 8028, - type = "equip", - slot = "hand", - level = 60, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- yol's bow - itemid = 8028, - type = "deequip", - slot = "hand", - }, - { - -- composite hornbow - itemid = 8027, - type = "equip", - slot = "hand", - level = 50, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- composite hornbow - itemid = 8027, - type = "deequip", - slot = "hand", - }, - { - -- warsinger bow - itemid = 8026, - type = "equip", - slot = "hand", - level = 80, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- warsinger bow - itemid = 8026, - type = "deequip", - slot = "hand", - }, - { - -- The ironworker - itemid = 8025, - type = "equip", - slot = "hand", - level = 80, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- The ironworker - itemid = 8025, - type = "deequip", - slot = "hand", - }, - { - -- The Devileye - itemid = 8024, - type = "equip", - slot = "hand", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- The Devileye - itemid = 8024, - type = "deequip", - slot = "hand", - level = 100, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- royal crossbow - itemid = 8023, - type = "equip", - slot = "hand", - level = 130, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- royal crossbow - itemid = 8023, - type = "deequip", - slot = "hand", - }, - { - -- chain bolter - itemid = 8022, - type = "equip", - slot = "hand", - level = 60, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- chain bolter - itemid = 8022, - type = "deequip", - slot = "hand", - }, - { - -- modified crossbow - itemid = 8021, - type = "equip", - slot = "hand", - level = 45, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- modified crossbow - itemid = 8021, - type = "deequip", - slot = "hand", - }, - { - -- witchhunter's coat - itemid = 7993, - type = "equip", - slot = "armor", - level = 50, - }, - { - -- witchhunter's coat - itemid = 7993, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- mage hat - itemid = 7992, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- mage hat - itemid = 7992, - type = "deequip", - slot = "head", - }, - { - -- magician's robe - itemid = 7991, - type = "equip", - slot = "armor", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magician's robe - itemid = 7991, - type = "deequip", - slot = "armor", - }, - { - -- jagged sword - itemid = 7774, - type = "equip", - slot = "hand", - }, - { - -- jagged sword - itemid = 7774, - type = "deequip", - slot = "hand", - }, - { - -- steel axe - itemid = 7773, - type = "equip", - slot = "hand", - }, - { - -- steel axe - itemid = 7773, - type = "deequip", - slot = "hand", - }, - { - -- Jerom's family necklace - itemid = 7754, - type = "equip", - slot = "necklace", - }, - { - -- Jerom's family necklace - itemid = 7754, - type = "deequip", - slot = "necklace", - }, - { - -- Koshei's ancient amulet - itemid = 7532, - type = "equip", - slot = "necklace", - }, - { - -- Koshei's ancient amulet - itemid = 7532, - type = "deequip", - slot = "necklace", - }, - { - -- viper star - itemid = 7366, - type = "equip", - slot = "hand", - }, - { - -- viper star - itemid = 7366, - type = "deequip", - slot = "hand", - }, - { - -- crimson sword - itemid = 860, - type = "equip", - slot = "hand", - }, - { - -- crimson sword - itemid = 860, - type = "deequip", - slot = "hand", - }, - { - -- shapeshifter ring - itemid = 908, - type = "equip", - slot = "ring", - }, - { - -- shapeshifter ring - itemid = 908, - type = "deequip", - slot = "ring", - }, - { - -- shapeshifter ring - itemid = 907, - type = "equip", - slot = "ring", - }, - { - -- shapeshifter ring - itemid = 907, - type = "deequip", - slot = "ring", - }, - { - -- Throwing Cake - itemid = 904, - type = "equip", - slot = "ring", - }, - { - -- Throwing Cake - itemid = 904, - type = "deequip", - slot = "ring", - }, - { - -- jester hat - itemid = 894, - type = "equip", - slot = "head", - }, - { - -- jester hat - itemid = 894, - type = "deequip", - slot = "head", - }, - { - -- terra hood - itemid = 830, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra hood - itemid = 830, - type = "deequip", - slot = "head", - }, - { - -- glacier mask - itemid = 829, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier mask - itemid = 829, - type = "deequip", - slot = "head", - }, - { - -- lightning headband - itemid = 828, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning headband - itemid = 828, - type = "deequip", - slot = "head", - }, - { - -- magma monocle - itemid = 827, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma monocle - itemid = 827, - type = "deequip", - slot = "head", - }, - { - -- magma coat - itemid = 826, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma coat - itemid = 826, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- lightning robe - itemid = 825, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning robe - itemid = 825, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- glacier robe - itemid = 824, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier robe - itemid = 824, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- glacier kilt - itemid = 823, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier kilt - itemid = 823, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- lightning legs - itemid = 822, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning legs - itemid = 822, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- magma legs - itemid = 821, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma legs - itemid = 821, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- lightning boots - itemid = 820, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- lightning boots - itemid = 820, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- glacier shoes - itemid = 819, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- glacier shoes - itemid = 819, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- magma boots - itemid = 818, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- magma boots - itemid = 818, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- magma amulet - itemid = 817, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- magma amulet - itemid = 817, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- lightning pendant - itemid = 816, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- lightning pendant - itemid = 816, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- glacier amulet - itemid = 815, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- glacier amulet - itemid = 815, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- terra amulet - itemid = 814, - type = "equip", - slot = "necklace", - level = 60, - }, - { - -- terra amulet - itemid = 814, - type = "deequip", - slot = "necklace", - level = 60, - }, - { - -- terra boots - itemid = 813, - type = "equip", - slot = "feet", - level = 35, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra boots - itemid = 813, - type = "deequip", - slot = "feet", - level = 35, - }, - { - -- terra legs - itemid = 812, - type = "equip", - slot = "legs", - level = 40, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra legs - itemid = 812, - type = "deequip", - slot = "legs", - level = 40, - }, - { - -- terra mantle - itemid = 811, - type = "equip", - slot = "armor", - level = 50, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- terra mantle - itemid = 811, - type = "deequip", - slot = "armor", - level = 50, - }, - { - -- energy war hammer - itemid = 810, - type = "equip", - slot = "hand", - }, - { - -- energy war hammer - itemid = 810, - type = "deequip", - slot = "hand", - }, - { - -- energy orcish maul - itemid = 809, - type = "equip", - slot = "hand", - }, - { - -- energy orcish maul - itemid = 809, - type = "deequip", - slot = "hand", - }, - { - -- energy cranial basher - itemid = 808, - type = "equip", - slot = "hand", - }, - { - -- energy cranial basher - itemid = 808, - type = "deequip", - slot = "hand", - }, - { - -- energy crystal mace - itemid = 807, - type = "equip", - slot = "hand", - }, - { - -- energy crystal mace - itemid = 807, - type = "deequip", - slot = "hand", - }, - { - -- energy clerical mace - itemid = 806, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- energy clerical mace - itemid = 806, - type = "deequip", - slot = "hand", - }, - { - -- energy war axe - itemid = 805, - type = "equip", - slot = "hand", - }, - { - -- energy war axe - itemid = 805, - type = "deequip", - slot = "hand", - }, - { - -- energy headchopper - itemid = 804, - type = "equip", - slot = "hand", - }, - { - -- energy headchopper - itemid = 804, - type = "deequip", - slot = "hand", - }, - { - -- energy heroic axe - itemid = 803, - type = "equip", - slot = "hand", - }, - { - -- energy heroic axe - itemid = 803, - type = "deequip", - slot = "hand", - }, - { - -- energy knight axe - itemid = 802, - type = "equip", - slot = "hand", - }, - { - -- energy knight axe - itemid = 802, - type = "deequip", - slot = "hand", - }, - { - -- energy barbarian axe - itemid = 801, - type = "equip", - slot = "hand", - }, - { - -- energy barbarian axe - itemid = 801, - type = "deequip", - slot = "hand", - }, - { - -- energy dragon slayer - itemid = 798, - type = "equip", - slot = "hand", - level = 45, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy dragon slayer - itemid = 798, - type = "deequip", - slot = "hand", - }, - { - -- energy blacksteel sword - itemid = 797, - type = "equip", - slot = "hand", - }, - { - -- energy blacksteel sword - itemid = 797, - type = "deequip", - slot = "hand", - }, - { - -- energy mystic blade - itemid = 796, - type = "equip", - slot = "hand", - }, - { - -- energy mystic blade - itemid = 796, - type = "deequip", - slot = "hand", - }, - { - -- energy relic sword - itemid = 795, - type = "equip", - slot = "hand", - }, - { - -- energy relic sword - itemid = 795, - type = "deequip", - slot = "hand", - }, - { - -- energy spike sword - itemid = 794, - type = "equip", - slot = "hand", - }, - { - -- energy spike sword - itemid = 794, - type = "deequip", - slot = "hand", - }, - { - -- earth war hammer - itemid = 793, - type = "equip", - slot = "hand", - }, - { - -- earth war hammer - itemid = 793, - type = "deequip", - slot = "hand", - }, - { - -- earth orcish maul - itemid = 792, - type = "equip", - slot = "hand", - }, - { - -- earth orcish maul - itemid = 792, - type = "deequip", - slot = "hand", - }, - { - -- earth cranial basher - itemid = 791, - type = "equip", - slot = "hand", - }, - { - -- earth cranial basher - itemid = 791, - type = "deequip", - slot = "hand", - }, - { - -- earth crystal mace - itemid = 790, - type = "equip", - slot = "hand", - level = 35, - }, - { - -- earth crystal mace - itemid = 790, - type = "deequip", - slot = "hand", - }, - { - -- earth clerical mace - itemid = 789, - type = "equip", - slot = "hand", - }, - { - -- earth clerical mace - itemid = 789, - type = "deequip", - slot = "hand", - }, - { - -- earth war axe - itemid = 788, - type = "equip", - slot = "hand", - }, - { - -- earth war axe - itemid = 788, - type = "deequip", - slot = "hand", - }, - { - -- earth headchopper - itemid = 787, - type = "equip", - slot = "hand", - }, - { - -- earth headchopper - itemid = 787, - type = "deequip", - slot = "hand", - }, - { - -- earth heroic axe - itemid = 786, - type = "equip", - slot = "hand", - }, - { - -- earth heroic axe - itemid = 786, - type = "deequip", - slot = "hand", - }, - { - -- earth knight axe - itemid = 785, - type = "equip", - slot = "hand", - }, - { - -- earth knight axe - itemid = 785, - type = "deequip", - slot = "hand", - }, - { - -- earth barbarian axe - itemid = 784, - type = "equip", - slot = "hand", - }, - { - -- earth barbarian axe - itemid = 784, - type = "deequip", - slot = "hand", - }, - { - -- earth dragon slayer - itemid = 783, - type = "equip", - slot = "hand", - }, - { - -- earth dragon slayer - itemid = 783, - type = "deequip", - slot = "hand", - }, - { - -- earth blacksteel sword - itemid = 782, - type = "equip", - slot = "hand", - }, - { - -- earth blacksteel sword - itemid = 782, - type = "deequip", - slot = "hand", - }, - { - -- earth mystic blade - itemid = 781, - type = "equip", - slot = "hand", - }, - { - -- earth mystic blade - itemid = 781, - type = "deequip", - slot = "hand", - }, - { - -- earth relic sword - itemid = 780, - type = "equip", - slot = "hand", - }, - { - -- earth relic sword - itemid = 780, - type = "deequip", - slot = "hand", - }, - { - -- earth spike sword - itemid = 779, - type = "equip", - slot = "hand", - }, - { - -- earth spike sword - itemid = 779, - type = "deequip", - slot = "hand", - }, - { - -- earth arrow - itemid = 774, - type = "equip", - slot = "ammo", - }, - { - -- earth arrow - itemid = 774, - type = "deequip", - slot = "ammo", - }, - { - -- flaming arrow - itemid = 763, - type = "equip", - slot = "ammo", - }, - { - -- flaming arrow - itemid = 763, - type = "deequip", - slot = "ammo", - }, - { - -- shiver arrow - itemid = 762, - type = "equip", - slot = "ammo", - }, - { - -- shiver arrow - itemid = 762, - type = "deequip", - slot = "ammo", - }, - { - -- flash arrow - itemid = 761, - type = "equip", - slot = "ammo", - }, - { - -- flash arrow - itemid = 761, - type = "deequip", - slot = "ammo", - }, - { - -- icy war hammer - itemid = 693, - type = "equip", - slot = "hand", - }, - { - -- icy war hammer - itemid = 693, - type = "deequip", - slot = "hand", - }, - { - -- icy orcish maul - itemid = 692, - type = "equip", - slot = "hand", - }, - { - -- icy orcish maul - itemid = 692, - type = "deequip", - slot = "hand", - }, - { - -- icy cranial basher - itemid = 691, - type = "equip", - slot = "hand", - }, - { - -- icy cranial basher - itemid = 691, - type = "deequip", - slot = "hand", - }, - { - -- icy crystal mace - itemid = 690, - type = "equip", - slot = "hand", - }, - { - -- icy crystal mace - itemid = 690, - type = "deequip", - slot = "hand", - }, - { - -- icy clerical mace - itemid = 689, - type = "equip", - slot = "hand", - }, - { - -- icy clerical mace - itemid = 689, - type = "deequip", - slot = "hand", - }, - { - -- icy war axe - itemid = 688, - type = "equip", - slot = "hand", - }, - { - -- icy war axe - itemid = 688, - type = "deequip", - slot = "hand", - }, - { - -- icy headchopper - itemid = 687, - type = "equip", - slot = "hand", - }, - { - -- icy headchopper - itemid = 687, - type = "deequip", - slot = "hand", - }, - { - -- icy heroic axe - itemid = 686, - type = "equip", - slot = "hand", - }, - { - -- icy heroic axe - itemid = 686, - type = "deequip", - slot = "hand", - }, - { - -- icy knight axe - itemid = 685, - type = "equip", - slot = "hand", - }, - { - -- icy knight axe - itemid = 685, - type = "deequip", - slot = "hand", - }, - { - -- icy barbarian axe - itemid = 684, - type = "equip", - slot = "hand", - }, - { - -- icy barbarian axe - itemid = 684, - type = "deequip", - slot = "hand", - }, - { - -- icy dragon slayer - itemid = 683, - type = "equip", - slot = "hand", - }, - { - -- icy dragon slayer - itemid = 683, - type = "deequip", - slot = "hand", - }, - { - -- icy blacksteel sword - itemid = 682, - type = "equip", - slot = "hand", - }, - { - -- icy blacksteel sword - itemid = 682, - type = "deequip", - slot = "hand", - }, - { - -- icy mystic blade - itemid = 681, - type = "equip", - slot = "hand", - }, - { - -- icy mystic blade - itemid = 681, - type = "deequip", - slot = "hand", - }, - { - -- icy relic sword - itemid = 680, - type = "equip", - slot = "hand", - }, - { - -- icy relic sword - itemid = 680, - type = "deequip", - slot = "hand", - }, - { - -- icy spike sword - itemid = 679, - type = "equip", - slot = "hand", - }, - { - -- icy spike sword - itemid = 679, - type = "deequip", - slot = "hand", - }, - { - -- fiery war hammer - itemid = 674, - type = "equip", - slot = "hand", - }, - { - -- fiery war hammer - itemid = 674, - type = "deequip", - slot = "hand", - }, - { - -- fiery orcish maul - itemid = 673, - type = "equip", - slot = "hand", - }, - { - -- fiery orcish maul - itemid = 673, - type = "deequip", - slot = "hand", - }, - { - -- fiery cranial basher - itemid = 672, - type = "equip", - slot = "hand", - }, - { - -- fiery cranial basher - itemid = 672, - type = "deequip", - slot = "hand", - }, - { - -- fiery crystal mace - itemid = 671, - type = "equip", - slot = "hand", - }, - { - -- fiery crystal mace - itemid = 671, - type = "deequip", - slot = "hand", - }, - { - -- fiery clerical mace - itemid = 670, - type = "equip", - slot = "hand", - }, - { - -- fiery clerical mace - itemid = 670, - type = "deequip", - slot = "hand", - }, - { - -- fiery war axe - itemid = 669, - type = "equip", - slot = "hand", - }, - { - -- fiery war axe - itemid = 669, - type = "deequip", - slot = "hand", - }, - { - -- fiery headchopper - itemid = 668, - type = "equip", - slot = "hand", - }, - { - -- fiery headchopper - itemid = 668, - type = "deequip", - slot = "hand", - }, - { - -- fiery heroic axe - itemid = 667, - type = "equip", - slot = "hand", - }, - { - -- fiery heroic axe - itemid = 667, - type = "deequip", - slot = "hand", - }, - { - -- fiery knight axe - itemid = 666, - type = "equip", - slot = "hand", - }, - { - -- fiery knight axe - itemid = 666, - type = "deequip", - slot = "hand", - }, - { - -- fiery barbarian axe - itemid = 665, - type = "equip", - slot = "hand", - }, - { - -- fiery barbarian axe - itemid = 665, - type = "deequip", - slot = "hand", - }, - { - -- fiery dragon slayer - itemid = 664, - type = "equip", - slot = "hand", - }, - { - -- fiery dragon slayer - itemid = 664, - type = "deequip", - slot = "hand", - }, - { - -- fiery blacksteel sword - itemid = 663, - type = "equip", - slot = "hand", - }, - { - -- fiery blacksteel sword - itemid = 663, - type = "deequip", - slot = "hand", - }, - { - -- fiery mystic blade - itemid = 662, - type = "equip", - slot = "hand", - }, - { - -- fiery mystic blade - itemid = 662, - type = "deequip", - slot = "hand", - }, - { - -- fiery relic sword - itemid = 661, - type = "equip", - slot = "hand", - }, - { - -- fiery relic sword - itemid = 661, - type = "deequip", - slot = "hand", - }, - { - -- fiery spike sword - itemid = 660, - type = "equip", - slot = "hand", - }, - { - -- fiery spike sword - itemid = 660, - type = "deequip", - slot = "hand", - }, - { - -- blue legs - itemid = 645, - type = "equip", - slot = "legs", - }, - { - -- blue legs - itemid = 645, - type = "deequip", - slot = "legs", - }, - { - -- family signet ring - itemid = 406, - type = "equip", - slot = "ring", - }, - { - -- family signet ring - itemid = 406, - type = "deequip", - slot = "ring", - }, - { - -- suspicious signet ring - itemid = 349, - type = "equip", - slot = "ring", - }, - { - -- suspicious signet ring - itemid = 349, - type = "deequip", - slot = "ring", - }, - { - -- mining helmet - itemid = 875, - type = "equip", - slot = "head", - }, - { - -- mining helmet - itemid = 875, - type = "deequip", - slot = "head", - }, - { - -- mammoth fur shorts - itemid = 7464, - type = "equip", - slot = "legs", - }, - { - -- mammoth fur shorts - itemid = 7464, - type = "deequip", - slot = "legs", - }, - { - -- mammoth fur cape - itemid = 7463, - type = "equip", - slot = "armor", - }, - { - -- mammoth fur cape - itemid = 7463, - type = "deequip", - slot = "armor", - }, - { - -- ragnir helmet - itemid = 7462, - type = "equip", - slot = "head", - }, - { - -- ragnir helmet - itemid = 7462, - type = "deequip", - slot = "head", - }, - { - -- krimhorn helmet - itemid = 7461, - type = "equip", - slot = "head", - }, - { - -- krimhorn helmet - itemid = 7461, - type = "deequip", - slot = "head", - }, - { - -- norse shield - itemid = 7460, - type = "equip", - slot = "shield", - }, - { - -- norse shield - itemid = 7460, - type = "deequip", - slot = "shield", - }, - { - -- pair of earmuffs - itemid = 7459, - type = "equip", - slot = "head", - }, - { - -- pair of earmuffs - itemid = 7459, - type = "deequip", - slot = "head", - }, - { - -- fur cap - itemid = 7458, - type = "equip", - slot = "head", - }, - { - -- fur cap - itemid = 7458, - type = "deequip", - slot = "head", - }, - { - -- fur boots - itemid = 7457, - type = "equip", - slot = "feet", - }, - { - -- fur boots - itemid = 7457, - type = "deequip", - slot = "feet", - }, - { - -- noble axe - itemid = 7456, - type = "equip", - slot = "hand", - level = 35, - }, - { - -- noble axe - itemid = 7456, - type = "deequip", - slot = "hand", - }, - { - -- mythril axe - itemid = 7455, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- mythril axe - itemid = 7455, - type = "deequip", - slot = "hand", - }, - { - -- glorious axe - itemid = 7454, - type = "equip", - slot = "hand", - level = 30, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glorious axe - itemid = 7454, - type = "deequip", - slot = "hand", - }, - { - -- executioner - itemid = 7453, - type = "equip", - slot = "hand", - level = 85, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- executioner - itemid = 7453, - type = "deequip", - slot = "hand", - }, - { - -- spiked squelcher - itemid = 7452, - type = "equip", - slot = "hand", - level = 30, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spiked squelcher - itemid = 7452, - type = "deequip", - slot = "hand", - }, - { - -- shadow sceptre - itemid = 7451, - type = "equip", - slot = "hand", - level = 35, - }, - { - -- shadow sceptre - itemid = 7451, - type = "deequip", - slot = "hand", - }, - { - -- hammer of prophecy - itemid = 7450, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- hammer of prophecy - itemid = 7450, - type = "deequip", - slot = "hand", - }, - { - -- crystal sword - itemid = 7449, - type = "equip", - slot = "hand", - level = 25, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crystal sword - itemid = 7449, - type = "deequip", - slot = "hand", - }, - { - -- elvish bow - itemid = 7438, - type = "equip", - slot = "hand", - }, - { - -- elvish bow - itemid = 7438, - type = "deequip", - slot = "hand", - }, - { - -- sapphire hammer - itemid = 7437, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- sapphire hammer - itemid = 7437, - type = "deequip", - slot = "hand", - }, - { - -- angelic axe - itemid = 7436, - type = "equip", - slot = "hand", - level = 45, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- angelic axe - itemid = 7436, - type = "deequip", - slot = "hand", - }, - { - -- impaler - itemid = 7435, - type = "equip", - slot = "hand", - level = 85, - }, - { - -- impaler - itemid = 7435, - type = "deequip", - slot = "hand", - }, - { - -- royal axe - itemid = 7434, - type = "equip", - slot = "hand", - level = 75, - }, - { - -- royal axe - itemid = 7434, - type = "deequip", - slot = "hand", - }, - { - -- ravenwing - itemid = 7433, - type = "equip", - slot = "hand", - level = 65, - }, - { - -- ravenwing - itemid = 7433, - type = "deequip", - slot = "hand", - }, - { - -- furry club - itemid = 7432, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- furry club - itemid = 7432, - type = "deequip", - slot = "hand", - }, - { - -- demonbone - itemid = 7431, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- demonbone - itemid = 7431, - type = "deequip", - slot = "hand", - }, - { - -- dragonbone staff - itemid = 7430, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- dragonbone staff - itemid = 7430, - type = "deequip", - slot = "hand", - }, - { - -- blessed sceptre - itemid = 7429, - type = "equip", - slot = "hand", - level = 75, - }, - { - -- blessed sceptre - itemid = 7429, - type = "deequip", - slot = "hand", - }, - { - -- bonebreaker - itemid = 7428, - type = "equip", - slot = "hand", - level = 55, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- bonebreaker - itemid = 7428, - type = "deequip", - slot = "hand", - }, - { - -- chaos mace - itemid = 7427, - type = "equip", - slot = "hand", - level = 45, - }, - { - -- chaos mace - itemid = 7427, - type = "deequip", - slot = "hand", - }, - { - -- amber staff - itemid = 7426, - type = "equip", - slot = "hand", - level = 40, - }, - { - -- amber staff - itemid = 7426, - type = "deequip", - slot = "hand", - }, - { - -- taurus mace - itemid = 7425, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- taurus mace - itemid = 7425, - type = "deequip", - slot = "hand", - }, - { - -- lunar staff - itemid = 7424, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- lunar staff - itemid = 7424, - type = "deequip", - slot = "hand", - }, - { - -- skullcrusher - itemid = 7423, - type = "equip", - slot = "hand", - level = 85, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- skullcrusher - itemid = 7423, - type = "deequip", - slot = "hand", - }, - { - -- jade hammer - itemid = 7422, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- jade hammer - itemid = 7422, - type = "deequip", - slot = "hand", - }, - { - -- onyx flail - itemid = 7421, - type = "equip", - slot = "hand", - level = 65, - }, - { - -- onyx flail - itemid = 7421, - type = "deequip", - slot = "hand", - }, - { - -- reaper's axe - itemid = 7420, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- reaper's axe - itemid = 7420, - type = "deequip", - slot = "hand", - }, - { - -- dreaded cleaver - itemid = 7419, - type = "equip", - slot = "hand", - level = 40, - }, - { - -- dreaded cleaver - itemid = 7419, - type = "deequip", - slot = "hand", - }, - { - -- nightmare blade - itemid = 7418, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- nightmare blade - itemid = 7418, - type = "deequip", - slot = "hand", - }, - { - -- runed sword - itemid = 7417, - type = "equip", - slot = "hand", - level = 65, - }, - { - -- runed sword - itemid = 7417, - type = "deequip", - slot = "hand", - }, - { - -- bloody edge - itemid = 7416, - type = "equip", - slot = "hand", - level = 55, - }, - { - -- bloody edge - itemid = 7416, - type = "deequip", - slot = "hand", - level = 55, - }, - { - -- cranial basher - itemid = 7415, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- cranial basher - itemid = 7415, - type = "deequip", - slot = "hand", - }, - { - -- abyss hammer - itemid = 7414, - type = "equip", - slot = "hand", - level = 60, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- abyss hammer - itemid = 7414, - type = "deequip", - slot = "hand", - }, - { - -- titan axe - itemid = 7413, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- titan axe - itemid = 7413, - type = "deequip", - slot = "hand", - }, - { - -- butcher's axe - itemid = 7412, - type = "equip", - slot = "hand", - level = 45, - }, - { - -- butcher's axe - itemid = 7412, - type = "deequip", - slot = "hand", - }, - { - -- ornamented axe - itemid = 7411, - type = "equip", - slot = "hand", - level = 50, - }, - { - -- ornamented axe - itemid = 7411, - type = "deequip", - slot = "hand", - }, - { - -- queen's sceptre - itemid = 7410, - type = "equip", - slot = "hand", - level = 55, - }, - { - -- queen's sceptre - itemid = 7410, - type = "deequip", - slot = "hand", - }, - { - -- northern star - itemid = 7409, - type = "equip", - slot = "hand", - level = 50, - }, - { - -- northern star - itemid = 7409, - type = "deequip", - slot = "hand", - }, - { - -- wyvern fang - itemid = 7408, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- wyvern fang - itemid = 7408, - type = "deequip", - slot = "hand", - }, - { - -- haunted blade - itemid = 7407, - type = "equip", - slot = "hand", - level = 30, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- haunted blade - itemid = 7407, - type = "deequip", - slot = "hand", - }, - { - -- blacksteel sword - itemid = 7406, - type = "equip", - slot = "hand", - level = 35, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blacksteel sword - itemid = 7406, - type = "deequip", - slot = "hand", - level = 35, - }, - { - -- havoc blade - itemid = 7405, - type = "equip", - slot = "hand", - level = 70, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- havoc blade - itemid = 7405, - type = "deequip", - slot = "hand", - }, - { - -- assassin dagger - itemid = 7404, - type = "equip", - slot = "hand", - level = 40, - }, - { - -- assassin dagger - itemid = 7404, - type = "deequip", - slot = "hand", - level = 40, - }, - { - -- berserker - itemid = 7403, - type = "equip", - slot = "hand", - level = 65, - }, - { - -- berserker - itemid = 7403, - type = "deequip", - slot = "hand", - level = 65, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- dragon slayer - itemid = 7402, - type = "equip", - slot = "hand", - level = 45, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- dragon slayer - itemid = 7402, - type = "deequip", - slot = "hand", - }, - { - -- orcish maul - itemid = 7392, - type = "equip", - slot = "hand", - level = 35, - }, - { - -- orcish maul - itemid = 7392, - type = "deequip", - slot = "hand", - }, - { - -- thaian sword - itemid = 7391, - type = "equip", - slot = "hand", - level = 50, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- thaian sword - itemid = 7391, - type = "deequip", - slot = "hand", - }, - { - -- the justice seeker - itemid = 7390, - type = "equip", - slot = "hand", - level = 75, - }, - { - -- the justice seeker - itemid = 7390, - type = "deequip", - slot = "hand", - }, - { - -- heroic axe - itemid = 7389, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- heroic axe - itemid = 7389, - type = "deequip", - slot = "hand", - }, - { - -- vile axe - itemid = 7388, - type = "equip", - slot = "hand", - level = 55, - }, - { - -- vile axe - itemid = 7388, - type = "deequip", - slot = "hand", - }, - { - -- diamond sceptre - itemid = 7387, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- diamond sceptre - itemid = 7387, - type = "deequip", - slot = "hand", - }, - { - -- mercenary sword - itemid = 7386, - type = "equip", - slot = "hand", - level = 40, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mercenary sword - itemid = 7386, - type = "deequip", - slot = "hand", - }, - { - -- crimson sword - itemid = 7385, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- crimson sword - itemid = 7385, - type = "deequip", - slot = "hand", - level = 20, - }, - { - -- mystic blade - itemid = 7384, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- mystic blade - itemid = 7384, - type = "deequip", - slot = "hand", - }, - { - -- relic sword - itemid = 7383, - type = "equip", - slot = "hand", - level = 50, - }, - { - -- relic sword - itemid = 7383, - type = "deequip", - slot = "hand", - }, - { - -- demonrage sword - itemid = 7382, - type = "equip", - slot = "hand", - level = 60, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- demonrage sword - itemid = 7382, - type = "deequip", - slot = "hand", - }, - { - -- mammoth whopper - itemid = 7381, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- mammoth whopper - itemid = 7381, - type = "deequip", - slot = "hand", - }, - { - -- headchopper - itemid = 7380, - type = "equip", - slot = "hand", - level = 35, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- headchopper - itemid = 7380, - type = "deequip", - slot = "hand", - }, - { - -- brutetamer's staff - itemid = 7379, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- brutetamer's staff - itemid = 7379, - type = "deequip", - slot = "hand", - }, - { - -- royal spear - itemid = 7378, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- royal spear - itemid = 7378, - type = "deequip", - slot = "hand", - level = 25, - }, - { - -- assassin star - itemid = 7368, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- assassin star - itemid = 7368, - type = "deequip", - slot = "hand", - level = 80, - }, - { - -- enchanted spear - itemid = 7367, - type = "equip", - slot = "hand", - level = 42, - }, - { - -- enchanted spear - itemid = 7367, - type = "deequip", - slot = "hand", - level = 42, - }, - { - -- onyx arrow - itemid = 7365, - type = "equip", - slot = "ammo", - }, - { - -- onyx arrow - itemid = 7365, - type = "deequip", - slot = "ammo", - }, - { - -- sniper arrow - itemid = 7364, - type = "equip", - slot = "ammo", - }, - { - -- sniper arrow - itemid = 7364, - type = "deequip", - slot = "ammo", - }, - { - -- piercing bolt - itemid = 7363, - type = "equip", - slot = "ammo", - }, - { - -- piercing bolt - itemid = 7363, - type = "deequip", - slot = "ammo", - }, - { - -- flame of life - itemid = 7360, - type = "additem", - }, - { - -- flame of life - itemid = 7359, - type = "stepin", - }, - { - -- fur bag - itemid = 7343, - type = "equip", - slot = "backpack", - }, - { - -- fur bag - itemid = 7343, - type = "deequip", - slot = "backpack", - }, - { - -- fur backpack - itemid = 7342, - type = "equip", - slot = "backpack", - }, - { - -- fur backpack - itemid = 7342, - type = "deequip", - slot = "backpack", - }, - { - -- party hat - itemid = 6578, - type = "equip", - slot = "head", - }, - { - -- party hat - itemid = 6578, - type = "deequip", - slot = "head", - }, - { - -- ruthless axe - itemid = 6553, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ruthless axe - itemid = 6553, - type = "deequip", - slot = "hand", - }, - { - -- santa hat - itemid = 6531, - type = "equip", - slot = "head", - }, - { - -- santa hat - itemid = 6531, - type = "deequip", - slot = "head", - }, - { - -- infernal bolt - itemid = 6528, - type = "equip", - slot = "ammo", - }, - { - -- infernal bolt - itemid = 6528, - type = "deequip", - slot = "ammo", - }, - { - -- the avenger - itemid = 6527, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- the avenger - itemid = 6527, - type = "deequip", - slot = "hand", - }, - { - -- necromancer shield - itemid = 6432, - type = "equip", - slot = "shield", - }, - { - -- necromancer shield - itemid = 6432, - type = "deequip", - slot = "shield", - }, - { - -- nightmare shield - itemid = 6390, - type = "equip", - slot = "shield", - }, - { - -- nightmare shield - itemid = 6390, - type = "deequip", - slot = "shield", - }, - { - -- death ring - itemid = 6300, - type = "equip", - slot = "ring", - }, - { - -- death ring - itemid = 6300, - type = "deequip", - slot = "ring", - }, - { - -- death ring - itemid = 6299, - type = "equip", - slot = "ring", - }, - { - -- death ring - itemid = 6299, - type = "deequip", - slot = "ring", - }, - { - -- pair of soft boots - itemid = 6529, - type = "equip", - slot = "feet", - }, - { - -- pair of soft boots - itemid = 6529, - type = "deequip", - slot = "feet", - }, - { - -- tortoise shield - itemid = 6131, - type = "equip", - slot = "shield", - }, - { - -- tortoise shield - itemid = 6131, - type = "deequip", - slot = "shield", - }, - { - -- Dragha's spellbook - itemid = 6120, - type = "equip", - slot = "shield", - }, - { - -- Dragha's spellbook - itemid = 6120, - type = "deequip", - slot = "shield", - }, - { - -- Ron the Ripper's sabre - itemid = 6101, - type = "equip", - slot = "hand", - }, - { - -- Ron the Ripper's sabre - itemid = 6101, - type = "deequip", - slot = "hand", - }, - { - -- pirate hat - itemid = 6096, - type = "equip", - slot = "head", - }, - { - -- pirate hat - itemid = 6096, - type = "deequip", - slot = "head", - }, - { - -- pirate shirt - itemid = 6095, - type = "equip", - slot = "armor", - }, - { - -- pirate shirt - itemid = 6095, - type = "deequip", - slot = "armor", - }, - { - -- beach bag - itemid = 5950, - type = "equip", - slot = "backpack", - }, - { - -- beach bag - itemid = 5950, - type = "deequip", - slot = "backpack", - }, - { - -- beach backpack - itemid = 5949, - type = "equip", - slot = "backpack", - }, - { - -- beach backpack - itemid = 5949, - type = "deequip", - slot = "backpack", - }, - { - -- pirate bag - itemid = 5927, - type = "equip", - slot = "backpack", - }, - { - -- pirate bag - itemid = 5927, - type = "deequip", - slot = "backpack", - }, - { - -- pirate backpack - itemid = 5926, - type = "equip", - slot = "backpack", - }, - { - -- pirate backpack - itemid = 5926, - type = "deequip", - slot = "backpack", - }, - { - -- pirate knee breeches - itemid = 5918, - type = "equip", - slot = "legs", - }, - { - -- pirate knee breeches - itemid = 5918, - type = "deequip", - slot = "legs", - }, - { - -- bandana - itemid = 5917, - type = "equip", - slot = "head", - }, - { - -- bandana - itemid = 5917, - type = "deequip", - slot = "head", - }, - { - -- Ferumbras' hat - itemid = 5903, - type = "equip", - slot = "head", - }, - { - -- Ferumbras' hat - itemid = 5903, - type = "deequip", - slot = "head", - }, - { - -- arbalest - itemid = 5803, - type = "equip", - slot = "hand", - level = 75, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- arbalest - itemid = 5803, - type = "deequip", - slot = "hand", - }, - { - -- jewelled backpack - itemid = 5801, - type = "equip", - slot = "backpack", - }, - { - -- jewelled backpack - itemid = 5801, - type = "deequip", - slot = "backpack", - }, - { - -- skull helmet - itemid = 5741, - type = "equip", - slot = "head", - }, - { - -- skull helmet - itemid = 5741, - type = "deequip", - slot = "head", - }, - { - -- pirate boots - itemid = 5461, - type = "equip", - slot = "feet", - }, - { - -- pirate boots - itemid = 5461, - type = "deequip", - slot = "feet", - }, - { - -- helmet of the deep - itemid = 5460, - type = "equip", - slot = "head", - }, - { - -- helmet of the deep - itemid = 5460, - type = "deequip", - slot = "head", - }, - { - -- spectral dress - itemid = 4836, - type = "equip", - slot = "armor", - }, - { - -- spectral dress - itemid = 4836, - type = "deequip", - slot = "armor", - }, - { - -- bast skirt - itemid = 3560, - type = "equip", - slot = "legs", - }, - { - -- bast skirt - itemid = 3560, - type = "deequip", - slot = "legs", - }, - { - -- crocodile boots - itemid = 3556, - type = "equip", - slot = "feet", - }, - { - -- crocodile boots - itemid = 3556, - type = "deequip", - slot = "feet", - }, - { - -- salamander shield - itemid = 3445, - type = "equip", - slot = "shield", - }, - { - -- salamander shield - itemid = 3445, - type = "deequip", - slot = "shield", - }, - { - -- sentinel shield - itemid = 3444, - type = "equip", - slot = "shield", - }, - { - -- sentinel shield - itemid = 3444, - type = "deequip", - slot = "shield", - }, - { - -- tusk shield - itemid = 3443, - type = "equip", - slot = "shield", - }, - { - -- tusk shield - itemid = 3443, - type = "deequip", - slot = "shield", - }, - { - -- bonelord helmet - itemid = 3408, - type = "equip", - slot = "head", - }, - { - -- bonelord helmet - itemid = 3408, - type = "deequip", - slot = "head", - }, - { - -- charmer's tiara - itemid = 3407, - type = "equip", - slot = "head", - }, - { - -- charmer's tiara - itemid = 3407, - type = "deequip", - slot = "head", - }, - { - -- feather headdress - itemid = 3406, - type = "equip", - slot = "head", - }, - { - -- feather headdress - itemid = 3406, - type = "deequip", - slot = "head", - }, - { - -- horseman helmet - itemid = 3405, - type = "equip", - slot = "head", - }, - { - -- horseman helmet - itemid = 3405, - type = "deequip", - slot = "head", - }, - { - -- leopard armor - itemid = 3404, - type = "equip", - slot = "armor", - }, - { - -- leopard armor - itemid = 3404, - type = "deequip", - slot = "armor", - }, - { - -- tribal mask - itemid = 3403, - type = "equip", - slot = "head", - }, - { - -- tribal mask - itemid = 3403, - type = "deequip", - slot = "head", - }, - { - -- banana staff - itemid = 3348, - type = "equip", - slot = "hand", - }, - { - -- banana staff - itemid = 3348, - type = "deequip", - slot = "hand", - }, - { - -- hunting spear - itemid = 3347, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- hunting spear - itemid = 3347, - type = "deequip", - slot = "hand", - level = 20, - }, - { - -- ripper lance - itemid = 3346, - type = "equip", - slot = "hand", - }, - { - -- ripper lance - itemid = 3346, - type = "deequip", - slot = "hand", - }, - { - -- templar scytheblade - itemid = 3345, - type = "equip", - slot = "hand", - }, - { - -- templar scytheblade - itemid = 3345, - type = "deequip", - slot = "hand", - }, - { - -- beastslayer axe - itemid = 3344, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- beastslayer axe - itemid = 3344, - type = "deequip", - slot = "hand", - }, - { - -- lich staff - itemid = 3343, - type = "equip", - slot = "hand", - level = 40, - }, - { - -- lich staff - itemid = 3343, - type = "deequip", - slot = "hand", - }, - { - -- old and used backpack - itemid = 3244, - type = "equip", - slot = "backpack", - }, - { - -- old and used backpack - itemid = 3244, - type = "deequip", - slot = "backpack", - }, - { - -- camouflage backpack - itemid = 2872, - type = "equip", - slot = "backpack", - }, - { - -- camouflage backpack - itemid = 2872, - type = "deequip", - slot = "backpack", - }, - { - -- camouflage bag - itemid = 2864, - type = "equip", - slot = "backpack", - }, - { - -- camouflage bag - itemid = 2864, - type = "deequip", - slot = "backpack", - }, - { - -- post officer's hat - itemid = 3576, - type = "equip", - slot = "head", - }, - { - -- post officer's hat - itemid = 3576, - type = "deequip", - slot = "head", - }, - { - -- wood cape - itemid = 3575, - type = "equip", - slot = "head", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- wood cape - itemid = 3575, - type = "deequip", - slot = "head", - }, - { - -- mystic turban - itemid = 3574, - type = "equip", - slot = "head", - }, - { - -- mystic turban - itemid = 3574, - type = "deequip", - slot = "head", - }, - { - -- magician hat - itemid = 3573, - type = "equip", - slot = "head", - }, - { - -- magician hat - itemid = 3573, - type = "deequip", - slot = "head", - }, - { - -- scarf - itemid = 3572, - type = "equip", - slot = "necklace", - }, - { - -- scarf - itemid = 3572, - type = "deequip", - slot = "necklace", - }, - { - -- ranger's cloak - itemid = 3571, - type = "equip", - slot = "armor", - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ranger's cloak - itemid = 3571, - type = "deequip", - slot = "armor", - }, - { - -- ball gown - itemid = 3570, - type = "equip", - slot = "armor", - }, - { - -- ball gown - itemid = 3570, - type = "deequip", - slot = "armor", - }, - { - -- white dress - itemid = 3569, - type = "equip", - slot = "armor", - }, - { - -- white dress - itemid = 3569, - type = "deequip", - slot = "armor", - }, - { - -- simple dress - itemid = 3568, - type = "equip", - slot = "armor", - }, - { - -- simple dress - itemid = 3568, - type = "deequip", - slot = "armor", - }, - { - -- blue robe - itemid = 3567, - type = "equip", - slot = "armor", - }, - { - -- blue robe - itemid = 3567, - type = "deequip", - slot = "armor", - }, - { - -- red robe - itemid = 3566, - type = "equip", - slot = "armor", - }, - { - -- red robe - itemid = 3566, - type = "deequip", - slot = "armor", - }, - { - -- cape - itemid = 3565, - type = "equip", - slot = "armor", - }, - { - -- cape - itemid = 3565, - type = "deequip", - slot = "armor", - }, - { - -- red tunic - itemid = 3564, - type = "equip", - slot = "armor", - }, - { - -- red tunic - itemid = 3564, - type = "deequip", - slot = "armor", - }, - { - -- green tunic - itemid = 3563, - type = "equip", - slot = "armor", - }, - { - -- green tunic - itemid = 3563, - type = "deequip", - slot = "armor", - }, - { - -- coat - itemid = 3562, - type = "equip", - slot = "armor", - }, - { - -- coat - itemid = 3562, - type = "deequip", - slot = "armor", - }, - { - -- jacket - itemid = 3561, - type = "equip", - slot = "armor", - }, - { - -- jacket - itemid = 3561, - type = "deequip", - slot = "armor", - }, - { - -- leather legs - itemid = 3559, - type = "equip", - slot = "legs", - }, - { - -- leather legs - itemid = 3559, - type = "deequip", - slot = "legs", - }, - { - -- chain legs - itemid = 3558, - type = "equip", - slot = "legs", - }, - { - -- chain legs - itemid = 3558, - type = "deequip", - slot = "legs", - }, - { - -- plate legs - itemid = 3557, - type = "equip", - slot = "legs", - }, - { - -- plate legs - itemid = 3557, - type = "deequip", - slot = "legs", - }, - { - -- golden boots - itemid = 3555, - type = "equip", - slot = "feet", - }, - { - -- golden boots - itemid = 3555, - type = "deequip", - slot = "feet", - }, - { - -- steel boots - itemid = 3554, - type = "equip", - slot = "feet", - }, - { - -- steel boots - itemid = 3554, - type = "deequip", - slot = "feet", - }, - { - -- bunnyslippers - itemid = 3553, - type = "equip", - slot = "feet", - }, - { - -- bunnyslippers - itemid = 3553, - type = "deequip", - slot = "feet", - }, - { - -- leather boots - itemid = 3552, - type = "equip", - slot = "feet", - }, - { - -- leather boots - itemid = 3552, - type = "deequip", - slot = "feet", - }, - { - -- sandals - itemid = 3551, - type = "equip", - slot = "feet", - }, - { - -- sandals - itemid = 3551, - type = "deequip", - slot = "feet", - }, - { - -- patched boots - itemid = 3550, - type = "equip", - slot = "feet", - }, - { - -- patched boots - itemid = 3550, - type = "deequip", - slot = "feet", - }, - { - -- pair of soft boots - itemid = 3549, - type = "equip", - slot = "feet", - }, - { - -- pair of soft boots - itemid = 3549, - type = "deequip", - slot = "feet", - }, - { - -- scythe - itemid = 3453, - type = "equip", - slot = "hand", - }, - { - -- scythe - itemid = 3453, - type = "deequip", - slot = "hand", - }, - { - -- power bolt - itemid = 3450, - type = "equip", - slot = "ammo", - }, - { - -- power bolt - itemid = 3450, - type = "deequip", - slot = "ammo", - }, - { - -- arrow - itemid = 3447, - type = "equip", - slot = "ammo", - }, - { - -- arrow - itemid = 3447, - type = "deequip", - slot = "ammo", - }, - { - -- bolt - itemid = 3446, - type = "equip", - slot = "ammo", - }, - { - -- bolt - itemid = 3446, - type = "deequip", - slot = "ammo", - }, - { - -- tempest shield - itemid = 3442, - type = "equip", - slot = "shield", - }, - { - -- tempest shield - itemid = 3442, - type = "deequip", - slot = "shield", - }, - { - -- bone shield - itemid = 3441, - type = "equip", - slot = "shield", - }, - { - -- bone shield - itemid = 3441, - type = "deequip", - slot = "shield", - }, - { - -- scarab shield - itemid = 3440, - type = "equip", - slot = "shield", - }, - { - -- scarab shield - itemid = 3440, - type = "deequip", - slot = "shield", - }, - { - -- phoenix shield - itemid = 3439, - type = "equip", - slot = "shield", - }, - { - -- phoenix shield - itemid = 3439, - type = "deequip", - slot = "shield", - }, - { - -- eagle shield - itemid = 3438, - type = "equip", - slot = "shield", - }, - { - -- eagle shield - itemid = 3438, - type = "deequip", - slot = "shield", - }, - { - -- amazon shield - itemid = 3437, - type = "equip", - slot = "shield", - }, - { - -- amazon shield - itemid = 3437, - type = "deequip", - slot = "shield", - }, - { - -- medusa shield - itemid = 3436, - type = "equip", - slot = "shield", - }, - { - -- medusa shield - itemid = 3436, - type = "deequip", - slot = "shield", - }, - { - -- castle shield - itemid = 3435, - type = "equip", - slot = "shield", - }, - { - -- castle shield - itemid = 3435, - type = "deequip", - slot = "shield", - }, - { - -- vampire shield - itemid = 3434, - type = "equip", - slot = "shield", - }, - { - -- vampire shield - itemid = 3434, - type = "deequip", - slot = "shield", - }, - { - -- griffin shield - itemid = 3433, - type = "equip", - slot = "shield", - }, - { - -- griffin shield - itemid = 3433, - type = "deequip", - slot = "shield", - }, - { - -- ancient shield - itemid = 3432, - type = "equip", - slot = "shield", - }, - { - -- ancient shield - itemid = 3432, - type = "deequip", - slot = "shield", - }, - { - -- viking shield - itemid = 3431, - type = "equip", - slot = "shield", - }, - { - -- viking shield - itemid = 3431, - type = "deequip", - slot = "shield", - }, - { - -- copper shield - itemid = 3430, - type = "equip", - slot = "shield", - }, - { - -- copper shield - itemid = 3430, - type = "deequip", - slot = "shield", - }, - { - -- black shield - itemid = 3429, - type = "equip", - slot = "shield", - }, - { - -- black shield - itemid = 3429, - type = "deequip", - slot = "shield", - }, - { - -- tower shield - itemid = 3428, - type = "equip", - slot = "shield", - }, - { - -- tower shield - itemid = 3428, - type = "deequip", - slot = "shield", - }, - { - -- rose shield - itemid = 3427, - type = "equip", - slot = "shield", - }, - { - -- rose shield - itemid = 3427, - type = "deequip", - slot = "shield", - }, - { - -- studded shield - itemid = 3426, - type = "equip", - slot = "shield", - }, - { - -- studded shield - itemid = 3426, - type = "deequip", - slot = "shield", - }, - { - -- dwarven shield - itemid = 3425, - type = "equip", - slot = "shield", - }, - { - -- dwarven shield - itemid = 3425, - type = "deequip", - slot = "shield", - }, - { - -- ornamented shield - itemid = 3424, - type = "equip", - slot = "shield", - }, - { - -- ornamented shield - itemid = 3424, - type = "deequip", - slot = "shield", - }, - { - -- blessed shield - itemid = 3423, - type = "equip", - slot = "shield", - }, - { - -- blessed shield - itemid = 3423, - type = "deequip", - slot = "shield", - }, - { - -- great shield - itemid = 3422, - type = "equip", - slot = "shield", - }, - { - -- great shield - itemid = 3422, - type = "deequip", - slot = "shield", - }, - { - -- dark shield - itemid = 3421, - type = "equip", - slot = "shield", - }, - { - -- dark shield - itemid = 3421, - type = "deequip", - slot = "shield", - }, - { - -- demon shield - itemid = 3420, - type = "equip", - slot = "shield", - }, - { - -- demon shield - itemid = 3420, - type = "deequip", - slot = "shield", - }, - { - -- crown shield - itemid = 3419, - type = "equip", - slot = "shield", - }, - { - -- crown shield - itemid = 3419, - type = "deequip", - slot = "shield", - }, - { - -- bonelord shield - itemid = 3418, - type = "equip", - slot = "shield", - }, - { - -- bonelord shield - itemid = 3418, - type = "deequip", - slot = "shield", - }, - { - -- shield of honour - itemid = 3417, - type = "equip", - slot = "shield", - }, - { - -- shield of honour - itemid = 3417, - type = "deequip", - slot = "shield", - }, - { - -- dragon shield - itemid = 3416, - type = "equip", - slot = "shield", - }, - { - -- dragon shield - itemid = 3416, - type = "deequip", - slot = "shield", - }, - { - -- guardian shield - itemid = 3415, - type = "equip", - slot = "shield", - }, - { - -- guardian shield - itemid = 3415, - type = "deequip", - slot = "shield", - }, - { - -- mastermind shield - itemid = 3414, - type = "equip", - slot = "shield", - }, - { - -- mastermind shield - itemid = 3414, - type = "deequip", - slot = "shield", - }, - { - -- battle shield - itemid = 3413, - type = "equip", - slot = "shield", - }, - { - -- battle shield - itemid = 3413, - type = "deequip", - slot = "shield", - }, - { - -- wooden shield - itemid = 3412, - type = "equip", - slot = "shield", - }, - { - -- wooden shield - itemid = 3412, - type = "deequip", - slot = "shield", - }, - { - -- brass shield - itemid = 3411, - type = "equip", - slot = "shield", - }, - { - -- brass shield - itemid = 3411, - type = "deequip", - slot = "shield", - }, - { - -- plate shield - itemid = 3410, - type = "equip", - slot = "shield", - }, - { - -- plate shield - itemid = 3410, - type = "deequip", - slot = "shield", - }, - { - -- steel shield - itemid = 3409, - type = "equip", - slot = "shield", - }, - { - -- steel shield - itemid = 3409, - type = "deequip", - slot = "shield", - }, - { - -- native armor - itemid = 3402, - type = "equip", - slot = "armor", - }, - { - -- native armor - itemid = 3402, - type = "deequip", - slot = "armor", - }, - { - -- elven legs - itemid = 3401, - type = "equip", - slot = "legs", - }, - { - -- elven legs - itemid = 3401, - type = "deequip", - slot = "legs", - }, - { - -- dragon scale helmet - itemid = 3400, - type = "equip", - slot = "head", - }, - { - -- dragon scale helmet - itemid = 3400, - type = "deequip", - slot = "head", - }, - { - -- elven mail - itemid = 3399, - type = "equip", - slot = "armor", - }, - { - -- elven mail - itemid = 3399, - type = "deequip", - slot = "armor", - }, - { - -- dwarven legs - itemid = 3398, - type = "equip", - slot = "legs", - }, - { - -- dwarven legs - itemid = 3398, - type = "deequip", - slot = "legs", - }, - { - -- dwarven armor - itemid = 3397, - type = "equip", - slot = "armor", - }, - { - -- dwarven armor - itemid = 3397, - type = "deequip", - slot = "armor", - }, - { - -- dwarven helmet - itemid = 3396, - type = "equip", - slot = "head", - }, - { - -- dwarven helmet - itemid = 3396, - type = "deequip", - slot = "head", - }, - { - -- ceremonial mask - itemid = 3395, - type = "equip", - slot = "head", - }, - { - -- ceremonial mask - itemid = 3395, - type = "deequip", - slot = "head", - }, - { - -- amazon armor - itemid = 3394, - type = "equip", - slot = "armor", - level = 60, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- amazon armor - itemid = 3394, - type = "deequip", - slot = "armor", - level = 60, - }, - { - -- amazon helmet - itemid = 3393, - type = "equip", - slot = "head", - }, - { - -- amazon helmet - itemid = 3393, - type = "deequip", - slot = "head", - }, - { - -- royal helmet - itemid = 3392, - type = "equip", - slot = "head", - }, - { - -- royal helmet - itemid = 3392, - type = "deequip", - slot = "head", - }, - { - -- crusader helmet - itemid = 3391, - type = "equip", - slot = "head", - }, - { - -- crusader helmet - itemid = 3391, - type = "deequip", - slot = "head", - }, - { - -- horned helmet - itemid = 3390, - type = "equip", - slot = "head", - }, - { - -- horned helmet - itemid = 3390, - type = "deequip", - slot = "head", - }, - { - -- demon legs - itemid = 3389, - type = "equip", - slot = "legs", - }, - { - -- demon legs - itemid = 3389, - type = "deequip", - slot = "legs", - }, - { - -- demon armor - itemid = 3388, - type = "equip", - slot = "armor", - }, - { - -- demon armor - itemid = 3388, - type = "deequip", - slot = "armor", - }, - { - -- demon helmet - itemid = 3387, - type = "equip", - slot = "head", - }, - { - -- demon helmet - itemid = 3387, - type = "deequip", - slot = "head", - }, - { - -- dragon scale mail - itemid = 3386, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- dragon scale mail - itemid = 3386, - type = "deequip", - slot = "armor", - }, - { - -- crown helmet - itemid = 3385, - type = "equip", - slot = "head", - }, - { - -- crown helmet - itemid = 3385, - type = "deequip", - slot = "head", - }, - { - -- dark helmet - itemid = 3384, - type = "equip", - slot = "head", - }, - { - -- dark helmet - itemid = 3384, - type = "deequip", - slot = "head", - }, - { - -- dark armor - itemid = 3383, - type = "equip", - slot = "armor", - }, - { - -- dark armor - itemid = 3383, - type = "deequip", - slot = "armor", - }, - { - -- crown legs - itemid = 3382, - type = "equip", - slot = "legs", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crown legs - itemid = 3382, - type = "deequip", - slot = "legs", - }, - { - -- crown armor - itemid = 3381, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- crown armor - itemid = 3381, - type = "deequip", - slot = "armor", - }, - { - -- noble armor - itemid = 3380, - type = "equip", - slot = "armor", - }, - { - -- noble armor - itemid = 3380, - type = "deequip", - slot = "armor", - }, - { - -- doublet - itemid = 3379, - type = "equip", - slot = "armor", - }, - { - -- doublet - itemid = 3379, - type = "deequip", - slot = "armor", - }, - { - -- studded armor - itemid = 3378, - type = "equip", - slot = "armor", - }, - { - -- studded armor - itemid = 3378, - type = "deequip", - slot = "armor", - }, - { - -- scale armor - itemid = 3377, - type = "equip", - slot = "armor", - }, - { - -- scale armor - itemid = 3377, - type = "deequip", - slot = "armor", - }, - { - -- studded helmet - itemid = 3376, - type = "equip", - slot = "head", - }, - { - -- studded helmet - itemid = 3376, - type = "deequip", - slot = "head", - }, - { - -- soldier helmet - itemid = 3375, - type = "equip", - slot = "head", - }, - { - -- soldier helmet - itemid = 3375, - type = "deequip", - slot = "head", - }, - { - -- legion helmet - itemid = 3374, - type = "equip", - slot = "head", - }, - { - -- legion helmet - itemid = 3374, - type = "deequip", - slot = "head", - }, - { - -- strange helmet - itemid = 3373, - type = "equip", - slot = "head", - }, - { - -- strange helmet - itemid = 3373, - type = "deequip", - slot = "head", - }, - { - -- brass legs - itemid = 3372, - type = "equip", - slot = "legs", - }, - { - -- brass legs - itemid = 3372, - type = "deequip", - slot = "legs", - }, - { - -- knight legs - itemid = 3371, - type = "equip", - slot = "legs", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- knight legs - itemid = 3371, - type = "deequip", - slot = "legs", - }, - { - -- knight armor - itemid = 3370, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- knight armor - itemid = 3370, - type = "deequip", - slot = "armor", - }, - { - -- warrior helmet - itemid = 3369, - type = "equip", - slot = "head", - }, - { - -- warrior helmet - itemid = 3369, - type = "deequip", - slot = "head", - }, - { - -- winged helmet - itemid = 3368, - type = "equip", - slot = "head", - }, - { - -- winged helmet - itemid = 3368, - type = "deequip", - slot = "head", - }, - { - -- viking helmet - itemid = 3367, - type = "equip", - slot = "head", - }, - { - -- viking helmet - itemid = 3367, - type = "deequip", - slot = "head", - }, - { - -- magic plate armor - itemid = 3366, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- magic plate armor - itemid = 3366, - type = "deequip", - slot = "armor", - }, - { - -- golden helmet - itemid = 3365, - type = "equip", - slot = "head", - }, - { - -- golden helmet - itemid = 3365, - type = "deequip", - slot = "head", - }, - { - -- golden legs - itemid = 3364, - type = "equip", - slot = "legs", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- golden legs - itemid = 3364, - type = "deequip", - slot = "legs", - }, - { - -- dragon scale legs - itemid = 3363, - type = "equip", - slot = "legs", - }, - { - -- dragon scale legs - itemid = 3363, - type = "deequip", - slot = "legs", - }, - { - -- studded legs - itemid = 3362, - type = "equip", - slot = "legs", - }, - { - -- studded legs - itemid = 3362, - type = "deequip", - slot = "legs", - }, - { - -- leather armor - itemid = 3361, - type = "equip", - slot = "armor", - }, - { - -- leather armor - itemid = 3361, - type = "deequip", - slot = "armor", - }, - { - -- golden armor - itemid = 3360, - type = "equip", - slot = "armor", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- golden armor - itemid = 3360, - type = "deequip", - slot = "armor", - }, - { - -- brass armor - itemid = 3359, - type = "equip", - slot = "armor", - }, - { - -- brass armor - itemid = 3359, - type = "deequip", - slot = "armor", - }, - { - -- chain armor - itemid = 3358, - type = "equip", - slot = "armor", - }, - { - -- chain armor - itemid = 3358, - type = "deequip", - slot = "armor", - }, - { - -- plate armor - itemid = 3357, - type = "equip", - slot = "armor", - }, - { - -- plate armor - itemid = 3357, - type = "deequip", - slot = "armor", - }, - { - -- devil helmet - itemid = 3356, - type = "equip", - slot = "head", - }, - { - -- devil helmet - itemid = 3356, - type = "deequip", - slot = "head", - }, - { - -- leather helmet - itemid = 3355, - type = "equip", - slot = "head", - }, - { - -- leather helmet - itemid = 3355, - type = "deequip", - slot = "head", - }, - { - -- brass helmet - itemid = 3354, - type = "equip", - slot = "head", - }, - { - -- brass helmet - itemid = 3354, - type = "deequip", - slot = "head", - }, - { - -- iron helmet - itemid = 3353, - type = "equip", - slot = "head", - }, - { - -- iron helmet - itemid = 3353, - type = "deequip", - slot = "head", - }, - { - -- chain helmet - itemid = 3352, - type = "equip", - slot = "head", - }, - { - -- chain helmet - itemid = 3352, - type = "deequip", - slot = "head", - }, - { - -- steel helmet - itemid = 3351, - type = "equip", - slot = "head", - }, - { - -- steel helmet - itemid = 3351, - type = "deequip", - slot = "head", - }, - { - -- bow - itemid = 3350, - type = "equip", - slot = "hand", - }, - { - -- bow - itemid = 3350, - type = "deequip", - slot = "hand", - }, - { - -- crossbow - itemid = 3349, - type = "equip", - slot = "hand", - }, - { - -- crossbow - itemid = 3349, - type = "deequip", - slot = "hand", - }, - { - -- war axe - itemid = 3342, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- war axe - itemid = 3342, - type = "deequip", - slot = "hand", - }, - { - -- arcane staff - itemid = 3341, - type = "equip", - slot = "hand", - level = 75, - }, - { - -- arcane staff - itemid = 3341, - type = "deequip", - slot = "hand", - }, - { - -- heavy mace - itemid = 3340, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- heavy mace - itemid = 3340, - type = "deequip", - slot = "hand", - }, - { - -- djinn blade - itemid = 3339, - type = "equip", - slot = "hand", - level = 35, - }, - { - -- djinn blade - itemid = 3339, - type = "deequip", - slot = "hand", - }, - { - -- bone sword - itemid = 3338, - type = "equip", - slot = "hand", - }, - { - -- bone sword - itemid = 3338, - type = "deequip", - slot = "hand", - }, - { - -- bone club - itemid = 3337, - type = "equip", - slot = "hand", - }, - { - -- bone club - itemid = 3337, - type = "deequip", - slot = "hand", - }, - { - -- studded club - itemid = 3336, - type = "equip", - slot = "hand", - }, - { - -- studded club - itemid = 3336, - type = "deequip", - slot = "hand", - }, - { - -- twin axe - itemid = 3335, - type = "equip", - slot = "hand", - level = 50, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- twin axe - itemid = 3335, - type = "deequip", - slot = "hand", - }, - { - -- pharaoh sword - itemid = 3334, - type = "equip", - slot = "hand", - level = 45, - }, - { - -- pharaoh sword - itemid = 3334, - type = "deequip", - slot = "hand", - }, - { - -- crystal mace - itemid = 3333, - type = "equip", - slot = "hand", - level = 35, - }, - { - -- crystal mace - itemid = 3333, - type = "deequip", - slot = "hand", - }, - { - -- hammer of wrath - itemid = 3332, - type = "equip", - slot = "hand", - level = 65, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- hammer of wrath - itemid = 3332, - type = "deequip", - slot = "hand", - }, - { - -- ravager's axe - itemid = 3331, - type = "equip", - slot = "hand", - level = 70, - }, - { - -- ravager's axe - itemid = 3331, - type = "deequip", - slot = "hand", - }, - { - -- heavy machete - itemid = 3330, - type = "equip", - slot = "hand", - }, - { - -- heavy machete - itemid = 3330, - type = "deequip", - slot = "hand", - }, - { - -- daramian axe - itemid = 3329, - type = "equip", - slot = "hand", - }, - { - -- daramian axe - itemid = 3329, - type = "deequip", - slot = "hand", - }, - { - -- daramian waraxe - itemid = 3328, - type = "equip", - slot = "hand", - level = 25, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- daramian waraxe - itemid = 3328, - type = "deequip", - slot = "hand", - }, - { - -- daramian mace - itemid = 3327, - type = "equip", - slot = "hand", - }, - { - -- daramian mace - itemid = 3327, - type = "deequip", - slot = "hand", - }, - { - -- epee - itemid = 3326, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- epee - itemid = 3326, - type = "deequip", - slot = "hand", - }, - { - -- light mace - itemid = 3325, - type = "equip", - slot = "hand", - }, - { - -- light mace - itemid = 3325, - type = "deequip", - slot = "hand", - }, - { - -- skull staff - itemid = 3324, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- skull staff - itemid = 3324, - type = "deequip", - slot = "hand", - }, - { - -- dwarven axe - itemid = 3323, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- dwarven axe - itemid = 3323, - type = "deequip", - slot = "hand", - }, - { - -- dragon hammer - itemid = 3322, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- dragon hammer - itemid = 3322, - type = "deequip", - slot = "hand", - }, - { - -- enchanted staff - itemid = 3321, - type = "equip", - slot = "hand", - }, - { - -- enchanted staff - itemid = 3321, - type = "deequip", - slot = "hand", - }, - { - -- fire axe - itemid = 3320, - type = "equip", - slot = "hand", - level = 35, - }, - { - -- fire axe - itemid = 3320, - type = "deequip", - slot = "hand", - }, - { - -- stonecutter axe - itemid = 3319, - type = "equip", - slot = "hand", - level = 90, - }, - { - -- stonecutter axe - itemid = 3319, - type = "deequip", - slot = "hand", - }, - { - -- knight axe - itemid = 3318, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- knight axe - itemid = 3318, - type = "deequip", - slot = "hand", - }, - { - -- barbarian axe - itemid = 3317, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- barbarian axe - itemid = 3317, - type = "deequip", - slot = "hand", - }, - { - -- orcish axe - itemid = 3316, - type = "equip", - slot = "hand", - }, - { - -- orcish axe - itemid = 3316, - type = "deequip", - slot = "hand", - }, - { - -- guardian halberd - itemid = 3315, - type = "equip", - slot = "hand", - level = 55, - }, - { - -- guardian halberd - itemid = 3315, - type = "deequip", - slot = "hand", - }, - { - -- naginata - itemid = 3314, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- naginata - itemid = 3314, - type = "deequip", - slot = "hand", - }, - { - -- obsidian lance - itemid = 3313, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- obsidian lance - itemid = 3313, - type = "deequip", - slot = "hand", - }, - { - -- silver mace - itemid = 3312, - type = "equip", - slot = "hand", - level = 45, - }, - { - -- silver mace - itemid = 3312, - type = "deequip", - slot = "hand", - }, - { - -- clerical mace - itemid = 3311, - type = "equip", - slot = "hand", - level = 20, - }, - { - -- clerical mace - itemid = 3311, - type = "deequip", - slot = "hand", - }, - { - -- iron hammer - itemid = 3310, - type = "equip", - slot = "hand", - }, - { - -- iron hammer - itemid = 3310, - type = "deequip", - slot = "hand", - }, - { - -- thunder hammer - itemid = 3309, - type = "equip", - slot = "hand", - level = 85, - }, - { - -- thunder hammer - itemid = 3309, - type = "deequip", - slot = "hand", - }, - { - -- machete - itemid = 3308, - type = "equip", - slot = "hand", - }, - { - -- machete - itemid = 3308, - type = "deequip", - slot = "hand", - }, - { - -- scimitar - itemid = 3307, - type = "equip", - slot = "hand", - }, - { - -- scimitar - itemid = 3307, - type = "deequip", - slot = "hand", - }, - { - -- golden sickle - itemid = 3306, - type = "equip", - slot = "hand", - }, - { - -- golden sickle - itemid = 3306, - type = "deequip", - slot = "hand", - }, - { - -- battle hammer - itemid = 3305, - type = "equip", - slot = "hand", - }, - { - -- battle hammer - itemid = 3305, - type = "deequip", - slot = "hand", - }, - { - -- crowbar - itemid = 3304, - type = "equip", - slot = "hand", - }, - { - -- crowbar - itemid = 3304, - type = "deequip", - slot = "hand", - }, - { - -- great axe - itemid = 3303, - type = "equip", - slot = "hand", - level = 95, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- great axe - itemid = 3303, - type = "deequip", - slot = "hand", - }, - { - -- dragon lance - itemid = 3302, - type = "equip", - slot = "hand", - level = 60, - }, - { - -- dragon lance - itemid = 3302, - type = "deequip", - slot = "hand", - }, - { - -- broadsword - itemid = 3301, - type = "equip", - slot = "hand", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- broadsword - itemid = 3301, - type = "deequip", - slot = "hand", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- katana - itemid = 3300, - type = "equip", - slot = "hand", - }, - { - -- katana - itemid = 3300, - type = "deequip", - slot = "hand", - }, - { - -- poison dagger - itemid = 3299, - type = "equip", - slot = "hand", - }, - { - -- poison dagger - itemid = 3299, - type = "deequip", - slot = "hand", - }, - { - -- throwing knife - itemid = 3298, - type = "equip", - slot = "hand", - }, - { - -- throwing knife - itemid = 3298, - type = "deequip", - slot = "hand", - }, - { - -- serpent sword - itemid = 3297, - type = "equip", - slot = "hand", - }, - { - -- serpent sword - itemid = 3297, - type = "deequip", - slot = "hand", - }, - { - -- warlord sword - itemid = 3296, - type = "equip", - slot = "hand", - level = 120, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- warlord sword - itemid = 3296, - type = "deequip", - slot = "hand", - }, - { - -- bright sword - itemid = 3295, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- bright sword - itemid = 3295, - type = "deequip", - slot = "hand", - level = 30, - }, - { - -- short sword - itemid = 3294, - type = "equip", - slot = "hand", - }, - { - -- short sword - itemid = 3294, - type = "deequip", - slot = "hand", - }, - { - -- sickle - itemid = 3293, - type = "equip", - slot = "hand", - }, - { - -- sickle - itemid = 3293, - type = "deequip", - slot = "hand", - }, - { - -- combat knife - itemid = 3292, - type = "equip", - slot = "hand", - }, - { - -- combat knife - itemid = 3292, - type = "deequip", - slot = "hand", - }, - { - -- knife - itemid = 3291, - type = "equip", - slot = "hand", - }, - { - -- knife - itemid = 3291, - type = "deequip", - slot = "hand", - }, - { - -- silver dagger - itemid = 3290, - type = "equip", - slot = "hand", - }, - { - -- silver dagger - itemid = 3290, - type = "deequip", - slot = "hand", - }, - { - -- staff - itemid = 3289, - type = "equip", - slot = "hand", - }, - { - -- staff - itemid = 3289, - type = "deequip", - slot = "hand", - }, - { - -- magic sword - itemid = 3288, - type = "equip", - slot = "hand", - level = 80, - }, - { - -- magic sword - itemid = 3288, - type = "deequip", - slot = "hand", - }, - { - -- throwing star - itemid = 3287, - type = "equip", - slot = "hand", - }, - { - -- throwing star - itemid = 3287, - type = "deequip", - slot = "hand", - }, - { - -- mace - itemid = 3286, - type = "equip", - slot = "hand", - }, - { - -- mace - itemid = 3286, - type = "deequip", - slot = "hand", - }, - { - -- longsword - itemid = 3285, - type = "equip", - slot = "hand", - }, - { - -- longsword - itemid = 3285, - type = "deequip", - slot = "hand", - }, - { - -- ice rapier - itemid = 3284, - type = "equip", - slot = "hand", - }, - { - -- ice rapier - itemid = 3284, - type = "deequip", - slot = "hand", - }, - { - -- carlin sword - itemid = 3283, - type = "equip", - slot = "hand", - }, - { - -- carlin sword - itemid = 3283, - type = "deequip", - slot = "hand", - }, - { - -- morning star - itemid = 3282, - type = "equip", - slot = "hand", - }, - { - -- morning star - itemid = 3282, - type = "deequip", - slot = "hand", - }, - { - -- giant sword - itemid = 3281, - type = "equip", - slot = "hand", - level = 55, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- giant sword - itemid = 3281, - type = "deequip", - slot = "hand", - }, - { - -- fire sword - itemid = 3280, - type = "equip", - slot = "hand", - level = 30, - }, - { - -- fire sword - itemid = 3280, - type = "deequip", - slot = "hand", - }, - { - -- war hammer - itemid = 3279, - type = "equip", - slot = "hand", - level = 50, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- war hammer - itemid = 3279, - type = "deequip", - slot = "hand", - }, - { - -- magic longsword - itemid = 3278, - type = "equip", - slot = "hand", - level = 140, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- magic longsword - itemid = 3278, - type = "deequip", - slot = "hand", - }, - { - -- spear - itemid = 3277, - type = "equip", - slot = "hand", - }, - { - -- spear - itemid = 3277, - type = "deequip", - slot = "hand", - }, - { - -- hatchet - itemid = 3276, - type = "equip", - slot = "hand", - }, - { - -- hatchet - itemid = 3276, - type = "deequip", - slot = "hand", - }, - { - -- double axe - itemid = 3275, - type = "equip", - slot = "hand", - level = 25, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- double axe - itemid = 3275, - type = "deequip", - slot = "hand", - }, - { - -- axe - itemid = 3274, - type = "equip", - slot = "hand", - }, - { - -- axe - itemid = 3274, - type = "deequip", - slot = "hand", - }, - { - -- sabre - itemid = 3273, - type = "equip", - slot = "hand", - }, - { - -- sabre - itemid = 3273, - type = "deequip", - slot = "hand", - }, - { - -- rapier - itemid = 3272, - type = "equip", - slot = "hand", - }, - { - -- rapier - itemid = 3272, - type = "deequip", - slot = "hand", - }, - { - -- spike sword - itemid = 3271, - type = "equip", - slot = "hand", - }, - { - -- spike sword - itemid = 3271, - type = "deequip", - slot = "hand", - }, - { - -- club - itemid = 3270, - type = "equip", - slot = "hand", - }, - { - -- club - itemid = 3270, - type = "deequip", - slot = "hand", - }, - { - -- halberd - itemid = 3269, - type = "equip", - slot = "hand", - level = 25, - }, - { - -- halberd - itemid = 3269, - type = "deequip", - slot = "hand", - }, - { - -- hand axe - itemid = 3268, - type = "equip", - slot = "hand", - }, - { - -- hand axe - itemid = 3268, - type = "deequip", - slot = "hand", - }, - { - -- dagger - itemid = 3267, - type = "equip", - slot = "hand", - }, - { - -- dagger - itemid = 3267, - type = "deequip", - slot = "hand", - }, - { - -- battle axe - itemid = 3266, - type = "equip", - slot = "hand", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- battle axe - itemid = 3266, - type = "deequip", - slot = "hand", - }, - { - -- two handed sword - itemid = 3265, - type = "equip", - slot = "hand", - level = 20, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- two handed sword - itemid = 3265, - type = "deequip", - slot = "hand", - }, - { - -- sword - itemid = 3264, - type = "equip", - slot = "hand", - }, - { - -- sword - itemid = 3264, - type = "deequip", - slot = "hand", - }, - { - -- backpack of holding - itemid = 3253, - type = "equip", - slot = "backpack", - }, - { - -- backpack of holding - itemid = 3253, - type = "deequip", - slot = "backpack", - }, - { - -- boots of waterwalking - itemid = 3246, - type = "equip", - slot = "feet", - }, - { - -- boots of waterwalking - itemid = 3246, - type = "deequip", - slot = "feet", - }, - { - -- ring of wishes - itemid = 3245, - type = "equip", - slot = "ring", - }, - { - -- ring of wishes - itemid = 3245, - type = "deequip", - slot = "ring", - }, - { - -- helmet of the ancients - itemid = 3230, - type = "equip", - slot = "head", - }, - { - -- helmet of the ancients - itemid = 3230, - type = "deequip", - slot = "head", - }, - { - -- helmet of the ancients - itemid = 3229, - type = "equip", - slot = "head", - }, - { - -- helmet of the ancients - itemid = 3229, - type = "deequip", - slot = "head", - }, - { - -- damaged helmet - itemid = 3226, - type = "equip", - slot = "head", - }, - { - -- damaged helmet - itemid = 3226, - type = "deequip", - slot = "head", - }, - { - -- hat of the mad - itemid = 3210, - type = "equip", - slot = "head", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- hat of the mad - itemid = 3210, - type = "deequip", - slot = "head", - }, - { - -- giant smithhammer - itemid = 3208, - type = "equip", - slot = "hand", - }, - { - -- giant smithhammer - itemid = 3208, - type = "deequip", - slot = "hand", - }, - { - -- paw amulet - itemid = 3102, - type = "equip", - slot = "necklace", - }, - { - -- paw amulet - itemid = 3102, - type = "deequip", - slot = "necklace", - }, - { - -- ring of healing - itemid = 3100, - type = "equip", - slot = "ring", - }, - { - -- ring of healing - itemid = 3100, - type = "deequip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3099, - type = "equip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3099, - type = "deequip", - slot = "ring", - }, - { - -- ring of healing - itemid = 3098, - type = "equip", - slot = "ring", - }, - { - -- ring of healing - itemid = 3098, - type = "deequip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3097, - type = "equip", - slot = "ring", - }, - { - -- dwarven ring - itemid = 3097, - type = "deequip", - slot = "ring", - }, - { - -- club ring - itemid = 3096, - type = "equip", - slot = "ring", - }, - { - -- club ring - itemid = 3096, - type = "deequip", - slot = "ring", - }, - { - -- axe ring - itemid = 3095, - type = "equip", - slot = "ring", - }, - { - -- axe ring - itemid = 3095, - type = "deequip", - slot = "ring", - }, - { - -- sword ring - itemid = 3094, - type = "equip", - slot = "ring", - }, - { - -- sword ring - itemid = 3094, - type = "deequip", - slot = "ring", - }, - { - -- club ring - itemid = 3093, - type = "equip", - slot = "ring", - }, - { - -- club ring - itemid = 3093, - type = "deequip", - slot = "ring", - }, - { - -- axe ring - itemid = 3092, - type = "equip", - slot = "ring", - }, - { - -- axe ring - itemid = 3092, - type = "deequip", - slot = "ring", - }, - { - -- sword ring - itemid = 3091, - type = "equip", - slot = "ring", - }, - { - -- sword ring - itemid = 3091, - type = "deequip", - slot = "ring", - }, - { - -- time ring - itemid = 3090, - type = "equip", - slot = "ring", - }, - { - -- time ring - itemid = 3090, - type = "deequip", - slot = "ring", - }, - { - -- life ring - itemid = 3089, - type = "equip", - slot = "ring", - }, - { - -- life ring - itemid = 3089, - type = "deequip", - slot = "ring", - }, - { - -- energy ring - itemid = 3088, - type = "equip", - slot = "ring", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- energy ring - itemid = 3088, - type = "deequip", - slot = "ring", - }, - { - -- power ring - itemid = 3087, - type = "equip", - slot = "ring", - }, - { - -- power ring - itemid = 3087, - type = "deequip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3086, - type = "equip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3086, - type = "deequip", - slot = "ring", - }, - { - -- dragon necklace - itemid = 3085, - type = "equip", - slot = "necklace", - }, - { - -- dragon necklace - itemid = 3085, - type = "deequip", - slot = "necklace", - }, - { - -- protection amulet - itemid = 3084, - type = "equip", - slot = "necklace", - }, - { - -- protection amulet - itemid = 3084, - type = "deequip", - slot = "necklace", - }, - { - -- garlic necklace - itemid = 3083, - type = "equip", - slot = "necklace", - }, - { - -- garlic necklace - itemid = 3083, - type = "deequip", - slot = "necklace", - }, - { - -- elven amulet - itemid = 3082, - type = "equip", - slot = "necklace", - }, - { - -- elven amulet - itemid = 3082, - type = "deequip", - slot = "necklace", - }, - { - -- stone skin amulet - itemid = 3081, - type = "equip", - slot = "necklace", - }, - { - -- stone skin amulet - itemid = 3081, - type = "deequip", - slot = "necklace", - }, - { - -- amulet of life - itemid = 3080, - type = "equip", - slot = "necklace", - }, - { - -- amulet of life - itemid = 3080, - type = "deequip", - slot = "necklace", - }, - { - -- boots of haste - itemid = 3079, - type = "equip", - slot = "feet", - }, - { - -- boots of haste - itemid = 3079, - type = "deequip", - slot = "feet", - }, - { - -- wand of dragonbreath - itemid = 3075, - type = "equip", - slot = "hand", - level = 13, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of dragonbreath - itemid = 3075, - type = "deequip", - slot = "hand", - level = 13, - }, - { - -- wand of vortex - itemid = 3074, - type = "equip", - slot = "hand", - level = 6, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of vortex - itemid = 3074, - type = "deequip", - slot = "hand", - level = 6, - }, - { - -- wand of cosmic energy - itemid = 3073, - type = "equip", - slot = "hand", - level = 26, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of cosmic energy - itemid = 3073, - type = "deequip", - slot = "hand", - level = 26, - }, - { - -- wand of decay - itemid = 3072, - type = "equip", - slot = "hand", - level = 19, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of decay - itemid = 3072, - type = "deequip", - slot = "hand", - level = 19, - }, - { - -- wand of inferno - itemid = 3071, - type = "equip", - slot = "hand", - level = 33, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of inferno - itemid = 3071, - type = "deequip", - slot = "hand", - level = 33, - }, - { - -- moonlight rod - itemid = 3070, - type = "equip", - slot = "hand", - level = 13, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- moonlight rod - itemid = 3070, - type = "deequip", - slot = "hand", - level = 13, - }, - { - -- necrotic rod - itemid = 3069, - type = "equip", - slot = "hand", - level = 19, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- necrotic rod - itemid = 3069, - type = "deequip", - slot = "hand", - level = 19, - }, - { - -- hailstorm rod - itemid = 3067, - type = "equip", - slot = "hand", - level = 33, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- hailstorm rod - itemid = 3067, - type = "deequip", - slot = "hand", - level = 33, - }, - { - -- snakebite rod - itemid = 3066, - type = "equip", - slot = "hand", - level = 6, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- snakebite rod - itemid = 3066, - type = "deequip", - slot = "hand", - level = 6, - }, - { - -- terra rod - itemid = 3065, - type = "equip", - slot = "hand", - level = 26, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- terra rod - itemid = 3065, - type = "deequip", - slot = "hand", - level = 26, - }, - { - -- gold ring - itemid = 3063, - type = "equip", - slot = "ring", - }, - { - -- gold ring - itemid = 3063, - type = "deequip", - slot = "ring", - }, - { - -- spellbook - itemid = 3059, - type = "equip", - slot = "shield", - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- spellbook - itemid = 3059, - type = "deequip", - slot = "shield", - }, - { - -- amulet of loss - itemid = 3057, - type = "equip", - slot = "necklace", - }, - { - -- amulet of loss - itemid = 3057, - type = "deequip", - slot = "necklace", - }, - { - -- bronze amulet - itemid = 3056, - type = "equip", - slot = "necklace", - }, - { - -- bronze amulet - itemid = 3056, - type = "deequip", - slot = "necklace", - }, - { - -- platinum amulet - itemid = 3055, - type = "equip", - slot = "necklace", - }, - { - -- platinum amulet - itemid = 3055, - type = "deequip", - slot = "necklace", - }, - { - -- silver amulet - itemid = 3054, - type = "equip", - slot = "necklace", - }, - { - -- silver amulet - itemid = 3054, - type = "deequip", - slot = "necklace", - }, - { - -- time ring - itemid = 3053, - type = "equip", - slot = "ring", - }, - { - -- time ring - itemid = 3053, - type = "deequip", - slot = "ring", - }, - { - -- life ring - itemid = 3052, - type = "equip", - slot = "ring", - }, - { - -- life ring - itemid = 3052, - type = "deequip", - slot = "ring", - }, - { - -- energy ring - itemid = 3051, - type = "equip", - slot = "ring", - vocation = { - { "Knight", true }, - { "Paladin", true, true }, - { "Elite Knight" }, - { "Royal Paladin" }, - }, - }, - { - -- energy ring - itemid = 3051, - type = "deequip", - slot = "ring", - }, - { - -- power ring - itemid = 3050, - type = "equip", - slot = "ring", - }, - { - -- power ring - itemid = 3050, - type = "deequip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3049, - type = "equip", - slot = "ring", - }, - { - -- stealth ring - itemid = 3049, - type = "deequip", - slot = "ring", - }, - { - -- might ring - itemid = 3048, - type = "equip", - slot = "ring", - }, - { - -- might ring - itemid = 3048, - type = "deequip", - slot = "ring", - }, - { - -- strange talisman - itemid = 3045, - type = "equip", - slot = "necklace", - }, - { - -- strange talisman - itemid = 3045, - type = "deequip", - slot = "necklace", - }, - { - -- ancient amulet - itemid = 3025, - type = "equip", - slot = "necklace", - }, - { - -- ancient amulet - itemid = 3025, - type = "deequip", - slot = "necklace", - }, - { - -- ancient tiara - itemid = 3022, - type = "equip", - slot = "head", - }, - { - -- ancient tiara - itemid = 3022, - type = "deequip", - slot = "head", - }, - { - -- sapphire amulet - itemid = 3021, - type = "equip", - slot = "necklace", - }, - { - -- sapphire amulet - itemid = 3021, - type = "deequip", - slot = "necklace", - }, - { - -- demonbone amulet - itemid = 3019, - type = "equip", - slot = "necklace", - }, - { - -- demonbone amulet - itemid = 3019, - type = "deequip", - slot = "necklace", - }, - { - -- scarab amulet - itemid = 3018, - type = "equip", - slot = "necklace", - }, - { - -- scarab amulet - itemid = 3018, - type = "deequip", - slot = "necklace", - }, - { - -- ruby necklace - itemid = 3016, - type = "equip", - slot = "necklace", - }, - { - -- ruby necklace - itemid = 3016, - type = "deequip", - slot = "necklace", - }, - { - -- silver necklace - itemid = 3015, - type = "equip", - slot = "necklace", - }, - { - -- silver necklace - itemid = 3015, - type = "deequip", - slot = "necklace", - }, - { - -- star amulet - itemid = 3014, - type = "equip", - slot = "necklace", - }, - { - -- star amulet - itemid = 3014, - type = "deequip", - slot = "necklace", - }, - { - -- golden amulet - itemid = 3013, - type = "equip", - slot = "necklace", - }, - { - -- golden amulet - itemid = 3013, - type = "deequip", - slot = "necklace", - }, - { - -- wolf tooth chain - itemid = 3012, - type = "equip", - slot = "necklace", - }, - { - -- wolf tooth chain - itemid = 3012, - type = "deequip", - slot = "necklace", - }, - { - -- crown - itemid = 3011, - type = "equip", - slot = "head", - }, - { - -- crown - itemid = 3011, - type = "deequip", - slot = "head", - }, - { - -- bronze necklace - itemid = 3009, - type = "equip", - slot = "necklace", - }, - { - -- bronze necklace - itemid = 3009, - type = "deequip", - slot = "necklace", - }, - { - -- crystal necklace - itemid = 3008, - type = "equip", - slot = "necklace", - }, - { - -- crystal necklace - itemid = 3008, - type = "deequip", - slot = "necklace", - }, - { - -- crystal ring - itemid = 3007, - type = "equip", - slot = "ring", - }, - { - -- crystal ring - itemid = 3007, - type = "deequip", - slot = "ring", - }, - { - -- ring of the sky - itemid = 3006, - type = "equip", - slot = "ring", - }, - { - -- ring of the sky - itemid = 3006, - type = "deequip", - slot = "ring", - }, - { - -- wedding ring - itemid = 3004, - type = "equip", - slot = "ring", - }, - { - -- wedding ring - itemid = 3004, - type = "deequip", - slot = "ring", - }, - { - -- snowball - itemid = 2992, - type = "equip", - slot = "hand", - }, - { - -- snowball - itemid = 2992, - type = "deequip", - slot = "hand", - }, - { - -- golden backpack - itemid = 2871, - type = "equip", - slot = "backpack", - }, - { - -- golden backpack - itemid = 2871, - type = "deequip", - slot = "backpack", - }, - { - -- grey backpack - itemid = 2870, - type = "equip", - slot = "backpack", - }, - { - -- grey backpack - itemid = 2870, - type = "deequip", - slot = "backpack", - }, - { - -- blue backpack - itemid = 2869, - type = "equip", - slot = "backpack", - }, - { - -- blue backpack - itemid = 2869, - type = "deequip", - slot = "backpack", - }, - { - -- purple backpack - itemid = 2868, - type = "equip", - slot = "backpack", - }, - { - -- purple backpack - itemid = 2868, - type = "deequip", - slot = "backpack", - }, - { - -- red backpack - itemid = 2867, - type = "equip", - slot = "backpack", - }, - { - -- red backpack - itemid = 2867, - type = "deequip", - slot = "backpack", - }, - { - -- yellow backpack - itemid = 2866, - type = "equip", - slot = "backpack", - }, - { - -- yellow backpack - itemid = 2866, - type = "deequip", - slot = "backpack", - }, - { - -- green backpack - itemid = 2865, - type = "equip", - slot = "backpack", - }, - { - -- green backpack - itemid = 2865, - type = "deequip", - slot = "backpack", - }, - { - -- golden bag - itemid = 2863, - type = "equip", - slot = "backpack", - }, - { - -- golden bag - itemid = 2863, - type = "deequip", - slot = "backpack", - }, - { - -- grey bag - itemid = 2862, - type = "equip", - slot = "backpack", - }, - { - -- grey bag - itemid = 2862, - type = "deequip", - slot = "backpack", - }, - { - -- blue bag - itemid = 2861, - type = "equip", - slot = "backpack", - }, - { - -- blue bag - itemid = 2861, - type = "deequip", - slot = "backpack", - }, - { - -- purple bag - itemid = 2860, - type = "equip", - slot = "backpack", - }, - { - -- purple bag - itemid = 2860, - type = "deequip", - slot = "backpack", - }, - { - -- red bag - itemid = 2859, - type = "equip", - slot = "backpack", - }, - { - -- red bag - itemid = 2859, - type = "deequip", - slot = "backpack", - }, - { - -- yellow bag - itemid = 2858, - type = "equip", - slot = "backpack", - }, - { - -- yellow bag - itemid = 2858, - type = "deequip", - slot = "backpack", - }, - { - -- green bag - itemid = 2857, - type = "equip", - slot = "backpack", - }, - { - -- green bag - itemid = 2857, - type = "deequip", - slot = "backpack", - }, - { - -- backpack - itemid = 2854, - type = "equip", - slot = "backpack", - }, - { - -- backpack - itemid = 2854, - type = "deequip", - slot = "backpack", - }, - { - -- bag - itemid = 2853, - type = "equip", - slot = "backpack", - }, - { - -- bag - itemid = 2853, - type = "deequip", - slot = "backpack", - }, - { - -- searing fire - itemid = 2138, - type = "stepin", - }, - { - -- searing fire - itemid = 2138, - type = "additem", - }, - { - -- searing fire - itemid = 2137, - type = "stepin", - }, - { - -- searing fire - itemid = 2137, - type = "additem", - }, - { - -- smoke - itemid = 2136, - type = "stepin", - }, - { - -- smoke - itemid = 2136, - type = "additem", - }, - { - -- energy field - itemid = 2135, - type = "stepin", - }, - { - -- energy field - itemid = 2135, - type = "additem", - }, - { - -- poison gas - itemid = 2134, - type = "stepin", - }, - { - -- poison gas - itemid = 2134, - type = "additem", - }, - { - -- fire field - itemid = 2133, - type = "stepin", - }, - { - -- fire field - itemid = 2133, - type = "additem", - }, - { - -- fire field - itemid = 2132, - type = "stepin", - }, - { - -- fire field - itemid = 2132, - type = "additem", - }, - { - -- fire field - itemid = 21465, - type = "stepin", - }, - { - -- fire field - itemid = 21465, - type = "additem", - }, - { - -- rush wood - itemid = 2130, - type = "stepin", - }, - { - -- rush wood - itemid = 2130, - type = "additem", - }, - { - -- magic wall - itemid = 2129, - type = "stepin", - }, - { - -- magic wall - itemid = 2129, - type = "additem", - }, - { - -- magic wall - itemid = 2128, - type = "stepin", - }, - { - -- magic wall - itemid = 2128, - type = "additem", - }, - { - -- poison field - itemid = 2121, - type = "stepin", - }, - { - -- poison field - itemid = 2121, - type = "additem", - }, - { - -- energy field - itemid = 2126, - type = "stepin", - }, - { - -- energy field - itemid = 2126, - type = "additem", - }, - { - -- fire field - itemid = 2125, - type = "stepin", - }, - { - -- fire field - itemid = 2125, - type = "additem", - }, - { - -- fire field - itemid = 2124, - type = "stepin", - }, - { - -- fire field - itemid = 2124, - type = "additem", - }, - { - -- fire field - itemid = 2123, - type = "stepin", - }, - { - -- fire field - itemid = 2123, - type = "additem", - }, - { - -- energy field - itemid = 2122, - type = "stepin", - }, - { - -- energy field - itemid = 2122, - type = "additem", - }, - { - -- poison field - itemid = 105, - type = "stepin", - }, - { - -- poison field - itemid = 105, - type = "additem", - }, - { - -- fire field - itemid = 2120, - type = "stepin", - }, - { - -- fire field - itemid = 2120, - type = "additem", - }, - { - -- fire field - itemid = 2119, - type = "stepin", - }, - { - -- fire field - itemid = 2119, - type = "additem", - }, - { - -- fire field - itemid = 2118, - type = "stepin", - }, - { - -- fire field - itemid = 2118, - type = "additem", - }, - { - -- campfire - itemid = 2000, - type = "stepin", - }, - { - -- campfire - itemid = 2000, - type = "additem", - }, - { - -- campfire - itemid = 1999, - type = "stepin", - }, - { - -- campfire - itemid = 1999, - type = "additem", - }, - { - -- campfire - itemid = 1998, - type = "stepin", - }, - { - -- campfire - itemid = 1998, - type = "additem", - }, - { - -- small stone - itemid = 1781, - type = "equip", - slot = "hand", - }, - { - -- small stone - itemid = 1781, - type = "deequip", - slot = "hand", - }, -} - -for _, i in ipairs(items) do - local movement = MoveEvent() - movement:id(i.itemid or i.itemId) - - if i.type then - movement:type(i.type) - end - if i.slot then - movement:slot(i.slot) - end - if i.level then - movement:level(i.level) - end - if i.vocation then - for _, v in ipairs(i.vocation) do - movement:vocation(v[1], v[2] or false, v[3] or false) - end - end - movement:register() -end diff --git a/data-otservbr-global/scripts/weapons/unscripted_weapons.lua b/data-otservbr-global/scripts/weapons/unscripted_weapons.lua deleted file mode 100644 index 5e6232836e9..00000000000 --- a/data-otservbr-global/scripts/weapons/unscripted_weapons.lua +++ /dev/null @@ -1,5378 +0,0 @@ -local weapons = { - { - -- grand sanguine rod - itemId = 43886, - type = WEAPON_WAND, - wandType = "earth", - level = 600, - mana = 20, - damage = { 100, 124 }, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- sanguine rod - itemId = 43885, - type = WEAPON_WAND, - wandType = "earth", - level = 600, - mana = 20, - damage = { 100, 124 }, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- grand sanguine coil - itemId = 43883, - type = WEAPON_WAND, - wandType = "energy", - level = 250, - mana = 21, - damage = { 103, 125 }, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- sanguine coil - itemId = 43882, - type = WEAPON_WAND, - wandType = "fire", - level = 250, - mana = 21, - damage = { 113, 125 }, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- grand sanguine crossbow - itemId = 43880, - type = WEAPON_DISTANCE, - level = 600, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine crossbow - itemId = 43879, - type = WEAPON_DISTANCE, - level = 600, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- grand sanguine bow - itemId = 43878, - type = WEAPON_DISTANCE, - level = 600, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- sanguine bow - itemId = 43877, - type = WEAPON_DISTANCE, - level = 600, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- grand sanguine battleaxe - itemId = 43875, - type = WEAPON_AXE, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine battleaxe - itemId = 43874, - type = WEAPON_AXE, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine bludgeon - itemId = 43873, - type = WEAPON_CLUB, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine bludgeon - itemId = 43872, - type = WEAPON_CLUB, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine razor - itemId = 43871, - type = WEAPON_SWORD, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine razor - itemId = 43870, - type = WEAPON_SWORD, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine hatchet - itemId = 43869, - type = WEAPON_AXE, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine hatchet - itemId = 43868, - type = WEAPON_AXE, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine cudgel - itemId = 43867, - type = WEAPON_CLUB, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine cudgel - itemId = 43866, - type = WEAPON_CLUB, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- grand sanguine blade - itemId = 43865, - type = WEAPON_SWORD, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sanguine blade - itemId = 43864, - type = WEAPON_SWORD, - level = 600, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- broken macuahuitl - itemId = 40530, - type = WEAPON_SWORD, - }, - { - -- naga rod - itemId = 39163, - type = WEAPON_WAND, - wandType = "ice", - level = 250, - mana = 22, - damage = { 90, 110 }, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- naga wand - itemId = 39162, - type = WEAPON_WAND, - wandType = "energy", - level = 250, - mana = 21, - damage = { 90, 120 }, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- naga crossbow - itemId = 39159, - type = WEAPON_DISTANCE, - level = 300, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- naga club - itemId = 39157, - type = WEAPON_CLUB, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga axe - itemId = 39156, - type = WEAPON_AXE, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- naga sword - itemId = 39155, - type = WEAPON_SWORD, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch rod - itemId = 36675, - type = WEAPON_WAND, - wandType = "ice", - level = 250, - mana = 22, - damage = { 85, 105 }, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- eldritch rod - itemId = 36674, - type = WEAPON_WAND, - wandType = "ice", - level = 250, - mana = 22, - damage = { 85, 105 }, - unproperly = true, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- gilded eldritch wand - itemId = 36669, - type = WEAPON_WAND, - wandType = "fire", - level = 250, - mana = 22, - damage = { 85, 105 }, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- eldritch wand - itemId = 36668, - type = WEAPON_WAND, - wandType = "fire", - level = 250, - mana = 22, - damage = { 85, 105 }, - unproperly = true, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- gilded eldritch bow - itemId = 36665, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- eldritch bow - itemId = 36664, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- gilded eldritch greataxe - itemId = 36662, - type = WEAPON_AXE, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch greataxe - itemId = 36661, - type = WEAPON_AXE, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch warmace - itemId = 36660, - type = WEAPON_CLUB, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch warmace - itemId = 36659, - type = WEAPON_CLUB, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- gilded eldritch claymore - itemId = 36658, - type = WEAPON_SWORD, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- eldritch claymore - itemId = 36657, - type = WEAPON_SWORD, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spectral bolt (no decay) - itemId = 35902, - type = WEAPON_AMMO, - level = 150, - unproperly = true, - action = "removecount", - }, - { - -- jungle wand - itemId = 35522, - type = WEAPON_WAND, - wandType = "earth", - level = 150, - mana = 19, - damage = { 80, 100 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- jungle rod - itemId = 35521, - type = WEAPON_WAND, - wandType = "ice", - level = 150, - mana = 19, - damage = { 80, 100 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- jungle bow - itemId = 35518, - type = WEAPON_DISTANCE, - level = 150, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- throwing axe - itemId = 35515, - type = WEAPON_AXE, - level = 150, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- jungle flail - itemId = 35514, - type = WEAPON_CLUB, - level = 150, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion longsword - itemId = 34155, - type = WEAPON_SWORD, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion hammer - itemId = 34254, - type = WEAPON_CLUB, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion axe - itemId = 34253, - type = WEAPON_AXE, - level = 270, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- lion wand - itemId = 34152, - type = WEAPON_WAND, - wandType = "ice", - level = 220, - mana = 21, - damage = { 89, 109 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- lion rod - itemId = 34151, - type = WEAPON_WAND, - wandType = "ice", - level = 270, - mana = 20, - damage = { 85, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- lion longbow - itemId = 34150, - type = WEAPON_DISTANCE, - level = 270, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulhexer rod - itemId = 34091, - type = WEAPON_WAND, - wandType = "ice", - level = 400, - mana = 21, - damage = { 98, 118 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- soultainter wand - itemId = 34090, - type = WEAPON_WAND, - wandType = "death", - level = 400, - mana = 21, - damage = { 100, 120 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- soulpiercer crossbow - itemId = 34089, - type = WEAPON_DISTANCE, - level = 400, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulbleeder bow - itemId = 34088, - type = WEAPON_DISTANCE, - level = 400, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- soulmaimer club - itemId = 34087, - type = WEAPON_CLUB, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcrusher club - itemId = 34086, - type = WEAPON_CLUB, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- souleater axe - itemId = 34085, - type = WEAPON_AXE, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulbiter axe - itemId = 34084, - type = WEAPON_AXE, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulshredder sword - itemId = 34083, - type = WEAPON_SWORD, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- soulcutter sword - itemId = 34082, - type = WEAPON_SWORD, - level = 400, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- phantasmal axe - itemId = 32616, - type = WEAPON_AXE, - level = 180, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- meat hammer - itemId = 32093, - type = WEAPON_CLUB, - }, - { - -- tagralt blade - itemId = 31614, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- bow of cataclysm - itemId = 31581, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- mortal mace - itemId = 31580, - type = WEAPON_CLUB, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra rod - itemId = 30400, - type = WEAPON_WAND, - wandType = "earth", - level = 220, - mana = 21, - damage = { 70, 110 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- cobra wand - itemId = 30399, - type = WEAPON_WAND, - wandType = "energy", - level = 270, - mana = 22, - damage = { 94, 100 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- cobra sword - itemId = 30398, - type = WEAPON_SWORD, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra axe - itemId = 30396, - type = WEAPON_AXE, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra club - itemId = 30395, - type = WEAPON_CLUB, - level = 220, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cobra crossbow - itemId = 30393, - type = WEAPON_DISTANCE, - level = 220, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ice hatchet - itemId = 30283, - type = WEAPON_AXE, - }, - { - -- energized limb - itemId = 29425, - type = WEAPON_WAND, - wandType = "fire", - level = 180, - mana = 24, - damage = { 88, 108 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- winterblade - itemId = 29422, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- summerblade - itemId = 29421, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- resizer - itemId = 29419, - type = WEAPON_CLUB, - level = 230, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- living vine bow - itemId = 29417, - type = WEAPON_DISTANCE, - level = 220, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- golden axe - itemId = 29286, - type = WEAPON_AXE, - }, - { - -- wand of destruction test - itemId = 28479, - type = WEAPON_WAND, - }, - { - -- umbral master bow test - itemId = 28478, - type = WEAPON_DISTANCE, - }, - { - -- sorcerer test weapon - itemId = 28466, - type = WEAPON_WAND, - }, - { - -- bow of destruction test - itemId = 28465, - type = WEAPON_DISTANCE, - }, - { - -- test weapon for knights - itemId = 28464, - type = WEAPON_SWORD, - }, - { - -- sulphurous demonbone - itemId = 28832, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- unliving demonbone - itemId = 28831, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- energized demonbone - itemId = 28830, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- rotten demonbone - itemId = 28829, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- deepling fork - itemId = 28826, - type = WEAPON_WAND, - wandType = "ice", - level = 230, - mana = 23, - damage = { 80, 120 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- deepling ceremonial dagger - itemId = 28825, - type = WEAPON_WAND, - wandType = "ice", - level = 180, - mana = 23, - damage = { 86, 98 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- falcon mace - itemId = 28725, - type = WEAPON_CLUB, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon battleaxe - itemId = 28724, - type = WEAPON_AXE, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon longsword - itemId = 28723, - type = WEAPON_SWORD, - level = 300, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- falcon bow - itemId = 28718, - type = WEAPON_DISTANCE, - level = 300, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- falcon wand - itemId = 28717, - type = WEAPON_WAND, - wandType = "energy", - level = 300, - mana = 21, - damage = { 86, 102 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- falcon rod - itemId = 28716, - type = WEAPON_WAND, - wandType = "earth", - level = 300, - mana = 20, - damage = { 87, 101 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- gnome sword - itemId = 27651, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mallet handle - itemId = 27525, - type = WEAPON_CLUB, - }, - { - -- strange mallet - itemId = 27523, - type = WEAPON_CLUB, - }, - { - -- rod of destruction - itemId = 27458, - type = WEAPON_WAND, - wandType = "ice", - level = 200, - mana = 20, - damage = { 80, 110 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of destruction - itemId = 27457, - type = WEAPON_WAND, - wandType = "energy", - level = 200, - mana = 20, - damage = { 80, 110 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of destruction - itemId = 27456, - type = WEAPON_DISTANCE, - level = 200, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of destruction - itemId = 27455, - type = WEAPON_DISTANCE, - level = 200, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of destruction - itemId = 27454, - type = WEAPON_CLUB, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of destruction - itemId = 27453, - type = WEAPON_CLUB, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of destruction - itemId = 27452, - type = WEAPON_AXE, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of destruction - itemId = 27451, - type = WEAPON_AXE, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of destruction - itemId = 27450, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of destruction - itemId = 27449, - type = WEAPON_SWORD, - level = 200, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ornate carving hammer - itemId = 26061, - type = WEAPON_CLUB, - }, - { - -- valuable carving hammer - itemId = 26060, - type = WEAPON_CLUB, - }, - { - -- plain carving hammer - itemId = 26059, - type = WEAPON_CLUB, - }, - { - -- ornate carving mace - itemId = 26058, - type = WEAPON_CLUB, - }, - { - -- valuable carving mace - itemId = 26057, - type = WEAPON_CLUB, - }, - { - -- plain carving mace - itemId = 26056, - type = WEAPON_CLUB, - }, - { - -- ornate carving chopper - itemId = 26055, - type = WEAPON_AXE, - }, - { - -- valuable carving chopper - itemId = 26054, - type = WEAPON_AXE, - }, - { - -- plain carving chopper - itemId = 26053, - type = WEAPON_AXE, - }, - { - -- ornate carving axe - itemId = 26052, - type = WEAPON_AXE, - }, - { - -- valuable carving axe - itemId = 26051, - type = WEAPON_AXE, - }, - { - -- plain carving axe - itemId = 26050, - type = WEAPON_AXE, - }, - { - -- ornate carving slayer - itemId = 26049, - type = WEAPON_SWORD, - }, - { - -- valuable carving slayer - itemId = 26048, - type = WEAPON_SWORD, - }, - { - -- plain carving slayer - itemId = 26047, - type = WEAPON_SWORD, - }, - { - -- ornate carving blade - itemId = 26046, - type = WEAPON_SWORD, - }, - { - -- valuable carving blade - itemId = 26045, - type = WEAPON_SWORD, - }, - { - -- plain carving blade - itemId = 26044, - type = WEAPON_SWORD, - }, - { - -- ornate remedy hammer - itemId = 26031, - type = WEAPON_CLUB, - }, - { - -- valuable remedy hammer - itemId = 26030, - type = WEAPON_CLUB, - }, - { - -- plain remedy hammer - itemId = 26029, - type = WEAPON_CLUB, - }, - { - -- ornate remedy mace - itemId = 26028, - type = WEAPON_CLUB, - }, - { - -- valuable remedy mace - itemId = 26027, - type = WEAPON_CLUB, - }, - { - -- plain remedy mace - itemId = 26026, - type = WEAPON_CLUB, - }, - { - -- ornate remedy chopper - itemId = 26025, - type = WEAPON_AXE, - }, - { - -- valuable remedy chopper - itemId = 26024, - type = WEAPON_AXE, - }, - { - -- plain remedy chopper - itemId = 26023, - type = WEAPON_AXE, - }, - { - -- ornate remedy axe - itemId = 26022, - type = WEAPON_AXE, - }, - { - -- valuable remedy axe - itemId = 26021, - type = WEAPON_AXE, - }, - { - -- plain remedy axe - itemId = 26020, - type = WEAPON_AXE, - }, - { - -- ornate remedy slayer - itemId = 26019, - type = WEAPON_SWORD, - }, - { - -- valuable remedy slayer - itemId = 26018, - type = WEAPON_SWORD, - }, - { - -- plain remedy slayer - itemId = 26017, - type = WEAPON_SWORD, - }, - { - -- ornate remedy blade - itemId = 26016, - type = WEAPON_SWORD, - }, - { - -- valuable remedy blade - itemId = 26015, - type = WEAPON_SWORD, - }, - { - -- plain remedy blade - itemId = 26014, - type = WEAPON_SWORD, - }, - { - -- ornate mayhem hammer - itemId = 26000, - type = WEAPON_CLUB, - }, - { - -- valuable mayhem hammer - itemId = 25999, - type = WEAPON_CLUB, - }, - { - -- plain mayhem hammer - itemId = 25998, - type = WEAPON_CLUB, - }, - { - -- ornate mayhem mace - itemId = 25997, - type = WEAPON_CLUB, - }, - { - -- valuable mayhem mace - itemId = 25996, - type = WEAPON_CLUB, - }, - { - -- plain mayhem mace - itemId = 25995, - type = WEAPON_CLUB, - }, - { - -- ornate mayhem chopper - itemId = 25994, - type = WEAPON_AXE, - }, - { - -- valuable mayhem chopper - itemId = 25993, - type = WEAPON_AXE, - }, - { - -- plain mayhem chopper - itemId = 25992, - type = WEAPON_AXE, - }, - { - -- ornate mayhem axe - itemId = 25991, - type = WEAPON_AXE, - }, - { - -- valuable mayhem axe - itemId = 25990, - type = WEAPON_AXE, - }, - { - -- plain mayhem axe - itemId = 25989, - type = WEAPON_AXE, - }, - { - -- ornate mayhem slayer - itemId = 25988, - type = WEAPON_SWORD, - }, - { - -- valuable mayhem slayer - itemId = 25987, - type = WEAPON_SWORD, - }, - { - -- plain mayhem slayer - itemId = 25986, - type = WEAPON_SWORD, - }, - { - -- ornate mayhem blade - itemId = 25985, - type = WEAPON_SWORD, - }, - { - -- valuable mayhem blade - itemId = 25984, - type = WEAPON_SWORD, - }, - { - -- plain mayhem blade - itemId = 25983, - type = WEAPON_SWORD, - }, - { - -- energy war hammer replica - itemId = 25974, - type = WEAPON_CLUB, - }, - { - -- energy orcish maul replica - itemId = 25973, - type = WEAPON_CLUB, - }, - { - -- energy basher replica - itemId = 25972, - type = WEAPON_CLUB, - }, - { - -- energy crystal mace replica - itemId = 25971, - type = WEAPON_CLUB, - }, - { - -- energy clerical mace replica - itemId = 25970, - type = WEAPON_CLUB, - }, - { - -- energy war axe replica - itemId = 25969, - type = WEAPON_AXE, - }, - { - -- energy headchopper replica - itemId = 25968, - type = WEAPON_AXE, - }, - { - -- energy heroic axe replica - itemId = 25967, - type = WEAPON_AXE, - }, - { - -- energy knight axe replica - itemId = 25966, - type = WEAPON_AXE, - }, - { - -- energy barbarian axe replica - itemId = 25965, - type = WEAPON_AXE, - }, - { - -- energy dragon slayer replica - itemId = 25964, - type = WEAPON_SWORD, - }, - { - -- energy blacksteel replica - itemId = 25963, - type = WEAPON_SWORD, - }, - { - -- energy mystic blade replica - itemId = 25962, - type = WEAPON_SWORD, - }, - { - -- energy relic sword replica - itemId = 25961, - type = WEAPON_SWORD, - }, - { - -- energy spike sword replica - itemId = 25960, - type = WEAPON_SWORD, - }, - { - -- earth war hammer replica - itemId = 25959, - type = WEAPON_CLUB, - }, - { - -- earth orcish maul replica - itemId = 25958, - type = WEAPON_CLUB, - }, - { - -- earth basher replica - itemId = 25957, - type = WEAPON_CLUB, - }, - { - -- earth crystal mace replica - itemId = 25956, - type = WEAPON_CLUB, - }, - { - -- earth clerical mace replica - itemId = 25955, - type = WEAPON_CLUB, - }, - { - -- earth war axe replica - itemId = 25954, - type = WEAPON_AXE, - }, - { - -- earth headchopper replica - itemId = 25953, - type = WEAPON_AXE, - }, - { - -- earth heroic axe replica - itemId = 25952, - type = WEAPON_AXE, - }, - { - -- earth knight axe replica - itemId = 25951, - type = WEAPON_AXE, - }, - { - -- earth barbarian axe replica - itemId = 25950, - type = WEAPON_AXE, - }, - { - -- earth dragon slayer replica - itemId = 25949, - type = WEAPON_SWORD, - }, - { - -- earth blacksteel replica - itemId = 25948, - type = WEAPON_SWORD, - }, - { - -- earth mystic blade replica - itemId = 25947, - type = WEAPON_SWORD, - }, - { - -- earth relic sword replica - itemId = 25946, - type = WEAPON_SWORD, - }, - { - -- earth spike sword replica - itemId = 25945, - type = WEAPON_SWORD, - }, - { - -- icy war hammer replica - itemId = 25944, - type = WEAPON_CLUB, - }, - { - -- icy orcish maul replica - itemId = 25943, - type = WEAPON_CLUB, - }, - { - -- icy basher replica - itemId = 25942, - type = WEAPON_CLUB, - }, - { - -- icy crystal mace replica - itemId = 25941, - type = WEAPON_CLUB, - }, - { - -- icy clerical mace replica - itemId = 25940, - type = WEAPON_CLUB, - }, - { - -- icy war axe replica - itemId = 25939, - type = WEAPON_AXE, - }, - { - -- icy headchopper replica - itemId = 25938, - type = WEAPON_AXE, - }, - { - -- icy heroic axe replica - itemId = 25937, - type = WEAPON_AXE, - }, - { - -- icy knight axe replica - itemId = 25936, - type = WEAPON_AXE, - }, - { - -- icy barbarian axe replica - itemId = 25935, - type = WEAPON_AXE, - }, - { - -- icy dragon slayer replica - itemId = 25934, - type = WEAPON_SWORD, - }, - { - -- icy blacksteel replica - itemId = 25933, - type = WEAPON_SWORD, - }, - { - -- icy mystic blade replica - itemId = 25932, - type = WEAPON_SWORD, - }, - { - -- icy relic sword replica - itemId = 25931, - type = WEAPON_SWORD, - }, - { - -- icy spike sword replica - itemId = 25930, - type = WEAPON_SWORD, - }, - { - -- fiery war hammer replica - itemId = 25929, - type = WEAPON_CLUB, - }, - { - -- fiery orcish maul replica - itemId = 25928, - type = WEAPON_CLUB, - }, - { - -- fiery basher replica - itemId = 25927, - type = WEAPON_CLUB, - }, - { - -- fiery crystal mace replica - itemId = 25926, - type = WEAPON_CLUB, - }, - { - -- fiery clerical mace replica - itemId = 25925, - type = WEAPON_CLUB, - }, - { - -- fiery war axe replica - itemId = 25924, - type = WEAPON_AXE, - }, - { - -- fiery headchopper replica - itemId = 25923, - type = WEAPON_AXE, - }, - { - -- fiery heroic axe replica - itemId = 25922, - type = WEAPON_AXE, - }, - { - -- fiery knight axe replica - itemId = 25921, - type = WEAPON_AXE, - }, - { - -- fiery barbarian axe replica - itemId = 25920, - type = WEAPON_AXE, - }, - { - -- fiery dragon slayer replica - itemId = 25919, - type = WEAPON_SWORD, - }, - { - -- fiery blacksteel replica - itemId = 25918, - type = WEAPON_SWORD, - }, - { - -- fiery mystic blade replica - itemId = 25917, - type = WEAPON_SWORD, - }, - { - -- fiery relic sword replica - itemId = 25916, - type = WEAPON_SWORD, - }, - { - -- fiery spike sword replica - itemId = 25915, - type = WEAPON_SWORD, - }, - { - -- wand of darkness - itemId = 25760, - type = WEAPON_WAND, - wandType = "death", - level = 41, - mana = 15, - damage = { 80, 100 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- royal star - itemid = 25759, - type = WEAPON_MISSILE, - level = 120, - unproperly = true, - breakchance = 30, - }, - { - -- spectral bolt - itemId = 25758, - type = WEAPON_AMMO, - level = 150, - unproperly = true, - action = "removecount", - }, - { - -- leaf star - itemid = 25735, - type = WEAPON_MISSILE, - level = 60, - unproperly = true, - breakchance = 40, - }, - { - -- dream blossom staff - itemId = 25700, - type = WEAPON_WAND, - wandType = "energy", - level = 80, - mana = 18, - damage = { 63, 77 }, - vocation = { - { "Sorcerer", true }, - { "Druid", true, true }, - { "Master Sorcerer" }, - { "Elder Druid" }, - }, - }, - { - -- rod of carving - itemId = 23339, - type = WEAPON_WAND, - wandType = "ice", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of carving - itemId = 23335, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of carving - itemId = 23331, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of carving - itemId = 23327, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of carving - itemId = 23323, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of carving - itemId = 23319, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of carving - itemId = 23315, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of carving - itemId = 23311, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of carving - itemId = 23307, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of carving - itemId = 23303, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rod of remedy - itemId = 23299, - type = WEAPON_WAND, - wandType = "ice", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of remedy - itemId = 23295, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of remedy - itemId = 23291, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of remedy - itemId = 23287, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of remedy - itemId = 23283, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of remedy - itemId = 23279, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of remedy - itemId = 23275, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of remedy - itemId = 23271, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of remedy - itemId = 23267, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of remedy - itemId = 23263, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rod of mayhem - itemId = 23232, - type = WEAPON_WAND, - wandType = "ice", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of mayhem - itemId = 23231, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 18, - damage = { 70, 105 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crossbow of mayhem - itemId = 23230, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- bow of mayhem - itemId = 23229, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hammer of mayhem - itemId = 23228, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mace of mayhem - itemId = 23227, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chopper of mayhem - itemId = 23226, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe of mayhem - itemId = 23225, - type = WEAPON_AXE, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- slayer of mayhem - itemId = 23224, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blade of mayhem - itemId = 23223, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- rift crossbow - itemId = 22867, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- rift bow - itemId = 22866, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ferumbras' staff (enchanted) - itemId = 22766, - type = WEAPON_WAND, - wandType = "energy", - level = 100, - mana = 19, - damage = { 80, 110 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- ferumbras' staff (failed) - itemId = 22765, - type = WEAPON_WAND, - wandType = "energy", - level = 65, - mana = 17, - damage = { 65, 95 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- Ferumbras' staff - itemId = 22764, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - }, - { - -- maimer - itemId = 22762, - type = WEAPON_CLUB, - level = 150, - unproperly = true, - }, - { - -- Impaler of the igniter - itemId = 22760, - type = WEAPON_SWORD, - level = 150, - unproperly = true, - }, - { - -- plague bite - itemId = 22759, - type = WEAPON_AXE, - level = 150, - unproperly = true, - }, - { - -- rift lance - itemId = 22727, - type = WEAPON_AXE, - level = 70, - unproperly = true, - }, - { - -- ogre sceptra - itemId = 22183, - type = WEAPON_WAND, - wandType = "earth", - level = 37, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- ogre choppa - itemId = 22172, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- ogre klubba - itemId = 22171, - type = WEAPON_AXE, - level = 50, - unproperly = true, - }, - { - -- simple arrow - itemId = 21470, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- the chiller - itemId = 21350, - type = WEAPON_WAND, - wandType = "ice", - level = 1, - mana = 1, - damage = { 4, 8 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- the scorcher - itemId = 21348, - type = WEAPON_WAND, - wandType = "fire", - level = 1, - mana = 1, - damage = { 4, 8 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- one hit wonder - itemId = 21219, - type = WEAPON_CLUB, - level = 70, - unproperly = true, - }, - { - -- glooth axe - itemId = 21180, - type = WEAPON_AXE, - level = 75, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glooth blade - itemId = 21179, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- glooth club - itemId = 21178, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- cowtana - itemId = 21177, - type = WEAPON_SWORD, - level = 25, - unproperly = true, - }, - { - -- execowtioner axe - itemId = 21176, - type = WEAPON_AXE, - level = 55, - unproperly = true, - }, - { - -- mino lance - itemId = 21174, - type = WEAPON_AXE, - level = 45, - unproperly = true, - }, - { - -- moohtant cudgel - itemId = 21173, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - }, - { - -- glooth whip - itemId = 21172, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- metal bat - itemId = 21171, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - }, - { - -- glooth spear - itemid = 21158, - type = WEAPON_MISSILE, - level = 60, - unproperly = true, - breakchance = 2, - }, - { - -- umbral master crossbow - itemId = 20087, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral crossbow - itemId = 20086, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crude umbral crossbow - itemId = 20085, - type = WEAPON_DISTANCE, - level = 75, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral master bow - itemId = 20084, - type = WEAPON_DISTANCE, - level = 250, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral bow - itemId = 20083, - type = WEAPON_DISTANCE, - level = 120, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crude umbral bow - itemId = 20082, - type = WEAPON_DISTANCE, - level = 75, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- umbral master hammer - itemId = 20081, - type = WEAPON_CLUB, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral hammer - itemId = 20080, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral hammer - itemId = 20079, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master mace - itemId = 20078, - type = WEAPON_CLUB, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral mace - itemId = 20077, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral mace - itemId = 20076, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master chopper - itemId = 20075, - type = WEAPON_AXE, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral chopper - itemId = 20074, - type = WEAPON_AXE, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral chopper - itemId = 20073, - type = WEAPON_AXE, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master axe - itemId = 20072, - type = WEAPON_AXE, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral axe - itemId = 20071, - type = WEAPON_AXE, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral axe - itemId = 20070, - type = WEAPON_AXE, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral master slayer - itemId = 20069, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral slayer - itemId = 20068, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral slayer - itemId = 20067, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral masterblade - itemId = 20066, - type = WEAPON_SWORD, - level = 250, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- umbral blade - itemId = 20065, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crude umbral blade - itemId = 20064, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icicle bow - itemId = 19362, - type = WEAPON_DISTANCE, - unproperly = true, - }, - { - -- triple bolt crossbow - itemId = 19356, - type = WEAPON_DISTANCE, - level = 70, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- spiky club - itemId = 17859, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- pair of iron fists - itemId = 17828, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- swampling club - itemId = 17824, - type = WEAPON_CLUB, - }, - { - -- life preserver - itemId = 17813, - type = WEAPON_CLUB, - level = 15, - unproperly = true, - }, - { - -- ratana - itemId = 17812, - type = WEAPON_SWORD, - level = 15, - unproperly = true, - }, - { - -- sorc and druid staff - itemId = 17111, - type = WEAPON_WAND, - wandType = "energy", - level = 1, - mana = 2, - damage = { 8, 18 }, - vocation = { - { "None", true }, - }, - }, - { - -- mean paladin spear - itemid = 17110, - type = WEAPON_MISSILE, - breakchance = 3, - vocation = { - { "None", true }, - }, - }, - { - -- mean knight sword - itemId = 17109, - type = WEAPON_SWORD, - unproperly = true, - vocation = { - { "None", true }, - }, - }, - { - -- shiny blade - itemId = 16175, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - }, - { - -- mycological bow - itemId = 16164, - type = WEAPON_DISTANCE, - level = 105, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- crystal crossbow - itemId = 16163, - type = WEAPON_DISTANCE, - level = 90, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- mycological mace - itemId = 16162, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - }, - { - -- crystalline axe - itemId = 16161, - type = WEAPON_AXE, - level = 120, - unproperly = true, - }, - { - -- crystalline sword - itemId = 16160, - type = WEAPON_SWORD, - level = 62, - unproperly = true, - }, - { - -- envenomed arrow - itemid = 16143, - type = WEAPON_AMMO, - level = 70, - unproperly = true, - action = "removecount", - }, - { - -- drill bolt - itemId = 16142, - type = WEAPON_AMMO, - level = 70, - unproperly = true, - action = "removecount", - }, - { - -- prismatic bolt - itemId = 16141, - type = WEAPON_AMMO, - level = 90, - unproperly = true, - action = "removecount", - }, - { - -- glacial rod - itemId = 16118, - type = WEAPON_WAND, - wandType = "ice", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- muck rod - itemId = 16117, - type = WEAPON_WAND, - wandType = "earth", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- wand of everblazing - itemId = 16115, - type = WEAPON_WAND, - wandType = "fire", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of defiance - itemId = 16096, - type = WEAPON_WAND, - wandType = "energy", - level = 65, - mana = 17, - damage = { 75, 95 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- crystalline arrow - itemid = 15793, - type = WEAPON_AMMO, - level = 90, - unproperly = true, - action = "removecount", - }, - { - -- crystal bolt - itemId = 15792, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- thorn spitter - itemId = 14768, - type = WEAPON_DISTANCE, - level = 150, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- vortex bolt - itemId = 14252, - type = WEAPON_AMMO, - level = 40, - unproperly = true, - action = "removecount", - }, - { - -- tarsal arrow - itemid = 14251, - type = WEAPON_AMMO, - level = 30, - unproperly = true, - action = "removecount", - }, - { - -- deepling squelcher - itemId = 14250, - type = WEAPON_CLUB, - level = 48, - unproperly = true, - }, - { - -- ornate crossbow - itemId = 14247, - type = WEAPON_DISTANCE, - level = 50, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hive bow - itemId = 14246, - type = WEAPON_DISTANCE, - level = 85, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- hive scythe - itemId = 14089, - type = WEAPON_AXE, - level = 70, - unproperly = true, - }, - { - -- guardian axe - itemId = 14043, - type = WEAPON_AXE, - level = 50, - unproperly = true, - }, - { - -- warrior's axe - itemId = 14040, - type = WEAPON_AXE, - level = 40, - unproperly = true, - }, - { - -- ornate mace - itemId = 14001, - type = WEAPON_CLUB, - level = 90, - unproperly = true, - }, - { - -- deepling axe - itemId = 13991, - type = WEAPON_AXE, - level = 80, - unproperly = true, - }, - { - -- deepling staff - itemId = 13987, - type = WEAPON_CLUB, - level = 38, - unproperly = true, - }, - { - -- shimmer wand - itemId = 12741, - type = WEAPON_WAND, - wandType = "energy", - level = 40, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- shimmer bow - itemId = 12733, - type = WEAPON_DISTANCE, - level = 40, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- shimmer rod - itemId = 12732, - type = WEAPON_WAND, - wandType = "ice", - level = 40, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- shimmer sword - itemId = 12731, - type = WEAPON_SWORD, - level = 40, - unproperly = true, - }, - { - -- heavy trident - itemId = 12683, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- wooden sword - itemId = 12673, - type = WEAPON_SWORD, - }, - { - -- wand of dimensions - itemId = 12603, - type = WEAPON_WAND, - wandType = "death", - level = 37, - mana = 9, - damage = { 44, 62 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- blade of corruption - itemId = 11693, - type = WEAPON_SWORD, - level = 82, - unproperly = true, - }, - { - -- snake god's sceptre - itemId = 11692, - type = WEAPON_CLUB, - level = 82, - unproperly = true, - }, - { - -- twiceslicer - itemId = 11657, - type = WEAPON_SWORD, - level = 58, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Zaoan halberd - itemId = 10406, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- twin hooks - itemId = 10392, - type = WEAPON_SWORD, - level = 20, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- drachaku - itemId = 10391, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Zaoan sword - itemId = 10390, - type = WEAPON_SWORD, - level = 55, - unproperly = true, - }, - { - -- sai - itemId = 10389, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- drakinata - itemId = 10388, - type = WEAPON_AXE, - level = 60, - unproperly = true, - }, - { - -- incredible mumpiz slayer - itemId = 9396, - type = WEAPON_SWORD, - }, - { - -- poet's fencing quill - itemId = 9387, - type = WEAPON_SWORD, - }, - { - -- farmer's avenger - itemId = 9386, - type = WEAPON_AXE, - }, - { - -- club of the fury - itemId = 9385, - type = WEAPON_CLUB, - }, - { - -- scythe of the reaper - itemId = 9384, - type = WEAPON_AXE, - }, - { - -- musician's bow - itemId = 9378, - type = WEAPON_DISTANCE, - }, - { - -- stale bread of ancientness - itemId = 9376, - type = WEAPON_CLUB, - }, - { - -- pointed rabbitslayer - itemId = 9375, - type = WEAPON_SWORD, - }, - { - -- glutton's mace - itemId = 9373, - type = WEAPON_CLUB, - }, - { - -- the calamity - itemId = 8104, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- the epiphany - itemId = 8103, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - }, - { - -- emerald sword - itemId = 8102, - type = WEAPON_SWORD, - level = 100, - unproperly = true, - }, - { - -- the stomper - itemId = 8101, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- obsidian truncheon - itemId = 8100, - type = WEAPON_CLUB, - level = 100, - unproperly = true, - }, - { - -- dark trinity mace - itemId = 8099, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - }, - { - -- demonwing axe - itemId = 8098, - type = WEAPON_AXE, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- solar axe - itemId = 8097, - type = WEAPON_AXE, - level = 130, - unproperly = true, - }, - { - -- hellforged axe - itemId = 8096, - type = WEAPON_AXE, - level = 110, - unproperly = true, - }, - { - -- wand of voodoo - itemId = 8094, - type = WEAPON_WAND, - wandType = "death", - level = 42, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of draconia - itemId = 8093, - type = WEAPON_WAND, - wandType = "fire", - level = 22, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of starmstorm - itemId = 8092, - type = WEAPON_WAND, - wandType = "energy", - level = 37, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- springsprout rod - itemId = 8084, - type = WEAPON_WAND, - wandType = "earth", - level = 37, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- northwind rod - itemId = 8083, - type = WEAPON_WAND, - wandType = "ice", - level = 22, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- underworld rod - itemId = 8082, - type = WEAPON_WAND, - wandType = "death", - level = 42, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- elethriel's elemental bow - itemId = 8030, - type = WEAPON_DISTANCE, - level = 70, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- silkweaver bow - itemId = 8029, - type = WEAPON_DISTANCE, - level = 40, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- yol's bow - itemId = 8028, - type = WEAPON_DISTANCE, - level = 60, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- composite hornbow - itemId = 8027, - type = WEAPON_DISTANCE, - level = 50, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- warsinger bow - itemId = 8026, - type = WEAPON_DISTANCE, - level = 80, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- ironworker - itemId = 8025, - type = WEAPON_DISTANCE, - level = 80, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- devileye - itemId = 8024, - type = WEAPON_DISTANCE, - level = 100, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- royal crossbow - itemId = 8023, - type = WEAPON_DISTANCE, - level = 130, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- chain bolter - itemId = 8022, - type = WEAPON_DISTANCE, - level = 60, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- modified crossbow - itemId = 8021, - type = WEAPON_DISTANCE, - level = 45, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- jagged sword - itemId = 7774, - type = WEAPON_SWORD, - }, - { - -- steel axe - itemId = 7773, - type = WEAPON_AXE, - }, - { - -- crimson sword - itemId = 860, - type = WEAPON_SWORD, - }, - { - -- energy war hammer - itemId = 810, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy orcish maul - itemId = 809, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- energy cranial basher - itemId = 808, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- energy crystal mace - itemId = 807, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- energy clerical mace - itemId = 806, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- energy war axe - itemId = 805, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy headchopper - itemId = 804, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy heroic axe - itemId = 803, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- energy knight axe - itemId = 802, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- energy barbarian axe - itemId = 801, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- energy dragon slayer - itemId = 798, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy blacksteel sword - itemId = 797, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- energy mystic blade - itemId = 796, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- energy relic sword - itemId = 795, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- energy spike sword - itemId = 794, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- earth war hammer - itemId = 793, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth orcish maul - itemId = 792, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- earth cranial basher - itemId = 791, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- earth crystal mace - itemId = 790, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- earth clerical mace - itemId = 789, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- earth war axe - itemId = 788, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth headchopper - itemId = 787, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth heroic axe - itemId = 786, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- earth knight axe - itemId = 785, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- earth barbarian axe - itemId = 784, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- earth dragon slayer - itemId = 783, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth blacksteel sword - itemId = 782, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- earth mystic blade - itemId = 781, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- earth relic sword - itemId = 780, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- earth spike sword - itemId = 779, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- earth arrow - itemid = 774, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- flaming arrow - itemid = 763, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- shiver arrow - itemid = 762, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- flash arrow - itemid = 761, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- icy war hammer - itemId = 693, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy orcish maul - itemId = 692, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- icy cranial basher - itemId = 691, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- icy crystal mace - itemId = 690, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- icy clerical mace - itemId = 689, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- icy war axe - itemId = 688, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy headchopper - itemId = 687, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy heroic axe - itemId = 686, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- icy knight axe - itemId = 685, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- icy barbarian axe - itemId = 684, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- icy dragon slayer - itemId = 683, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy blacksteel sword - itemId = 682, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- icy mystic blade - itemId = 681, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- icy relic sword - itemId = 680, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- icy spike sword - itemId = 679, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- fiery war hammer - itemId = 674, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery orcish maul - itemId = 673, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- fiery cranial basher - itemId = 672, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- fiery crystal mace - itemId = 671, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - action = "removecharge", - }, - { - -- fiery clerical mace - itemId = 670, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- fiery war axe - itemId = 669, - type = WEAPON_AXE, - level = 65, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery headchopper - itemId = 668, - type = WEAPON_AXE, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery heroic axe - itemId = 667, - type = WEAPON_AXE, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- fiery knight axe - itemId = 666, - type = WEAPON_AXE, - level = 25, - unproperly = true, - action = "removecharge", - }, - { - -- fiery barbarian axe - itemId = 665, - type = WEAPON_AXE, - level = 20, - unproperly = true, - action = "removecharge", - }, - { - -- fiery dragon slayer - itemId = 664, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery blacksteel sword - itemId = 663, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - action = "removecharge", - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fiery mystic blade - itemId = 662, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - action = "removecharge", - }, - { - -- fiery relic sword - itemId = 661, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - action = "removecharge", - }, - { - -- fiery spike sword - itemId = 660, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- noble axe - itemId = 7456, - type = WEAPON_AXE, - level = 35, - unproperly = true, - }, - { - -- mythril axe - itemId = 7455, - type = WEAPON_AXE, - level = 80, - unproperly = true, - }, - { - -- glorious axe - itemId = 7454, - type = WEAPON_AXE, - level = 30, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- executioner - itemId = 7453, - type = WEAPON_AXE, - level = 85, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spiked squelcher - itemId = 7452, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- shadow sceptre - itemId = 7451, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - }, - { - -- hammer of prophecy - itemId = 7450, - type = WEAPON_CLUB, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crystal sword - itemId = 7449, - type = WEAPON_SWORD, - level = 25, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- elvish bow - itemId = 7438, - type = WEAPON_DISTANCE, - }, - { - -- sapphire hammer - itemId = 7437, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- angelic axe - itemId = 7436, - type = WEAPON_AXE, - level = 45, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- impaler - itemId = 7435, - type = WEAPON_AXE, - level = 85, - unproperly = true, - }, - { - -- royal axe - itemId = 7434, - type = WEAPON_AXE, - level = 75, - unproperly = true, - }, - { - -- ravenwing - itemId = 7433, - type = WEAPON_AXE, - level = 65, - unproperly = true, - }, - { - -- furry club - itemId = 7432, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- demonbone - itemId = 7431, - type = WEAPON_CLUB, - level = 80, - unproperly = true, - }, - { - -- dragonbone staff - itemId = 7430, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- blessed sceptre - itemId = 7429, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - }, - { - -- bonebreaker - itemId = 7428, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- chaos mace - itemId = 7427, - type = WEAPON_CLUB, - level = 45, - unproperly = true, - }, - { - -- amber staff - itemId = 7426, - type = WEAPON_CLUB, - level = 40, - unproperly = true, - }, - { - -- taurus mace - itemId = 7425, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- lunar staff - itemId = 7424, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- skullcrusher - itemId = 7423, - type = WEAPON_CLUB, - level = 85, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- jade hammer - itemId = 7422, - type = WEAPON_CLUB, - level = 70, - unproperly = true, - }, - { - -- onyx flail - itemId = 7421, - type = WEAPON_CLUB, - level = 65, - unproperly = true, - }, - { - -- reaper's axe - itemId = 7420, - type = WEAPON_AXE, - level = 70, - unproperly = true, - }, - { - -- dreaded cleaver - itemId = 7419, - type = WEAPON_AXE, - level = 40, - unproperly = true, - }, - { - -- nightmare blade - itemId = 7418, - type = WEAPON_SWORD, - level = 70, - unproperly = true, - }, - { - -- runed sword - itemId = 7417, - type = WEAPON_SWORD, - level = 65, - unproperly = true, - }, - { - -- bloody edge - itemId = 7416, - type = WEAPON_SWORD, - level = 55, - unproperly = true, - }, - { - -- cranial basher - itemId = 7415, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - }, - { - -- abyss hammer - itemId = 7414, - type = WEAPON_CLUB, - level = 60, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- titan axe - itemId = 7413, - type = WEAPON_AXE, - level = 40, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- butcher's axe - itemId = 7412, - type = WEAPON_AXE, - level = 45, - unproperly = true, - }, - { - -- ornamented axe - itemId = 7411, - type = WEAPON_AXE, - level = 50, - unproperly = true, - }, - { - -- queen's sceptre - itemId = 7410, - type = WEAPON_CLUB, - level = 55, - unproperly = true, - }, - { - -- northern star - itemId = 7409, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - }, - { - -- wyvern fang - itemId = 7408, - type = WEAPON_SWORD, - level = 25, - unproperly = true, - }, - { - -- haunted blade - itemId = 7407, - type = WEAPON_SWORD, - level = 30, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- blacksteel sword - itemId = 7406, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- havoc blade - itemId = 7405, - type = WEAPON_SWORD, - level = 70, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- assassin dagger - itemId = 7404, - type = WEAPON_SWORD, - level = 40, - unproperly = true, - }, - { - -- berserker - itemId = 7403, - type = WEAPON_SWORD, - level = 65, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- dragon slayer - itemId = 7402, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- orcish maul - itemId = 7392, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - }, - { - -- thaian sword - itemId = 7391, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- the justice seeker - itemId = 7390, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - }, - { - -- heroic axe - itemId = 7389, - type = WEAPON_AXE, - level = 60, - unproperly = true, - }, - { - -- vile axe - itemId = 7388, - type = WEAPON_AXE, - level = 55, - unproperly = true, - }, - { - -- diamond sceptre - itemId = 7387, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- mercenary sword - itemId = 7386, - type = WEAPON_SWORD, - level = 40, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- crimson sword - itemId = 7385, - type = WEAPON_SWORD, - level = 20, - unproperly = true, - }, - { - -- mystic blade - itemId = 7384, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - }, - { - -- relic sword - itemId = 7383, - type = WEAPON_SWORD, - level = 50, - unproperly = true, - }, - { - -- demonrage sword - itemId = 7382, - type = WEAPON_SWORD, - level = 60, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- mammoth whopper - itemId = 7381, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- headchopper - itemId = 7380, - type = WEAPON_AXE, - level = 35, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- brutetamer's staff - itemId = 7379, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- royal spear - itemid = 7378, - type = WEAPON_MISSILE, - level = 25, - unproperly = true, - breakchance = 3, - }, - { - -- assassin star - itemid = 7368, - type = WEAPON_MISSILE, - level = 80, - unproperly = true, - breakchance = 33, - }, - { - -- enchanted spear - itemid = 7367, - type = WEAPON_MISSILE, - level = 42, - unproperly = true, - breakchance = 1, - }, - { - -- onyx arrow - itemid = 7365, - type = WEAPON_AMMO, - level = 40, - unproperly = true, - action = "removecount", - }, - { - -- sniper arrow - itemid = 7364, - type = WEAPON_AMMO, - level = 20, - unproperly = true, - action = "removecount", - }, - { - -- piercing bolt - itemId = 7363, - type = WEAPON_AMMO, - level = 30, - unproperly = true, - action = "removecount", - }, - { - -- ruthless axe - itemId = 6553, - type = WEAPON_AXE, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- infernal bolt - itemId = 6528, - type = WEAPON_AMMO, - level = 110, - unproperly = true, - action = "removecount", - }, - { - -- the avenger - itemId = 6527, - type = WEAPON_SWORD, - level = 75, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- Ron the Ripper's sabre - itemId = 6101, - type = WEAPON_SWORD, - }, - { - -- arbalest - itemId = 5803, - type = WEAPON_DISTANCE, - level = 75, - unproperly = true, - vocation = { - { "Paladin", true }, - { "Royal Paladin" }, - }, - }, - { - -- banana staff - itemId = 3348, - type = WEAPON_CLUB, - }, - { - -- hunting spear - itemId = 3347, - type = WEAPON_MISSILE, - level = 20, - unproperly = true, - breakchance = 6, - }, - { - -- ripper lance - itemId = 3346, - type = WEAPON_AXE, - }, - { - -- templar scytheblade - itemId = 3345, - type = WEAPON_SWORD, - }, - { - -- beastslayer axe - itemId = 3344, - type = WEAPON_AXE, - level = 30, - unproperly = true, - }, - { - -- lich staff - itemId = 3343, - type = WEAPON_CLUB, - level = 40, - unproperly = true, - }, - { - -- scythe - itemId = 3453, - type = WEAPON_CLUB, - }, - { - -- power bolt - itemId = 3450, - type = WEAPON_AMMO, - level = 55, - unproperly = true, - action = "removecount", - }, - { - -- arrow - itemId = 3447, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- bolt - itemId = 3446, - type = WEAPON_AMMO, - action = "removecount", - }, - { - -- bow - itemId = 3350, - type = WEAPON_DISTANCE, - }, - { - -- crossbow - itemId = 3349, - type = WEAPON_DISTANCE, - }, - { - -- war axe - itemId = 3342, - type = WEAPON_AXE, - level = 65, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- arcane staff - itemId = 3341, - type = WEAPON_CLUB, - level = 75, - unproperly = true, - }, - { - -- heavy mace - itemId = 3340, - type = WEAPON_CLUB, - level = 70, - unproperly = true, - }, - { - -- djinn blade - itemId = 3339, - type = WEAPON_SWORD, - level = 35, - unproperly = true, - }, - { - -- bone sword - itemId = 3338, - type = WEAPON_SWORD, - }, - { - -- bone club - itemId = 3337, - type = WEAPON_CLUB, - }, - { - -- studded club - itemId = 3336, - type = WEAPON_CLUB, - }, - { - -- twin axe - itemId = 3335, - type = WEAPON_AXE, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- pharaoh sword - itemId = 3334, - type = WEAPON_SWORD, - level = 45, - unproperly = true, - }, - { - -- crystal mace - itemId = 3333, - type = WEAPON_CLUB, - level = 35, - unproperly = true, - }, - { - -- hammer of wrath - itemId = 3332, - type = WEAPON_CLUB, - level = 65, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- ravager's axe - itemId = 3331, - type = WEAPON_AXE, - level = 70, - unproperly = true, - }, - { - -- heavy machete - itemId = 3330, - type = WEAPON_SWORD, - }, - { - -- daramian axe - itemId = 3329, - type = WEAPON_AXE, - }, - { - -- daramian waraxe - itemId = 3328, - type = WEAPON_AXE, - level = 25, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- daramian mace - itemId = 3327, - type = WEAPON_CLUB, - }, - { - -- epee - itemId = 3326, - type = WEAPON_SWORD, - level = 30, - unproperly = true, - }, - { - -- light mace - itemId = 3325, - type = WEAPON_CLUB, - }, - { - -- skull staff - itemId = 3324, - type = WEAPON_CLUB, - level = 30, - unproperly = true, - }, - { - -- dwarven axe - itemId = 3323, - type = WEAPON_AXE, - level = 20, - unproperly = true, - }, - { - -- dragon hammer - itemId = 3322, - type = WEAPON_CLUB, - level = 25, - unproperly = true, - }, - { - -- enchanted staff - itemId = 3321, - type = WEAPON_CLUB, - }, - { - -- fire axe - itemId = 3320, - type = WEAPON_AXE, - level = 35, - unproperly = true, - }, - { - -- stonecutter axe - itemId = 3319, - type = WEAPON_AXE, - level = 90, - unproperly = true, - }, - { - -- knight axe - itemId = 3318, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- barbarian axe - itemId = 3317, - type = WEAPON_AXE, - level = 20, - unproperly = true, - }, - { - -- orcish axe - itemId = 3316, - type = WEAPON_AXE, - }, - { - -- guardian halberd - itemId = 3315, - type = WEAPON_AXE, - level = 55, - unproperly = true, - }, - { - -- naginata - itemId = 3314, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- obsidian lance - itemId = 3313, - type = WEAPON_AXE, - level = 20, - unproperly = true, - }, - { - -- silver mace - itemId = 3312, - type = WEAPON_CLUB, - level = 45, - unproperly = true, - }, - { - -- clerical mace - itemId = 3311, - type = WEAPON_CLUB, - level = 20, - unproperly = true, - }, - { - -- iron hammer - itemId = 3310, - type = WEAPON_CLUB, - }, - { - -- thunder hammer - itemId = 3309, - type = WEAPON_CLUB, - level = 85, - unproperly = true, - }, - { - -- machete - itemId = 3308, - type = WEAPON_SWORD, - }, - { - -- scimitar - itemId = 3307, - type = WEAPON_SWORD, - }, - { - -- golden sickle - itemId = 3306, - type = WEAPON_AXE, - }, - { - -- battle hammer - itemId = 3305, - type = WEAPON_CLUB, - }, - { - -- crowbar - itemId = 3304, - type = WEAPON_CLUB, - }, - { - -- great axe - itemId = 3303, - type = WEAPON_AXE, - level = 95, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- dragon lance - itemId = 3302, - type = WEAPON_AXE, - level = 60, - unproperly = true, - }, - { - -- broadsword - itemId = 3301, - type = WEAPON_SWORD, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- katana - itemId = 3300, - type = WEAPON_SWORD, - }, - { - -- poison dagger - itemid = 3299, - type = WEAPON_SWORD, - }, - { - -- throwing knife - itemid = 3298, - type = WEAPON_MISSILE, - breakchance = 7, - }, - { - -- serpent sword - itemId = 3297, - type = WEAPON_SWORD, - }, - { - -- warlord sword - itemId = 3296, - type = WEAPON_SWORD, - level = 120, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- bright sword - itemId = 3295, - type = WEAPON_SWORD, - }, - { - -- short sword - itemId = 3294, - type = WEAPON_SWORD, - }, - { - -- sickle - itemId = 3293, - type = WEAPON_AXE, - }, - { - -- combat knife - itemId = 3292, - type = WEAPON_SWORD, - }, - { - -- knife - itemId = 3291, - type = WEAPON_SWORD, - }, - { - -- silver dagger - itemId = 3290, - type = WEAPON_SWORD, - }, - { - -- staff - itemId = 3289, - type = WEAPON_CLUB, - }, - { - -- magic sword - itemId = 3288, - type = WEAPON_SWORD, - level = 80, - unproperly = true, - }, - { - -- throwing star - itemId = 3287, - type = WEAPON_MISSILE, - breakchance = 10, - }, - { - -- mace - itemId = 3286, - type = WEAPON_CLUB, - }, - { - -- longsword - itemId = 3285, - type = WEAPON_SWORD, - }, - { - -- ice rapier - itemId = 3284, - type = WEAPON_SWORD, - action = "removecharge", - }, - { - -- carlin sword - itemId = 3283, - type = WEAPON_SWORD, - }, - { - -- morning star - itemId = 3282, - type = WEAPON_CLUB, - }, - { - -- giant sword - itemId = 3281, - type = WEAPON_SWORD, - level = 55, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- fire sword - itemId = 3280, - type = WEAPON_SWORD, - level = 30, - unproperly = true, - }, - { - -- war hammer - itemId = 3279, - type = WEAPON_CLUB, - level = 50, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- magic longsword - itemId = 3278, - type = WEAPON_SWORD, - level = 140, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- spear - itemId = 3277, - type = WEAPON_MISSILE, - breakchance = 3, - }, - { - -- hatchet - itemId = 3276, - type = WEAPON_AXE, - }, - { - -- double axe - itemId = 3275, - type = WEAPON_AXE, - level = 25, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- axe - itemId = 3274, - type = WEAPON_AXE, - }, - { - -- sabre - itemId = 3273, - type = WEAPON_SWORD, - }, - { - -- rapier - itemId = 3272, - type = WEAPON_SWORD, - }, - { - -- spike sword - itemId = 3271, - type = WEAPON_SWORD, - }, - { - -- club - itemId = 3270, - type = WEAPON_CLUB, - }, - { - -- halberd - itemId = 3269, - type = WEAPON_AXE, - level = 25, - unproperly = true, - }, - { - -- hand axe - itemId = 3268, - type = WEAPON_AXE, - }, - { - -- dagger - itemId = 3267, - type = WEAPON_SWORD, - }, - { - -- battle axe - itemId = 3266, - type = WEAPON_AXE, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- two handed sword - itemId = 3265, - type = WEAPON_SWORD, - level = 20, - unproperly = true, - vocation = { - { "Knight", true }, - { "Elite Knight" }, - }, - }, - { - -- sword - itemId = 3264, - type = WEAPON_SWORD, - }, - { - -- giant smithhammer - itemId = 3208, - type = WEAPON_CLUB, - }, - { - -- wand of dragonbreath - itemId = 3075, - type = WEAPON_WAND, - wandType = "fire", - level = 13, - mana = 3, - damage = { 13, 25 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of vortex - itemId = 3074, - type = WEAPON_WAND, - wandType = "energy", - level = 6, - mana = 1, - damage = { 8, 18 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of cosmic energy - itemId = 3073, - type = WEAPON_WAND, - wandType = "energy", - level = 26, - mana = 8, - damage = { 37, 53 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of decay - itemId = 3072, - type = WEAPON_WAND, - wandType = "death", - level = 19, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- wand of inferno - itemId = 3071, - type = WEAPON_WAND, - wandType = "fire", - level = 33, - mana = 8, - damage = { 56, 74 }, - vocation = { - { "Sorcerer", true }, - { "Master Sorcerer" }, - }, - }, - { - -- moonlight rod - itemId = 3070, - type = WEAPON_WAND, - wandType = "ice", - level = 13, - mana = 3, - damage = { 13, 25 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- necrotic rod - itemId = 3069, - type = WEAPON_WAND, - wandType = "death", - level = 19, - mana = 5, - damage = { 23, 37 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- hailstorm rod - itemId = 3067, - type = WEAPON_WAND, - wandType = "ice", - level = 33, - mana = 13, - damage = { 56, 74 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- snakebit rod - itemId = 3066, - type = WEAPON_WAND, - wandType = "earth", - level = 6, - mana = 2, - damage = { 8, 18 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- terra rod - itemId = 3065, - type = WEAPON_WAND, - wandType = "earth", - level = 26, - mana = 8, - damage = { 37, 53 }, - vocation = { - { "Druid", true }, - { "Elder Druid" }, - }, - }, - { - -- snowball - itemid = 2992, - type = WEAPON_MISSILE, - action = "removecount", - }, - { - -- small stone - itemid = 1781, - type = WEAPON_MISSILE, - breakchance = 3, - }, -} - -for _, w in ipairs(weapons) do - local weapon = Weapon(w.type) - weapon:id(w.itemid or w.itemId) - - if w.action then - weapon:action(w.action) - end - if w.breakchance or w.breakChance then - weapon:breakChance(w.breakchance or w.breakChance) - end - if w.level then - weapon:level(w.level) - end - if w.mana then - weapon:mana(w.mana) - end - if w.unproperly then - weapon:wieldUnproperly(w.unproperly) - end - if w.damage then - weapon:damage(w.damage[1], w.damage[2]) - end - if w.wandtype or w.wandType then - weapon:element(w.wandtype or w.wandType) - end - if w.vocation then - for _, v in ipairs(w.vocation) do - weapon:vocation(v[1], v[2] or false, v[3] or false) - end - end - - weapon:register() -end diff --git a/data/items/items.xml b/data/items/items.xml index dddb15ad6ad..faa2edfce01 100644 --- a/data/items/items.xml +++ b/data/items/items.xml @@ -41,6 +41,9 @@ + + + @@ -710,6 +713,9 @@ + + + @@ -805,6 +811,9 @@ + + + @@ -1102,6 +1111,9 @@ + + + @@ -1136,12 +1148,18 @@ + + + + + + @@ -1171,6 +1189,11 @@ + + + + + @@ -1179,6 +1202,13 @@ + + + + + + + @@ -1187,6 +1217,13 @@ + + + + + + + @@ -1194,6 +1231,14 @@ + + + + + + + + @@ -1201,6 +1246,14 @@ + + + + + + + + @@ -1209,6 +1262,13 @@ + + + + + + + @@ -1217,6 +1277,13 @@ + + + + + + + @@ -1225,6 +1292,13 @@ + + + + + + + @@ -1232,6 +1306,14 @@ + + + + + + + + @@ -1239,6 +1321,14 @@ + + + + + + + + @@ -1247,6 +1337,13 @@ + + + + + + + @@ -1255,6 +1352,13 @@ + + + + + + + @@ -1263,6 +1367,13 @@ + + + + + + + @@ -1270,6 +1381,13 @@ + + + + + + + @@ -1277,6 +1395,14 @@ + + + + + + + + @@ -1301,6 +1427,11 @@ + + + + + @@ -1309,6 +1440,13 @@ + + + + + + + @@ -1317,6 +1455,13 @@ + + + + + + + @@ -1324,6 +1469,14 @@ + + + + + + + + @@ -1331,6 +1484,14 @@ + + + + + + + + @@ -1339,6 +1500,13 @@ + + + + + + + @@ -1347,6 +1515,13 @@ + + + + + + + @@ -1355,6 +1530,13 @@ + + + + + + + @@ -1362,6 +1544,14 @@ + + + + + + + + @@ -1369,6 +1559,14 @@ + + + + + + + + @@ -1377,6 +1575,13 @@ + + + + + + + @@ -1385,6 +1590,13 @@ + + + + + + + @@ -1393,6 +1605,13 @@ + + + + + + + @@ -1400,6 +1619,13 @@ + + + + + + + @@ -1407,6 +1633,14 @@ + + + + + + + + @@ -1840,6 +2074,13 @@ + + + + + + + @@ -1850,6 +2091,13 @@ + + + + + + + @@ -1860,6 +2108,13 @@ + + + + + + + @@ -1926,6 +2181,13 @@ + + + + + + + @@ -1942,6 +2204,11 @@ + + + + + @@ -1950,6 +2217,13 @@ + + + + + + + @@ -1958,6 +2232,13 @@ + + + + + + + @@ -1965,6 +2246,14 @@ + + + + + + + + @@ -1972,6 +2261,14 @@ + + + + + + + + @@ -1980,6 +2277,13 @@ + + + + + + + @@ -1988,6 +2292,13 @@ + + + + + + + @@ -1996,6 +2307,13 @@ + + + + + + + @@ -2003,6 +2321,14 @@ + + + + + + + + @@ -2010,6 +2336,14 @@ + + + + + + + + @@ -2018,6 +2352,13 @@ + + + + + + + @@ -2026,6 +2367,13 @@ + + + + + + + @@ -2034,6 +2382,13 @@ + + + + + + + @@ -2041,6 +2396,13 @@ + + + + + + + @@ -2048,6 +2410,14 @@ + + + + + + + + @@ -2055,6 +2425,11 @@ + + + + + @@ -2063,6 +2438,13 @@ + + + + + + + @@ -2071,6 +2453,13 @@ + + + + + + + @@ -2078,6 +2467,14 @@ + + + + + + + + @@ -2085,6 +2482,14 @@ + + + + + + + + @@ -2097,6 +2502,13 @@ + + + + + + + @@ -2105,6 +2517,13 @@ + + + + + + + @@ -2113,6 +2532,13 @@ + + + + + + + @@ -2120,6 +2546,14 @@ + + + + + + + + @@ -2127,6 +2561,14 @@ + + + + + + + + @@ -2135,6 +2577,13 @@ + + + + + + + @@ -2143,6 +2592,13 @@ + + + + + + + @@ -2151,6 +2607,13 @@ + + + + + + + @@ -2158,6 +2621,13 @@ + + + + + + + @@ -2165,6 +2635,14 @@ + + + + + + + + @@ -2172,6 +2650,11 @@ + + + + + @@ -2179,6 +2662,11 @@ + + + + + @@ -2187,6 +2675,11 @@ + + + + + @@ -2196,6 +2689,10 @@ + + + + @@ -2205,6 +2702,10 @@ + + + + @@ -2214,6 +2715,10 @@ + + + + @@ -2223,6 +2728,10 @@ + + + + @@ -2233,6 +2742,11 @@ + + + + + @@ -2241,6 +2755,11 @@ + + + + + @@ -2251,6 +2770,11 @@ + + + + + @@ -2258,6 +2782,11 @@ + + + + + @@ -2265,6 +2794,11 @@ + + + + + @@ -2272,6 +2806,11 @@ + + + + + @@ -2279,6 +2818,11 @@ + + + + + @@ -2286,6 +2830,11 @@ + + + + + @@ -2293,6 +2842,11 @@ + + + + + @@ -2300,6 +2854,10 @@ + + + + @@ -2307,6 +2865,10 @@ + + + + @@ -2314,6 +2876,10 @@ + + + + @@ -2321,6 +2887,10 @@ + + + + @@ -2384,6 +2954,10 @@ + + + + @@ -2454,6 +3028,9 @@ + + + @@ -2482,6 +3059,9 @@ + + + @@ -2524,6 +3104,9 @@ + + + @@ -2538,12 +3121,18 @@ + + + + + + @@ -3264,6 +3853,11 @@ + + + + + @@ -3630,6 +4224,9 @@ + + + @@ -3640,12 +4237,18 @@ + + + + + + @@ -3655,6 +4258,9 @@ + + + @@ -3664,6 +4270,9 @@ + + + @@ -3673,6 +4282,9 @@ + + + @@ -3682,11 +4294,17 @@ + + + + + + @@ -3696,6 +4314,9 @@ + + + @@ -3707,9 +4328,15 @@ + + + + + + @@ -3717,6 +4344,9 @@ + + + @@ -3737,12 +4367,18 @@ + + + + + + @@ -3754,6 +4390,9 @@ + + + @@ -3763,11 +4402,17 @@ + + + + + + @@ -3778,6 +4423,9 @@ + + + @@ -3788,6 +4436,9 @@ + + + @@ -5279,6 +5930,9 @@ + + + @@ -5287,6 +5941,9 @@ + + + @@ -5302,41 +5959,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -5345,6 +6026,9 @@ + + + @@ -5353,6 +6037,9 @@ + + + @@ -5361,6 +6048,9 @@ + + + @@ -5369,6 +6059,9 @@ + + + @@ -5377,6 +6070,9 @@ + + + @@ -5385,6 +6081,9 @@ + + + @@ -5393,6 +6092,9 @@ + + + @@ -5401,6 +6103,9 @@ + + + @@ -5874,6 +6579,11 @@ + + + + + @@ -5922,6 +6632,9 @@ + + + @@ -5929,18 +6642,30 @@ + + + + + + + + + + + + @@ -5949,27 +6674,45 @@ + + + + + + + + + + + + + + + + + + @@ -5978,10 +6721,16 @@ + + + + + + @@ -5990,6 +6739,9 @@ + + + @@ -6002,6 +6754,9 @@ + + + @@ -6014,6 +6769,9 @@ + + + @@ -6099,6 +6857,9 @@ + + + @@ -6127,6 +6888,9 @@ + + + @@ -6134,6 +6898,9 @@ + + + @@ -6141,6 +6908,9 @@ + + + @@ -6148,6 +6918,10 @@ + + + + @@ -6155,6 +6929,9 @@ + + + @@ -6162,6 +6939,9 @@ + + + @@ -6170,12 +6950,18 @@ + + + + + + @@ -6184,10 +6970,16 @@ + + + + + + @@ -6208,6 +7000,10 @@ + + + + @@ -6224,6 +7020,9 @@ + + + @@ -6233,6 +7032,16 @@ + + + + + + + + + + @@ -6241,6 +7050,16 @@ + + + + + + + + + + @@ -6249,6 +7068,16 @@ + + + + + + + + + + @@ -6261,6 +7090,16 @@ + + + + + + + + + + @@ -6269,6 +7108,16 @@ + + + + + + + + + + @@ -6276,6 +7125,16 @@ + + + + + + + + + + @@ -6283,6 +7142,16 @@ + + + + + + + + + + @@ -6290,6 +7159,16 @@ + + + + + + + + + + @@ -6297,6 +7176,16 @@ + + + + + + + + + + @@ -6309,6 +7198,16 @@ + + + + + + + + + + @@ -6327,10 +7226,16 @@ + + + + + + @@ -6340,6 +7245,9 @@ + + + @@ -6354,6 +7262,9 @@ + + + @@ -6362,6 +7273,9 @@ + + + @@ -6370,6 +7284,9 @@ + + + @@ -6378,6 +7295,9 @@ + + + @@ -6388,6 +7308,9 @@ + + + @@ -6397,6 +7320,9 @@ + + + @@ -6407,6 +7333,10 @@ + + + + @@ -6420,6 +7350,9 @@ + + + @@ -6428,6 +7361,9 @@ + + + @@ -6435,6 +7371,9 @@ + + + @@ -6442,6 +7381,9 @@ + + + @@ -6449,6 +7391,9 @@ + + + @@ -6458,6 +7403,9 @@ + + + @@ -6467,6 +7415,9 @@ + + + @@ -6476,6 +7427,9 @@ + + + @@ -6483,12 +7437,18 @@ + + + + + + @@ -6499,6 +7459,9 @@ + + + @@ -6511,6 +7474,9 @@ + + + @@ -6521,6 +7487,9 @@ + + + @@ -6965,6 +7934,10 @@ + + + + @@ -6980,6 +7953,10 @@ + + + + @@ -7053,6 +8030,9 @@ + + + @@ -7068,6 +8048,9 @@ + + + @@ -7075,6 +8058,9 @@ + + + @@ -7159,14 +8145,23 @@ + + + + + + + + + @@ -7198,6 +8193,9 @@ + + + @@ -7252,6 +8250,10 @@ + + + + @@ -7260,6 +8262,13 @@ + + + + + + + @@ -7268,6 +8277,12 @@ + + + + + + @@ -7275,6 +8290,10 @@ + + + + @@ -7282,6 +8301,10 @@ + + + + @@ -7290,6 +8313,12 @@ + + + + + + @@ -7297,6 +8326,10 @@ + + + + @@ -7313,6 +8346,10 @@ + + + + @@ -7321,6 +8358,10 @@ + + + + @@ -7329,6 +8370,10 @@ + + + + @@ -7336,6 +8381,10 @@ + + + + @@ -7344,6 +8393,13 @@ + + + + + + + @@ -7351,6 +8407,10 @@ + + + + @@ -7360,6 +8420,11 @@ + + + + + @@ -7369,6 +8434,13 @@ + + + + + + + @@ -7384,6 +8456,13 @@ + + + + + + + @@ -7394,6 +8473,12 @@ + + + + + + @@ -7410,6 +8495,13 @@ + + + + + + + @@ -7417,6 +8509,10 @@ + + + + @@ -7425,6 +8521,10 @@ + + + + @@ -7435,6 +8535,11 @@ + + + + + @@ -7442,6 +8547,10 @@ + + + + @@ -7449,6 +8558,10 @@ + + + + @@ -7458,6 +8571,11 @@ + + + + + @@ -7474,6 +8592,12 @@ + + + + + + @@ -7482,6 +8606,10 @@ + + + + @@ -7489,6 +8617,10 @@ + + + + @@ -7496,6 +8628,10 @@ + + + + @@ -7503,6 +8639,10 @@ + + + + @@ -7510,6 +8650,10 @@ + + + + @@ -7517,6 +8661,10 @@ + + + + @@ -7533,6 +8681,12 @@ + + + + + + @@ -7542,6 +8696,13 @@ + + + + + + + @@ -7551,6 +8712,10 @@ + + + + @@ -7560,6 +8725,11 @@ + + + + + @@ -7568,6 +8738,10 @@ + + + + @@ -7576,6 +8750,10 @@ + + + + @@ -7591,6 +8769,11 @@ + + + + + @@ -7607,6 +8790,12 @@ + + + + + + @@ -7623,6 +8812,13 @@ + + + + + + + @@ -7631,6 +8827,10 @@ + + + + @@ -7638,6 +8838,10 @@ + + + + @@ -7645,6 +8849,10 @@ + + + + @@ -7653,6 +8861,10 @@ + + + + @@ -7660,6 +8872,10 @@ + + + + @@ -7676,6 +8892,12 @@ + + + + + + @@ -7683,6 +8905,10 @@ + + + + @@ -7698,6 +8924,12 @@ + + + + + + @@ -7714,6 +8946,12 @@ + + + + + + @@ -7722,6 +8960,12 @@ + + + + + + @@ -7730,6 +8974,12 @@ + + + + + + @@ -7745,6 +8995,12 @@ + + + + + + @@ -7752,6 +9008,10 @@ + + + + @@ -7767,6 +9027,12 @@ + + + + + + @@ -7782,6 +9048,12 @@ + + + + + + @@ -7798,6 +9070,12 @@ + + + + + + @@ -7808,6 +9086,12 @@ + + + + + + @@ -7819,6 +9103,10 @@ + + + + @@ -7826,6 +9114,12 @@ + + + + + + @@ -7841,6 +9135,12 @@ + + + + + + @@ -7857,6 +9157,12 @@ + + + + + + @@ -7864,6 +9170,10 @@ + + + + @@ -7878,6 +9188,12 @@ + + + + + + @@ -7885,6 +9201,10 @@ + + + + @@ -7893,6 +9213,13 @@ + + + + + + + @@ -7900,6 +9227,10 @@ + + + + @@ -7907,6 +9238,10 @@ + + + + @@ -7921,6 +9256,12 @@ + + + + + + @@ -7936,6 +9277,13 @@ + + + + + + + @@ -7951,6 +9299,12 @@ + + + + + + @@ -7959,6 +9313,12 @@ + + + + + + @@ -7974,6 +9334,13 @@ + + + + + + + @@ -7982,6 +9349,10 @@ + + + + @@ -7990,6 +9361,10 @@ + + + + @@ -7997,6 +9372,10 @@ + + + + @@ -8012,6 +9391,12 @@ + + + + + + @@ -8028,6 +9413,12 @@ + + + + + + @@ -8044,6 +9435,12 @@ + + + + + + @@ -8059,6 +9456,13 @@ + + + + + + + @@ -8068,6 +9472,12 @@ + + + + + + @@ -8083,6 +9493,12 @@ + + + + + + @@ -8091,6 +9507,10 @@ + + + + @@ -8099,6 +9519,10 @@ + + + + @@ -8108,6 +9532,13 @@ + + + + + + + @@ -8116,6 +9547,10 @@ + + + + @@ -8131,6 +9566,10 @@ + + + + @@ -8139,41 +9578,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8188,11 +9652,17 @@ + + + + + + @@ -8207,26 +9677,43 @@ + + + + + + + + + + + + + + + + + @@ -8241,6 +9728,9 @@ + + + @@ -8255,17 +9745,27 @@ + + + + + + + + + + @@ -8279,6 +9779,9 @@ + + + @@ -8293,51 +9796,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8352,6 +9887,9 @@ + + + @@ -8366,21 +9904,35 @@ + + + + + + + + + + + + + + @@ -8394,6 +9946,9 @@ + + + @@ -8408,6 +9963,10 @@ + + + + @@ -8422,6 +9981,9 @@ + + + @@ -8436,16 +9998,25 @@ + + + + + + + + + @@ -8459,6 +10030,9 @@ + + + @@ -8473,6 +10047,9 @@ + + + @@ -8486,6 +10063,9 @@ + + + @@ -8501,11 +10081,19 @@ + + + + + + + + @@ -8520,6 +10108,9 @@ + + + @@ -8535,12 +10126,18 @@ + + + + + + @@ -8555,27 +10152,42 @@ + + + + + + + + + + + + + + + @@ -8590,20 +10202,32 @@ + + + + + + + + + + + + @@ -8617,6 +10241,9 @@ + + + @@ -8632,30 +10259,45 @@ + + + + + + + + + + + + + + + @@ -8672,12 +10314,18 @@ + + + + + + @@ -8693,12 +10341,18 @@ + + + + + + @@ -8714,6 +10368,9 @@ + + + @@ -8729,6 +10386,9 @@ + + + @@ -8745,12 +10405,18 @@ + + + + + + @@ -8767,6 +10433,9 @@ + + + @@ -8774,6 +10443,9 @@ + + + @@ -8790,24 +10462,36 @@ + + + + + + + + + + + + @@ -8823,6 +10507,9 @@ + + + @@ -8830,12 +10517,18 @@ + + + + + + @@ -8851,12 +10544,18 @@ + + + + + + @@ -8872,6 +10571,9 @@ + + + @@ -8888,6 +10590,9 @@ + + + @@ -8903,6 +10608,9 @@ + + + @@ -8918,6 +10626,9 @@ + + + @@ -8933,12 +10644,18 @@ + + + + + + @@ -8955,18 +10672,27 @@ + + + + + + + + + @@ -8982,12 +10708,18 @@ + + + + + + @@ -9003,12 +10735,18 @@ + + + + + + @@ -9018,6 +10756,11 @@ + + + + + @@ -9027,6 +10770,11 @@ + + + + + @@ -9054,6 +10802,13 @@ + + + + + + + @@ -9070,6 +10825,10 @@ + + + + @@ -9335,6 +11094,9 @@ + + + @@ -9343,6 +11105,9 @@ + + + @@ -9350,6 +11115,9 @@ + + + @@ -9358,6 +11126,9 @@ + + + @@ -9365,6 +11136,9 @@ + + + @@ -9373,6 +11147,9 @@ + + + @@ -9381,6 +11158,9 @@ + + + @@ -9389,56 +11169,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9454,27 +11267,46 @@ + + + + + + + + + + + + + + + + + + + @@ -9488,12 +11320,18 @@ + + + + + + @@ -9501,11 +11339,18 @@ + + + + + + + @@ -10304,6 +12149,11 @@ + + + + + @@ -12253,6 +14103,9 @@ + + + @@ -13058,6 +14911,9 @@ + + + @@ -13066,6 +14922,9 @@ + + + @@ -13644,6 +15503,9 @@ + + + @@ -13763,6 +15625,9 @@ + + + @@ -13777,6 +15642,13 @@ + + + + + + + @@ -13971,7 +15843,7 @@ - + @@ -13993,6 +15865,9 @@ + + + @@ -14048,11 +15923,17 @@ + + + + + + @@ -14087,11 +15968,17 @@ + + + + + + @@ -14103,7 +15990,7 @@ - + @@ -14197,11 +16084,17 @@ + + + + + + @@ -15001,11 +16894,17 @@ + + + + + + @@ -15028,6 +16927,10 @@ + + + + @@ -15114,6 +17017,9 @@ + + + @@ -15143,6 +17049,9 @@ + + + @@ -15366,6 +17275,9 @@ + + + @@ -15378,6 +17290,9 @@ + + + @@ -15777,6 +17692,9 @@ + + + @@ -15815,6 +17733,9 @@ + + + @@ -16063,6 +17984,13 @@ + + + + + + + @@ -16072,12 +18000,22 @@ + + + + + + + + + + @@ -16088,6 +18026,9 @@ + + + @@ -16171,6 +18112,13 @@ + + + + + + + @@ -16248,6 +18196,9 @@ + + + @@ -17174,11 +19125,17 @@ + + + + + + @@ -17232,11 +19189,17 @@ + + + + + + @@ -17249,6 +19212,13 @@ + + + + + + + @@ -17258,6 +19228,13 @@ + + + + + + + @@ -17267,6 +19244,13 @@ + + + + + + + @@ -17277,6 +19261,9 @@ + + + @@ -17286,6 +19273,13 @@ + + + + + + + @@ -17295,6 +19289,13 @@ + + + + + + + @@ -17349,6 +19350,13 @@ + + + + + + + @@ -17357,6 +19365,12 @@ + + + + + + @@ -17373,6 +19387,13 @@ + + + + + + + @@ -17381,6 +19402,12 @@ + + + + + + @@ -17396,6 +19423,13 @@ + + + + + + + @@ -17411,6 +19445,12 @@ + + + + + + @@ -17427,6 +19467,12 @@ + + + + + + @@ -17442,6 +19488,12 @@ + + + + + + @@ -17451,6 +19503,13 @@ + + + + + + + @@ -17459,6 +19518,12 @@ + + + + + + @@ -17467,6 +19532,12 @@ + + + + + + @@ -17483,6 +19554,12 @@ + + + + + + @@ -17491,6 +19568,12 @@ + + + + + + @@ -17506,6 +19589,13 @@ + + + + + + + @@ -17522,6 +19612,12 @@ + + + + + + @@ -17573,6 +19669,13 @@ + + + + + + + @@ -17588,6 +19691,13 @@ + + + + + + + @@ -17603,6 +19713,12 @@ + + + + + + @@ -17618,6 +19734,13 @@ + + + + + + + @@ -17634,6 +19757,13 @@ + + + + + + + @@ -17649,6 +19779,13 @@ + + + + + + + @@ -17664,6 +19801,12 @@ + + + + + + @@ -17672,6 +19815,12 @@ + + + + + + @@ -17685,6 +19834,12 @@ + + + + + + @@ -17693,6 +19848,12 @@ + + + + + + @@ -17707,6 +19868,12 @@ + + + + + + @@ -17715,6 +19882,13 @@ + + + + + + + @@ -17731,6 +19905,13 @@ + + + + + + + @@ -17747,6 +19928,12 @@ + + + + + + @@ -17762,6 +19949,12 @@ + + + + + + @@ -17777,6 +19970,12 @@ + + + + + + @@ -17792,6 +19991,12 @@ + + + + + + @@ -17807,6 +20012,12 @@ + + + + + + @@ -17814,6 +20025,12 @@ + + + + + + @@ -17828,6 +20045,12 @@ + + + + + + @@ -17836,6 +20059,12 @@ + + + + + + @@ -17851,6 +20080,13 @@ + + + + + + + @@ -17866,6 +20102,12 @@ + + + + + + @@ -17874,6 +20116,12 @@ + + + + + + @@ -17889,6 +20137,12 @@ + + + + + + @@ -17898,6 +20152,12 @@ + + + + + + @@ -17907,6 +20167,13 @@ + + + + + + + @@ -17923,6 +20190,12 @@ + + + + + + @@ -17938,6 +20211,12 @@ + + + + + + @@ -17953,6 +20232,12 @@ + + + + + + @@ -17961,6 +20246,12 @@ + + + + + + @@ -17969,6 +20260,12 @@ + + + + + + @@ -17985,6 +20282,12 @@ + + + + + + @@ -18000,6 +20303,12 @@ + + + + + + @@ -18008,6 +20317,13 @@ + + + + + + + @@ -18023,6 +20339,12 @@ + + + + + + @@ -18040,6 +20362,10 @@ + + + + @@ -18090,6 +20416,13 @@ + + + + + + + @@ -18097,6 +20430,13 @@ + + + + + + + @@ -18111,6 +20451,12 @@ + + + + + + @@ -18126,6 +20472,13 @@ + + + + + + + @@ -18141,6 +20494,13 @@ + + + + + + + @@ -18149,6 +20509,13 @@ + + + + + + + @@ -18164,6 +20531,12 @@ + + + + + + @@ -18178,6 +20551,12 @@ + + + + + + @@ -18186,6 +20565,9 @@ + + + @@ -18200,11 +20582,17 @@ + + + + + + @@ -18220,16 +20608,25 @@ + + + + + + + + + @@ -18245,11 +20642,17 @@ + + + + + + @@ -18315,6 +20718,9 @@ + + + @@ -18566,6 +20972,9 @@ + + + @@ -18617,6 +21026,10 @@ + + + + @@ -18625,6 +21038,10 @@ + + + + @@ -18940,6 +21357,10 @@ + + + + @@ -18949,12 +21370,20 @@ + + + + + + + + @@ -19022,6 +21451,13 @@ + + + + + + + @@ -19038,6 +21474,13 @@ + + + + + + + @@ -19055,6 +21498,13 @@ + + + + + + + @@ -19071,6 +21521,13 @@ + + + + + + + @@ -19086,6 +21543,13 @@ + + + + + + + @@ -19103,6 +21567,13 @@ + + + + + + + @@ -19120,6 +21591,13 @@ + + + + + + + @@ -19128,6 +21606,13 @@ + + + + + + + @@ -19144,6 +21629,13 @@ + + + + + + + @@ -19152,6 +21644,13 @@ + + + + + + + @@ -19178,6 +21677,11 @@ + + + + + @@ -19185,6 +21689,11 @@ + + + + + @@ -19193,6 +21702,11 @@ + + + + + @@ -19201,6 +21715,11 @@ + + + + + @@ -19208,39 +21727,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19248,6 +21796,11 @@ + + + + + @@ -19255,6 +21808,11 @@ + + + + + @@ -19262,6 +21820,11 @@ + + + + + @@ -19269,6 +21832,11 @@ + + + + + @@ -19277,6 +21845,11 @@ + + + + + @@ -19285,6 +21858,11 @@ + + + + + @@ -19293,6 +21871,11 @@ + + + + + @@ -19301,6 +21884,11 @@ + + + + + @@ -19308,6 +21896,11 @@ + + + + + @@ -19315,6 +21908,11 @@ + + + + + @@ -19322,6 +21920,11 @@ + + + + + @@ -19336,6 +21939,11 @@ + + + + + @@ -19343,12 +21951,22 @@ + + + + + + + + + + @@ -19364,12 +21982,20 @@ + + + + + + + + @@ -19392,6 +22018,11 @@ + + + + + @@ -19408,6 +22039,11 @@ + + + + + @@ -19415,6 +22051,11 @@ + + + + + @@ -19422,6 +22063,11 @@ + + + + + @@ -19429,6 +22075,11 @@ + + + + + @@ -19436,6 +22087,11 @@ + + + + + @@ -19446,6 +22102,11 @@ + + + + + @@ -19455,6 +22116,11 @@ + + + + + @@ -19465,6 +22131,11 @@ + + + + + @@ -19478,6 +22149,11 @@ + + + + + @@ -19491,6 +22167,16 @@ + + + + + + + + + + @@ -19504,6 +22190,16 @@ + + + + + + + + + + @@ -19512,6 +22208,16 @@ + + + + + + + + + + @@ -19520,6 +22226,11 @@ + + + + + @@ -19536,6 +22247,16 @@ + + + + + + + + + + @@ -19548,6 +22269,16 @@ + + + + + + + + + + @@ -19560,11 +22291,25 @@ + + + + + + + + + + + + + + @@ -19580,6 +22325,13 @@ + + + + + + + @@ -19595,6 +22347,12 @@ + + + + + + @@ -19610,6 +22368,13 @@ + + + + + + + @@ -19618,6 +22383,12 @@ + + + + + + @@ -19633,6 +22404,12 @@ + + + + + + @@ -19647,6 +22424,13 @@ + + + + + + + @@ -19662,6 +22446,12 @@ + + + + + + @@ -19676,6 +22466,12 @@ + + + + + + @@ -19683,6 +22479,13 @@ + + + + + + + @@ -20715,17 +23518,28 @@ + + + + + + + + + + + @@ -20733,6 +23547,11 @@ + + + + + @@ -20743,6 +23562,11 @@ + + + + + @@ -21131,14 +23955,23 @@ + + + + + + + + + @@ -21150,6 +23983,9 @@ + + + @@ -21162,6 +23998,10 @@ + + + + @@ -21171,6 +24011,10 @@ + + + + @@ -21537,6 +24381,11 @@ + + + + + @@ -21681,6 +24530,9 @@ + + + @@ -21946,18 +24798,27 @@ + + + + + + + + + @@ -21980,6 +24841,9 @@ + + + @@ -22170,6 +25034,10 @@ + + + + @@ -22180,6 +25048,10 @@ + + + + @@ -22189,6 +25061,10 @@ + + + + @@ -22199,6 +25075,10 @@ + + + + @@ -22316,6 +25196,9 @@ + + + @@ -22323,6 +25206,10 @@ + + + + @@ -22337,6 +25224,9 @@ + + + @@ -22345,6 +25235,10 @@ + + + + @@ -22352,6 +25246,10 @@ + + + + @@ -22367,6 +25265,9 @@ + + + @@ -22382,6 +25283,10 @@ + + + + @@ -22397,6 +25302,9 @@ + + + @@ -22412,6 +25320,9 @@ + + + @@ -22425,6 +25336,9 @@ + + + @@ -22438,11 +25352,17 @@ + + + + + + @@ -22451,6 +25371,10 @@ + + + + @@ -22458,6 +25382,10 @@ + + + + @@ -22466,6 +25394,10 @@ + + + + @@ -22473,6 +25405,10 @@ + + + + @@ -22497,6 +25433,10 @@ + + + + @@ -22509,6 +25449,10 @@ + + + + @@ -22523,6 +25467,10 @@ + + + + @@ -22539,17 +25487,26 @@ + + + + + + + + + @@ -22601,6 +25558,9 @@ + + + @@ -22609,6 +25569,9 @@ + + + @@ -22756,6 +25719,9 @@ + + + @@ -22780,6 +25746,9 @@ + + + @@ -22818,6 +25787,9 @@ + + + @@ -22826,11 +25798,17 @@ + + + + + + @@ -22839,6 +25817,9 @@ + + + @@ -22847,6 +25828,9 @@ + + + @@ -22926,11 +25910,11 @@ - + - + @@ -22978,7 +25962,7 @@ - + @@ -23008,7 +25992,7 @@ - + @@ -23019,10 +26003,14 @@ + + + + - + @@ -23046,7 +26034,7 @@ - + @@ -23072,7 +26060,7 @@ - + @@ -23559,6 +26547,11 @@ + + + + + @@ -23569,6 +26562,11 @@ + + + + + @@ -23577,6 +26575,9 @@ + + + @@ -23694,7 +26695,7 @@ - + @@ -23714,10 +26715,9 @@ - + - + @@ -23726,15 +26726,14 @@ - - + + - + @@ -23803,11 +26802,11 @@ - + - + @@ -23815,7 +26814,7 @@ - + @@ -23834,7 +26833,7 @@ - + @@ -23854,7 +26853,7 @@ - + @@ -23862,11 +26861,11 @@ - + - + @@ -23883,8 +26882,7 @@ - + @@ -23901,6 +26899,11 @@ + + + + + @@ -23909,11 +26912,17 @@ + + + + + + @@ -23922,6 +26931,9 @@ + + + @@ -23930,6 +26942,9 @@ + + + @@ -24022,6 +27037,9 @@ + + + @@ -24144,6 +27162,11 @@ + + + + + @@ -24158,6 +27181,10 @@ + + + + @@ -24165,12 +27192,18 @@ + + + + + + @@ -24186,6 +27219,12 @@ + + + + + + @@ -24194,6 +27233,13 @@ + + + + + + + @@ -24209,6 +27255,12 @@ + + + + + + @@ -24217,6 +27269,13 @@ + + + + + + + @@ -24232,6 +27291,13 @@ + + + + + + + @@ -24306,6 +27372,12 @@ + + + + + + @@ -24321,7 +27393,7 @@ - + @@ -24329,10 +27401,13 @@ + + + - + @@ -24361,7 +27436,7 @@ - + @@ -24426,6 +27501,11 @@ + + + + + @@ -24433,6 +27513,11 @@ + + + + + @@ -24488,7 +27573,7 @@ - + @@ -24499,10 +27584,15 @@ + + + + + - + @@ -24527,6 +27617,9 @@ + + + @@ -24556,6 +27649,9 @@ + + + @@ -25130,7 +28226,7 @@ - + @@ -25138,9 +28234,8 @@ - - + + @@ -25149,9 +28244,9 @@ - - - + + + @@ -25228,6 +28323,9 @@ + + + @@ -25338,7 +28436,7 @@ - + @@ -25404,11 +28502,17 @@ + + + + + + @@ -25728,6 +28832,11 @@ + + + + + @@ -25767,6 +28876,13 @@ + + + + + + + @@ -25846,6 +28962,10 @@ + + + + @@ -25901,6 +29021,11 @@ + + + + + @@ -25908,6 +29033,11 @@ + + + + + @@ -25924,6 +29054,11 @@ + + + + + @@ -25939,6 +29074,11 @@ + + + + + @@ -25951,6 +29091,11 @@ + + + + + @@ -25965,6 +29110,12 @@ + + + + + + @@ -25979,6 +29130,12 @@ + + + + + + @@ -25992,6 +29149,9 @@ + + + @@ -26003,16 +29163,22 @@ + + + + + + - + @@ -26699,7 +29865,7 @@ - + @@ -27203,15 +30369,21 @@ + + + + + + - - + + @@ -27346,6 +30518,10 @@ + + + + @@ -27366,6 +30542,16 @@ + + + + + + + + + + @@ -27474,6 +30660,10 @@ + + + + @@ -27484,6 +30674,10 @@ + + + + @@ -27499,6 +30693,10 @@ + + + + @@ -27539,6 +30737,12 @@ + + + + + + @@ -27634,6 +30838,12 @@ + + + + + + @@ -27645,6 +30855,16 @@ + + + + + + + + + + @@ -27659,6 +30879,13 @@ + + + + + + + @@ -27675,6 +30902,9 @@ + + + @@ -27693,6 +30923,16 @@ + + + + + + + + + + @@ -28666,6 +31906,12 @@ + + + + + + @@ -28676,6 +31922,10 @@ + + + + @@ -28683,6 +31933,12 @@ + + + + + + @@ -28704,6 +31960,11 @@ + + + + + @@ -28720,6 +31981,11 @@ + + + + + @@ -28727,6 +31993,10 @@ + + + + @@ -28734,6 +32004,11 @@ + + + + + @@ -28743,6 +32018,11 @@ + + + + + @@ -28759,6 +32039,11 @@ + + + + + @@ -28766,6 +32051,11 @@ + + + + + @@ -28783,6 +32073,11 @@ + + + + + @@ -28797,6 +32092,12 @@ + + + + + + @@ -28960,6 +32261,12 @@ + + + + + + @@ -28978,6 +32285,9 @@ + + + @@ -28986,6 +32296,12 @@ + + + + + + @@ -29031,7 +32347,7 @@ - + @@ -29047,11 +32363,11 @@ - + - + @@ -29076,6 +32392,11 @@ + + + + + @@ -29083,6 +32404,10 @@ + + + + @@ -29098,6 +32423,9 @@ + + + @@ -29112,6 +32440,12 @@ + + + + + + @@ -29318,6 +32652,13 @@ + + + + + + + @@ -29328,6 +32669,13 @@ + + + + + + + @@ -29336,6 +32684,9 @@ + + + @@ -29344,6 +32695,9 @@ + + + @@ -29358,6 +32712,12 @@ + + + + + + @@ -29367,6 +32727,13 @@ + + + + + + + @@ -29376,6 +32743,13 @@ + + + + + + + @@ -29422,6 +32796,9 @@ + + + @@ -29554,6 +32931,13 @@ + + + + + + + @@ -29563,6 +32947,11 @@ + + + + + @@ -30195,6 +33584,11 @@ + + + + + @@ -30204,6 +33598,13 @@ + + + + + + + @@ -30665,6 +34066,16 @@ + + + + + + + + + + @@ -30681,6 +34092,9 @@ + + + @@ -30689,6 +34103,9 @@ + + + @@ -30711,6 +34128,11 @@ + + + + + @@ -30719,6 +34141,11 @@ + + + + + @@ -30727,6 +34154,11 @@ + + + + + @@ -30737,6 +34169,11 @@ + + + + + @@ -30746,6 +34183,10 @@ + + + + @@ -30753,6 +34194,11 @@ + + + + + @@ -30769,6 +34215,11 @@ + + + + + @@ -30776,6 +34227,11 @@ + + + + + @@ -30787,6 +34243,11 @@ + + + + + @@ -30796,6 +34257,10 @@ + + + + @@ -30806,6 +34271,10 @@ + + + + @@ -30814,6 +34283,16 @@ + + + + + + + + + + @@ -30823,6 +34302,11 @@ + + + + + @@ -30832,6 +34316,16 @@ + + + + + + + + + + @@ -30841,10 +34335,20 @@ + + + + + + + + + + - + @@ -30864,7 +34368,7 @@ - + @@ -30892,7 +34396,7 @@ - + @@ -30917,7 +34421,7 @@ - + @@ -30935,6 +34439,13 @@ + + + + + + + @@ -30944,6 +34455,13 @@ + + + + + + + @@ -30954,6 +34472,13 @@ + + + + + + + @@ -31017,6 +34542,12 @@ + + + + + + @@ -31034,6 +34565,12 @@ + + + + + + @@ -31050,6 +34587,12 @@ + + + + + + @@ -31060,6 +34603,13 @@ + + + + + + + @@ -31077,6 +34627,13 @@ + + + + + + + @@ -31128,6 +34685,12 @@ + + + + + + @@ -31342,6 +34905,10 @@ + + + + @@ -31504,6 +35071,12 @@ + + + + + + @@ -31514,6 +35087,12 @@ + + + + + + @@ -31521,6 +35100,16 @@ + + + + + + + + + + @@ -32372,6 +35961,9 @@ + + + @@ -32381,6 +35973,12 @@ + + + + + + @@ -32396,6 +35994,12 @@ + + + + + + @@ -32424,7 +36028,7 @@ - + @@ -32435,6 +36039,10 @@ + + + + @@ -32445,7 +36053,7 @@ - + @@ -32453,21 +36061,30 @@ + + + + + + + + + + - - + + - + @@ -32480,11 +36097,14 @@ + + + - - + + @@ -32513,6 +36133,9 @@ + + + @@ -32528,11 +36151,11 @@ - + - + @@ -32545,6 +36168,12 @@ + + + + + + @@ -34847,8 +38476,7 @@ - + @@ -34869,6 +38497,9 @@ + + + @@ -35145,7 +38776,7 @@ - + @@ -35293,9 +38924,9 @@ - - - + + + @@ -35586,6 +39217,9 @@ + + + @@ -35615,6 +39249,9 @@ + + + @@ -35780,12 +39417,23 @@ + + + + + + + + + + + @@ -35801,12 +39449,18 @@ + + + + + + @@ -35830,6 +39484,11 @@ + + + + + @@ -35846,6 +39505,9 @@ + + + @@ -35858,6 +39520,10 @@ + + + + @@ -35874,6 +39540,9 @@ + + + @@ -35890,6 +39559,9 @@ + + + @@ -35897,6 +39569,9 @@ + + + @@ -35923,6 +39598,11 @@ + + + + + @@ -36143,6 +39823,9 @@ + + + @@ -36205,6 +39888,13 @@ + + + + + + + @@ -36220,6 +39910,13 @@ + + + + + + + @@ -36236,6 +39933,13 @@ + + + + + + + @@ -36244,6 +39948,13 @@ + + + + + + + @@ -36259,6 +39970,13 @@ + + + + + + + @@ -36275,6 +39993,13 @@ + + + + + + + @@ -36283,6 +40008,13 @@ + + + + + + + @@ -36298,6 +40030,13 @@ + + + + + + + @@ -36314,6 +40053,13 @@ + + + + + + + @@ -36322,6 +40068,13 @@ + + + + + + + @@ -36337,6 +40090,13 @@ + + + + + + + @@ -36353,6 +40113,13 @@ + + + + + + + @@ -36361,6 +40128,13 @@ + + + + + + + @@ -36376,6 +40150,13 @@ + + + + + + + @@ -36392,6 +40173,13 @@ + + + + + + + @@ -36400,6 +40188,13 @@ + + + + + + + @@ -36415,6 +40210,13 @@ + + + + + + + @@ -36431,6 +40233,13 @@ + + + + + + + @@ -36441,6 +40250,13 @@ + + + + + + + @@ -36458,6 +40274,13 @@ + + + + + + + @@ -36476,6 +40299,13 @@ + + + + + + + @@ -36486,6 +40316,13 @@ + + + + + + + @@ -36503,6 +40340,13 @@ + + + + + + + @@ -36521,6 +40365,13 @@ + + + + + + + @@ -36532,6 +40383,11 @@ + + + + + @@ -36548,6 +40404,11 @@ + + + + + @@ -36564,6 +40425,11 @@ + + + + + @@ -36693,6 +40559,9 @@ + + + @@ -36862,6 +40731,10 @@ + + + + @@ -36870,6 +40743,9 @@ + + + @@ -36901,19 +40777,18 @@ - + - + - + @@ -36924,7 +40799,7 @@ - + @@ -36947,6 +40822,9 @@ + + + @@ -37233,6 +41111,9 @@ + + + @@ -37758,7 +41639,7 @@ - + @@ -37915,11 +41796,18 @@ - - - - - + + + + + + + + + + + + @@ -37935,6 +41823,11 @@ + + + + + @@ -37943,6 +41836,11 @@ + + + + + @@ -37956,6 +41854,10 @@ + + + + @@ -37970,12 +41872,19 @@ + + + + + + + @@ -37985,11 +41894,20 @@ + + + + + + + + + @@ -37997,6 +41915,12 @@ + + + + + + @@ -38011,6 +41935,12 @@ + + + + + + @@ -38019,6 +41949,12 @@ + + + + + + @@ -38026,12 +41962,21 @@ + + + + + + + + + @@ -38040,6 +41985,12 @@ + + + + + + @@ -38048,6 +41999,12 @@ + + + + + + @@ -38058,6 +42015,14 @@ + + + + + + + + @@ -38068,6 +42033,14 @@ + + + + + + + + @@ -38078,6 +42051,14 @@ + + + + + + + + @@ -38096,6 +42077,11 @@ + + + + + @@ -38221,6 +42207,12 @@ + + + + + + @@ -38250,6 +42242,9 @@ + + + @@ -38264,6 +42259,9 @@ + + + @@ -38325,6 +42323,16 @@ + + + + + + + + + + @@ -38333,6 +42341,16 @@ + + + + + + + + + + @@ -38429,11 +42447,18 @@ + + + + + + + @@ -38448,6 +42473,9 @@ + + + @@ -38515,12 +42543,14 @@ - + - + @@ -38534,6 +42564,9 @@ + + + @@ -38555,6 +42588,9 @@ + + + @@ -38636,6 +42672,9 @@ + + + @@ -38663,6 +42702,11 @@ + + + + + @@ -38806,6 +42850,9 @@ + + + @@ -39013,7 +43060,7 @@ - + @@ -39058,7 +43105,7 @@ - + @@ -39211,6 +43258,10 @@ + + + + @@ -39353,9 +43404,9 @@ - - + + @@ -39378,6 +43429,9 @@ + + + @@ -39454,11 +43508,11 @@ - + - + @@ -39488,6 +43542,11 @@ + + + + + @@ -39765,6 +43824,9 @@ + + + @@ -39773,6 +43835,9 @@ + + + @@ -39780,6 +43845,10 @@ + + + + @@ -39859,7 +43928,7 @@ - + @@ -39872,6 +43941,9 @@ + + + @@ -39880,6 +43952,10 @@ + + + + @@ -39890,6 +43966,10 @@ + + + + @@ -39897,6 +43977,9 @@ + + + @@ -40013,9 +44096,8 @@ - - + + @@ -40036,6 +44118,11 @@ + + + + + @@ -40046,6 +44133,11 @@ + + + + + @@ -40056,6 +44148,11 @@ + + + + + @@ -40065,6 +44162,11 @@ + + + + + @@ -40080,6 +44182,11 @@ + + + + + @@ -40095,6 +44202,9 @@ + + + @@ -40177,7 +44287,8 @@ - + @@ -40209,6 +44320,9 @@ + + + @@ -40217,6 +44331,12 @@ + + + + + + @@ -40225,6 +44345,12 @@ + + + + + + @@ -40245,10 +44371,20 @@ + + + + + + + + + + - + @@ -40266,16 +44402,19 @@ - + - + + + + @@ -40293,6 +44432,9 @@ + + + @@ -40307,6 +44449,10 @@ + + + + @@ -40467,6 +44613,11 @@ + + + + + @@ -40475,6 +44626,11 @@ + + + + + @@ -40483,6 +44639,11 @@ + + + + + @@ -40491,6 +44652,11 @@ + + + + + @@ -40499,6 +44665,11 @@ + + + + + @@ -40507,6 +44678,11 @@ + + + + + @@ -40515,6 +44691,11 @@ + + + + + @@ -40523,6 +44704,11 @@ + + + + + @@ -40531,6 +44717,11 @@ + + + + + @@ -40539,6 +44730,11 @@ + + + + + @@ -40547,6 +44743,11 @@ + + + + + @@ -40555,6 +44756,11 @@ + + + + + @@ -40563,6 +44769,11 @@ + + + + + @@ -40571,6 +44782,11 @@ + + + + + @@ -40579,6 +44795,11 @@ + + + + + @@ -40587,6 +44808,11 @@ + + + + + @@ -40595,6 +44821,11 @@ + + + + + @@ -40603,6 +44834,11 @@ + + + + + @@ -40611,6 +44847,11 @@ + + + + + @@ -40619,6 +44860,11 @@ + + + + + @@ -40674,11 +44920,17 @@ + + + + + + @@ -40896,11 +45148,11 @@ - + - + @@ -40920,6 +45172,9 @@ + + + @@ -40935,18 +45190,24 @@ + + + + + + - + - - + + @@ -41010,6 +45271,9 @@ + + + @@ -41036,6 +45300,9 @@ + + + @@ -41051,6 +45318,11 @@ + + + + + @@ -41058,11 +45330,18 @@ + + + + + + + @@ -41078,6 +45357,10 @@ + + + + @@ -41087,6 +45370,12 @@ + + + + + + @@ -41095,6 +45384,12 @@ + + + + + + @@ -41113,6 +45408,12 @@ + + + + + + @@ -41124,6 +45425,12 @@ + + + + + + @@ -41133,6 +45440,16 @@ + + + + + + + + + + @@ -41143,18 +45460,36 @@ + + + + + + + + + + + + + + + + + + @@ -41178,11 +45513,19 @@ + + + + + + + + @@ -41340,6 +45683,13 @@ + + + + + + + @@ -41357,6 +45707,13 @@ + + + + + + + @@ -41403,14 +45760,24 @@ - + + + + - + + + + @@ -41948,6 +46315,11 @@ + + + + + @@ -41964,6 +46336,11 @@ + + + + + @@ -41981,6 +46358,10 @@ + + + + @@ -41990,6 +46371,10 @@ + + + + @@ -42059,7 +46444,7 @@ - + @@ -42068,11 +46453,11 @@ - + - + @@ -42091,12 +46476,12 @@ - - + + - + @@ -42116,23 +46501,23 @@ - - + + - - + + - - + + - - + + @@ -42141,7 +46526,7 @@ - + @@ -42150,24 +46535,24 @@ - - + + - + - + - + - + @@ -42176,6 +46561,9 @@ + + + @@ -42186,6 +46574,11 @@ + + + + + @@ -42199,6 +46592,11 @@ + + + + + @@ -42211,12 +46609,22 @@ + + + + + + + + + + @@ -42227,12 +46635,22 @@ + + + + + + + + + + @@ -42246,12 +46664,22 @@ + + + + + + + + + + @@ -42264,6 +46692,11 @@ + + + + + @@ -42296,18 +46729,33 @@ + + + + + + + + + + + + + + + @@ -42941,7 +47389,7 @@ - + @@ -42954,7 +47402,7 @@ - + @@ -42966,7 +47414,7 @@ - + @@ -42996,6 +47444,9 @@ + + + @@ -43009,6 +47460,9 @@ + + + @@ -43020,6 +47474,9 @@ + + + @@ -43027,6 +47484,9 @@ + + + @@ -43034,12 +47494,18 @@ + + + + + + @@ -43047,6 +47513,9 @@ + + + @@ -43275,8 +47744,7 @@ - + @@ -43687,11 +48155,14 @@ + + + - - + + @@ -44005,11 +48476,17 @@ + + + + + + @@ -44207,7 +48684,8 @@ - + @@ -44288,6 +48766,10 @@ + + + + @@ -44305,6 +48787,11 @@ + + + + + @@ -44319,6 +48806,16 @@ + + + + + + + + + + @@ -44424,13 +48921,20 @@ + + + + + + + - + @@ -44496,6 +49000,13 @@ + + + + + + + @@ -44505,6 +49016,13 @@ + + + + + + + @@ -44519,6 +49037,16 @@ + + + + + + + + + + @@ -44571,11 +49099,18 @@ + + + + + + + @@ -44996,6 +49531,10 @@ + + + + @@ -45003,6 +49542,10 @@ + + + + @@ -45010,6 +49553,10 @@ + + + + @@ -45017,6 +49564,10 @@ + + + + @@ -45024,6 +49575,10 @@ + + + + @@ -45031,6 +49586,10 @@ + + + + @@ -45038,6 +49597,10 @@ + + + + @@ -45045,6 +49608,10 @@ + + + + @@ -45052,6 +49619,10 @@ + + + + @@ -45059,6 +49630,10 @@ + + + + @@ -45066,6 +49641,10 @@ + + + + @@ -45073,6 +49652,10 @@ + + + + @@ -45080,6 +49663,10 @@ + + + + @@ -45087,6 +49674,10 @@ + + + + @@ -45094,6 +49685,10 @@ + + + + @@ -45101,6 +49696,10 @@ + + + + @@ -45108,6 +49707,10 @@ + + + + @@ -45115,6 +49718,10 @@ + + + + @@ -45122,6 +49729,10 @@ + + + + @@ -45129,6 +49740,10 @@ + + + + @@ -45136,6 +49751,10 @@ + + + + @@ -45143,6 +49762,10 @@ + + + + @@ -45150,6 +49773,10 @@ + + + + @@ -45157,6 +49784,10 @@ + + + + @@ -45164,6 +49795,10 @@ + + + + @@ -45171,6 +49806,10 @@ + + + + @@ -45178,6 +49817,10 @@ + + + + @@ -45185,6 +49828,10 @@ + + + + @@ -45192,6 +49839,10 @@ + + + + @@ -45199,6 +49850,10 @@ + + + + @@ -45206,6 +49861,10 @@ + + + + @@ -45213,6 +49872,10 @@ + + + + @@ -45220,6 +49883,10 @@ + + + + @@ -45227,6 +49894,10 @@ + + + + @@ -45234,6 +49905,10 @@ + + + + @@ -45241,6 +49916,10 @@ + + + + @@ -45248,6 +49927,10 @@ + + + + @@ -45255,6 +49938,10 @@ + + + + @@ -45262,6 +49949,10 @@ + + + + @@ -45269,6 +49960,10 @@ + + + + @@ -45276,6 +49971,10 @@ + + + + @@ -45283,6 +49982,10 @@ + + + + @@ -45290,6 +49993,10 @@ + + + + @@ -45297,6 +50004,10 @@ + + + + @@ -45304,6 +50015,10 @@ + + + + @@ -45311,6 +50026,10 @@ + + + + @@ -45318,6 +50037,10 @@ + + + + @@ -45325,6 +50048,10 @@ + + + + @@ -45332,6 +50059,10 @@ + + + + @@ -45339,6 +50070,10 @@ + + + + @@ -45346,6 +50081,10 @@ + + + + @@ -45353,6 +50092,10 @@ + + + + @@ -45360,6 +50103,10 @@ + + + + @@ -45367,6 +50114,10 @@ + + + + @@ -45374,6 +50125,10 @@ + + + + @@ -45381,6 +50136,10 @@ + + + + @@ -45388,6 +50147,10 @@ + + + + @@ -45395,6 +50158,10 @@ + + + + @@ -45402,6 +50169,10 @@ + + + + @@ -45409,24 +50180,37 @@ + + + + + + + + + + + + + @@ -45445,6 +50229,9 @@ + + + @@ -45452,6 +50239,10 @@ + + + + @@ -45459,6 +50250,10 @@ + + + + @@ -45466,6 +50261,10 @@ + + + + @@ -45473,6 +50272,10 @@ + + + + @@ -45480,6 +50283,10 @@ + + + + @@ -45487,6 +50294,10 @@ + + + + @@ -45494,6 +50305,10 @@ + + + + @@ -45501,6 +50316,10 @@ + + + + @@ -45508,6 +50327,10 @@ + + + + @@ -45515,6 +50338,10 @@ + + + + @@ -45522,6 +50349,10 @@ + + + + @@ -45529,6 +50360,10 @@ + + + + @@ -45536,6 +50371,10 @@ + + + + @@ -45543,6 +50382,10 @@ + + + + @@ -45550,6 +50393,10 @@ + + + + @@ -45557,6 +50404,10 @@ + + + + @@ -45564,6 +50415,10 @@ + + + + @@ -45571,6 +50426,10 @@ + + + + @@ -45650,6 +50509,10 @@ + + + + @@ -45657,6 +50520,10 @@ + + + + @@ -45664,6 +50531,10 @@ + + + + @@ -45671,6 +50542,10 @@ + + + + @@ -45678,6 +50553,10 @@ + + + + @@ -45685,6 +50564,10 @@ + + + + @@ -45692,6 +50575,10 @@ + + + + @@ -45699,6 +50586,10 @@ + + + + @@ -45706,6 +50597,10 @@ + + + + @@ -45713,6 +50608,10 @@ + + + + @@ -45720,6 +50619,10 @@ + + + + @@ -45727,6 +50630,10 @@ + + + + @@ -45734,6 +50641,10 @@ + + + + @@ -45741,6 +50652,10 @@ + + + + @@ -45748,6 +50663,10 @@ + + + + @@ -45755,6 +50674,10 @@ + + + + @@ -45762,6 +50685,10 @@ + + + + @@ -45769,6 +50696,10 @@ + + + + @@ -45848,6 +50779,10 @@ + + + + @@ -45855,6 +50790,10 @@ + + + + @@ -45862,6 +50801,10 @@ + + + + @@ -45869,6 +50812,10 @@ + + + + @@ -45876,6 +50823,10 @@ + + + + @@ -45883,6 +50834,10 @@ + + + + @@ -45890,6 +50845,10 @@ + + + + @@ -45897,6 +50856,10 @@ + + + + @@ -45904,6 +50867,10 @@ + + + + @@ -45911,6 +50878,10 @@ + + + + @@ -45918,6 +50889,10 @@ + + + + @@ -45925,6 +50900,10 @@ + + + + @@ -45932,6 +50911,10 @@ + + + + @@ -45939,6 +50922,10 @@ + + + + @@ -45946,6 +50933,10 @@ + + + + @@ -45953,6 +50944,10 @@ + + + + @@ -45960,6 +50955,10 @@ + + + + @@ -45967,6 +50966,10 @@ + + + + @@ -46359,13 +51362,13 @@ - - + + - - + + @@ -46490,18 +51493,30 @@ + + + + + + + + + + + + @@ -46704,6 +51719,13 @@ + + + + + + + @@ -46718,6 +51740,13 @@ + + + + + + + @@ -46731,6 +51760,13 @@ + + + + + + + @@ -46745,6 +51781,13 @@ + + + + + + + @@ -46758,6 +51801,13 @@ + + + + + + + @@ -46772,6 +51822,13 @@ + + + + + + + @@ -46788,6 +51845,13 @@ + + + + + + + @@ -46804,6 +51868,13 @@ + + + + + + + @@ -46817,6 +51888,16 @@ + + + + + + + + + + @@ -46830,6 +51911,16 @@ + + + + + + + + + + @@ -46992,6 +52083,9 @@ + + + @@ -47000,6 +52094,10 @@ + + + + @@ -47013,6 +52111,10 @@ + + + + @@ -47142,6 +52244,10 @@ + + + + @@ -47412,6 +52518,11 @@ + + + + + @@ -47428,6 +52539,11 @@ + + + + + @@ -47436,6 +52552,11 @@ + + + + + @@ -47455,6 +52576,11 @@ + + + + + @@ -47472,12 +52598,22 @@ + + + + + + + + + + @@ -48001,10 +53137,24 @@ - - + + + + + + + + + + + + + + + + @@ -48019,6 +53169,9 @@ + + + @@ -48030,8 +53183,17 @@ + + + + + + + + + + - @@ -48317,6 +53479,9 @@ + + + @@ -48935,6 +54100,11 @@ + + + + + @@ -48953,6 +54123,11 @@ + + + + + @@ -48968,6 +54143,16 @@ + + + + + + + + + + @@ -48983,6 +54168,16 @@ + + + + + + + + + + @@ -49002,6 +54197,13 @@ + + + + + + + @@ -49018,6 +54220,11 @@ + + + + + @@ -49029,6 +54236,11 @@ + + + + + @@ -49046,6 +54258,11 @@ + + + + + @@ -49063,6 +54280,11 @@ + + + + + @@ -49080,6 +54302,13 @@ + + + + + + + @@ -49097,6 +54326,13 @@ + + + + + + + @@ -49114,6 +54350,13 @@ + + + + + + + @@ -49506,6 +54749,16 @@ + + + + + + + + + + @@ -49523,6 +54776,16 @@ + + + + + + + + + + @@ -49539,6 +54802,12 @@ + + + + + + @@ -49554,6 +54823,12 @@ + + + + + + @@ -49569,6 +54844,12 @@ + + + + + + @@ -49584,6 +54865,12 @@ + + + + + + @@ -49962,6 +55249,10 @@ + + + + @@ -50173,6 +55464,13 @@ + + + + + + + @@ -50188,6 +55486,11 @@ + + + + + @@ -50205,6 +55508,13 @@ + + + + + + + @@ -50222,6 +55532,11 @@ + + + + + @@ -50238,6 +55553,13 @@ + + + + + + + @@ -50254,6 +55576,13 @@ + + + + + + + @@ -50269,6 +55598,11 @@ + + + + + @@ -50278,6 +55612,11 @@ + + + + + @@ -50293,6 +55632,16 @@ + + + + + + + + + + @@ -50308,6 +55657,11 @@ + + + + + @@ -50323,14 +55677,29 @@ + + + + + + + + + + + + + + + @@ -50350,6 +55719,11 @@ + + + + + @@ -50366,6 +55740,11 @@ + + + + + @@ -51175,6 +56554,9 @@ + + + @@ -51237,6 +56619,9 @@ + + + @@ -51245,6 +56630,9 @@ + + + @@ -51537,9 +56925,15 @@ + + + + + + @@ -51551,6 +56945,9 @@ + + + @@ -51569,6 +56966,10 @@ + + + + @@ -51694,6 +57095,10 @@ + + + + @@ -51708,8 +57113,7 @@ - + @@ -51755,6 +57159,11 @@ + + + + + @@ -51768,6 +57177,11 @@ + + + + + @@ -51775,6 +57189,11 @@ + + + + + @@ -51788,6 +57207,11 @@ + + + + + @@ -51887,6 +57311,13 @@ + + + + + + + @@ -51896,6 +57327,11 @@ + + + + + @@ -51911,6 +57347,13 @@ + + + + + + + @@ -51926,6 +57369,13 @@ + + + + + + + @@ -51944,6 +57394,11 @@ + + + + + @@ -51959,6 +57414,13 @@ + + + + + + + @@ -51974,6 +57436,16 @@ + + + + + + + + + + @@ -51989,9 +57461,24 @@ + + + + + + + + + + + + + + + @@ -52004,6 +57491,11 @@ + + + + + @@ -52011,6 +57503,11 @@ + + + + + @@ -52533,6 +58030,9 @@ + + + @@ -52562,6 +58062,9 @@ + + + @@ -52675,6 +58178,9 @@ + + + @@ -52843,6 +58349,9 @@ + + + @@ -53082,11 +58591,17 @@ + + + + + + @@ -53107,6 +58622,9 @@ + + + @@ -53472,6 +58990,10 @@ + + + + @@ -53479,6 +59001,10 @@ + + + + @@ -53552,6 +59078,11 @@ + + + + + @@ -53567,6 +59098,11 @@ + + + + + @@ -53581,6 +59117,11 @@ + + + + + @@ -53597,6 +59138,13 @@ + + + + + + + @@ -53615,6 +59163,13 @@ + + + + + + + @@ -53627,6 +59182,11 @@ + + + + + @@ -53642,6 +59202,11 @@ + + + + + @@ -53739,6 +59304,13 @@ + + + + + + + @@ -53754,6 +59326,10 @@ + + + + @@ -53766,6 +59342,11 @@ + + + + + @@ -53785,6 +59366,10 @@ + + + + @@ -53802,6 +59387,9 @@ + + + @@ -53809,6 +59397,10 @@ + + + + @@ -54005,6 +59597,9 @@ + + + @@ -54036,8 +59631,8 @@ - - + + @@ -54386,9 +59981,8 @@ - - + + @@ -54504,6 +60098,10 @@ + + + + @@ -54515,21 +60113,33 @@ + + + + + + + + + + + + @@ -56013,6 +61623,9 @@ + + + @@ -56138,6 +61751,13 @@ + + + + + + + @@ -56149,6 +61769,11 @@ + + + + + @@ -56156,6 +61781,11 @@ + + + + + @@ -56165,6 +61795,11 @@ + + + + + @@ -56173,12 +61808,19 @@ + + + + + + + @@ -56215,6 +61857,11 @@ + + + + + @@ -56224,6 +61871,9 @@ + + + @@ -56248,10 +61898,18 @@ + + + + + + + + @@ -56303,6 +61961,9 @@ + + + @@ -57351,7 +63012,7 @@ - + @@ -57799,7 +63460,7 @@ - + @@ -57834,15 +63495,15 @@ - + - + - + @@ -57850,7 +63511,7 @@ - + @@ -58018,6 +63679,9 @@ + + + @@ -58050,8 +63714,8 @@ - - + + @@ -58271,15 +63935,15 @@ - + - + - + @@ -58304,6 +63968,9 @@ + + + @@ -58325,6 +63992,13 @@ + + + + + + + @@ -58343,6 +64017,13 @@ + + + + + + + @@ -58363,6 +64044,13 @@ + + + + + + + @@ -58381,6 +64069,13 @@ + + + + + + + @@ -58401,6 +64096,13 @@ + + + + + + + @@ -58419,6 +64121,13 @@ + + + + + + + @@ -58440,6 +64149,13 @@ + + + + + + + @@ -58461,6 +64177,13 @@ + + + + + + + @@ -58477,6 +64200,16 @@ + + + + + + + + + + @@ -58495,6 +64228,16 @@ + + + + + + + + + + @@ -58502,6 +64245,11 @@ + + + + + @@ -58509,6 +64257,11 @@ + + + + + @@ -58525,6 +64278,11 @@ + + + + + @@ -58541,6 +64299,11 @@ + + + + + @@ -58556,6 +64319,11 @@ + + + + + @@ -58569,6 +64337,11 @@ + + + + + @@ -58579,6 +64352,11 @@ + + + + + @@ -58596,6 +64374,11 @@ + + + + + @@ -58735,63 +64518,63 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -58811,6 +64594,13 @@ + + + + + + + @@ -58826,6 +64616,16 @@ + + + + + + + + + + @@ -58841,6 +64641,16 @@ + + + + + + + + + + @@ -58859,6 +64669,11 @@ + + + + + @@ -58876,6 +64691,11 @@ + + + + + @@ -58893,6 +64713,13 @@ + + + + + + + @@ -58910,6 +64737,11 @@ + + + + + @@ -58928,6 +64760,11 @@ + + + + + @@ -58937,21 +64774,25 @@ + + + + - - + + - - + + - - + + @@ -59233,6 +65074,13 @@ + + + + + + + @@ -59249,6 +65097,13 @@ + + + + + + + @@ -59572,12 +65427,14 @@ - + - + @@ -60062,6 +65919,13 @@ + + + + + + + @@ -60078,12 +65942,24 @@ + + + + + + + + + + + + @@ -60091,6 +65967,11 @@ + + + + + @@ -60110,6 +65991,13 @@ + + + + + + + @@ -60120,6 +66008,11 @@ + + + + + @@ -60130,6 +66023,11 @@ + + + + + @@ -60144,6 +66042,16 @@ + + + + + + + + + + @@ -60158,6 +66066,16 @@ + + + + + + + + + + @@ -60165,18 +66083,31 @@ + + + + + + + + + + + + + @@ -60185,11 +66116,11 @@ - + - + @@ -60221,7 +66152,7 @@ - + @@ -60244,7 +66175,7 @@ - + @@ -60311,7 +66242,7 @@ - + @@ -60342,19 +66273,27 @@ - + + + + + + + + + @@ -60711,13 +66650,13 @@ - - + + - - + + @@ -60726,8 +66665,8 @@ - - + + @@ -60736,8 +66675,8 @@ - - + + @@ -60756,6 +66695,13 @@ + + + + + + + @@ -61421,6 +67367,11 @@ + + + + + @@ -61438,6 +67389,13 @@ + + + + + + + @@ -61456,6 +67414,13 @@ + + + + + + + @@ -61473,6 +67438,13 @@ + + + + + + + @@ -61491,6 +67463,13 @@ + + + + + + + @@ -61508,6 +67487,13 @@ + + + + + + + @@ -61526,6 +67512,13 @@ + + + + + + + @@ -61541,6 +67534,11 @@ + + + + + @@ -61560,6 +67558,13 @@ + + + + + + + @@ -61580,6 +67585,13 @@ + + + + + + + @@ -61589,6 +67601,11 @@ + + + + + @@ -61597,6 +67614,11 @@ + + + + + @@ -61613,6 +67635,17 @@ + + + + + + + + + + + @@ -61630,6 +67663,17 @@ + + + + + + + + + + + @@ -61645,6 +67689,11 @@ + + + + + @@ -61660,6 +67709,11 @@ + + + + + @@ -61679,6 +67733,11 @@ + + + + + @@ -61698,6 +67757,11 @@ + + + + + @@ -61716,6 +67780,17 @@ + + + + + + + + + + + @@ -61735,6 +67810,17 @@ + + + + + + + + + + + @@ -62841,21 +68927,25 @@ - + - + - + - + @@ -63198,8 +69288,8 @@ - - + + @@ -64286,6 +70376,9 @@ + + + @@ -64331,8 +70424,8 @@ - - + + @@ -64494,6 +70587,9 @@ + + + @@ -64508,6 +70604,9 @@ + + + @@ -64522,6 +70621,9 @@ + + + @@ -64529,9 +70631,16 @@ + + + + + + + @@ -65266,6 +71375,11 @@ + + + + + @@ -65286,6 +71400,11 @@ + + + + + @@ -65308,6 +71427,11 @@ + + + + + @@ -65318,6 +71442,11 @@ + + + + + @@ -65332,6 +71461,11 @@ + + + + + @@ -65351,6 +71485,11 @@ + + + + + @@ -65365,6 +71504,11 @@ + + + + + @@ -65384,6 +71528,11 @@ + + + + + @@ -65400,6 +71549,13 @@ + + + + + + + @@ -65416,6 +71572,13 @@ + + + + + + + @@ -65432,6 +71595,13 @@ + + + + + + + @@ -65442,6 +71612,11 @@ + + + + + @@ -65461,6 +71636,13 @@ + + + + + + + @@ -65469,6 +71651,11 @@ + + + + + @@ -65480,6 +71667,11 @@ + + + + + @@ -65496,6 +71688,17 @@ + + + + + + + + + + + @@ -65512,6 +71715,17 @@ + + + + + + + + + + + @@ -65527,6 +71741,11 @@ + + + + + @@ -65543,6 +71762,11 @@ + + + + + @@ -65550,6 +71774,11 @@ + + + + + @@ -65557,6 +71786,11 @@ + + + + + @@ -65568,6 +71802,11 @@ + + + + + @@ -65586,6 +71825,11 @@ + + + + + @@ -65596,6 +71840,11 @@ + + + + + @@ -65604,6 +71853,11 @@ + + + + + @@ -65622,6 +71876,11 @@ + + + + + @@ -65632,6 +71891,11 @@ + + + + + @@ -65640,6 +71904,11 @@ + + + + + @@ -65658,6 +71927,11 @@ + + + + + @@ -65669,6 +71943,11 @@ + + + + + @@ -65677,6 +71956,11 @@ + + + + + @@ -65693,6 +71977,11 @@ + + + + + @@ -65703,6 +71992,11 @@ + + + + + @@ -65872,6 +72166,11 @@ + + + + + @@ -65886,10 +72185,20 @@ + + + + + + + + + + @@ -67087,6 +73396,9 @@ + + + @@ -67520,8 +73832,8 @@ - - + + @@ -67561,12 +73873,19 @@ + + + + + + + @@ -67579,12 +73898,18 @@ + + + + + + @@ -67643,6 +73968,11 @@ + + + + + @@ -67653,6 +73983,11 @@ + + + + + @@ -67661,6 +73996,11 @@ + + + + + @@ -67677,6 +74017,11 @@ + + + + + @@ -67686,6 +74031,11 @@ + + + + + @@ -67696,6 +74046,11 @@ + + + + + @@ -67713,6 +74068,11 @@ + + + + + @@ -67720,6 +74080,11 @@ + + + + + @@ -68800,6 +75165,13 @@ + + + + + + + @@ -68816,6 +75188,13 @@ + + + + + + + @@ -68832,6 +75211,13 @@ + + + + + + + @@ -68848,6 +75234,13 @@ + + + + + + + @@ -68864,6 +75257,13 @@ + + + + + + + @@ -68880,6 +75280,13 @@ + + + + + + + @@ -68898,6 +75305,13 @@ + + + + + + + @@ -68916,6 +75330,13 @@ + + + + + + + @@ -68934,6 +75355,13 @@ + + + + + + + @@ -68952,6 +75380,13 @@ + + + + + + + @@ -68970,6 +75405,13 @@ + + + + + + + @@ -68988,6 +75430,13 @@ + + + + + + + @@ -68998,6 +75447,11 @@ + + + + + @@ -69019,6 +75473,13 @@ + + + + + + + @@ -69040,6 +75501,13 @@ + + + + + + + @@ -69061,6 +75529,13 @@ + + + + + + + @@ -69082,6 +75557,13 @@ + + + + + + + @@ -69091,6 +75573,11 @@ + + + + + @@ -69108,6 +75595,17 @@ + + + + + + + + + + + @@ -69125,6 +75623,17 @@ + + + + + + + + + + + @@ -69138,6 +75647,11 @@ + + + + + @@ -69155,6 +75669,17 @@ + + + + + + + + + + + @@ -69172,6 +75697,17 @@ + + + + + + + + + + + @@ -69185,6 +75721,11 @@ + + + + + diff --git a/src/account/account_repository_db.cpp b/src/account/account_repository_db.cpp index cfe1f1d05be..b150a636a97 100644 --- a/src/account/account_repository_db.cpp +++ b/src/account/account_repository_db.cpp @@ -20,9 +20,7 @@ #include "account/account_info.hpp" AccountRepositoryDB::AccountRepositoryDB() : - coinTypeToColumn({ { enumToValue(CoinType::Normal), "coins" }, - { enumToValue(CoinType::Tournament), "tournament_coins" }, - { enumToValue(CoinType::Transferable), "coins_transferable" } }) { } + coinTypeToColumn({ { enumToValue(CoinType::Normal), "coins" }, { enumToValue(CoinType::Tournament), "tournament_coins" }, { enumToValue(CoinType::Transferable), "coins_transferable" } }) { } bool AccountRepositoryDB::loadByID(const uint32_t &id, AccountInfo &acc) { auto query = fmt::format("SELECT `id`, `type`, `premdays`, `lastday`, `creation`, `premdays_purchased`, 0 AS `expires` FROM `accounts` WHERE `id` = {}", id); diff --git a/src/config/config_enums.hpp b/src/config/config_enums.hpp index dd8934caeed..ee8b531ddcc 100644 --- a/src/config/config_enums.hpp +++ b/src/config/config_enums.hpp @@ -36,6 +36,7 @@ enum ConfigKey_t : uint16_t { CLASSIC_ATTACK_SPEED, CLEAN_PROTECTION_ZONES, COMBAT_CHAIN_DELAY, + COMBAT_CHAIN_TARGETS, COMPRESSION_LEVEL, CONVERT_UNSAFE_SCRIPTS, CORE_DIRECTORY, @@ -273,6 +274,7 @@ enum ConfigKey_t : uint16_t { TIBIADROME_CONCOCTION_DURATION, TIBIADROME_CONCOCTION_TICK_TYPE, TOGGLE_ATTACK_SPEED_ONFIST, + TOGGLE_CHAIN_SYSTEM, TOGGLE_DOWNLOAD_MAP, TOGGLE_FREE_QUEST, TOGGLE_GOLD_POUCH_ALLOW_ANYTHING, diff --git a/src/config/configmanager.cpp b/src/config/configmanager.cpp index f6f12546c43..7069ca10fb2 100644 --- a/src/config/configmanager.cpp +++ b/src/config/configmanager.cpp @@ -139,6 +139,7 @@ bool ConfigManager::load() { loadBoolConfig(L, TELEPORT_PLAYER_TO_VOCATION_ROOM, "teleportPlayerToVocationRoom", true); loadBoolConfig(L, TELEPORT_SUMMONS, "teleportSummons", false); loadBoolConfig(L, TOGGLE_ATTACK_SPEED_ONFIST, "toggleAttackSpeedOnFist", false); + loadBoolConfig(L, TOGGLE_CHAIN_SYSTEM, "toggleChainSystem", true); loadBoolConfig(L, TOGGLE_DOWNLOAD_MAP, "toggleDownloadMap", false); loadBoolConfig(L, TOGGLE_FREE_QUEST, "toggleFreeQuest", true); loadBoolConfig(L, TOGGLE_GOLD_POUCH_ALLOW_ANYTHING, "toggleGoldPouchAllowAnything", false); @@ -215,6 +216,7 @@ bool ConfigManager::load() { loadIntConfig(L, BUY_BLESS_COMMAND_FEE, "buyBlessCommandFee", 0); loadIntConfig(L, CHECK_EXPIRED_MARKET_OFFERS_EACH_MINUTES, "checkExpiredMarketOffersEachMinutes", 60); loadIntConfig(L, COMBAT_CHAIN_DELAY, "combatChainDelay", 50); + loadIntConfig(L, COMBAT_CHAIN_TARGETS, "combatChainTargets", 5); loadIntConfig(L, COMPRESSION_LEVEL, "packetCompressionLevel", 6); loadIntConfig(L, CRITICALCHANCE, "criticalChance", 10); loadIntConfig(L, DAY_KILLS_TO_RED, "dayKillsToRedSkull", 3); diff --git a/src/creatures/combat/combat.cpp b/src/creatures/combat/combat.cpp index 36b90ca1eba..7456f572938 100644 --- a/src/creatures/combat/combat.cpp +++ b/src/creatures/combat/combat.cpp @@ -510,6 +510,7 @@ bool Combat::setCallback(CallBackParam_t key) { case CALLBACK_PARAM_CHAINVALUE: { params.chainCallback = std::make_unique(); + params.chainCallback->setFromLua(true); return true; } @@ -521,6 +522,11 @@ bool Combat::setCallback(CallBackParam_t key) { return false; } +void Combat::setChainCallback(uint8_t chainTargets, uint8_t chainDistance, bool backtracking) { + params.chainCallback = std::make_unique(chainTargets, chainDistance, backtracking); + g_logger().debug("ChainCallback created: {}, with targets: {}, distance: {}, backtracking: {}", params.chainCallback != nullptr, chainTargets, chainDistance, backtracking); +} + CallBack* Combat::getCallback(CallBackParam_t key) { switch (key) { case CALLBACK_PARAM_LEVELMAGICVALUE: @@ -930,6 +936,76 @@ void Combat::doChainEffect(const Position &origin, const Position &dest, uint8_t } } +void Combat::setupChain(const std::shared_ptr &weapon) { + if (!weapon) { + return; + } + + // clang-format off + static std::list areaList = { + 0, 0, 0, 1, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 0, + 0, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 3, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, + 0, 1, 1, 1, 1, 1, 0, + 0, 0, 0, 1, 0, 0, 0, + }; + // clang-format on + auto area = std::make_unique(); + area->setupArea(areaList, 7); + setArea(area); + g_logger().trace("Weapon: {}, element type: {}", Item::items[weapon->getID()].name, weapon->params.combatType); + setParam(COMBAT_PARAM_TYPE, weapon->params.combatType); + const auto &weaponType = weapon->getWeaponType(); + if (weaponType != WEAPON_WAND) { + setParam(COMBAT_PARAM_BLOCKARMOR, true); + } + + weapon->params.chainCallback = std::make_unique(); + + auto setCommonValues = [this, weapon](double formula, SoundEffect_t impactSound, uint32_t effect) { + double weaponSkillFormula = weapon->getChainSkillValue(); + setPlayerCombatValues(COMBAT_FORMULA_SKILL, 0, 0, weaponSkillFormula ? weaponSkillFormula : formula, 0); + setParam(COMBAT_PARAM_IMPACTSOUND, impactSound); + setParam(COMBAT_PARAM_EFFECT, effect); + setParam(COMBAT_PARAM_BLOCKARMOR, true); + }; + + setChainCallback(g_configManager().getNumber(COMBAT_CHAIN_TARGETS, __FUNCTION__), 1, true); + + switch (weaponType) { + case WEAPON_SWORD: + setCommonValues(1.1, MELEE_ATK_SWORD, CONST_ME_SLASH); + break; + + case WEAPON_CLUB: + setCommonValues(0.7, MELEE_ATK_CLUB, CONST_ME_BLACK_BLOOD); + break; + + case WEAPON_AXE: + setCommonValues(0.9, MELEE_ATK_AXE, CONST_ANI_WHIRLWINDAXE); + break; + } + + if (weaponType == WEAPON_WAND) { + static const std::map> elementEffects = { + { COMBAT_DEATHDAMAGE, { CONST_ME_MORTAREA, CONST_ME_BLACK_BLOOD } }, + { COMBAT_ENERGYDAMAGE, { CONST_ME_ENERGYAREA, CONST_ME_PINK_ENERGY_SPARK } }, + { COMBAT_FIREDAMAGE, { CONST_ME_FIREATTACK, CONST_ME_FIREATTACK } }, + { COMBAT_ICEDAMAGE, { CONST_ME_ICEATTACK, CONST_ME_ICEATTACK } }, + { COMBAT_EARTHDAMAGE, { CONST_ME_STONES, CONST_ME_POISONAREA } }, + }; + + auto it = elementEffects.find(weapon->getElementType()); + if (it != elementEffects.end()) { + setPlayerCombatValues(COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0); + setParam(COMBAT_PARAM_EFFECT, it->second.first); + setParam(COMBAT_PARAM_CHAIN_EFFECT, it->second.second); + } + } +} + bool Combat::doCombatChain(std::shared_ptr caster, std::shared_ptr target, bool aggressive) const { metrics::method_latency measure(__METHOD_NAME__); if (!params.chainCallback) { @@ -939,7 +1015,7 @@ bool Combat::doCombatChain(std::shared_ptr caster, std::shared_ptronChainCombat(caster, maxTargets, chainDistance, backtracking); + params.chainCallback->getChainValues(caster, maxTargets, chainDistance, backtracking); auto targets = pickChainTargets(caster, params, chainDistance, maxTargets, backtracking, aggressive, target); g_logger().debug("[{}] Chain targets: {}", __FUNCTION__, targets.size()); @@ -1476,42 +1552,16 @@ void ValueCallback::getMinMaxValues(std::shared_ptr player, CombatDamage case COMBAT_FORMULA_SKILL: { // onGetPlayerMinMaxValues(player, attackSkill, attackValue, attackFactor) std::shared_ptr tool = player->getWeapon(); - const WeaponShared_ptr weapon = g_weapons().getWeapon(tool); - std::shared_ptr item = nullptr; - + const auto &weapon = g_weapons().getWeapon(tool); + int32_t attackSkill = 0; + float attackFactor = 0; if (weapon) { - attackValue = tool->getAttack(); - if (tool->getWeaponType() == WEAPON_AMMO) { - item = player->getWeapon(true); - if (item) { - attackValue += item->getAttack(); - } - } - - CombatType_t elementType = weapon->getElementType(); - damage.secondary.type = elementType; - - if (elementType != COMBAT_NONE) { - if (weapon) { - elementAttack = weapon->getElementDamageValue(); - shouldCalculateSecondaryDamage = true; - attackValue += elementAttack; - } - } else { - shouldCalculateSecondaryDamage = false; - } - - if (useCharges) { - auto charges = tool->getAttribute(ItemAttribute_t::CHARGES); - if (charges != 0) { - g_game().transformItem(tool, tool->getID(), charges - 1); - } - } + shouldCalculateSecondaryDamage = weapon->calculateSkillFormula(player, attackSkill, attackValue, attackFactor, elementAttack, damage, useCharges); } - lua_pushnumber(L, player->getWeaponSkill(item ? item : tool)); + lua_pushnumber(L, attackSkill); lua_pushnumber(L, attackValue); - lua_pushnumber(L, player->getAttackFactor()); + lua_pushnumber(L, attackFactor); parameters += 3; break; } @@ -1635,7 +1685,19 @@ void TargetCallback::onTargetCombat(std::shared_ptr creature, std::sha //**********************************************************// -void ChainCallback::onChainCombat(std::shared_ptr creature, uint8_t &maxTargets, uint8_t &chainDistance, bool &backtracking) const { +void ChainCallback::getChainValues(const std::shared_ptr &creature, uint8_t &maxTargets, uint8_t &chainDistance, bool &backtracking) { + if (m_fromLua) { + onChainCombat(creature, maxTargets, chainDistance, backtracking); + return; + } + + if (m_chainTargets && m_chainDistance) { + maxTargets = m_chainTargets; + chainDistance = m_chainDistance; + backtracking = m_backtracking; + } +} +void ChainCallback::onChainCombat(std::shared_ptr creature, uint8_t &maxTargets, uint8_t &chainDistance, bool &backtracking) { // onChainCombat(creature) if (!scriptInterface->reserveScriptEnv()) { g_logger().error("[ChainCallback::onTargetCombat - Creature {}] " diff --git a/src/creatures/combat/combat.hpp b/src/creatures/combat/combat.hpp index c7d886a7fd2..6a79455c7c4 100644 --- a/src/creatures/combat/combat.hpp +++ b/src/creatures/combat/combat.hpp @@ -20,6 +20,7 @@ class Item; class Spell; class Player; class MatrixArea; +class Weapon; // for luascript callback class ValueCallback final : public CallBack { @@ -59,7 +60,22 @@ class TargetCallback final : public CallBack { class ChainCallback final : public CallBack { public: - void onChainCombat(std::shared_ptr creature, uint8_t &chainTargets, uint8_t &chainDistance, bool &backtracking) const; + ChainCallback() = default; + ChainCallback(uint8_t &chainTargets, uint8_t &chainDistance, bool &backtracking) : + m_chainDistance(chainDistance), m_chainTargets(chainTargets), m_backtracking(backtracking) { } + + void getChainValues(const std::shared_ptr &creature, uint8_t &maxTargets, uint8_t &chainDistance, bool &backtracking); + void setFromLua(bool fromLua) { + m_fromLua = fromLua; + } + +private: + void onChainCombat(std::shared_ptr creature, uint8_t &chainTargets, uint8_t &chainDistance, bool &backtracking); + + uint8_t m_chainTargets = 0; + uint8_t m_chainDistance = 0; + bool m_backtracking = false; + bool m_fromLua = false; }; class ChainPickerCallback final : public CallBack { @@ -293,6 +309,7 @@ class Combat { bool doCombat(std::shared_ptr caster, const Position &pos) const; bool setCallback(CallBackParam_t key); + void setChainCallback(uint8_t chainTargets, uint8_t chainDistance, bool backtracking); CallBack* getCallback(CallBackParam_t key); bool setParam(CombatParam_t param, uint32_t value); @@ -328,6 +345,9 @@ class Combat { */ void setRuneSpellName(const std::string &value); + void setupChain(const std::shared_ptr &weapon); + bool doCombatChain(std::shared_ptr caster, std::shared_ptr target, bool aggressive) const; + private: static void doChainEffect(const Position &origin, const Position &pos, uint8_t effect); static std::vector>> pickChainTargets(std::shared_ptr caster, const CombatParams ¶ms, uint8_t chainDistance, uint8_t maxTargets, bool aggressive, bool backtracking, std::shared_ptr initialTarget = nullptr); @@ -376,8 +396,6 @@ class Combat { int32_t getLevelFormula(std::shared_ptr player, const std::shared_ptr wheelSpell, const CombatDamage &damage) const; CombatDamage getCombatDamage(std::shared_ptr creature, std::shared_ptr target) const; - bool doCombatChain(std::shared_ptr caster, std::shared_ptr target, bool aggressive) const; - // configureable CombatParams params; diff --git a/src/items/functions/item/item_parse.cpp b/src/items/functions/item/item_parse.cpp index 9a4294994e0..365cda202ce 100644 --- a/src/items/functions/item/item_parse.cpp +++ b/src/items/functions/item/item_parse.cpp @@ -10,7 +10,10 @@ #include "pch.hpp" #include "items/functions/item/item_parse.hpp" +#include "items/weapons/weapons.hpp" +#include "lua/creature/movement.hpp" #include "utils/pugicast.hpp" +#include "creatures/combat/combat.hpp" void ItemParse::initParse(const std::string &tmpStrValue, pugi::xml_node attributeNode, pugi::xml_attribute valueAttribute, ItemType &itemType) { // Parse all item attributes @@ -74,6 +77,7 @@ void ItemParse::initParse(const std::string &tmpStrValue, pugi::xml_node attribu ItemParse::parseTransformOnUse(tmpStrValue, valueAttribute, itemType); ItemParse::parsePrimaryType(tmpStrValue, valueAttribute, itemType); ItemParse::parseHouseRelated(tmpStrValue, valueAttribute, itemType); + ItemParse::parseUnscriptedItems(tmpStrValue, attributeNode, valueAttribute, itemType); } void ItemParse::parseDummyRate(pugi::xml_node attributeNode, ItemType &itemType) { @@ -967,3 +971,294 @@ void ItemParse::parseHouseRelated(const std::string_view &tmpStrValue, pugi::xml itemType.m_canBeUsedByGuests = valueAttribute.as_bool(); } } + +void ItemParse::createAndRegisterScript(ItemType &itemType, pugi::xml_node attributeNode, MoveEvent_t eventType /*= MOVE_EVENT_NONE*/, WeaponType_t weaponType /*= WEAPON_NONE*/) { + std::shared_ptr moveevent; + if (eventType != MOVE_EVENT_NONE) { + moveevent = std::make_shared(&g_moveEvents().getScriptInterface()); + moveevent->setItemId(itemType.id); + moveevent->setEventType(eventType); + moveevent->setFromXML(true); + + if (eventType == MOVE_EVENT_EQUIP) { + moveevent->equipFunction = moveevent->EquipItem; + } else if (eventType == MOVE_EVENT_DEEQUIP) { + moveevent->equipFunction = moveevent->DeEquipItem; + } else if (eventType == MOVE_EVENT_STEP_IN) { + moveevent->stepFunction = moveevent->StepInField; + } else if (eventType == MOVE_EVENT_STEP_OUT) { + moveevent->stepFunction = moveevent->StepOutField; + } else if (eventType == MOVE_EVENT_ADD_ITEM_ITEMTILE) { + moveevent->moveFunction = moveevent->AddItemField; + } else if (eventType == MOVE_EVENT_REMOVE_ITEM) { + moveevent->moveFunction = moveevent->RemoveItemField; + } + } + + std::shared_ptr weapon = nullptr; + if (weaponType != WEAPON_NONE) { + if (weaponType == WEAPON_DISTANCE || weaponType == WEAPON_AMMO || weaponType == WEAPON_MISSILE) { + weapon = std::make_shared(&g_weapons().getScriptInterface()); + } else if (weaponType == WEAPON_WAND) { + weapon = std::make_shared(&g_weapons().getScriptInterface()); + } else { + weapon = std::make_shared(&g_weapons().getScriptInterface()); + } + + weapon->weaponType = weaponType; + itemType.weaponType = weapon->weaponType; + weapon->configureWeapon(itemType); + g_logger().trace("Created weapon with type '{}'", getWeaponName(weaponType)); + } + uint32_t fromDamage = 0; + uint32_t toDamage = 0; + for (auto subAttributeNode : attributeNode.children()) { + pugi::xml_attribute subKeyAttribute = subAttributeNode.attribute("key"); + if (!subKeyAttribute) { + continue; + } + + pugi::xml_attribute subValueAttribute = subAttributeNode.attribute("value"); + if (!subValueAttribute) { + continue; + } + + auto stringKey = asLowerCaseString(subKeyAttribute.as_string()); + if (stringKey == "slot") { + if (moveevent && (moveevent->getEventType() == MOVE_EVENT_EQUIP || moveevent->getEventType() == MOVE_EVENT_DEEQUIP)) { + auto slotName = asLowerCaseString(subValueAttribute.as_string()); + if (slotName == "head") { + moveevent->setSlot(SLOTP_HEAD); + } else if (slotName == "necklace") { + moveevent->setSlot(SLOTP_NECKLACE); + } else if (slotName == "backpack") { + moveevent->setSlot(SLOTP_BACKPACK); + } else if (slotName == "armor" || slotName == "body") { + moveevent->setSlot(SLOTP_ARMOR); + } else if (slotName == "right-hand") { + moveevent->setSlot(SLOTP_RIGHT); + } else if (slotName == "left-hand") { + moveevent->setSlot(SLOTP_LEFT); + } else if (slotName == "hand" || slotName == "shield") { + moveevent->setSlot(SLOTP_RIGHT | SLOTP_LEFT); + } else if (slotName == "legs") { + moveevent->setSlot(SLOTP_LEGS); + } else if (slotName == "feet") { + moveevent->setSlot(SLOTP_FEET); + } else if (slotName == "ring") { + moveevent->setSlot(SLOTP_RING); + } else if (slotName == "ammo") { + moveevent->setSlot(SLOTP_AMMO); + } else { + g_logger().warn("[{}] unknown slot type '{}'", __FUNCTION__, slotName); + } + } else if (weapon) { + uint16_t id = weapon->getID(); + ItemType &it = Item::items.getItemType(id); + auto slotName = asLowerCaseString(subValueAttribute.as_string()); + if (slotName == "two-handed") { + it.slotPosition = SLOTP_TWO_HAND; + } else { + it.slotPosition = SLOTP_HAND; + } + } + } else if (stringKey == "level") { + auto numberValue = subValueAttribute.as_uint(); + if (moveevent) { + g_logger().trace("Added required moveevent level '{}'", numberValue); + moveevent->setRequiredLevel(numberValue); + moveevent->setWieldInfo(WIELDINFO_LEVEL); + } else if (weapon) { + g_logger().trace("Added required weapon level '{}'", numberValue); + weapon->setRequiredLevel(numberValue); + weapon->setWieldInfo(WIELDINFO_LEVEL); + } + } else if (stringKey == "vocation") { + auto vocations = subValueAttribute.as_string(); + std::string tmp; + std::stringstream ss(vocations); + std::string token; + + while (std::getline(ss, token, ',')) { + token.erase(token.begin(), std::find_if(token.begin(), token.end(), [](unsigned char ch) { + return !std::isspace(ch); + })); + token.erase(std::find_if(token.rbegin(), token.rend(), [](unsigned char ch) { + return !std::isspace(ch); + }).base(), + token.end()); + + std::string v1; + bool showInDescription = false; + + std::stringstream inner_ss(token); + std::getline(inner_ss, v1, ';'); + std::string showInDescriptionStr; + std::getline(inner_ss, showInDescriptionStr, ';'); + showInDescription = showInDescriptionStr == "true"; + + if (moveevent) { + moveevent->addVocEquipMap(v1); + moveevent->setWieldInfo(WIELDINFO_VOCREQ); + } + + if (showInDescription) { + if (moveevent && moveevent->getVocationString().empty()) { + tmp = asLowerCaseString(v1); + tmp += "s"; + moveevent->setVocationString(tmp); + } else if (weapon && weapon->getVocationString().empty()) { + tmp = asLowerCaseString(v1); + tmp += "s"; + weapon->setVocationString(tmp); + } else { + tmp += ", "; + tmp += asLowerCaseString(v1); + tmp += "s"; + } + } + } + + size_t lastComma = tmp.rfind(','); + if (lastComma != std::string::npos) { + tmp.replace(lastComma, 1, " and"); + if (moveevent) { + moveevent->setVocationString(tmp); + } else if (weapon) { + weapon->setVocationString(tmp); + } + } + } else if (stringKey == "action" && weapon) { + auto action = asLowerCaseString(subValueAttribute.as_string()); + if (action == "removecharge") { + weapon->action = WEAPONACTION_REMOVECHARGE; + } else if (action == "removecount") { + weapon->action = WEAPONACTION_REMOVECOUNT; + } else if (action == "move") { + weapon->action = WEAPONACTION_MOVE; + } + } else if (stringKey == "breakchance" && weapon) { + weapon->setBreakChance(subValueAttribute.as_uint()); + } else if (stringKey == "mana" && weapon) { + weapon->setMana(subValueAttribute.as_uint()); + } else if (stringKey == "unproperly" && weapon) { + weapon->setWieldUnproperly(subValueAttribute.as_bool()); + } else if (stringKey == "fromdamage" && weapon) { + fromDamage = subValueAttribute.as_uint(); + } else if (stringKey == "todamage" && weapon) { + toDamage = subValueAttribute.as_uint(); + } else if (stringKey == "wandtype" && weapon) { + std::string elementName = asLowerCaseString(subValueAttribute.as_string()); + if (elementName == "earth") { + weapon->params.combatType = COMBAT_EARTHDAMAGE; + } else if (elementName == "ice") { + weapon->params.combatType = COMBAT_ICEDAMAGE; + } else if (elementName == "energy") { + weapon->params.combatType = COMBAT_ENERGYDAMAGE; + } else if (elementName == "fire") { + weapon->params.combatType = COMBAT_FIREDAMAGE; + } else if (elementName == "death") { + weapon->params.combatType = COMBAT_DEATHDAMAGE; + } else if (elementName == "holy") { + weapon->params.combatType = COMBAT_HOLYDAMAGE; + } else { + g_logger().warn("[{}] - wandtype '{}' does not exist", __FUNCTION__, elementName); + } + } else if (stringKey == "chain" && weapon) { + auto value = subValueAttribute.as_double(); + weapon->setChainSkillValue(value); + g_logger().trace("Found chain skill value '{}' for weapon: {}", value, itemType.name); + } + } + + if (weapon) { + if (auto weaponWand = dynamic_pointer_cast(weapon)) { + g_logger().trace("Added weapon damage from '{}', to '{}'", fromDamage, toDamage); + weaponWand->setMinChange(fromDamage); + weaponWand->setMaxChange(toDamage); + } + + auto combat = weapon->getCombat(); + if (combat) { + combat->setupChain(weapon); + } + + if (weapon->getWieldInfo() != 0) { + itemType.wieldInfo = weapon->getWieldInfo(); + itemType.vocationString = weapon->getVocationString(); + itemType.minReqLevel = weapon->getReqLevel(); + itemType.minReqMagicLevel = weapon->getReqMagLv(); + } + + if (!g_weapons().registerLuaEvent(weapon, true)) { + g_logger().error("[{}] failed to register weapon from item name {}", __FUNCTION__, itemType.name); + } + } + + if (moveevent && !g_moveEvents().registerLuaItemEvent(moveevent)) { + g_logger().error("[{}] failed to register moveevent from item name {}", __FUNCTION__, itemType.name); + } +} + +void ItemParse::parseUnscriptedItems(const std::string_view &tmpStrValue, pugi::xml_node attributeNode, pugi::xml_attribute valueAttribute, ItemType &itemType) { + if (tmpStrValue == "script") { + std::string scriptName = valueAttribute.as_string(); + auto tokens = split(scriptName.data(), ';'); + for (const auto &token : tokens) { + if (token == "moveevent") { + g_logger().trace("Registering moveevent for item id '{}', name '{}'", itemType.id, itemType.name); + MoveEvent_t eventType = MOVE_EVENT_NONE; + for (auto subAttributeNode : attributeNode.children()) { + pugi::xml_attribute subKeyAttribute = subAttributeNode.attribute("key"); + if (!subKeyAttribute) { + continue; + } + + pugi::xml_attribute subValueAttribute = subAttributeNode.attribute("value"); + if (!subValueAttribute) { + continue; + } + + auto stringKey = asLowerCaseString(subKeyAttribute.as_string()); + if (stringKey == "eventtype") { + const auto &eventTypeName = asLowerCaseString(subValueAttribute.as_string()); + eventType = getMoveEventType(eventTypeName); + g_logger().trace("Found event type '{}'", eventTypeName); + break; + } + } + + // Event type stepin/out need to be registered both at same time + if (eventType == MOVE_EVENT_NONE) { + createAndRegisterScript(itemType, attributeNode, MOVE_EVENT_EQUIP); + createAndRegisterScript(itemType, attributeNode, MOVE_EVENT_DEEQUIP); + } else { + createAndRegisterScript(itemType, attributeNode, eventType); + } + } else if (token == "weapon") { + WeaponType_t weaponType; + g_logger().trace("Registering weapon for item id '{}', name '{}'", itemType.id, itemType.name); + for (auto subAttributeNode : attributeNode.children()) { + pugi::xml_attribute subKeyAttribute = subAttributeNode.attribute("key"); + if (!subKeyAttribute) { + continue; + } + + pugi::xml_attribute subValueAttribute = subAttributeNode.attribute("value"); + if (!subValueAttribute) { + continue; + } + + auto stringKey = asLowerCaseString(subKeyAttribute.as_string()); + if (stringKey == "weapontype") { + weaponType = getWeaponType(subValueAttribute.as_string()); + g_logger().trace("Found weapon type '{}''", subValueAttribute.as_string()); + break; + } + } + + createAndRegisterScript(itemType, attributeNode, MOVE_EVENT_NONE, weaponType); + } + } + } +} diff --git a/src/items/functions/item/item_parse.hpp b/src/items/functions/item/item_parse.hpp index 7ead9cc6ef8..7859a77fe9c 100644 --- a/src/items/functions/item/item_parse.hpp +++ b/src/items/functions/item/item_parse.hpp @@ -157,6 +157,7 @@ const phmap::flat_hash_map ItemParseAttribut { "reflectpercentall", ITEM_PARSE_REFLECTPERCENTALL }, { "primarytype", ITEM_PARSE_PRIMARYTYPE }, { "usedbyhouseguests", ITEM_PARSE_USEDBYGUESTS }, + { "script", ITEM_PARSE_SCRIPT }, }; const phmap::flat_hash_map ItemTypesMap = { @@ -312,10 +313,12 @@ class ItemParse : public Items { static void parseTransformOnUse(const std::string_view &tmpStrValue, pugi::xml_attribute valueAttribute, ItemType &itemType); static void parsePrimaryType(const std::string_view &tmpStrValue, pugi::xml_attribute valueAttribute, ItemType &itemType); static void parseHouseRelated(const std::string_view &tmpStrValue, pugi::xml_attribute valueAttribute, ItemType &itemType); + static void parseUnscriptedItems(const std::string_view &tmpStrValue, pugi::xml_node attributeNode, pugi::xml_attribute valueAttribute, ItemType &itemType); private: // Parent of the function: static void parseField static std::tuple parseFieldConditions(std::string lowerStringValue, pugi::xml_attribute valueAttribute); static CombatType_t parseFieldCombatType(std::string string, pugi::xml_attribute valueAttribute); static void parseFieldCombatDamage(std::shared_ptr conditionDamage, std::string stringValue, pugi::xml_node attributeNode); + static void createAndRegisterScript(ItemType &itemType, pugi::xml_node attributeNode, MoveEvent_t eventType = MOVE_EVENT_NONE, WeaponType_t weaponType = WEAPON_NONE); }; diff --git a/src/items/items.cpp b/src/items/items.cpp index 6e56e4e99a2..9e31f5f105f 100644 --- a/src/items/items.cpp +++ b/src/items/items.cpp @@ -11,6 +11,8 @@ #include "items/functions/item/item_parse.hpp" #include "items/items.hpp" +#include "items/weapons/weapons.hpp" +#include "lua/creature/movement.hpp" #include "game/game.hpp" #include "utils/pugicast.hpp" @@ -23,6 +25,8 @@ void Items::clear() { ladders.clear(); dummys.clear(); nameToItems.clear(); + g_moveEvents().clear(true); + g_weapons().clear(true); } using LootTypeNames = phmap::flat_hash_map; @@ -184,8 +188,7 @@ void Items::loadFromProtobuf() { iType.isWrapKit = object.flags().wrapkit(); if (!iType.name.empty()) { - nameToItems.insert({ asLowerCaseString(iType.name), - iType.id }); + nameToItems.insert({ asLowerCaseString(iType.name), iType.id }); } } @@ -269,8 +272,7 @@ void Items::parseItemNode(const pugi::xml_node &itemNode, uint16_t id) { } itemType.name = xmlName; - nameToItems.insert({ asLowerCaseString(itemType.name), - id }); + nameToItems.insert({ asLowerCaseString(itemType.name), id }); } itemType.loaded = true; diff --git a/src/items/items_definitions.hpp b/src/items/items_definitions.hpp index 3bf8fc8b52a..f044d4b5248 100644 --- a/src/items/items_definitions.hpp +++ b/src/items/items_definitions.hpp @@ -605,6 +605,7 @@ enum ItemParseAttributes_t { ITEM_PARSE_REFLECTDAMAGE, ITEM_PARSE_PRIMARYTYPE, ITEM_PARSE_USEDBYGUESTS, + ITEM_PARSE_SCRIPT, }; struct ImbuementInfo { diff --git a/src/items/weapons/weapons.cpp b/src/items/weapons/weapons.cpp index 8ddce42d60d..25287ca9f92 100644 --- a/src/items/weapons/weapons.cpp +++ b/src/items/weapons/weapons.cpp @@ -31,12 +31,34 @@ const WeaponShared_ptr Weapons::getWeapon(std::shared_ptr item) const { return it->second; } -void Weapons::clear() { +void Weapons::clear(bool isFromXML /*= false*/) { + if (isFromXML) { + int numRemoved = 0; + for (auto it = weapons.begin(); it != weapons.end();) { + if (it->second && it->second->isFromXML()) { + g_logger().debug("Weapon with id '{}' is from XML and will be removed.", it->first); + it = weapons.erase(it); + ++numRemoved; + } else { + ++it; + } + } + + if (numRemoved > 0) { + g_logger().debug("Removed '{}' Weapon from XML.", numRemoved); + } + + return; + } + weapons.clear(); } -bool Weapons::registerLuaEvent(WeaponShared_ptr event) { +bool Weapons::registerLuaEvent(WeaponShared_ptr event, bool fromXML /*= false*/) { weapons[event->getID()] = event; + if (fromXML) { + event->setFromXML(fromXML); + } return true; } @@ -190,6 +212,7 @@ void Weapon::internalUseWeapon(std::shared_ptr player, std::shared_ptrgetID(); executeUseWeapon(player, var); + g_logger().debug("Weapon::internalUseWeapon - Lua callback executed."); } else { CombatDamage damage; WeaponType_t weaponType = item->getWeaponType(); @@ -200,6 +223,7 @@ void Weapon::internalUseWeapon(std::shared_ptr player, std::shared_ptr player, std::shared_ptrdoCombatChain(player, target, params.aggressive); + } else { + Combat::doCombatHealth(player, target, damage, params); + } + g_logger().debug("Weapon::internalUseWeapon - cpp callback executed."); } onUsedWeapon(player, item, target->getTile()); @@ -356,6 +385,43 @@ void Weapon::decrementItemCount(std::shared_ptr item) { } } +bool Weapon::calculateSkillFormula(const std::shared_ptr &player, int32_t &attackSkill, int32_t &attackValue, float &attackFactor, int16_t &elementAttack, CombatDamage &damage, bool useCharges /* = false*/) const { + std::shared_ptr tool = player->getWeapon(); + if (!tool) { + return false; + } + + std::shared_ptr item = nullptr; + attackValue = tool->getAttack(); + if (tool->getWeaponType() == WEAPON_AMMO) { + item = player->getWeapon(true); + if (item) { + attackValue += item->getAttack(); + } + } + + CombatType_t elementType = getElementType(); + damage.secondary.type = elementType; + + bool shouldCalculateSecondaryDamage = false; + if (elementType != COMBAT_NONE) { + elementAttack = getElementDamageValue(); + shouldCalculateSecondaryDamage = true; + attackValue += elementAttack; + } + + if (useCharges) { + auto charges = tool->getAttribute(ItemAttribute_t::CHARGES); + if (charges != 0) { + g_game().transformItem(tool, tool->getID(), charges - 1); + } + } + + attackSkill = player->getWeaponSkill(item ? item : tool); + attackFactor = player->getAttackFactor(); + return shouldCalculateSecondaryDamage; +} + WeaponMelee::WeaponMelee(LuaScriptInterface* interface) : Weapon(interface) { // Add combat type and blocked attributes to the weapon @@ -813,11 +879,27 @@ void WeaponWand::configureWeapon(const ItemType &it) { Weapon::configureWeapon(it); } -int32_t WeaponWand::getWeaponDamage(std::shared_ptr, std::shared_ptr, std::shared_ptr, bool maxDamage /*= false*/) const { - if (maxDamage) { - return -maxChange; +int32_t WeaponWand::getWeaponDamage(std::shared_ptr player, std::shared_ptr, std::shared_ptr, bool maxDamage /* = false*/) const { + if (!g_configManager().getBoolean(TOGGLE_CHAIN_SYSTEM, __FUNCTION__)) { + // Returns maximum damage or a random value between minChange and maxChange + return maxDamage ? -maxChange : -normal_random(minChange, maxChange); } - return -normal_random(minChange, maxChange); + + // If chain system is enabled, calculates magic-based damage + int32_t attackSkill; + int32_t attackValue; + float attackFactor; + [[maybe_unused]] int16_t elementAttack; + [[maybe_unused]] CombatDamage combatDamage; + calculateSkillFormula(player, attackSkill, attackValue, attackFactor, elementAttack, combatDamage); + + auto magLevel = player->getMagicLevel(); + auto level = player->getLevel(); + double min = (level / 5.0) + (magLevel + attackValue) / 3.0; + double max = (level / 5.0) + (magLevel + attackValue); + + // Returns the calculated maximum damage or a random value between the calculated minimum and maximum + return maxDamage ? -max : -normal_random(min, max); } int16_t WeaponWand::getElementDamageValue() const { diff --git a/src/items/weapons/weapons.hpp b/src/items/weapons/weapons.hpp index cb2bee4b1f5..2cf97568aef 100644 --- a/src/items/weapons/weapons.hpp +++ b/src/items/weapons/weapons.hpp @@ -44,8 +44,8 @@ class Weapons final : public Scripts { static int32_t getMaxMeleeDamage(int32_t attackSkill, int32_t attackValue); static int32_t getMaxWeaponDamage(uint32_t level, int32_t attackSkill, int32_t attackValue, float attackFactor, bool isMelee); - bool registerLuaEvent(WeaponShared_ptr event); - void clear(); + bool registerLuaEvent(WeaponShared_ptr event, bool fromXML = false); + void clear(bool isFromXML = false); private: std::map weapons; @@ -176,6 +176,45 @@ class Weapon : public Script { vocationString = str; } + void setFromXML(bool newFromXML) { + m_fromXML = newFromXML; + } + + bool isFromXML() const { + return m_fromXML; + } + + void setChainSkillValue(double value) { + m_chainSkillValue = value; + } + + double getChainSkillValue() const { + return m_chainSkillValue; + } + + const WeaponType_t getWeaponType() const { + return weaponType; + } + + const std::shared_ptr getCombat() const { + if (!m_combat) { + g_logger().error("Weapon::getCombat() - m_combat is nullptr"); + return nullptr; + } + + return m_combat; + } + + std::shared_ptr getCombat() { + if (!m_combat) { + m_combat = std::make_shared(); + } + + return m_combat; + } + + bool calculateSkillFormula(const std::shared_ptr &player, int32_t &attackSkill, int32_t &attackValue, float &attackFactor, int16_t &elementAttack, CombatDamage &damage, bool useCharges = false) const; + protected: void internalUseWeapon(std::shared_ptr player, std::shared_ptr item, std::shared_ptr target, int32_t damageModifier, int32_t cleavePercent = 0) const; void internalUseWeapon(std::shared_ptr player, std::shared_ptr item, std::shared_ptr tile) const; @@ -199,6 +238,7 @@ class Weapon : public Script { uint32_t healthPercent = 0; uint32_t soul = 0; uint32_t wieldInfo = WIELDINFO_NONE; + double m_chainSkillValue = 0.0; uint8_t breakChance = 0; bool enabled = true; bool premium = false; @@ -213,12 +253,16 @@ class Weapon : public Script { CombatParams params; WeaponType_t weaponType; std::map vocWeaponMap; + std::shared_ptr m_combat; + + bool m_fromXML = false; friend class Combat; friend class WeaponWand; friend class WeaponMelee; friend class WeaponDistance; friend class WeaponFunctions; + friend class ItemParse; }; class WeaponMelee final : public Weapon { @@ -290,7 +334,7 @@ class WeaponWand final : public Weapon { return 0; } CombatType_t getElementType() const override { - return COMBAT_NONE; + return params.combatType; } virtual int16_t getElementDamageValue() const override; void setMinChange(int32_t change) { diff --git a/src/lua/creature/movement.cpp b/src/lua/creature/movement.cpp index 7f9a194e047..076d2b90216 100644 --- a/src/lua/creature/movement.cpp +++ b/src/lua/creature/movement.cpp @@ -15,7 +15,34 @@ #include "lua/callbacks/events_callbacks.hpp" #include "lua/creature/movement.hpp" -void MoveEvents::clear() { +void MoveEvents::clear(bool isFromXML /*= false*/) { + if (isFromXML) { + int numRemoved = 0; + for (auto &pair : itemIdMap) { + MoveEventList &moveEventList = pair.second; + + for (int moveEventType = 0; moveEventType < MOVE_EVENT_LAST; ++moveEventType) { + auto &eventList = moveEventList.moveEvent[moveEventType]; + + int originalSize = eventList.size(); + + eventList.remove_if([&](const std::shared_ptr &moveEvent) { + bool removed = moveEvent && moveEvent->isFromXML(); + if (removed) { + g_logger().debug("MoveEvent with id '{}' is from XML and will be removed.", pair.first); + ++numRemoved; + } + return removed; + }); + } + } + + if (numRemoved > 0) { + g_logger().debug("Removed '{}' MoveEvent from XML.", numRemoved); + } + return; + } + uniqueIdMap.clear(); actionIdMap.clear(); itemIdMap.clear(); diff --git a/src/lua/creature/movement.hpp b/src/lua/creature/movement.hpp index 2decdbaa001..485454a0564 100644 --- a/src/lua/creature/movement.hpp +++ b/src/lua/creature/movement.hpp @@ -112,7 +112,7 @@ class MoveEvents final : public Scripts { bool registerLuaUniqueEvent(const std::shared_ptr moveEvent); bool registerLuaPositionEvent(const std::shared_ptr moveEvent); bool registerLuaEvent(const std::shared_ptr event); - void clear(); + void clear(bool isFromXML = false); private: void clearMap(std::map &map) const; @@ -179,7 +179,7 @@ class MoveEvent final : public Script, public SharedObject { return vocEquipMap; } void addVocEquipMap(std::string vocName) { - int32_t vocationId = g_vocations().getVocationId(vocName); + uint16_t vocationId = g_vocations().getVocationId(vocName); if (vocationId != -1) { vocEquipMap[vocationId] = true; } @@ -251,6 +251,14 @@ class MoveEvent final : public Script, public SharedObject { static uint32_t EquipItem(const std::shared_ptr moveEvent, std::shared_ptr player, std::shared_ptr item, Slots_t slot, bool boolean); static uint32_t DeEquipItem(const std::shared_ptr moveEvent, std::shared_ptr player, std::shared_ptr item, Slots_t slot, bool boolean); + void setFromXML(bool newFromXML) { + m_fromXML = newFromXML; + } + + bool isFromXML() const { + return m_fromXML; + } + private: std::string getScriptTypeName() const override; @@ -290,10 +298,13 @@ class MoveEvent final : public Script, public SharedObject { std::map vocEquipMap; bool tileItem = false; + bool m_fromXML = false; + std::vector itemIdVector; std::vector actionIdVector; std::vector uniqueIdVector; std::vector positionVector; friend class MoveEventFunctions; + friend class ItemParse; }; diff --git a/src/protobuf/appearances.pb.cc b/src/protobuf/appearances.pb.cc deleted file mode 100644 index ced2a617345..00000000000 --- a/src/protobuf/appearances.pb.cc +++ /dev/null @@ -1,10027 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: appearances.proto - -#include "appearances.pb.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -// @@protoc_insertion_point(includes) -#include - -PROTOBUF_PRAGMA_INIT_SEG - -namespace _pb = ::PROTOBUF_NAMESPACE_ID; -namespace _pbi = _pb::internal; - -namespace Canary { -namespace protobuf { -namespace appearances { -PROTOBUF_CONSTEXPR Coordinate::Coordinate( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.x_)*/0u - , /*decltype(_impl_.y_)*/0u - , /*decltype(_impl_.z_)*/0u} {} -struct CoordinateDefaultTypeInternal { - PROTOBUF_CONSTEXPR CoordinateDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~CoordinateDefaultTypeInternal() {} - union { - Coordinate _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoordinateDefaultTypeInternal _Coordinate_default_instance_; -PROTOBUF_CONSTEXPR Appearances::Appearances( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.object_)*/{} - , /*decltype(_impl_.outfit_)*/{} - , /*decltype(_impl_.effect_)*/{} - , /*decltype(_impl_.missile_)*/{} - , /*decltype(_impl_.special_meaning_appearance_ids_)*/nullptr} {} -struct AppearancesDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearancesDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearancesDefaultTypeInternal() {} - union { - Appearances _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearancesDefaultTypeInternal _Appearances_default_instance_; -PROTOBUF_CONSTEXPR SpritePhase::SpritePhase( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.duration_min_)*/0u - , /*decltype(_impl_.duration_max_)*/0u} {} -struct SpritePhaseDefaultTypeInternal { - PROTOBUF_CONSTEXPR SpritePhaseDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~SpritePhaseDefaultTypeInternal() {} - union { - SpritePhase _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpritePhaseDefaultTypeInternal _SpritePhase_default_instance_; -PROTOBUF_CONSTEXPR SpriteAnimation::SpriteAnimation( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.sprite_phase_)*/{} - , /*decltype(_impl_.default_start_phase_)*/0u - , /*decltype(_impl_.synchronized_)*/false - , /*decltype(_impl_.random_start_phase_)*/false - , /*decltype(_impl_.loop_count_)*/0u - , /*decltype(_impl_.loop_type_)*/-1} {} -struct SpriteAnimationDefaultTypeInternal { - PROTOBUF_CONSTEXPR SpriteAnimationDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~SpriteAnimationDefaultTypeInternal() {} - union { - SpriteAnimation _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpriteAnimationDefaultTypeInternal _SpriteAnimation_default_instance_; -PROTOBUF_CONSTEXPR Box::Box( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.x_)*/0u - , /*decltype(_impl_.y_)*/0u - , /*decltype(_impl_.width_)*/0u - , /*decltype(_impl_.height_)*/0u} {} -struct BoxDefaultTypeInternal { - PROTOBUF_CONSTEXPR BoxDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~BoxDefaultTypeInternal() {} - union { - Box _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BoxDefaultTypeInternal _Box_default_instance_; -PROTOBUF_CONSTEXPR SpriteInfo::SpriteInfo( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.sprite_id_)*/{} - , /*decltype(_impl_.bounding_box_per_direction_)*/{} - , /*decltype(_impl_.animation_)*/nullptr - , /*decltype(_impl_.pattern_width_)*/0u - , /*decltype(_impl_.pattern_height_)*/0u - , /*decltype(_impl_.pattern_depth_)*/0u - , /*decltype(_impl_.layers_)*/0u - , /*decltype(_impl_.bounding_square_)*/0u - , /*decltype(_impl_.is_opaque_)*/false} {} -struct SpriteInfoDefaultTypeInternal { - PROTOBUF_CONSTEXPR SpriteInfoDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~SpriteInfoDefaultTypeInternal() {} - union { - SpriteInfo _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpriteInfoDefaultTypeInternal _SpriteInfo_default_instance_; -PROTOBUF_CONSTEXPR FrameGroup::FrameGroup( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.sprite_info_)*/nullptr - , /*decltype(_impl_.fixed_frame_group_)*/0 - , /*decltype(_impl_.id_)*/0u} {} -struct FrameGroupDefaultTypeInternal { - PROTOBUF_CONSTEXPR FrameGroupDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~FrameGroupDefaultTypeInternal() {} - union { - FrameGroup _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FrameGroupDefaultTypeInternal _FrameGroup_default_instance_; -PROTOBUF_CONSTEXPR Appearance::Appearance( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.frame_group_)*/{} - , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.description_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.flags_)*/nullptr - , /*decltype(_impl_.id_)*/0u} {} -struct AppearanceDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceDefaultTypeInternal() {} - union { - Appearance _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceDefaultTypeInternal _Appearance_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlags::AppearanceFlags( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.npcsaledata_)*/{} - , /*decltype(_impl_.bank_)*/nullptr - , /*decltype(_impl_.write_)*/nullptr - , /*decltype(_impl_.write_once_)*/nullptr - , /*decltype(_impl_.hook_)*/nullptr - , /*decltype(_impl_.light_)*/nullptr - , /*decltype(_impl_.shift_)*/nullptr - , /*decltype(_impl_.height_)*/nullptr - , /*decltype(_impl_.automap_)*/nullptr - , /*decltype(_impl_.lenshelp_)*/nullptr - , /*decltype(_impl_.clothes_)*/nullptr - , /*decltype(_impl_.default_action_)*/nullptr - , /*decltype(_impl_.market_)*/nullptr - , /*decltype(_impl_.changedtoexpire_)*/nullptr - , /*decltype(_impl_.cyclopediaitem_)*/nullptr - , /*decltype(_impl_.upgradeclassification_)*/nullptr - , /*decltype(_impl_.clip_)*/false - , /*decltype(_impl_.bottom_)*/false - , /*decltype(_impl_.top_)*/false - , /*decltype(_impl_.container_)*/false - , /*decltype(_impl_.cumulative_)*/false - , /*decltype(_impl_.usable_)*/false - , /*decltype(_impl_.forceuse_)*/false - , /*decltype(_impl_.multiuse_)*/false - , /*decltype(_impl_.liquidpool_)*/false - , /*decltype(_impl_.unpass_)*/false - , /*decltype(_impl_.unmove_)*/false - , /*decltype(_impl_.unsight_)*/false - , /*decltype(_impl_.avoid_)*/false - , /*decltype(_impl_.no_movement_animation_)*/false - , /*decltype(_impl_.take_)*/false - , /*decltype(_impl_.liquidcontainer_)*/false - , /*decltype(_impl_.hang_)*/false - , /*decltype(_impl_.rotate_)*/false - , /*decltype(_impl_.dont_hide_)*/false - , /*decltype(_impl_.translucent_)*/false - , /*decltype(_impl_.lying_object_)*/false - , /*decltype(_impl_.animate_always_)*/false - , /*decltype(_impl_.fullbank_)*/false - , /*decltype(_impl_.ignore_look_)*/false - , /*decltype(_impl_.wrap_)*/false - , /*decltype(_impl_.unwrap_)*/false - , /*decltype(_impl_.topeffect_)*/false - , /*decltype(_impl_.corpse_)*/false - , /*decltype(_impl_.player_corpse_)*/false - , /*decltype(_impl_.ammo_)*/false - , /*decltype(_impl_.show_off_socket_)*/false - , /*decltype(_impl_.reportable_)*/false - , /*decltype(_impl_.reverse_addons_east_)*/false - , /*decltype(_impl_.reverse_addons_west_)*/false - , /*decltype(_impl_.reverse_addons_south_)*/false - , /*decltype(_impl_.reverse_addons_north_)*/false - , /*decltype(_impl_.wearout_)*/false - , /*decltype(_impl_.clockexpire_)*/false - , /*decltype(_impl_.expire_)*/false - , /*decltype(_impl_.expirestop_)*/false - , /*decltype(_impl_.wrapkit_)*/false} {} -struct AppearanceFlagsDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagsDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagsDefaultTypeInternal() {} - union { - AppearanceFlags _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagsDefaultTypeInternal _AppearanceFlags_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagUpgradeClassification::AppearanceFlagUpgradeClassification( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.upgrade_classification_)*/0u} {} -struct AppearanceFlagUpgradeClassificationDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagUpgradeClassificationDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagUpgradeClassificationDefaultTypeInternal() {} - union { - AppearanceFlagUpgradeClassification _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagUpgradeClassificationDefaultTypeInternal _AppearanceFlagUpgradeClassification_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagBank::AppearanceFlagBank( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.waypoints_)*/0u} {} -struct AppearanceFlagBankDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagBankDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagBankDefaultTypeInternal() {} - union { - AppearanceFlagBank _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagBankDefaultTypeInternal _AppearanceFlagBank_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagWrite::AppearanceFlagWrite( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.max_text_length_)*/0u} {} -struct AppearanceFlagWriteDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagWriteDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagWriteDefaultTypeInternal() {} - union { - AppearanceFlagWrite _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagWriteDefaultTypeInternal _AppearanceFlagWrite_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagWriteOnce::AppearanceFlagWriteOnce( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.max_text_length_once_)*/0u} {} -struct AppearanceFlagWriteOnceDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagWriteOnceDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagWriteOnceDefaultTypeInternal() {} - union { - AppearanceFlagWriteOnce _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagWriteOnceDefaultTypeInternal _AppearanceFlagWriteOnce_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagLight::AppearanceFlagLight( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.brightness_)*/0u - , /*decltype(_impl_.color_)*/0u} {} -struct AppearanceFlagLightDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagLightDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagLightDefaultTypeInternal() {} - union { - AppearanceFlagLight _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagLightDefaultTypeInternal _AppearanceFlagLight_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagHeight::AppearanceFlagHeight( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.elevation_)*/0u} {} -struct AppearanceFlagHeightDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagHeightDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagHeightDefaultTypeInternal() {} - union { - AppearanceFlagHeight _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagHeightDefaultTypeInternal _AppearanceFlagHeight_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagShift::AppearanceFlagShift( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.x_)*/0u - , /*decltype(_impl_.y_)*/0u} {} -struct AppearanceFlagShiftDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagShiftDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagShiftDefaultTypeInternal() {} - union { - AppearanceFlagShift _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagShiftDefaultTypeInternal _AppearanceFlagShift_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagClothes::AppearanceFlagClothes( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.slot_)*/0u} {} -struct AppearanceFlagClothesDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagClothesDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagClothesDefaultTypeInternal() {} - union { - AppearanceFlagClothes _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagClothesDefaultTypeInternal _AppearanceFlagClothes_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagDefaultAction::AppearanceFlagDefaultAction( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.action_)*/0} {} -struct AppearanceFlagDefaultActionDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagDefaultActionDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagDefaultActionDefaultTypeInternal() {} - union { - AppearanceFlagDefaultAction _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagDefaultActionDefaultTypeInternal _AppearanceFlagDefaultAction_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagMarket::AppearanceFlagMarket( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.restrict_to_profession_)*/{} - , /*decltype(_impl_.trade_as_object_id_)*/0u - , /*decltype(_impl_.show_as_object_id_)*/0u - , /*decltype(_impl_.minimum_level_)*/0u - , /*decltype(_impl_.category_)*/1} {} -struct AppearanceFlagMarketDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagMarketDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagMarketDefaultTypeInternal() {} - union { - AppearanceFlagMarket _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagMarketDefaultTypeInternal _AppearanceFlagMarket_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagNPC::AppearanceFlagNPC( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.location_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.currency_quest_flag_display_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.sale_price_)*/0u - , /*decltype(_impl_.buy_price_)*/0u - , /*decltype(_impl_.currency_object_type_id_)*/0u} {} -struct AppearanceFlagNPCDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagNPCDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagNPCDefaultTypeInternal() {} - union { - AppearanceFlagNPC _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagNPCDefaultTypeInternal _AppearanceFlagNPC_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagAutomap::AppearanceFlagAutomap( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.color_)*/0u} {} -struct AppearanceFlagAutomapDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagAutomapDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagAutomapDefaultTypeInternal() {} - union { - AppearanceFlagAutomap _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagAutomapDefaultTypeInternal _AppearanceFlagAutomap_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagHook::AppearanceFlagHook( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.direction_)*/1} {} -struct AppearanceFlagHookDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagHookDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagHookDefaultTypeInternal() {} - union { - AppearanceFlagHook _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagHookDefaultTypeInternal _AppearanceFlagHook_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagLenshelp::AppearanceFlagLenshelp( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.id_)*/0u} {} -struct AppearanceFlagLenshelpDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagLenshelpDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagLenshelpDefaultTypeInternal() {} - union { - AppearanceFlagLenshelp _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagLenshelpDefaultTypeInternal _AppearanceFlagLenshelp_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagChangedToExpire::AppearanceFlagChangedToExpire( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.former_object_typeid_)*/0u} {} -struct AppearanceFlagChangedToExpireDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagChangedToExpireDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagChangedToExpireDefaultTypeInternal() {} - union { - AppearanceFlagChangedToExpire _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagChangedToExpireDefaultTypeInternal _AppearanceFlagChangedToExpire_default_instance_; -PROTOBUF_CONSTEXPR AppearanceFlagCyclopedia::AppearanceFlagCyclopedia( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.cyclopedia_type_)*/0u} {} -struct AppearanceFlagCyclopediaDefaultTypeInternal { - PROTOBUF_CONSTEXPR AppearanceFlagCyclopediaDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~AppearanceFlagCyclopediaDefaultTypeInternal() {} - union { - AppearanceFlagCyclopedia _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AppearanceFlagCyclopediaDefaultTypeInternal _AppearanceFlagCyclopedia_default_instance_; -PROTOBUF_CONSTEXPR SpecialMeaningAppearanceIds::SpecialMeaningAppearanceIds( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.gold_coin_id_)*/0u - , /*decltype(_impl_.platinum_coin_id_)*/0u - , /*decltype(_impl_.crystal_coin_id_)*/0u - , /*decltype(_impl_.tibia_coin_id_)*/0u - , /*decltype(_impl_.stamped_letter_id_)*/0u - , /*decltype(_impl_.supply_stash_id_)*/0u - , /*decltype(_impl_.reward_chest_id_)*/0u} {} -struct SpecialMeaningAppearanceIdsDefaultTypeInternal { - PROTOBUF_CONSTEXPR SpecialMeaningAppearanceIdsDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~SpecialMeaningAppearanceIdsDefaultTypeInternal() {} - union { - SpecialMeaningAppearanceIds _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpecialMeaningAppearanceIdsDefaultTypeInternal _SpecialMeaningAppearanceIds_default_instance_; -} // namespace appearances -} // namespace protobuf -} // namespace Canary -static ::_pb::Metadata file_level_metadata_appearances_2eproto[26]; -static const ::_pb::EnumDescriptor* file_level_enum_descriptors_appearances_2eproto[6]; -static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_appearances_2eproto = nullptr; - -const uint32_t TableStruct_appearances_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Coordinate, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Coordinate, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Coordinate, _impl_.x_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Coordinate, _impl_.y_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Coordinate, _impl_.z_), - 0, - 1, - 2, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearances, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearances, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearances, _impl_.object_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearances, _impl_.outfit_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearances, _impl_.effect_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearances, _impl_.missile_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearances, _impl_.special_meaning_appearance_ids_), - ~0u, - ~0u, - ~0u, - ~0u, - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpritePhase, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpritePhase, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpritePhase, _impl_.duration_min_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpritePhase, _impl_.duration_max_), - 0, - 1, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _impl_.default_start_phase_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _impl_.synchronized_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _impl_.random_start_phase_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _impl_.loop_type_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _impl_.loop_count_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteAnimation, _impl_.sprite_phase_), - 0, - 1, - 2, - 4, - 3, - ~0u, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Box, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Box, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Box, _impl_.x_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Box, _impl_.y_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Box, _impl_.width_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Box, _impl_.height_), - 0, - 1, - 2, - 3, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.pattern_width_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.pattern_height_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.pattern_depth_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.layers_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.sprite_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.bounding_square_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.animation_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.is_opaque_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpriteInfo, _impl_.bounding_box_per_direction_), - 1, - 2, - 3, - 4, - ~0u, - 5, - 0, - 6, - ~0u, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::FrameGroup, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::FrameGroup, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::FrameGroup, _impl_.fixed_frame_group_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::FrameGroup, _impl_.id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::FrameGroup, _impl_.sprite_info_), - 1, - 2, - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearance, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearance, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearance, _impl_.id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearance, _impl_.frame_group_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearance, _impl_.flags_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearance, _impl_.name_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::Appearance, _impl_.description_), - 3, - ~0u, - 2, - 0, - 1, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.bank_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.clip_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.bottom_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.top_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.container_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.cumulative_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.usable_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.forceuse_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.multiuse_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.write_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.write_once_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.liquidpool_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.unpass_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.unmove_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.unsight_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.avoid_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.no_movement_animation_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.take_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.liquidcontainer_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.hang_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.hook_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.rotate_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.light_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.dont_hide_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.translucent_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.shift_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.height_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.lying_object_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.animate_always_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.automap_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.lenshelp_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.fullbank_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.ignore_look_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.clothes_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.default_action_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.market_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.wrap_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.unwrap_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.topeffect_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.npcsaledata_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.changedtoexpire_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.corpse_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.player_corpse_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.cyclopediaitem_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.ammo_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.show_off_socket_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.reportable_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.upgradeclassification_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.reverse_addons_east_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.reverse_addons_west_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.reverse_addons_south_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.reverse_addons_north_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.wearout_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.clockexpire_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.expire_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.expirestop_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlags, _impl_.wrapkit_), - 0, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 1, - 2, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 3, - 32, - 4, - 33, - 34, - 5, - 6, - 35, - 36, - 7, - 8, - 37, - 38, - 9, - 10, - 11, - 39, - 40, - 41, - ~0u, - 12, - 42, - 43, - 13, - 44, - 45, - 46, - 14, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification, _impl_.upgrade_classification_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagBank, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagBank, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagBank, _impl_.waypoints_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagWrite, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagWrite, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagWrite, _impl_.max_text_length_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagWriteOnce, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagWriteOnce, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagWriteOnce, _impl_.max_text_length_once_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagLight, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagLight, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagLight, _impl_.brightness_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagLight, _impl_.color_), - 0, - 1, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagHeight, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagHeight, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagHeight, _impl_.elevation_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagShift, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagShift, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagShift, _impl_.x_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagShift, _impl_.y_), - 0, - 1, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagClothes, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagClothes, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagClothes, _impl_.slot_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagDefaultAction, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagDefaultAction, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagDefaultAction, _impl_.action_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagMarket, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagMarket, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagMarket, _impl_.category_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagMarket, _impl_.trade_as_object_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagMarket, _impl_.show_as_object_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagMarket, _impl_.restrict_to_profession_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagMarket, _impl_.minimum_level_), - 3, - 0, - 1, - ~0u, - 2, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _impl_.name_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _impl_.location_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _impl_.sale_price_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _impl_.buy_price_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _impl_.currency_object_type_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagNPC, _impl_.currency_quest_flag_display_name_), - 0, - 1, - 3, - 4, - 5, - 2, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagAutomap, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagAutomap, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagAutomap, _impl_.color_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagHook, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagHook, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagHook, _impl_.direction_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagLenshelp, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagLenshelp, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagLenshelp, _impl_.id_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagChangedToExpire, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagChangedToExpire, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagChangedToExpire, _impl_.former_object_typeid_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagCyclopedia, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagCyclopedia, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::AppearanceFlagCyclopedia, _impl_.cyclopedia_type_), - 0, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_.gold_coin_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_.platinum_coin_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_.crystal_coin_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_.tibia_coin_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_.stamped_letter_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_.supply_stash_id_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds, _impl_.reward_chest_id_), - 0, - 1, - 2, - 3, - 4, - 5, - 6, -}; -static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, 9, -1, sizeof(::Canary::protobuf::appearances::Coordinate)}, - { 12, 23, -1, sizeof(::Canary::protobuf::appearances::Appearances)}, - { 28, 36, -1, sizeof(::Canary::protobuf::appearances::SpritePhase)}, - { 38, 50, -1, sizeof(::Canary::protobuf::appearances::SpriteAnimation)}, - { 56, 66, -1, sizeof(::Canary::protobuf::appearances::Box)}, - { 70, 85, -1, sizeof(::Canary::protobuf::appearances::SpriteInfo)}, - { 94, 103, -1, sizeof(::Canary::protobuf::appearances::FrameGroup)}, - { 106, 117, -1, sizeof(::Canary::protobuf::appearances::Appearance)}, - { 122, 185, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlags)}, - { 242, 249, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification)}, - { 250, 257, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagBank)}, - { 258, 265, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagWrite)}, - { 266, 273, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagWriteOnce)}, - { 274, 282, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagLight)}, - { 284, 291, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagHeight)}, - { 292, 300, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagShift)}, - { 302, 309, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagClothes)}, - { 310, 317, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagDefaultAction)}, - { 318, 329, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagMarket)}, - { 334, 346, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagNPC)}, - { 352, 359, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagAutomap)}, - { 360, 367, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagHook)}, - { 368, 375, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagLenshelp)}, - { 376, 383, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagChangedToExpire)}, - { 384, 391, -1, sizeof(::Canary::protobuf::appearances::AppearanceFlagCyclopedia)}, - { 392, 405, -1, sizeof(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds)}, -}; - -static const ::_pb::Message* const file_default_instances[] = { - &::Canary::protobuf::appearances::_Coordinate_default_instance_._instance, - &::Canary::protobuf::appearances::_Appearances_default_instance_._instance, - &::Canary::protobuf::appearances::_SpritePhase_default_instance_._instance, - &::Canary::protobuf::appearances::_SpriteAnimation_default_instance_._instance, - &::Canary::protobuf::appearances::_Box_default_instance_._instance, - &::Canary::protobuf::appearances::_SpriteInfo_default_instance_._instance, - &::Canary::protobuf::appearances::_FrameGroup_default_instance_._instance, - &::Canary::protobuf::appearances::_Appearance_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlags_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagUpgradeClassification_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagBank_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagWrite_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagWriteOnce_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagLight_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagHeight_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagShift_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagClothes_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagDefaultAction_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagMarket_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagNPC_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagAutomap_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagHook_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagLenshelp_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagChangedToExpire_default_instance_._instance, - &::Canary::protobuf::appearances::_AppearanceFlagCyclopedia_default_instance_._instance, - &::Canary::protobuf::appearances::_SpecialMeaningAppearanceIds_default_instance_._instance, -}; - -const char descriptor_table_protodef_appearances_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\021appearances.proto\022\033Canary.protobuf.app" - "earances\"-\n\nCoordinate\022\t\n\001x\030\001 \001(\r\022\t\n\001y\030\002" - " \001(\r\022\t\n\001z\030\003 \001(\r\"\324\002\n\013Appearances\0227\n\006objec" - "t\030\001 \003(\0132\'.Canary.protobuf.appearances.Ap" - "pearance\0227\n\006outfit\030\002 \003(\0132\'.Canary.protob" - "uf.appearances.Appearance\0227\n\006effect\030\003 \003(" - "\0132\'.Canary.protobuf.appearances.Appearan" - "ce\0228\n\007missile\030\004 \003(\0132\'.Canary.protobuf.ap" - "pearances.Appearance\022`\n\036special_meaning_" - "appearance_ids\030\005 \001(\01328.Canary.protobuf.a" - "ppearances.SpecialMeaningAppearanceIds\"9" - "\n\013SpritePhase\022\024\n\014duration_min\030\001 \001(\r\022\024\n\014d" - "uration_max\030\002 \001(\r\"\371\001\n\017SpriteAnimation\022\033\n" - "\023default_start_phase\030\001 \001(\r\022\024\n\014synchroniz" - "ed\030\002 \001(\010\022\032\n\022random_start_phase\030\003 \001(\010\022C\n\t" - "loop_type\030\004 \001(\01620.Canary.protobuf.appear" - "ances.ANIMATION_LOOP_TYPE\022\022\n\nloop_count\030" - "\005 \001(\r\022>\n\014sprite_phase\030\006 \003(\0132(.Canary.pro" - "tobuf.appearances.SpritePhase\":\n\003Box\022\t\n\001" - "x\030\001 \001(\r\022\t\n\001y\030\002 \001(\r\022\r\n\005width\030\003 \001(\r\022\016\n\006hei" - "ght\030\004 \001(\r\"\250\002\n\nSpriteInfo\022\025\n\rpattern_widt" - "h\030\001 \001(\r\022\026\n\016pattern_height\030\002 \001(\r\022\025\n\rpatte" - "rn_depth\030\003 \001(\r\022\016\n\006layers\030\004 \001(\r\022\021\n\tsprite" - "_id\030\005 \003(\r\022\027\n\017bounding_square\030\007 \001(\r\022\?\n\tan" - "imation\030\006 \001(\0132,.Canary.protobuf.appearan" - "ces.SpriteAnimation\022\021\n\tis_opaque\030\010 \001(\010\022D" - "\n\032bounding_box_per_direction\030\t \003(\0132 .Can" - "ary.protobuf.appearances.Box\"\241\001\n\nFrameGr" - "oup\022I\n\021fixed_frame_group\030\001 \001(\0162..Canary." - "protobuf.appearances.FIXED_FRAME_GROUP\022\n" - "\n\002id\030\002 \001(\r\022<\n\013sprite_info\030\003 \001(\0132\'.Canary" - ".protobuf.appearances.SpriteInfo\"\266\001\n\nApp" - "earance\022\n\n\002id\030\001 \001(\r\022<\n\013frame_group\030\002 \003(\013" - "2\'.Canary.protobuf.appearances.FrameGrou" - "p\022;\n\005flags\030\003 \001(\0132,.Canary.protobuf.appea" - "rances.AppearanceFlags\022\014\n\004name\030\004 \001(\014\022\023\n\013" - "description\030\005 \001(\014\"\256\017\n\017AppearanceFlags\022=\n" - "\004bank\030\001 \001(\0132/.Canary.protobuf.appearance" - "s.AppearanceFlagBank\022\014\n\004clip\030\002 \001(\010\022\016\n\006bo" - "ttom\030\003 \001(\010\022\013\n\003top\030\004 \001(\010\022\021\n\tcontainer\030\005 \001" - "(\010\022\022\n\ncumulative\030\006 \001(\010\022\016\n\006usable\030\007 \001(\010\022\020" - "\n\010forceuse\030\010 \001(\010\022\020\n\010multiuse\030\t \001(\010\022\?\n\005wr" - "ite\030\n \001(\01320.Canary.protobuf.appearances." - "AppearanceFlagWrite\022H\n\nwrite_once\030\013 \001(\0132" - "4.Canary.protobuf.appearances.Appearance" - "FlagWriteOnce\022\022\n\nliquidpool\030\014 \001(\010\022\016\n\006unp" - "ass\030\r \001(\010\022\016\n\006unmove\030\016 \001(\010\022\017\n\007unsight\030\017 \001" - "(\010\022\r\n\005avoid\030\020 \001(\010\022\035\n\025no_movement_animati" - "on\030\021 \001(\010\022\014\n\004take\030\022 \001(\010\022\027\n\017liquidcontaine" - "r\030\023 \001(\010\022\014\n\004hang\030\024 \001(\010\022=\n\004hook\030\025 \001(\0132/.Ca" - "nary.protobuf.appearances.AppearanceFlag" - "Hook\022\016\n\006rotate\030\026 \001(\010\022\?\n\005light\030\027 \001(\01320.Ca" - "nary.protobuf.appearances.AppearanceFlag" - "Light\022\021\n\tdont_hide\030\030 \001(\010\022\023\n\013translucent\030" - "\031 \001(\010\022\?\n\005shift\030\032 \001(\01320.Canary.protobuf.a" - "ppearances.AppearanceFlagShift\022A\n\006height" - "\030\033 \001(\01321.Canary.protobuf.appearances.App" - "earanceFlagHeight\022\024\n\014lying_object\030\034 \001(\010\022" - "\026\n\016animate_always\030\035 \001(\010\022C\n\007automap\030\036 \001(\013" - "22.Canary.protobuf.appearances.Appearanc" - "eFlagAutomap\022E\n\010lenshelp\030\037 \001(\01323.Canary." - "protobuf.appearances.AppearanceFlagLensh" - "elp\022\020\n\010fullbank\030 \001(\010\022\023\n\013ignore_look\030! \001" - "(\010\022C\n\007clothes\030\" \001(\01322.Canary.protobuf.ap" - "pearances.AppearanceFlagClothes\022P\n\016defau" - "lt_action\030# \001(\01328.Canary.protobuf.appear" - "ances.AppearanceFlagDefaultAction\022A\n\006mar" - "ket\030$ \001(\01321.Canary.protobuf.appearances." - "AppearanceFlagMarket\022\014\n\004wrap\030% \001(\010\022\016\n\006un" - "wrap\030& \001(\010\022\021\n\ttopeffect\030\' \001(\010\022C\n\013npcsale" - "data\030( \003(\0132..Canary.protobuf.appearances" - ".AppearanceFlagNPC\022S\n\017changedtoexpire\030) " - "\001(\0132:.Canary.protobuf.appearances.Appear" - "anceFlagChangedToExpire\022\016\n\006corpse\030* \001(\010\022" - "\025\n\rplayer_corpse\030+ \001(\010\022M\n\016cyclopediaitem" - "\030, \001(\01325.Canary.protobuf.appearances.App" - "earanceFlagCyclopedia\022\014\n\004ammo\030- \001(\010\022\027\n\017s" - "how_off_socket\030. \001(\010\022\022\n\nreportable\030/ \001(\010" - "\022_\n\025upgradeclassification\0300 \001(\0132@.Canary" - ".protobuf.appearances.AppearanceFlagUpgr" - "adeClassification\022\033\n\023reverse_addons_east" - "\0301 \001(\010\022\033\n\023reverse_addons_west\0302 \001(\010\022\034\n\024r" - "everse_addons_south\0303 \001(\010\022\034\n\024reverse_add" - "ons_north\0304 \001(\010\022\017\n\007wearout\0305 \001(\010\022\023\n\013cloc" - "kexpire\0306 \001(\010\022\016\n\006expire\0307 \001(\010\022\022\n\nexpires" - "top\0308 \001(\010\022\017\n\007wrapkit\0309 \001(\010\"E\n#Appearance" - "FlagUpgradeClassification\022\036\n\026upgrade_cla" - "ssification\030\001 \001(\r\"\'\n\022AppearanceFlagBank\022" - "\021\n\twaypoints\030\001 \001(\r\".\n\023AppearanceFlagWrit" - "e\022\027\n\017max_text_length\030\001 \001(\r\"7\n\027Appearance" - "FlagWriteOnce\022\034\n\024max_text_length_once\030\001 " - "\001(\r\"8\n\023AppearanceFlagLight\022\022\n\nbrightness" - "\030\001 \001(\r\022\r\n\005color\030\002 \001(\r\")\n\024AppearanceFlagH" - "eight\022\021\n\televation\030\001 \001(\r\"+\n\023AppearanceFl" - "agShift\022\t\n\001x\030\001 \001(\r\022\t\n\001y\030\002 \001(\r\"%\n\025Appeara" - "nceFlagClothes\022\014\n\004slot\030\001 \001(\r\"Y\n\033Appearan" - "ceFlagDefaultAction\022:\n\006action\030\001 \001(\0162*.Ca" - "nary.protobuf.appearances.PLAYER_ACTION\"" - "\362\001\n\024AppearanceFlagMarket\022<\n\010category\030\001 \001" - "(\0162*.Canary.protobuf.appearances.ITEM_CA" - "TEGORY\022\032\n\022trade_as_object_id\030\002 \001(\r\022\031\n\021sh" - "ow_as_object_id\030\003 \001(\r\022N\n\026restrict_to_pro" - "fession\030\005 \003(\0162..Canary.protobuf.appearan" - "ces.PLAYER_PROFESSION\022\025\n\rminimum_level\030\006" - " \001(\r\"\245\001\n\021AppearanceFlagNPC\022\014\n\004name\030\001 \001(\014" - "\022\020\n\010location\030\002 \001(\014\022\022\n\nsale_price\030\003 \001(\r\022\021" - "\n\tbuy_price\030\004 \001(\r\022\037\n\027currency_object_typ" - "e_id\030\005 \001(\r\022(\n currency_quest_flag_displa" - "y_name\030\006 \001(\014\"&\n\025AppearanceFlagAutomap\022\r\n" - "\005color\030\001 \001(\r\"O\n\022AppearanceFlagHook\0229\n\tdi" - "rection\030\001 \001(\0162&.Canary.protobuf.appearan" - "ces.HOOK_TYPE\"$\n\026AppearanceFlagLenshelp\022" - "\n\n\002id\030\001 \001(\r\"=\n\035AppearanceFlagChangedToEx" - "pire\022\034\n\024former_object_typeid\030\001 \001(\r\"3\n\030Ap" - "pearanceFlagCyclopedia\022\027\n\017cyclopedia_typ" - "e\030\001 \001(\r\"\312\001\n\033SpecialMeaningAppearanceIds\022" - "\024\n\014gold_coin_id\030\001 \001(\r\022\030\n\020platinum_coin_i" - "d\030\002 \001(\r\022\027\n\017crystal_coin_id\030\003 \001(\r\022\025\n\rtibi" - "a_coin_id\030\004 \001(\r\022\031\n\021stamped_letter_id\030\005 \001" - "(\r\022\027\n\017supply_stash_id\030\006 \001(\r\022\027\n\017reward_ch" - "est_id\030\007 \001(\r*\224\001\n\rPLAYER_ACTION\022\026\n\022PLAYER" - "_ACTION_NONE\020\000\022\026\n\022PLAYER_ACTION_LOOK\020\001\022\025" - "\n\021PLAYER_ACTION_USE\020\002\022\026\n\022PLAYER_ACTION_O" - "PEN\020\003\022$\n PLAYER_ACTION_AUTOWALK_HIGHLIGH" - "T\020\004*\315\005\n\rITEM_CATEGORY\022\030\n\024ITEM_CATEGORY_A" - "RMORS\020\001\022\031\n\025ITEM_CATEGORY_AMULETS\020\002\022\027\n\023IT" - "EM_CATEGORY_BOOTS\020\003\022\034\n\030ITEM_CATEGORY_CON" - "TAINERS\020\004\022\034\n\030ITEM_CATEGORY_DECORATION\020\005\022" - "\026\n\022ITEM_CATEGORY_FOOD\020\006\022\036\n\032ITEM_CATEGORY" - "_HELMETS_HATS\020\007\022\026\n\022ITEM_CATEGORY_LEGS\020\010\022" - "\030\n\024ITEM_CATEGORY_OTHERS\020\t\022\031\n\025ITEM_CATEGO" - "RY_POTIONS\020\n\022\027\n\023ITEM_CATEGORY_RINGS\020\013\022\027\n" - "\023ITEM_CATEGORY_RUNES\020\014\022\031\n\025ITEM_CATEGORY_" - "SHIELDS\020\r\022\027\n\023ITEM_CATEGORY_TOOLS\020\016\022\033\n\027IT" - "EM_CATEGORY_VALUABLES\020\017\022\034\n\030ITEM_CATEGORY" - "_AMMUNITION\020\020\022\026\n\022ITEM_CATEGORY_AXES\020\021\022\027\n" - "\023ITEM_CATEGORY_CLUBS\020\022\022\"\n\036ITEM_CATEGORY_" - "DISTANCE_WEAPONS\020\023\022\030\n\024ITEM_CATEGORY_SWOR" - "DS\020\024\022\034\n\030ITEM_CATEGORY_WANDS_RODS\020\025\022!\n\035IT" - "EM_CATEGORY_PREMIUM_SCROLLS\020\026\022\035\n\031ITEM_CA" - "TEGORY_TIBIA_COINS\020\027\022#\n\037ITEM_CATEGORY_CR" - "EATURE_PRODUCTS\020\030\022\030\n\024ITEM_CATEGORY_QUIVE" - "R\020\031*\355\001\n\021PLAYER_PROFESSION\022\"\n\025PLAYER_PROF" - "ESSION_ANY\020\377\377\377\377\377\377\377\377\377\001\022\032\n\026PLAYER_PROFESSI" - "ON_NONE\020\000\022\034\n\030PLAYER_PROFESSION_KNIGHT\020\001\022" - "\035\n\031PLAYER_PROFESSION_PALADIN\020\002\022\036\n\032PLAYER" - "_PROFESSION_SORCERER\020\003\022\033\n\027PLAYER_PROFESS" - "ION_DRUID\020\004\022\036\n\032PLAYER_PROFESSION_PROMOTE" - "D\020\n*\203\001\n\023ANIMATION_LOOP_TYPE\022)\n\034ANIMATION" - "_LOOP_TYPE_PINGPONG\020\377\377\377\377\377\377\377\377\377\001\022 \n\034ANIMAT" - "ION_LOOP_TYPE_INFINITE\020\000\022\037\n\033ANIMATION_LO" - "OP_TYPE_COUNTED\020\001*4\n\tHOOK_TYPE\022\023\n\017HOOK_T" - "YPE_SOUTH\020\001\022\022\n\016HOOK_TYPE_EAST\020\002*\201\001\n\021FIXE" - "D_FRAME_GROUP\022!\n\035FIXED_FRAME_GROUP_OUTFI" - "T_IDLE\020\000\022#\n\037FIXED_FRAME_GROUP_OUTFIT_MOV" - "ING\020\001\022$\n FIXED_FRAME_GROUP_OBJECT_INITIA" - "L\020\002" - ; -static ::_pbi::once_flag descriptor_table_appearances_2eproto_once; -const ::_pbi::DescriptorTable descriptor_table_appearances_2eproto = { - false, false, 6243, descriptor_table_protodef_appearances_2eproto, - "appearances.proto", - &descriptor_table_appearances_2eproto_once, nullptr, 0, 26, - schemas, file_default_instances, TableStruct_appearances_2eproto::offsets, - file_level_metadata_appearances_2eproto, file_level_enum_descriptors_appearances_2eproto, - file_level_service_descriptors_appearances_2eproto, -}; -PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_appearances_2eproto_getter() { - return &descriptor_table_appearances_2eproto; -} - -// Force running AddDescriptors() at dynamic initialization time. -PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_appearances_2eproto(&descriptor_table_appearances_2eproto); -namespace Canary { -namespace protobuf { -namespace appearances { -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PLAYER_ACTION_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_appearances_2eproto); - return file_level_enum_descriptors_appearances_2eproto[0]; -} -bool PLAYER_ACTION_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - case 3: - case 4: - return true; - default: - return false; - } -} - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ITEM_CATEGORY_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_appearances_2eproto); - return file_level_enum_descriptors_appearances_2eproto[1]; -} -bool ITEM_CATEGORY_IsValid(int value) { - switch (value) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - return true; - default: - return false; - } -} - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PLAYER_PROFESSION_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_appearances_2eproto); - return file_level_enum_descriptors_appearances_2eproto[2]; -} -bool PLAYER_PROFESSION_IsValid(int value) { - switch (value) { - case -1: - case 0: - case 1: - case 2: - case 3: - case 4: - case 10: - return true; - default: - return false; - } -} - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ANIMATION_LOOP_TYPE_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_appearances_2eproto); - return file_level_enum_descriptors_appearances_2eproto[3]; -} -bool ANIMATION_LOOP_TYPE_IsValid(int value) { - switch (value) { - case -1: - case 0: - case 1: - return true; - default: - return false; - } -} - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* HOOK_TYPE_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_appearances_2eproto); - return file_level_enum_descriptors_appearances_2eproto[4]; -} -bool HOOK_TYPE_IsValid(int value) { - switch (value) { - case 1: - case 2: - return true; - default: - return false; - } -} - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FIXED_FRAME_GROUP_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_appearances_2eproto); - return file_level_enum_descriptors_appearances_2eproto[5]; -} -bool FIXED_FRAME_GROUP_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - return true; - default: - return false; - } -} - - -// =================================================================== - -class Coordinate::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_x(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_y(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_z(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } -}; - -Coordinate::Coordinate(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.Coordinate) -} -Coordinate::Coordinate(const Coordinate& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - Coordinate* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.x_){} - , decltype(_impl_.y_){} - , decltype(_impl_.z_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.x_, &from._impl_.x_, - static_cast(reinterpret_cast(&_impl_.z_) - - reinterpret_cast(&_impl_.x_)) + sizeof(_impl_.z_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.Coordinate) -} - -inline void Coordinate::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.x_){0u} - , decltype(_impl_.y_){0u} - , decltype(_impl_.z_){0u} - }; -} - -Coordinate::~Coordinate() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.Coordinate) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void Coordinate::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void Coordinate::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void Coordinate::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.Coordinate) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - ::memset(&_impl_.x_, 0, static_cast( - reinterpret_cast(&_impl_.z_) - - reinterpret_cast(&_impl_.x_)) + sizeof(_impl_.z_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* Coordinate::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 x = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_x(&has_bits); - _impl_.x_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 y = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_y(&has_bits); - _impl_.y_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 z = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_z(&has_bits); - _impl_.z_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* Coordinate::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.Coordinate) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 x = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_x(), target); - } - - // optional uint32 y = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_y(), target); - } - - // optional uint32 z = 3; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_z(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.Coordinate) - return target; -} - -size_t Coordinate::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.Coordinate) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - // optional uint32 x = 1; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_x()); - } - - // optional uint32 y = 2; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_y()); - } - - // optional uint32 z = 3; - if (cached_has_bits & 0x00000004u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_z()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Coordinate::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - Coordinate::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Coordinate::GetClassData() const { return &_class_data_; } - - -void Coordinate::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.Coordinate) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.x_ = from._impl_.x_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.y_ = from._impl_.y_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.z_ = from._impl_.z_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void Coordinate::CopyFrom(const Coordinate& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.Coordinate) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Coordinate::IsInitialized() const { - return true; -} - -void Coordinate::InternalSwap(Coordinate* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.z_) - + sizeof(Coordinate::_impl_.z_) - - PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.x_)>( - reinterpret_cast(&_impl_.x_), - reinterpret_cast(&other->_impl_.x_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata Coordinate::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[0]); -} - -// =================================================================== - -class Appearances::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static const ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds& special_meaning_appearance_ids(const Appearances* msg); - static void set_has_special_meaning_appearance_ids(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -const ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds& -Appearances::_Internal::special_meaning_appearance_ids(const Appearances* msg) { - return *msg->_impl_.special_meaning_appearance_ids_; -} -Appearances::Appearances(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.Appearances) -} -Appearances::Appearances(const Appearances& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - Appearances* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.object_){from._impl_.object_} - , decltype(_impl_.outfit_){from._impl_.outfit_} - , decltype(_impl_.effect_){from._impl_.effect_} - , decltype(_impl_.missile_){from._impl_.missile_} - , decltype(_impl_.special_meaning_appearance_ids_){nullptr}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_special_meaning_appearance_ids()) { - _this->_impl_.special_meaning_appearance_ids_ = new ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds(*from._impl_.special_meaning_appearance_ids_); - } - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.Appearances) -} - -inline void Appearances::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.object_){arena} - , decltype(_impl_.outfit_){arena} - , decltype(_impl_.effect_){arena} - , decltype(_impl_.missile_){arena} - , decltype(_impl_.special_meaning_appearance_ids_){nullptr} - }; -} - -Appearances::~Appearances() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.Appearances) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void Appearances::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.object_.~RepeatedPtrField(); - _impl_.outfit_.~RepeatedPtrField(); - _impl_.effect_.~RepeatedPtrField(); - _impl_.missile_.~RepeatedPtrField(); - if (this != internal_default_instance()) delete _impl_.special_meaning_appearance_ids_; -} - -void Appearances::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void Appearances::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.Appearances) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.object_.Clear(); - _impl_.outfit_.Clear(); - _impl_.effect_.Clear(); - _impl_.missile_.Clear(); - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - GOOGLE_DCHECK(_impl_.special_meaning_appearance_ids_ != nullptr); - _impl_.special_meaning_appearance_ids_->Clear(); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* Appearances::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // repeated .Canary.protobuf.appearances.Appearance object = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_object(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.Appearance outfit = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_outfit(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.Appearance effect = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_effect(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.Appearance missile = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_missile(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr)); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.SpecialMeaningAppearanceIds special_meaning_appearance_ids = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - ptr = ctx->ParseMessage(_internal_mutable_special_meaning_appearance_ids(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* Appearances::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.Appearances) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .Canary.protobuf.appearances.Appearance object = 1; - for (unsigned i = 0, - n = static_cast(this->_internal_object_size()); i < n; i++) { - const auto& repfield = this->_internal_object(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); - } - - // repeated .Canary.protobuf.appearances.Appearance outfit = 2; - for (unsigned i = 0, - n = static_cast(this->_internal_outfit_size()); i < n; i++) { - const auto& repfield = this->_internal_outfit(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); - } - - // repeated .Canary.protobuf.appearances.Appearance effect = 3; - for (unsigned i = 0, - n = static_cast(this->_internal_effect_size()); i < n; i++) { - const auto& repfield = this->_internal_effect(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); - } - - // repeated .Canary.protobuf.appearances.Appearance missile = 4; - for (unsigned i = 0, - n = static_cast(this->_internal_missile_size()); i < n; i++) { - const auto& repfield = this->_internal_missile(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.SpecialMeaningAppearanceIds special_meaning_appearance_ids = 5; - if (cached_has_bits & 0x00000001u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(5, _Internal::special_meaning_appearance_ids(this), - _Internal::special_meaning_appearance_ids(this).GetCachedSize(), target, stream); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.Appearances) - return target; -} - -size_t Appearances::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.Appearances) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .Canary.protobuf.appearances.Appearance object = 1; - total_size += 1UL * this->_internal_object_size(); - for (const auto& msg : this->_impl_.object_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // repeated .Canary.protobuf.appearances.Appearance outfit = 2; - total_size += 1UL * this->_internal_outfit_size(); - for (const auto& msg : this->_impl_.outfit_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // repeated .Canary.protobuf.appearances.Appearance effect = 3; - total_size += 1UL * this->_internal_effect_size(); - for (const auto& msg : this->_impl_.effect_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // repeated .Canary.protobuf.appearances.Appearance missile = 4; - total_size += 1UL * this->_internal_missile_size(); - for (const auto& msg : this->_impl_.missile_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // optional .Canary.protobuf.appearances.SpecialMeaningAppearanceIds special_meaning_appearance_ids = 5; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.special_meaning_appearance_ids_); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Appearances::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - Appearances::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Appearances::GetClassData() const { return &_class_data_; } - - -void Appearances::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.Appearances) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.object_.MergeFrom(from._impl_.object_); - _this->_impl_.outfit_.MergeFrom(from._impl_.outfit_); - _this->_impl_.effect_.MergeFrom(from._impl_.effect_); - _this->_impl_.missile_.MergeFrom(from._impl_.missile_); - if (from._internal_has_special_meaning_appearance_ids()) { - _this->_internal_mutable_special_meaning_appearance_ids()->::Canary::protobuf::appearances::SpecialMeaningAppearanceIds::MergeFrom( - from._internal_special_meaning_appearance_ids()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void Appearances::CopyFrom(const Appearances& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.Appearances) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Appearances::IsInitialized() const { - return true; -} - -void Appearances::InternalSwap(Appearances* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - _impl_.object_.InternalSwap(&other->_impl_.object_); - _impl_.outfit_.InternalSwap(&other->_impl_.outfit_); - _impl_.effect_.InternalSwap(&other->_impl_.effect_); - _impl_.missile_.InternalSwap(&other->_impl_.missile_); - swap(_impl_.special_meaning_appearance_ids_, other->_impl_.special_meaning_appearance_ids_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata Appearances::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[1]); -} - -// =================================================================== - -class SpritePhase::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_duration_min(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_duration_max(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } -}; - -SpritePhase::SpritePhase(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.SpritePhase) -} -SpritePhase::SpritePhase(const SpritePhase& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - SpritePhase* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.duration_min_){} - , decltype(_impl_.duration_max_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.duration_min_, &from._impl_.duration_min_, - static_cast(reinterpret_cast(&_impl_.duration_max_) - - reinterpret_cast(&_impl_.duration_min_)) + sizeof(_impl_.duration_max_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.SpritePhase) -} - -inline void SpritePhase::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.duration_min_){0u} - , decltype(_impl_.duration_max_){0u} - }; -} - -SpritePhase::~SpritePhase() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.SpritePhase) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void SpritePhase::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void SpritePhase::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void SpritePhase::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.SpritePhase) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - ::memset(&_impl_.duration_min_, 0, static_cast( - reinterpret_cast(&_impl_.duration_max_) - - reinterpret_cast(&_impl_.duration_min_)) + sizeof(_impl_.duration_max_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SpritePhase::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 duration_min = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_duration_min(&has_bits); - _impl_.duration_min_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 duration_max = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_duration_max(&has_bits); - _impl_.duration_max_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* SpritePhase::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.SpritePhase) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 duration_min = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_duration_min(), target); - } - - // optional uint32 duration_max = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_duration_max(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.SpritePhase) - return target; -} - -size_t SpritePhase::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.SpritePhase) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - // optional uint32 duration_min = 1; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_duration_min()); - } - - // optional uint32 duration_max = 2; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_duration_max()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SpritePhase::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - SpritePhase::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SpritePhase::GetClassData() const { return &_class_data_; } - - -void SpritePhase::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.SpritePhase) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.duration_min_ = from._impl_.duration_min_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.duration_max_ = from._impl_.duration_max_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SpritePhase::CopyFrom(const SpritePhase& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.SpritePhase) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SpritePhase::IsInitialized() const { - return true; -} - -void SpritePhase::InternalSwap(SpritePhase* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SpritePhase, _impl_.duration_max_) - + sizeof(SpritePhase::_impl_.duration_max_) - - PROTOBUF_FIELD_OFFSET(SpritePhase, _impl_.duration_min_)>( - reinterpret_cast(&_impl_.duration_min_), - reinterpret_cast(&other->_impl_.duration_min_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SpritePhase::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[2]); -} - -// =================================================================== - -class SpriteAnimation::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_default_start_phase(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_synchronized(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_random_start_phase(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static void set_has_loop_type(HasBits* has_bits) { - (*has_bits)[0] |= 16u; - } - static void set_has_loop_count(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } -}; - -SpriteAnimation::SpriteAnimation(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.SpriteAnimation) -} -SpriteAnimation::SpriteAnimation(const SpriteAnimation& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - SpriteAnimation* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.sprite_phase_){from._impl_.sprite_phase_} - , decltype(_impl_.default_start_phase_){} - , decltype(_impl_.synchronized_){} - , decltype(_impl_.random_start_phase_){} - , decltype(_impl_.loop_count_){} - , decltype(_impl_.loop_type_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.default_start_phase_, &from._impl_.default_start_phase_, - static_cast(reinterpret_cast(&_impl_.loop_type_) - - reinterpret_cast(&_impl_.default_start_phase_)) + sizeof(_impl_.loop_type_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.SpriteAnimation) -} - -inline void SpriteAnimation::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.sprite_phase_){arena} - , decltype(_impl_.default_start_phase_){0u} - , decltype(_impl_.synchronized_){false} - , decltype(_impl_.random_start_phase_){false} - , decltype(_impl_.loop_count_){0u} - , decltype(_impl_.loop_type_){-1} - }; -} - -SpriteAnimation::~SpriteAnimation() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.SpriteAnimation) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void SpriteAnimation::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.sprite_phase_.~RepeatedPtrField(); -} - -void SpriteAnimation::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void SpriteAnimation::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.SpriteAnimation) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.sprite_phase_.Clear(); - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { - ::memset(&_impl_.default_start_phase_, 0, static_cast( - reinterpret_cast(&_impl_.loop_count_) - - reinterpret_cast(&_impl_.default_start_phase_)) + sizeof(_impl_.loop_count_)); - _impl_.loop_type_ = -1; - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SpriteAnimation::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 default_start_phase = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_default_start_phase(&has_bits); - _impl_.default_start_phase_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool synchronized = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_synchronized(&has_bits); - _impl_.synchronized_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool random_start_phase = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_random_start_phase(&has_bits); - _impl_.random_start_phase_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.ANIMATION_LOOP_TYPE loop_type = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - if (PROTOBUF_PREDICT_TRUE(::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE_IsValid(val))) { - _internal_set_loop_type(static_cast<::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE>(val)); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields()); - } - } else - goto handle_unusual; - continue; - // optional uint32 loop_count = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - _Internal::set_has_loop_count(&has_bits); - _impl_.loop_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.SpritePhase sprite_phase = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_sprite_phase(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr)); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* SpriteAnimation::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.SpriteAnimation) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 default_start_phase = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_default_start_phase(), target); - } - - // optional bool synchronized = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_synchronized(), target); - } - - // optional bool random_start_phase = 3; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_random_start_phase(), target); - } - - // optional .Canary.protobuf.appearances.ANIMATION_LOOP_TYPE loop_type = 4; - if (cached_has_bits & 0x00000010u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 4, this->_internal_loop_type(), target); - } - - // optional uint32 loop_count = 5; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_loop_count(), target); - } - - // repeated .Canary.protobuf.appearances.SpritePhase sprite_phase = 6; - for (unsigned i = 0, - n = static_cast(this->_internal_sprite_phase_size()); i < n; i++) { - const auto& repfield = this->_internal_sprite_phase(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.SpriteAnimation) - return target; -} - -size_t SpriteAnimation::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.SpriteAnimation) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .Canary.protobuf.appearances.SpritePhase sprite_phase = 6; - total_size += 1UL * this->_internal_sprite_phase_size(); - for (const auto& msg : this->_impl_.sprite_phase_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { - // optional uint32 default_start_phase = 1; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_default_start_phase()); - } - - // optional bool synchronized = 2; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + 1; - } - - // optional bool random_start_phase = 3; - if (cached_has_bits & 0x00000004u) { - total_size += 1 + 1; - } - - // optional uint32 loop_count = 5; - if (cached_has_bits & 0x00000008u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_loop_count()); - } - - // optional .Canary.protobuf.appearances.ANIMATION_LOOP_TYPE loop_type = 4; - if (cached_has_bits & 0x00000010u) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_loop_type()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SpriteAnimation::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - SpriteAnimation::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SpriteAnimation::GetClassData() const { return &_class_data_; } - - -void SpriteAnimation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.SpriteAnimation) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.sprite_phase_.MergeFrom(from._impl_.sprite_phase_); - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.default_start_phase_ = from._impl_.default_start_phase_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.synchronized_ = from._impl_.synchronized_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.random_start_phase_ = from._impl_.random_start_phase_; - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.loop_count_ = from._impl_.loop_count_; - } - if (cached_has_bits & 0x00000010u) { - _this->_impl_.loop_type_ = from._impl_.loop_type_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SpriteAnimation::CopyFrom(const SpriteAnimation& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.SpriteAnimation) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SpriteAnimation::IsInitialized() const { - return true; -} - -void SpriteAnimation::InternalSwap(SpriteAnimation* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - _impl_.sprite_phase_.InternalSwap(&other->_impl_.sprite_phase_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SpriteAnimation, _impl_.loop_count_) - + sizeof(SpriteAnimation::_impl_.loop_count_) - - PROTOBUF_FIELD_OFFSET(SpriteAnimation, _impl_.default_start_phase_)>( - reinterpret_cast(&_impl_.default_start_phase_), - reinterpret_cast(&other->_impl_.default_start_phase_)); - swap(_impl_.loop_type_, other->_impl_.loop_type_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SpriteAnimation::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[3]); -} - -// =================================================================== - -class Box::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_x(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_y(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_width(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static void set_has_height(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } -}; - -Box::Box(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.Box) -} -Box::Box(const Box& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - Box* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.x_){} - , decltype(_impl_.y_){} - , decltype(_impl_.width_){} - , decltype(_impl_.height_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.x_, &from._impl_.x_, - static_cast(reinterpret_cast(&_impl_.height_) - - reinterpret_cast(&_impl_.x_)) + sizeof(_impl_.height_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.Box) -} - -inline void Box::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.x_){0u} - , decltype(_impl_.y_){0u} - , decltype(_impl_.width_){0u} - , decltype(_impl_.height_){0u} - }; -} - -Box::~Box() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.Box) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void Box::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void Box::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void Box::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.Box) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - ::memset(&_impl_.x_, 0, static_cast( - reinterpret_cast(&_impl_.height_) - - reinterpret_cast(&_impl_.x_)) + sizeof(_impl_.height_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* Box::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 x = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_x(&has_bits); - _impl_.x_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 y = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_y(&has_bits); - _impl_.y_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 width = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_width(&has_bits); - _impl_.width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 height = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - _Internal::set_has_height(&has_bits); - _impl_.height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* Box::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.Box) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 x = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_x(), target); - } - - // optional uint32 y = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_y(), target); - } - - // optional uint32 width = 3; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_width(), target); - } - - // optional uint32 height = 4; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_height(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.Box) - return target; -} - -size_t Box::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.Box) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - // optional uint32 x = 1; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_x()); - } - - // optional uint32 y = 2; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_y()); - } - - // optional uint32 width = 3; - if (cached_has_bits & 0x00000004u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_width()); - } - - // optional uint32 height = 4; - if (cached_has_bits & 0x00000008u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_height()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Box::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - Box::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Box::GetClassData() const { return &_class_data_; } - - -void Box::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.Box) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.x_ = from._impl_.x_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.y_ = from._impl_.y_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.width_ = from._impl_.width_; - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.height_ = from._impl_.height_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void Box::CopyFrom(const Box& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.Box) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Box::IsInitialized() const { - return true; -} - -void Box::InternalSwap(Box* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(Box, _impl_.height_) - + sizeof(Box::_impl_.height_) - - PROTOBUF_FIELD_OFFSET(Box, _impl_.x_)>( - reinterpret_cast(&_impl_.x_), - reinterpret_cast(&other->_impl_.x_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata Box::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[4]); -} - -// =================================================================== - -class SpriteInfo::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_pattern_width(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_pattern_height(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static void set_has_pattern_depth(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } - static void set_has_layers(HasBits* has_bits) { - (*has_bits)[0] |= 16u; - } - static void set_has_bounding_square(HasBits* has_bits) { - (*has_bits)[0] |= 32u; - } - static const ::Canary::protobuf::appearances::SpriteAnimation& animation(const SpriteInfo* msg); - static void set_has_animation(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_is_opaque(HasBits* has_bits) { - (*has_bits)[0] |= 64u; - } -}; - -const ::Canary::protobuf::appearances::SpriteAnimation& -SpriteInfo::_Internal::animation(const SpriteInfo* msg) { - return *msg->_impl_.animation_; -} -SpriteInfo::SpriteInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.SpriteInfo) -} -SpriteInfo::SpriteInfo(const SpriteInfo& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - SpriteInfo* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.sprite_id_){from._impl_.sprite_id_} - , decltype(_impl_.bounding_box_per_direction_){from._impl_.bounding_box_per_direction_} - , decltype(_impl_.animation_){nullptr} - , decltype(_impl_.pattern_width_){} - , decltype(_impl_.pattern_height_){} - , decltype(_impl_.pattern_depth_){} - , decltype(_impl_.layers_){} - , decltype(_impl_.bounding_square_){} - , decltype(_impl_.is_opaque_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_animation()) { - _this->_impl_.animation_ = new ::Canary::protobuf::appearances::SpriteAnimation(*from._impl_.animation_); - } - ::memcpy(&_impl_.pattern_width_, &from._impl_.pattern_width_, - static_cast(reinterpret_cast(&_impl_.is_opaque_) - - reinterpret_cast(&_impl_.pattern_width_)) + sizeof(_impl_.is_opaque_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.SpriteInfo) -} - -inline void SpriteInfo::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.sprite_id_){arena} - , decltype(_impl_.bounding_box_per_direction_){arena} - , decltype(_impl_.animation_){nullptr} - , decltype(_impl_.pattern_width_){0u} - , decltype(_impl_.pattern_height_){0u} - , decltype(_impl_.pattern_depth_){0u} - , decltype(_impl_.layers_){0u} - , decltype(_impl_.bounding_square_){0u} - , decltype(_impl_.is_opaque_){false} - }; -} - -SpriteInfo::~SpriteInfo() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.SpriteInfo) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void SpriteInfo::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.sprite_id_.~RepeatedField(); - _impl_.bounding_box_per_direction_.~RepeatedPtrField(); - if (this != internal_default_instance()) delete _impl_.animation_; -} - -void SpriteInfo::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void SpriteInfo::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.SpriteInfo) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.sprite_id_.Clear(); - _impl_.bounding_box_per_direction_.Clear(); - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - GOOGLE_DCHECK(_impl_.animation_ != nullptr); - _impl_.animation_->Clear(); - } - if (cached_has_bits & 0x0000007eu) { - ::memset(&_impl_.pattern_width_, 0, static_cast( - reinterpret_cast(&_impl_.is_opaque_) - - reinterpret_cast(&_impl_.pattern_width_)) + sizeof(_impl_.is_opaque_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SpriteInfo::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 pattern_width = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_pattern_width(&has_bits); - _impl_.pattern_width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 pattern_height = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_pattern_height(&has_bits); - _impl_.pattern_height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 pattern_depth = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_pattern_depth(&has_bits); - _impl_.pattern_depth_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 layers = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - _Internal::set_has_layers(&has_bits); - _impl_.layers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // repeated uint32 sprite_id = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - ptr -= 1; - do { - ptr += 1; - _internal_add_sprite_id(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr)); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<40>(ptr)); - } else if (static_cast(tag) == 42) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_sprite_id(), ptr, ctx); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.SpriteAnimation animation = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { - ptr = ctx->ParseMessage(_internal_mutable_animation(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 bounding_square = 7; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { - _Internal::set_has_bounding_square(&has_bits); - _impl_.bounding_square_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool is_opaque = 8; - case 8: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) { - _Internal::set_has_is_opaque(&has_bits); - _impl_.is_opaque_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.Box bounding_box_per_direction = 9; - case 9: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_bounding_box_per_direction(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr)); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* SpriteInfo::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.SpriteInfo) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 pattern_width = 1; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_pattern_width(), target); - } - - // optional uint32 pattern_height = 2; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_pattern_height(), target); - } - - // optional uint32 pattern_depth = 3; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_pattern_depth(), target); - } - - // optional uint32 layers = 4; - if (cached_has_bits & 0x00000010u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_layers(), target); - } - - // repeated uint32 sprite_id = 5; - for (int i = 0, n = this->_internal_sprite_id_size(); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_sprite_id(i), target); - } - - // optional .Canary.protobuf.appearances.SpriteAnimation animation = 6; - if (cached_has_bits & 0x00000001u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(6, _Internal::animation(this), - _Internal::animation(this).GetCachedSize(), target, stream); - } - - // optional uint32 bounding_square = 7; - if (cached_has_bits & 0x00000020u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_bounding_square(), target); - } - - // optional bool is_opaque = 8; - if (cached_has_bits & 0x00000040u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_is_opaque(), target); - } - - // repeated .Canary.protobuf.appearances.Box bounding_box_per_direction = 9; - for (unsigned i = 0, - n = static_cast(this->_internal_bounding_box_per_direction_size()); i < n; i++) { - const auto& repfield = this->_internal_bounding_box_per_direction(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.SpriteInfo) - return target; -} - -size_t SpriteInfo::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.SpriteInfo) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated uint32 sprite_id = 5; - { - size_t data_size = ::_pbi::WireFormatLite:: - UInt32Size(this->_impl_.sprite_id_); - total_size += 1 * - ::_pbi::FromIntSize(this->_internal_sprite_id_size()); - total_size += data_size; - } - - // repeated .Canary.protobuf.appearances.Box bounding_box_per_direction = 9; - total_size += 1UL * this->_internal_bounding_box_per_direction_size(); - for (const auto& msg : this->_impl_.bounding_box_per_direction_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000007fu) { - // optional .Canary.protobuf.appearances.SpriteAnimation animation = 6; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.animation_); - } - - // optional uint32 pattern_width = 1; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_pattern_width()); - } - - // optional uint32 pattern_height = 2; - if (cached_has_bits & 0x00000004u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_pattern_height()); - } - - // optional uint32 pattern_depth = 3; - if (cached_has_bits & 0x00000008u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_pattern_depth()); - } - - // optional uint32 layers = 4; - if (cached_has_bits & 0x00000010u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_layers()); - } - - // optional uint32 bounding_square = 7; - if (cached_has_bits & 0x00000020u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_bounding_square()); - } - - // optional bool is_opaque = 8; - if (cached_has_bits & 0x00000040u) { - total_size += 1 + 1; - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SpriteInfo::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - SpriteInfo::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SpriteInfo::GetClassData() const { return &_class_data_; } - - -void SpriteInfo::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.SpriteInfo) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.sprite_id_.MergeFrom(from._impl_.sprite_id_); - _this->_impl_.bounding_box_per_direction_.MergeFrom(from._impl_.bounding_box_per_direction_); - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000007fu) { - if (cached_has_bits & 0x00000001u) { - _this->_internal_mutable_animation()->::Canary::protobuf::appearances::SpriteAnimation::MergeFrom( - from._internal_animation()); - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.pattern_width_ = from._impl_.pattern_width_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.pattern_height_ = from._impl_.pattern_height_; - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.pattern_depth_ = from._impl_.pattern_depth_; - } - if (cached_has_bits & 0x00000010u) { - _this->_impl_.layers_ = from._impl_.layers_; - } - if (cached_has_bits & 0x00000020u) { - _this->_impl_.bounding_square_ = from._impl_.bounding_square_; - } - if (cached_has_bits & 0x00000040u) { - _this->_impl_.is_opaque_ = from._impl_.is_opaque_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SpriteInfo::CopyFrom(const SpriteInfo& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.SpriteInfo) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SpriteInfo::IsInitialized() const { - return true; -} - -void SpriteInfo::InternalSwap(SpriteInfo* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - _impl_.sprite_id_.InternalSwap(&other->_impl_.sprite_id_); - _impl_.bounding_box_per_direction_.InternalSwap(&other->_impl_.bounding_box_per_direction_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SpriteInfo, _impl_.is_opaque_) - + sizeof(SpriteInfo::_impl_.is_opaque_) - - PROTOBUF_FIELD_OFFSET(SpriteInfo, _impl_.animation_)>( - reinterpret_cast(&_impl_.animation_), - reinterpret_cast(&other->_impl_.animation_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SpriteInfo::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[5]); -} - -// =================================================================== - -class FrameGroup::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_fixed_frame_group(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_id(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static const ::Canary::protobuf::appearances::SpriteInfo& sprite_info(const FrameGroup* msg); - static void set_has_sprite_info(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -const ::Canary::protobuf::appearances::SpriteInfo& -FrameGroup::_Internal::sprite_info(const FrameGroup* msg) { - return *msg->_impl_.sprite_info_; -} -FrameGroup::FrameGroup(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.FrameGroup) -} -FrameGroup::FrameGroup(const FrameGroup& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - FrameGroup* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.sprite_info_){nullptr} - , decltype(_impl_.fixed_frame_group_){} - , decltype(_impl_.id_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_sprite_info()) { - _this->_impl_.sprite_info_ = new ::Canary::protobuf::appearances::SpriteInfo(*from._impl_.sprite_info_); - } - ::memcpy(&_impl_.fixed_frame_group_, &from._impl_.fixed_frame_group_, - static_cast(reinterpret_cast(&_impl_.id_) - - reinterpret_cast(&_impl_.fixed_frame_group_)) + sizeof(_impl_.id_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.FrameGroup) -} - -inline void FrameGroup::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.sprite_info_){nullptr} - , decltype(_impl_.fixed_frame_group_){0} - , decltype(_impl_.id_){0u} - }; -} - -FrameGroup::~FrameGroup() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.FrameGroup) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void FrameGroup::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete _impl_.sprite_info_; -} - -void FrameGroup::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void FrameGroup::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.FrameGroup) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - GOOGLE_DCHECK(_impl_.sprite_info_ != nullptr); - _impl_.sprite_info_->Clear(); - } - if (cached_has_bits & 0x00000006u) { - ::memset(&_impl_.fixed_frame_group_, 0, static_cast( - reinterpret_cast(&_impl_.id_) - - reinterpret_cast(&_impl_.fixed_frame_group_)) + sizeof(_impl_.id_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* FrameGroup::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional .Canary.protobuf.appearances.FIXED_FRAME_GROUP fixed_frame_group = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - if (PROTOBUF_PREDICT_TRUE(::Canary::protobuf::appearances::FIXED_FRAME_GROUP_IsValid(val))) { - _internal_set_fixed_frame_group(static_cast<::Canary::protobuf::appearances::FIXED_FRAME_GROUP>(val)); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields()); - } - } else - goto handle_unusual; - continue; - // optional uint32 id = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_id(&has_bits); - _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.SpriteInfo sprite_info = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_sprite_info(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* FrameGroup::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.FrameGroup) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.FIXED_FRAME_GROUP fixed_frame_group = 1; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 1, this->_internal_fixed_frame_group(), target); - } - - // optional uint32 id = 2; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_id(), target); - } - - // optional .Canary.protobuf.appearances.SpriteInfo sprite_info = 3; - if (cached_has_bits & 0x00000001u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, _Internal::sprite_info(this), - _Internal::sprite_info(this).GetCachedSize(), target, stream); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.FrameGroup) - return target; -} - -size_t FrameGroup::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.FrameGroup) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - // optional .Canary.protobuf.appearances.SpriteInfo sprite_info = 3; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.sprite_info_); - } - - // optional .Canary.protobuf.appearances.FIXED_FRAME_GROUP fixed_frame_group = 1; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_fixed_frame_group()); - } - - // optional uint32 id = 2; - if (cached_has_bits & 0x00000004u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_id()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FrameGroup::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - FrameGroup::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FrameGroup::GetClassData() const { return &_class_data_; } - - -void FrameGroup::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.FrameGroup) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - if (cached_has_bits & 0x00000001u) { - _this->_internal_mutable_sprite_info()->::Canary::protobuf::appearances::SpriteInfo::MergeFrom( - from._internal_sprite_info()); - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.fixed_frame_group_ = from._impl_.fixed_frame_group_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.id_ = from._impl_.id_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void FrameGroup::CopyFrom(const FrameGroup& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.FrameGroup) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool FrameGroup::IsInitialized() const { - return true; -} - -void FrameGroup::InternalSwap(FrameGroup* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(FrameGroup, _impl_.id_) - + sizeof(FrameGroup::_impl_.id_) - - PROTOBUF_FIELD_OFFSET(FrameGroup, _impl_.sprite_info_)>( - reinterpret_cast(&_impl_.sprite_info_), - reinterpret_cast(&other->_impl_.sprite_info_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata FrameGroup::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[6]); -} - -// =================================================================== - -class Appearance::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_id(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } - static const ::Canary::protobuf::appearances::AppearanceFlags& flags(const Appearance* msg); - static void set_has_flags(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static void set_has_name(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_description(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } -}; - -const ::Canary::protobuf::appearances::AppearanceFlags& -Appearance::_Internal::flags(const Appearance* msg) { - return *msg->_impl_.flags_; -} -Appearance::Appearance(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.Appearance) -} -Appearance::Appearance(const Appearance& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - Appearance* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.frame_group_){from._impl_.frame_group_} - , decltype(_impl_.name_){} - , decltype(_impl_.description_){} - , decltype(_impl_.flags_){nullptr} - , decltype(_impl_.id_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (from._internal_has_name()) { - _this->_impl_.name_.Set(from._internal_name(), - _this->GetArenaForAllocation()); - } - _impl_.description_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.description_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (from._internal_has_description()) { - _this->_impl_.description_.Set(from._internal_description(), - _this->GetArenaForAllocation()); - } - if (from._internal_has_flags()) { - _this->_impl_.flags_ = new ::Canary::protobuf::appearances::AppearanceFlags(*from._impl_.flags_); - } - _this->_impl_.id_ = from._impl_.id_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.Appearance) -} - -inline void Appearance::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.frame_group_){arena} - , decltype(_impl_.name_){} - , decltype(_impl_.description_){} - , decltype(_impl_.flags_){nullptr} - , decltype(_impl_.id_){0u} - }; - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.description_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.description_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -} - -Appearance::~Appearance() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.Appearance) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void Appearance::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.frame_group_.~RepeatedPtrField(); - _impl_.name_.Destroy(); - _impl_.description_.Destroy(); - if (this != internal_default_instance()) delete _impl_.flags_; -} - -void Appearance::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void Appearance::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.Appearance) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.frame_group_.Clear(); - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000002u) { - _impl_.description_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000004u) { - GOOGLE_DCHECK(_impl_.flags_ != nullptr); - _impl_.flags_->Clear(); - } - } - _impl_.id_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* Appearance::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 id = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_id(&has_bits); - _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.FrameGroup frame_group = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_frame_group(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlags flags = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_flags(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bytes name = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - auto str = _internal_mutable_name(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bytes description = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - auto str = _internal_mutable_description(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* Appearance::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.Appearance) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 id = 1; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_id(), target); - } - - // repeated .Canary.protobuf.appearances.FrameGroup frame_group = 2; - for (unsigned i = 0, - n = static_cast(this->_internal_frame_group_size()); i < n; i++) { - const auto& repfield = this->_internal_frame_group(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); - } - - // optional .Canary.protobuf.appearances.AppearanceFlags flags = 3; - if (cached_has_bits & 0x00000004u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, _Internal::flags(this), - _Internal::flags(this).GetCachedSize(), target, stream); - } - - // optional bytes name = 4; - if (cached_has_bits & 0x00000001u) { - target = stream->WriteBytesMaybeAliased( - 4, this->_internal_name(), target); - } - - // optional bytes description = 5; - if (cached_has_bits & 0x00000002u) { - target = stream->WriteBytesMaybeAliased( - 5, this->_internal_description(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.Appearance) - return target; -} - -size_t Appearance::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.Appearance) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .Canary.protobuf.appearances.FrameGroup frame_group = 2; - total_size += 1UL * this->_internal_frame_group_size(); - for (const auto& msg : this->_impl_.frame_group_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - // optional bytes name = 4; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - this->_internal_name()); - } - - // optional bytes description = 5; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - this->_internal_description()); - } - - // optional .Canary.protobuf.appearances.AppearanceFlags flags = 3; - if (cached_has_bits & 0x00000004u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.flags_); - } - - // optional uint32 id = 1; - if (cached_has_bits & 0x00000008u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_id()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Appearance::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - Appearance::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Appearance::GetClassData() const { return &_class_data_; } - - -void Appearance::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.Appearance) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.frame_group_.MergeFrom(from._impl_.frame_group_); - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - if (cached_has_bits & 0x00000001u) { - _this->_internal_set_name(from._internal_name()); - } - if (cached_has_bits & 0x00000002u) { - _this->_internal_set_description(from._internal_description()); - } - if (cached_has_bits & 0x00000004u) { - _this->_internal_mutable_flags()->::Canary::protobuf::appearances::AppearanceFlags::MergeFrom( - from._internal_flags()); - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.id_ = from._impl_.id_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void Appearance::CopyFrom(const Appearance& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.Appearance) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Appearance::IsInitialized() const { - return true; -} - -void Appearance::InternalSwap(Appearance* other) { - using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - _impl_.frame_group_.InternalSwap(&other->_impl_.frame_group_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.name_, lhs_arena, - &other->_impl_.name_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.description_, lhs_arena, - &other->_impl_.description_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(Appearance, _impl_.id_) - + sizeof(Appearance::_impl_.id_) - - PROTOBUF_FIELD_OFFSET(Appearance, _impl_.flags_)>( - reinterpret_cast(&_impl_.flags_), - reinterpret_cast(&other->_impl_.flags_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata Appearance::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[7]); -} - -// =================================================================== - -class AppearanceFlags::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static const ::Canary::protobuf::appearances::AppearanceFlagBank& bank(const AppearanceFlags* msg); - static void set_has_bank(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_clip(HasBits* has_bits) { - (*has_bits)[0] |= 32768u; - } - static void set_has_bottom(HasBits* has_bits) { - (*has_bits)[0] |= 65536u; - } - static void set_has_top(HasBits* has_bits) { - (*has_bits)[0] |= 131072u; - } - static void set_has_container(HasBits* has_bits) { - (*has_bits)[0] |= 262144u; - } - static void set_has_cumulative(HasBits* has_bits) { - (*has_bits)[0] |= 524288u; - } - static void set_has_usable(HasBits* has_bits) { - (*has_bits)[0] |= 1048576u; - } - static void set_has_forceuse(HasBits* has_bits) { - (*has_bits)[0] |= 2097152u; - } - static void set_has_multiuse(HasBits* has_bits) { - (*has_bits)[0] |= 4194304u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagWrite& write(const AppearanceFlags* msg); - static void set_has_write(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagWriteOnce& write_once(const AppearanceFlags* msg); - static void set_has_write_once(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static void set_has_liquidpool(HasBits* has_bits) { - (*has_bits)[0] |= 8388608u; - } - static void set_has_unpass(HasBits* has_bits) { - (*has_bits)[0] |= 16777216u; - } - static void set_has_unmove(HasBits* has_bits) { - (*has_bits)[0] |= 33554432u; - } - static void set_has_unsight(HasBits* has_bits) { - (*has_bits)[0] |= 67108864u; - } - static void set_has_avoid(HasBits* has_bits) { - (*has_bits)[0] |= 134217728u; - } - static void set_has_no_movement_animation(HasBits* has_bits) { - (*has_bits)[0] |= 268435456u; - } - static void set_has_take(HasBits* has_bits) { - (*has_bits)[0] |= 536870912u; - } - static void set_has_liquidcontainer(HasBits* has_bits) { - (*has_bits)[0] |= 1073741824u; - } - static void set_has_hang(HasBits* has_bits) { - (*has_bits)[0] |= 2147483648u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagHook& hook(const AppearanceFlags* msg); - static void set_has_hook(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } - static void set_has_rotate(HasBits* has_bits) { - (*has_bits)[1] |= 1u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagLight& light(const AppearanceFlags* msg); - static void set_has_light(HasBits* has_bits) { - (*has_bits)[0] |= 16u; - } - static void set_has_dont_hide(HasBits* has_bits) { - (*has_bits)[1] |= 2u; - } - static void set_has_translucent(HasBits* has_bits) { - (*has_bits)[1] |= 4u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagShift& shift(const AppearanceFlags* msg); - static void set_has_shift(HasBits* has_bits) { - (*has_bits)[0] |= 32u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagHeight& height(const AppearanceFlags* msg); - static void set_has_height(HasBits* has_bits) { - (*has_bits)[0] |= 64u; - } - static void set_has_lying_object(HasBits* has_bits) { - (*has_bits)[1] |= 8u; - } - static void set_has_animate_always(HasBits* has_bits) { - (*has_bits)[1] |= 16u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagAutomap& automap(const AppearanceFlags* msg); - static void set_has_automap(HasBits* has_bits) { - (*has_bits)[0] |= 128u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagLenshelp& lenshelp(const AppearanceFlags* msg); - static void set_has_lenshelp(HasBits* has_bits) { - (*has_bits)[0] |= 256u; - } - static void set_has_fullbank(HasBits* has_bits) { - (*has_bits)[1] |= 32u; - } - static void set_has_ignore_look(HasBits* has_bits) { - (*has_bits)[1] |= 64u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagClothes& clothes(const AppearanceFlags* msg); - static void set_has_clothes(HasBits* has_bits) { - (*has_bits)[0] |= 512u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagDefaultAction& default_action(const AppearanceFlags* msg); - static void set_has_default_action(HasBits* has_bits) { - (*has_bits)[0] |= 1024u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagMarket& market(const AppearanceFlags* msg); - static void set_has_market(HasBits* has_bits) { - (*has_bits)[0] |= 2048u; - } - static void set_has_wrap(HasBits* has_bits) { - (*has_bits)[1] |= 128u; - } - static void set_has_unwrap(HasBits* has_bits) { - (*has_bits)[1] |= 256u; - } - static void set_has_topeffect(HasBits* has_bits) { - (*has_bits)[1] |= 512u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire& changedtoexpire(const AppearanceFlags* msg); - static void set_has_changedtoexpire(HasBits* has_bits) { - (*has_bits)[0] |= 4096u; - } - static void set_has_corpse(HasBits* has_bits) { - (*has_bits)[1] |= 1024u; - } - static void set_has_player_corpse(HasBits* has_bits) { - (*has_bits)[1] |= 2048u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagCyclopedia& cyclopediaitem(const AppearanceFlags* msg); - static void set_has_cyclopediaitem(HasBits* has_bits) { - (*has_bits)[0] |= 8192u; - } - static void set_has_ammo(HasBits* has_bits) { - (*has_bits)[1] |= 4096u; - } - static void set_has_show_off_socket(HasBits* has_bits) { - (*has_bits)[1] |= 8192u; - } - static void set_has_reportable(HasBits* has_bits) { - (*has_bits)[1] |= 16384u; - } - static const ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification& upgradeclassification(const AppearanceFlags* msg); - static void set_has_upgradeclassification(HasBits* has_bits) { - (*has_bits)[0] |= 16384u; - } - static void set_has_reverse_addons_east(HasBits* has_bits) { - (*has_bits)[1] |= 32768u; - } - static void set_has_reverse_addons_west(HasBits* has_bits) { - (*has_bits)[1] |= 65536u; - } - static void set_has_reverse_addons_south(HasBits* has_bits) { - (*has_bits)[1] |= 131072u; - } - static void set_has_reverse_addons_north(HasBits* has_bits) { - (*has_bits)[1] |= 262144u; - } - static void set_has_wearout(HasBits* has_bits) { - (*has_bits)[1] |= 524288u; - } - static void set_has_clockexpire(HasBits* has_bits) { - (*has_bits)[1] |= 1048576u; - } - static void set_has_expire(HasBits* has_bits) { - (*has_bits)[1] |= 2097152u; - } - static void set_has_expirestop(HasBits* has_bits) { - (*has_bits)[1] |= 4194304u; - } - static void set_has_wrapkit(HasBits* has_bits) { - (*has_bits)[1] |= 8388608u; - } -}; - -const ::Canary::protobuf::appearances::AppearanceFlagBank& -AppearanceFlags::_Internal::bank(const AppearanceFlags* msg) { - return *msg->_impl_.bank_; -} -const ::Canary::protobuf::appearances::AppearanceFlagWrite& -AppearanceFlags::_Internal::write(const AppearanceFlags* msg) { - return *msg->_impl_.write_; -} -const ::Canary::protobuf::appearances::AppearanceFlagWriteOnce& -AppearanceFlags::_Internal::write_once(const AppearanceFlags* msg) { - return *msg->_impl_.write_once_; -} -const ::Canary::protobuf::appearances::AppearanceFlagHook& -AppearanceFlags::_Internal::hook(const AppearanceFlags* msg) { - return *msg->_impl_.hook_; -} -const ::Canary::protobuf::appearances::AppearanceFlagLight& -AppearanceFlags::_Internal::light(const AppearanceFlags* msg) { - return *msg->_impl_.light_; -} -const ::Canary::protobuf::appearances::AppearanceFlagShift& -AppearanceFlags::_Internal::shift(const AppearanceFlags* msg) { - return *msg->_impl_.shift_; -} -const ::Canary::protobuf::appearances::AppearanceFlagHeight& -AppearanceFlags::_Internal::height(const AppearanceFlags* msg) { - return *msg->_impl_.height_; -} -const ::Canary::protobuf::appearances::AppearanceFlagAutomap& -AppearanceFlags::_Internal::automap(const AppearanceFlags* msg) { - return *msg->_impl_.automap_; -} -const ::Canary::protobuf::appearances::AppearanceFlagLenshelp& -AppearanceFlags::_Internal::lenshelp(const AppearanceFlags* msg) { - return *msg->_impl_.lenshelp_; -} -const ::Canary::protobuf::appearances::AppearanceFlagClothes& -AppearanceFlags::_Internal::clothes(const AppearanceFlags* msg) { - return *msg->_impl_.clothes_; -} -const ::Canary::protobuf::appearances::AppearanceFlagDefaultAction& -AppearanceFlags::_Internal::default_action(const AppearanceFlags* msg) { - return *msg->_impl_.default_action_; -} -const ::Canary::protobuf::appearances::AppearanceFlagMarket& -AppearanceFlags::_Internal::market(const AppearanceFlags* msg) { - return *msg->_impl_.market_; -} -const ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire& -AppearanceFlags::_Internal::changedtoexpire(const AppearanceFlags* msg) { - return *msg->_impl_.changedtoexpire_; -} -const ::Canary::protobuf::appearances::AppearanceFlagCyclopedia& -AppearanceFlags::_Internal::cyclopediaitem(const AppearanceFlags* msg) { - return *msg->_impl_.cyclopediaitem_; -} -const ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification& -AppearanceFlags::_Internal::upgradeclassification(const AppearanceFlags* msg) { - return *msg->_impl_.upgradeclassification_; -} -AppearanceFlags::AppearanceFlags(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlags) -} -AppearanceFlags::AppearanceFlags(const AppearanceFlags& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlags* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.npcsaledata_){from._impl_.npcsaledata_} - , decltype(_impl_.bank_){nullptr} - , decltype(_impl_.write_){nullptr} - , decltype(_impl_.write_once_){nullptr} - , decltype(_impl_.hook_){nullptr} - , decltype(_impl_.light_){nullptr} - , decltype(_impl_.shift_){nullptr} - , decltype(_impl_.height_){nullptr} - , decltype(_impl_.automap_){nullptr} - , decltype(_impl_.lenshelp_){nullptr} - , decltype(_impl_.clothes_){nullptr} - , decltype(_impl_.default_action_){nullptr} - , decltype(_impl_.market_){nullptr} - , decltype(_impl_.changedtoexpire_){nullptr} - , decltype(_impl_.cyclopediaitem_){nullptr} - , decltype(_impl_.upgradeclassification_){nullptr} - , decltype(_impl_.clip_){} - , decltype(_impl_.bottom_){} - , decltype(_impl_.top_){} - , decltype(_impl_.container_){} - , decltype(_impl_.cumulative_){} - , decltype(_impl_.usable_){} - , decltype(_impl_.forceuse_){} - , decltype(_impl_.multiuse_){} - , decltype(_impl_.liquidpool_){} - , decltype(_impl_.unpass_){} - , decltype(_impl_.unmove_){} - , decltype(_impl_.unsight_){} - , decltype(_impl_.avoid_){} - , decltype(_impl_.no_movement_animation_){} - , decltype(_impl_.take_){} - , decltype(_impl_.liquidcontainer_){} - , decltype(_impl_.hang_){} - , decltype(_impl_.rotate_){} - , decltype(_impl_.dont_hide_){} - , decltype(_impl_.translucent_){} - , decltype(_impl_.lying_object_){} - , decltype(_impl_.animate_always_){} - , decltype(_impl_.fullbank_){} - , decltype(_impl_.ignore_look_){} - , decltype(_impl_.wrap_){} - , decltype(_impl_.unwrap_){} - , decltype(_impl_.topeffect_){} - , decltype(_impl_.corpse_){} - , decltype(_impl_.player_corpse_){} - , decltype(_impl_.ammo_){} - , decltype(_impl_.show_off_socket_){} - , decltype(_impl_.reportable_){} - , decltype(_impl_.reverse_addons_east_){} - , decltype(_impl_.reverse_addons_west_){} - , decltype(_impl_.reverse_addons_south_){} - , decltype(_impl_.reverse_addons_north_){} - , decltype(_impl_.wearout_){} - , decltype(_impl_.clockexpire_){} - , decltype(_impl_.expire_){} - , decltype(_impl_.expirestop_){} - , decltype(_impl_.wrapkit_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_bank()) { - _this->_impl_.bank_ = new ::Canary::protobuf::appearances::AppearanceFlagBank(*from._impl_.bank_); - } - if (from._internal_has_write()) { - _this->_impl_.write_ = new ::Canary::protobuf::appearances::AppearanceFlagWrite(*from._impl_.write_); - } - if (from._internal_has_write_once()) { - _this->_impl_.write_once_ = new ::Canary::protobuf::appearances::AppearanceFlagWriteOnce(*from._impl_.write_once_); - } - if (from._internal_has_hook()) { - _this->_impl_.hook_ = new ::Canary::protobuf::appearances::AppearanceFlagHook(*from._impl_.hook_); - } - if (from._internal_has_light()) { - _this->_impl_.light_ = new ::Canary::protobuf::appearances::AppearanceFlagLight(*from._impl_.light_); - } - if (from._internal_has_shift()) { - _this->_impl_.shift_ = new ::Canary::protobuf::appearances::AppearanceFlagShift(*from._impl_.shift_); - } - if (from._internal_has_height()) { - _this->_impl_.height_ = new ::Canary::protobuf::appearances::AppearanceFlagHeight(*from._impl_.height_); - } - if (from._internal_has_automap()) { - _this->_impl_.automap_ = new ::Canary::protobuf::appearances::AppearanceFlagAutomap(*from._impl_.automap_); - } - if (from._internal_has_lenshelp()) { - _this->_impl_.lenshelp_ = new ::Canary::protobuf::appearances::AppearanceFlagLenshelp(*from._impl_.lenshelp_); - } - if (from._internal_has_clothes()) { - _this->_impl_.clothes_ = new ::Canary::protobuf::appearances::AppearanceFlagClothes(*from._impl_.clothes_); - } - if (from._internal_has_default_action()) { - _this->_impl_.default_action_ = new ::Canary::protobuf::appearances::AppearanceFlagDefaultAction(*from._impl_.default_action_); - } - if (from._internal_has_market()) { - _this->_impl_.market_ = new ::Canary::protobuf::appearances::AppearanceFlagMarket(*from._impl_.market_); - } - if (from._internal_has_changedtoexpire()) { - _this->_impl_.changedtoexpire_ = new ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire(*from._impl_.changedtoexpire_); - } - if (from._internal_has_cyclopediaitem()) { - _this->_impl_.cyclopediaitem_ = new ::Canary::protobuf::appearances::AppearanceFlagCyclopedia(*from._impl_.cyclopediaitem_); - } - if (from._internal_has_upgradeclassification()) { - _this->_impl_.upgradeclassification_ = new ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification(*from._impl_.upgradeclassification_); - } - ::memcpy(&_impl_.clip_, &from._impl_.clip_, - static_cast(reinterpret_cast(&_impl_.wrapkit_) - - reinterpret_cast(&_impl_.clip_)) + sizeof(_impl_.wrapkit_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlags) -} - -inline void AppearanceFlags::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.npcsaledata_){arena} - , decltype(_impl_.bank_){nullptr} - , decltype(_impl_.write_){nullptr} - , decltype(_impl_.write_once_){nullptr} - , decltype(_impl_.hook_){nullptr} - , decltype(_impl_.light_){nullptr} - , decltype(_impl_.shift_){nullptr} - , decltype(_impl_.height_){nullptr} - , decltype(_impl_.automap_){nullptr} - , decltype(_impl_.lenshelp_){nullptr} - , decltype(_impl_.clothes_){nullptr} - , decltype(_impl_.default_action_){nullptr} - , decltype(_impl_.market_){nullptr} - , decltype(_impl_.changedtoexpire_){nullptr} - , decltype(_impl_.cyclopediaitem_){nullptr} - , decltype(_impl_.upgradeclassification_){nullptr} - , decltype(_impl_.clip_){false} - , decltype(_impl_.bottom_){false} - , decltype(_impl_.top_){false} - , decltype(_impl_.container_){false} - , decltype(_impl_.cumulative_){false} - , decltype(_impl_.usable_){false} - , decltype(_impl_.forceuse_){false} - , decltype(_impl_.multiuse_){false} - , decltype(_impl_.liquidpool_){false} - , decltype(_impl_.unpass_){false} - , decltype(_impl_.unmove_){false} - , decltype(_impl_.unsight_){false} - , decltype(_impl_.avoid_){false} - , decltype(_impl_.no_movement_animation_){false} - , decltype(_impl_.take_){false} - , decltype(_impl_.liquidcontainer_){false} - , decltype(_impl_.hang_){false} - , decltype(_impl_.rotate_){false} - , decltype(_impl_.dont_hide_){false} - , decltype(_impl_.translucent_){false} - , decltype(_impl_.lying_object_){false} - , decltype(_impl_.animate_always_){false} - , decltype(_impl_.fullbank_){false} - , decltype(_impl_.ignore_look_){false} - , decltype(_impl_.wrap_){false} - , decltype(_impl_.unwrap_){false} - , decltype(_impl_.topeffect_){false} - , decltype(_impl_.corpse_){false} - , decltype(_impl_.player_corpse_){false} - , decltype(_impl_.ammo_){false} - , decltype(_impl_.show_off_socket_){false} - , decltype(_impl_.reportable_){false} - , decltype(_impl_.reverse_addons_east_){false} - , decltype(_impl_.reverse_addons_west_){false} - , decltype(_impl_.reverse_addons_south_){false} - , decltype(_impl_.reverse_addons_north_){false} - , decltype(_impl_.wearout_){false} - , decltype(_impl_.clockexpire_){false} - , decltype(_impl_.expire_){false} - , decltype(_impl_.expirestop_){false} - , decltype(_impl_.wrapkit_){false} - }; -} - -AppearanceFlags::~AppearanceFlags() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlags) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlags::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.npcsaledata_.~RepeatedPtrField(); - if (this != internal_default_instance()) delete _impl_.bank_; - if (this != internal_default_instance()) delete _impl_.write_; - if (this != internal_default_instance()) delete _impl_.write_once_; - if (this != internal_default_instance()) delete _impl_.hook_; - if (this != internal_default_instance()) delete _impl_.light_; - if (this != internal_default_instance()) delete _impl_.shift_; - if (this != internal_default_instance()) delete _impl_.height_; - if (this != internal_default_instance()) delete _impl_.automap_; - if (this != internal_default_instance()) delete _impl_.lenshelp_; - if (this != internal_default_instance()) delete _impl_.clothes_; - if (this != internal_default_instance()) delete _impl_.default_action_; - if (this != internal_default_instance()) delete _impl_.market_; - if (this != internal_default_instance()) delete _impl_.changedtoexpire_; - if (this != internal_default_instance()) delete _impl_.cyclopediaitem_; - if (this != internal_default_instance()) delete _impl_.upgradeclassification_; -} - -void AppearanceFlags::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlags::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlags) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.npcsaledata_.Clear(); - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x000000ffu) { - if (cached_has_bits & 0x00000001u) { - GOOGLE_DCHECK(_impl_.bank_ != nullptr); - _impl_.bank_->Clear(); - } - if (cached_has_bits & 0x00000002u) { - GOOGLE_DCHECK(_impl_.write_ != nullptr); - _impl_.write_->Clear(); - } - if (cached_has_bits & 0x00000004u) { - GOOGLE_DCHECK(_impl_.write_once_ != nullptr); - _impl_.write_once_->Clear(); - } - if (cached_has_bits & 0x00000008u) { - GOOGLE_DCHECK(_impl_.hook_ != nullptr); - _impl_.hook_->Clear(); - } - if (cached_has_bits & 0x00000010u) { - GOOGLE_DCHECK(_impl_.light_ != nullptr); - _impl_.light_->Clear(); - } - if (cached_has_bits & 0x00000020u) { - GOOGLE_DCHECK(_impl_.shift_ != nullptr); - _impl_.shift_->Clear(); - } - if (cached_has_bits & 0x00000040u) { - GOOGLE_DCHECK(_impl_.height_ != nullptr); - _impl_.height_->Clear(); - } - if (cached_has_bits & 0x00000080u) { - GOOGLE_DCHECK(_impl_.automap_ != nullptr); - _impl_.automap_->Clear(); - } - } - if (cached_has_bits & 0x00007f00u) { - if (cached_has_bits & 0x00000100u) { - GOOGLE_DCHECK(_impl_.lenshelp_ != nullptr); - _impl_.lenshelp_->Clear(); - } - if (cached_has_bits & 0x00000200u) { - GOOGLE_DCHECK(_impl_.clothes_ != nullptr); - _impl_.clothes_->Clear(); - } - if (cached_has_bits & 0x00000400u) { - GOOGLE_DCHECK(_impl_.default_action_ != nullptr); - _impl_.default_action_->Clear(); - } - if (cached_has_bits & 0x00000800u) { - GOOGLE_DCHECK(_impl_.market_ != nullptr); - _impl_.market_->Clear(); - } - if (cached_has_bits & 0x00001000u) { - GOOGLE_DCHECK(_impl_.changedtoexpire_ != nullptr); - _impl_.changedtoexpire_->Clear(); - } - if (cached_has_bits & 0x00002000u) { - GOOGLE_DCHECK(_impl_.cyclopediaitem_ != nullptr); - _impl_.cyclopediaitem_->Clear(); - } - if (cached_has_bits & 0x00004000u) { - GOOGLE_DCHECK(_impl_.upgradeclassification_ != nullptr); - _impl_.upgradeclassification_->Clear(); - } - } - _impl_.clip_ = false; - if (cached_has_bits & 0x00ff0000u) { - ::memset(&_impl_.bottom_, 0, static_cast( - reinterpret_cast(&_impl_.liquidpool_) - - reinterpret_cast(&_impl_.bottom_)) + sizeof(_impl_.liquidpool_)); - } - if (cached_has_bits & 0xff000000u) { - ::memset(&_impl_.unpass_, 0, static_cast( - reinterpret_cast(&_impl_.hang_) - - reinterpret_cast(&_impl_.unpass_)) + sizeof(_impl_.hang_)); - } - cached_has_bits = _impl_._has_bits_[1]; - if (cached_has_bits & 0x000000ffu) { - ::memset(&_impl_.rotate_, 0, static_cast( - reinterpret_cast(&_impl_.wrap_) - - reinterpret_cast(&_impl_.rotate_)) + sizeof(_impl_.wrap_)); - } - if (cached_has_bits & 0x0000ff00u) { - ::memset(&_impl_.unwrap_, 0, static_cast( - reinterpret_cast(&_impl_.reverse_addons_east_) - - reinterpret_cast(&_impl_.unwrap_)) + sizeof(_impl_.reverse_addons_east_)); - } - if (cached_has_bits & 0x00ff0000u) { - ::memset(&_impl_.reverse_addons_west_, 0, static_cast( - reinterpret_cast(&_impl_.wrapkit_) - - reinterpret_cast(&_impl_.reverse_addons_west_)) + sizeof(_impl_.wrapkit_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlags::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional .Canary.protobuf.appearances.AppearanceFlagBank bank = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_bank(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool clip = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_clip(&_impl_._has_bits_); - _impl_.clip_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool bottom = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_bottom(&_impl_._has_bits_); - _impl_.bottom_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool top = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - _Internal::set_has_top(&_impl_._has_bits_); - _impl_.top_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool container = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - _Internal::set_has_container(&_impl_._has_bits_); - _impl_.container_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool cumulative = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - _Internal::set_has_cumulative(&_impl_._has_bits_); - _impl_.cumulative_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool usable = 7; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { - _Internal::set_has_usable(&_impl_._has_bits_); - _impl_.usable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool forceuse = 8; - case 8: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) { - _Internal::set_has_forceuse(&_impl_._has_bits_); - _impl_.forceuse_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool multiuse = 9; - case 9: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 72)) { - _Internal::set_has_multiuse(&_impl_._has_bits_); - _impl_.multiuse_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagWrite write = 10; - case 10: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { - ptr = ctx->ParseMessage(_internal_mutable_write(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagWriteOnce write_once = 11; - case 11: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { - ptr = ctx->ParseMessage(_internal_mutable_write_once(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool liquidpool = 12; - case 12: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 96)) { - _Internal::set_has_liquidpool(&_impl_._has_bits_); - _impl_.liquidpool_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool unpass = 13; - case 13: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 104)) { - _Internal::set_has_unpass(&_impl_._has_bits_); - _impl_.unpass_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool unmove = 14; - case 14: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 112)) { - _Internal::set_has_unmove(&_impl_._has_bits_); - _impl_.unmove_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool unsight = 15; - case 15: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 120)) { - _Internal::set_has_unsight(&_impl_._has_bits_); - _impl_.unsight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool avoid = 16; - case 16: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 128)) { - _Internal::set_has_avoid(&_impl_._has_bits_); - _impl_.avoid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool no_movement_animation = 17; - case 17: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 136)) { - _Internal::set_has_no_movement_animation(&_impl_._has_bits_); - _impl_.no_movement_animation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool take = 18; - case 18: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 144)) { - _Internal::set_has_take(&_impl_._has_bits_); - _impl_.take_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool liquidcontainer = 19; - case 19: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 152)) { - _Internal::set_has_liquidcontainer(&_impl_._has_bits_); - _impl_.liquidcontainer_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool hang = 20; - case 20: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 160)) { - _Internal::set_has_hang(&_impl_._has_bits_); - _impl_.hang_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagHook hook = 21; - case 21: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 170)) { - ptr = ctx->ParseMessage(_internal_mutable_hook(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool rotate = 22; - case 22: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 176)) { - _Internal::set_has_rotate(&_impl_._has_bits_); - _impl_.rotate_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagLight light = 23; - case 23: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 186)) { - ptr = ctx->ParseMessage(_internal_mutable_light(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool dont_hide = 24; - case 24: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 192)) { - _Internal::set_has_dont_hide(&_impl_._has_bits_); - _impl_.dont_hide_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool translucent = 25; - case 25: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 200)) { - _Internal::set_has_translucent(&_impl_._has_bits_); - _impl_.translucent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagShift shift = 26; - case 26: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 210)) { - ptr = ctx->ParseMessage(_internal_mutable_shift(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagHeight height = 27; - case 27: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 218)) { - ptr = ctx->ParseMessage(_internal_mutable_height(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool lying_object = 28; - case 28: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 224)) { - _Internal::set_has_lying_object(&_impl_._has_bits_); - _impl_.lying_object_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool animate_always = 29; - case 29: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 232)) { - _Internal::set_has_animate_always(&_impl_._has_bits_); - _impl_.animate_always_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagAutomap automap = 30; - case 30: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 242)) { - ptr = ctx->ParseMessage(_internal_mutable_automap(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagLenshelp lenshelp = 31; - case 31: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 250)) { - ptr = ctx->ParseMessage(_internal_mutable_lenshelp(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool fullbank = 32; - case 32: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 0)) { - _Internal::set_has_fullbank(&_impl_._has_bits_); - _impl_.fullbank_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool ignore_look = 33; - case 33: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_ignore_look(&_impl_._has_bits_); - _impl_.ignore_look_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagClothes clothes = 34; - case 34: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_clothes(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagDefaultAction default_action = 35; - case 35: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_default_action(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagMarket market = 36; - case 36: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_market(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool wrap = 37; - case 37: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - _Internal::set_has_wrap(&_impl_._has_bits_); - _impl_.wrap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool unwrap = 38; - case 38: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - _Internal::set_has_unwrap(&_impl_._has_bits_); - _impl_.unwrap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool topeffect = 39; - case 39: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { - _Internal::set_has_topeffect(&_impl_._has_bits_); - _impl_.topeffect_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.AppearanceFlagNPC npcsaledata = 40; - case 40: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { - ptr -= 2; - do { - ptr += 2; - ptr = ctx->ParseMessage(_internal_add_npcsaledata(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<322>(ptr)); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagChangedToExpire changedtoexpire = 41; - case 41: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { - ptr = ctx->ParseMessage(_internal_mutable_changedtoexpire(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool corpse = 42; - case 42: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 80)) { - _Internal::set_has_corpse(&_impl_._has_bits_); - _impl_.corpse_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool player_corpse = 43; - case 43: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 88)) { - _Internal::set_has_player_corpse(&_impl_._has_bits_); - _impl_.player_corpse_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagCyclopedia cyclopediaitem = 44; - case 44: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 98)) { - ptr = ctx->ParseMessage(_internal_mutable_cyclopediaitem(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool ammo = 45; - case 45: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 104)) { - _Internal::set_has_ammo(&_impl_._has_bits_); - _impl_.ammo_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool show_off_socket = 46; - case 46: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 112)) { - _Internal::set_has_show_off_socket(&_impl_._has_bits_); - _impl_.show_off_socket_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool reportable = 47; - case 47: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 120)) { - _Internal::set_has_reportable(&_impl_._has_bits_); - _impl_.reportable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional .Canary.protobuf.appearances.AppearanceFlagUpgradeClassification upgradeclassification = 48; - case 48: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 130)) { - ptr = ctx->ParseMessage(_internal_mutable_upgradeclassification(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool reverse_addons_east = 49; - case 49: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 136)) { - _Internal::set_has_reverse_addons_east(&_impl_._has_bits_); - _impl_.reverse_addons_east_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool reverse_addons_west = 50; - case 50: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 144)) { - _Internal::set_has_reverse_addons_west(&_impl_._has_bits_); - _impl_.reverse_addons_west_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool reverse_addons_south = 51; - case 51: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 152)) { - _Internal::set_has_reverse_addons_south(&_impl_._has_bits_); - _impl_.reverse_addons_south_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool reverse_addons_north = 52; - case 52: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 160)) { - _Internal::set_has_reverse_addons_north(&_impl_._has_bits_); - _impl_.reverse_addons_north_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool wearout = 53; - case 53: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 168)) { - _Internal::set_has_wearout(&_impl_._has_bits_); - _impl_.wearout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool clockexpire = 54; - case 54: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 176)) { - _Internal::set_has_clockexpire(&_impl_._has_bits_); - _impl_.clockexpire_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool expire = 55; - case 55: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 184)) { - _Internal::set_has_expire(&_impl_._has_bits_); - _impl_.expire_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool expirestop = 56; - case 56: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 192)) { - _Internal::set_has_expirestop(&_impl_._has_bits_); - _impl_.expirestop_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bool wrapkit = 57; - case 57: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 200)) { - _Internal::set_has_wrapkit(&_impl_._has_bits_); - _impl_.wrapkit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlags::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlags) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagBank bank = 1; - if (cached_has_bits & 0x00000001u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::bank(this), - _Internal::bank(this).GetCachedSize(), target, stream); - } - - // optional bool clip = 2; - if (cached_has_bits & 0x00008000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_clip(), target); - } - - // optional bool bottom = 3; - if (cached_has_bits & 0x00010000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_bottom(), target); - } - - // optional bool top = 4; - if (cached_has_bits & 0x00020000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_top(), target); - } - - // optional bool container = 5; - if (cached_has_bits & 0x00040000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_container(), target); - } - - // optional bool cumulative = 6; - if (cached_has_bits & 0x00080000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_cumulative(), target); - } - - // optional bool usable = 7; - if (cached_has_bits & 0x00100000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_usable(), target); - } - - // optional bool forceuse = 8; - if (cached_has_bits & 0x00200000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_forceuse(), target); - } - - // optional bool multiuse = 9; - if (cached_has_bits & 0x00400000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(9, this->_internal_multiuse(), target); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagWrite write = 10; - if (cached_has_bits & 0x00000002u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(10, _Internal::write(this), - _Internal::write(this).GetCachedSize(), target, stream); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagWriteOnce write_once = 11; - if (cached_has_bits & 0x00000004u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(11, _Internal::write_once(this), - _Internal::write_once(this).GetCachedSize(), target, stream); - } - - // optional bool liquidpool = 12; - if (cached_has_bits & 0x00800000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(12, this->_internal_liquidpool(), target); - } - - // optional bool unpass = 13; - if (cached_has_bits & 0x01000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(13, this->_internal_unpass(), target); - } - - // optional bool unmove = 14; - if (cached_has_bits & 0x02000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(14, this->_internal_unmove(), target); - } - - // optional bool unsight = 15; - if (cached_has_bits & 0x04000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(15, this->_internal_unsight(), target); - } - - // optional bool avoid = 16; - if (cached_has_bits & 0x08000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(16, this->_internal_avoid(), target); - } - - // optional bool no_movement_animation = 17; - if (cached_has_bits & 0x10000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(17, this->_internal_no_movement_animation(), target); - } - - // optional bool take = 18; - if (cached_has_bits & 0x20000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(18, this->_internal_take(), target); - } - - // optional bool liquidcontainer = 19; - if (cached_has_bits & 0x40000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(19, this->_internal_liquidcontainer(), target); - } - - // optional bool hang = 20; - if (cached_has_bits & 0x80000000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(20, this->_internal_hang(), target); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagHook hook = 21; - if (cached_has_bits & 0x00000008u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(21, _Internal::hook(this), - _Internal::hook(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool rotate = 22; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(22, this->_internal_rotate(), target); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagLight light = 23; - if (cached_has_bits & 0x00000010u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(23, _Internal::light(this), - _Internal::light(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool dont_hide = 24; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(24, this->_internal_dont_hide(), target); - } - - // optional bool translucent = 25; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(25, this->_internal_translucent(), target); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagShift shift = 26; - if (cached_has_bits & 0x00000020u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(26, _Internal::shift(this), - _Internal::shift(this).GetCachedSize(), target, stream); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagHeight height = 27; - if (cached_has_bits & 0x00000040u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(27, _Internal::height(this), - _Internal::height(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool lying_object = 28; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(28, this->_internal_lying_object(), target); - } - - // optional bool animate_always = 29; - if (cached_has_bits & 0x00000010u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(29, this->_internal_animate_always(), target); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagAutomap automap = 30; - if (cached_has_bits & 0x00000080u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(30, _Internal::automap(this), - _Internal::automap(this).GetCachedSize(), target, stream); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagLenshelp lenshelp = 31; - if (cached_has_bits & 0x00000100u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(31, _Internal::lenshelp(this), - _Internal::lenshelp(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool fullbank = 32; - if (cached_has_bits & 0x00000020u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(32, this->_internal_fullbank(), target); - } - - // optional bool ignore_look = 33; - if (cached_has_bits & 0x00000040u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(33, this->_internal_ignore_look(), target); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagClothes clothes = 34; - if (cached_has_bits & 0x00000200u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(34, _Internal::clothes(this), - _Internal::clothes(this).GetCachedSize(), target, stream); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagDefaultAction default_action = 35; - if (cached_has_bits & 0x00000400u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(35, _Internal::default_action(this), - _Internal::default_action(this).GetCachedSize(), target, stream); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagMarket market = 36; - if (cached_has_bits & 0x00000800u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(36, _Internal::market(this), - _Internal::market(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool wrap = 37; - if (cached_has_bits & 0x00000080u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(37, this->_internal_wrap(), target); - } - - // optional bool unwrap = 38; - if (cached_has_bits & 0x00000100u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(38, this->_internal_unwrap(), target); - } - - // optional bool topeffect = 39; - if (cached_has_bits & 0x00000200u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(39, this->_internal_topeffect(), target); - } - - // repeated .Canary.protobuf.appearances.AppearanceFlagNPC npcsaledata = 40; - for (unsigned i = 0, - n = static_cast(this->_internal_npcsaledata_size()); i < n; i++) { - const auto& repfield = this->_internal_npcsaledata(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(40, repfield, repfield.GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagChangedToExpire changedtoexpire = 41; - if (cached_has_bits & 0x00001000u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(41, _Internal::changedtoexpire(this), - _Internal::changedtoexpire(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool corpse = 42; - if (cached_has_bits & 0x00000400u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(42, this->_internal_corpse(), target); - } - - // optional bool player_corpse = 43; - if (cached_has_bits & 0x00000800u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(43, this->_internal_player_corpse(), target); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagCyclopedia cyclopediaitem = 44; - if (cached_has_bits & 0x00002000u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(44, _Internal::cyclopediaitem(this), - _Internal::cyclopediaitem(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool ammo = 45; - if (cached_has_bits & 0x00001000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(45, this->_internal_ammo(), target); - } - - // optional bool show_off_socket = 46; - if (cached_has_bits & 0x00002000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(46, this->_internal_show_off_socket(), target); - } - - // optional bool reportable = 47; - if (cached_has_bits & 0x00004000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(47, this->_internal_reportable(), target); - } - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.AppearanceFlagUpgradeClassification upgradeclassification = 48; - if (cached_has_bits & 0x00004000u) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(48, _Internal::upgradeclassification(this), - _Internal::upgradeclassification(this).GetCachedSize(), target, stream); - } - - cached_has_bits = _impl_._has_bits_[1]; - // optional bool reverse_addons_east = 49; - if (cached_has_bits & 0x00008000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(49, this->_internal_reverse_addons_east(), target); - } - - // optional bool reverse_addons_west = 50; - if (cached_has_bits & 0x00010000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(50, this->_internal_reverse_addons_west(), target); - } - - // optional bool reverse_addons_south = 51; - if (cached_has_bits & 0x00020000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(51, this->_internal_reverse_addons_south(), target); - } - - // optional bool reverse_addons_north = 52; - if (cached_has_bits & 0x00040000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(52, this->_internal_reverse_addons_north(), target); - } - - // optional bool wearout = 53; - if (cached_has_bits & 0x00080000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(53, this->_internal_wearout(), target); - } - - // optional bool clockexpire = 54; - if (cached_has_bits & 0x00100000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(54, this->_internal_clockexpire(), target); - } - - // optional bool expire = 55; - if (cached_has_bits & 0x00200000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(55, this->_internal_expire(), target); - } - - // optional bool expirestop = 56; - if (cached_has_bits & 0x00400000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(56, this->_internal_expirestop(), target); - } - - // optional bool wrapkit = 57; - if (cached_has_bits & 0x00800000u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(57, this->_internal_wrapkit(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlags) - return target; -} - -size_t AppearanceFlags::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlags) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .Canary.protobuf.appearances.AppearanceFlagNPC npcsaledata = 40; - total_size += 2UL * this->_internal_npcsaledata_size(); - for (const auto& msg : this->_impl_.npcsaledata_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x000000ffu) { - // optional .Canary.protobuf.appearances.AppearanceFlagBank bank = 1; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.bank_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagWrite write = 10; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.write_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagWriteOnce write_once = 11; - if (cached_has_bits & 0x00000004u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.write_once_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagHook hook = 21; - if (cached_has_bits & 0x00000008u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.hook_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagLight light = 23; - if (cached_has_bits & 0x00000010u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.light_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagShift shift = 26; - if (cached_has_bits & 0x00000020u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.shift_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagHeight height = 27; - if (cached_has_bits & 0x00000040u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.height_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagAutomap automap = 30; - if (cached_has_bits & 0x00000080u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.automap_); - } - - } - if (cached_has_bits & 0x0000ff00u) { - // optional .Canary.protobuf.appearances.AppearanceFlagLenshelp lenshelp = 31; - if (cached_has_bits & 0x00000100u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.lenshelp_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagClothes clothes = 34; - if (cached_has_bits & 0x00000200u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.clothes_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagDefaultAction default_action = 35; - if (cached_has_bits & 0x00000400u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.default_action_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagMarket market = 36; - if (cached_has_bits & 0x00000800u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.market_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagChangedToExpire changedtoexpire = 41; - if (cached_has_bits & 0x00001000u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.changedtoexpire_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagCyclopedia cyclopediaitem = 44; - if (cached_has_bits & 0x00002000u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.cyclopediaitem_); - } - - // optional .Canary.protobuf.appearances.AppearanceFlagUpgradeClassification upgradeclassification = 48; - if (cached_has_bits & 0x00004000u) { - total_size += 2 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.upgradeclassification_); - } - - // optional bool clip = 2; - if (cached_has_bits & 0x00008000u) { - total_size += 1 + 1; - } - - } - if (cached_has_bits & 0x00ff0000u) { - // optional bool bottom = 3; - if (cached_has_bits & 0x00010000u) { - total_size += 1 + 1; - } - - // optional bool top = 4; - if (cached_has_bits & 0x00020000u) { - total_size += 1 + 1; - } - - // optional bool container = 5; - if (cached_has_bits & 0x00040000u) { - total_size += 1 + 1; - } - - // optional bool cumulative = 6; - if (cached_has_bits & 0x00080000u) { - total_size += 1 + 1; - } - - // optional bool usable = 7; - if (cached_has_bits & 0x00100000u) { - total_size += 1 + 1; - } - - // optional bool forceuse = 8; - if (cached_has_bits & 0x00200000u) { - total_size += 1 + 1; - } - - // optional bool multiuse = 9; - if (cached_has_bits & 0x00400000u) { - total_size += 1 + 1; - } - - // optional bool liquidpool = 12; - if (cached_has_bits & 0x00800000u) { - total_size += 1 + 1; - } - - } - if (cached_has_bits & 0xff000000u) { - // optional bool unpass = 13; - if (cached_has_bits & 0x01000000u) { - total_size += 1 + 1; - } - - // optional bool unmove = 14; - if (cached_has_bits & 0x02000000u) { - total_size += 1 + 1; - } - - // optional bool unsight = 15; - if (cached_has_bits & 0x04000000u) { - total_size += 1 + 1; - } - - // optional bool avoid = 16; - if (cached_has_bits & 0x08000000u) { - total_size += 2 + 1; - } - - // optional bool no_movement_animation = 17; - if (cached_has_bits & 0x10000000u) { - total_size += 2 + 1; - } - - // optional bool take = 18; - if (cached_has_bits & 0x20000000u) { - total_size += 2 + 1; - } - - // optional bool liquidcontainer = 19; - if (cached_has_bits & 0x40000000u) { - total_size += 2 + 1; - } - - // optional bool hang = 20; - if (cached_has_bits & 0x80000000u) { - total_size += 2 + 1; - } - - } - cached_has_bits = _impl_._has_bits_[1]; - if (cached_has_bits & 0x000000ffu) { - // optional bool rotate = 22; - if (cached_has_bits & 0x00000001u) { - total_size += 2 + 1; - } - - // optional bool dont_hide = 24; - if (cached_has_bits & 0x00000002u) { - total_size += 2 + 1; - } - - // optional bool translucent = 25; - if (cached_has_bits & 0x00000004u) { - total_size += 2 + 1; - } - - // optional bool lying_object = 28; - if (cached_has_bits & 0x00000008u) { - total_size += 2 + 1; - } - - // optional bool animate_always = 29; - if (cached_has_bits & 0x00000010u) { - total_size += 2 + 1; - } - - // optional bool fullbank = 32; - if (cached_has_bits & 0x00000020u) { - total_size += 2 + 1; - } - - // optional bool ignore_look = 33; - if (cached_has_bits & 0x00000040u) { - total_size += 2 + 1; - } - - // optional bool wrap = 37; - if (cached_has_bits & 0x00000080u) { - total_size += 2 + 1; - } - - } - if (cached_has_bits & 0x0000ff00u) { - // optional bool unwrap = 38; - if (cached_has_bits & 0x00000100u) { - total_size += 2 + 1; - } - - // optional bool topeffect = 39; - if (cached_has_bits & 0x00000200u) { - total_size += 2 + 1; - } - - // optional bool corpse = 42; - if (cached_has_bits & 0x00000400u) { - total_size += 2 + 1; - } - - // optional bool player_corpse = 43; - if (cached_has_bits & 0x00000800u) { - total_size += 2 + 1; - } - - // optional bool ammo = 45; - if (cached_has_bits & 0x00001000u) { - total_size += 2 + 1; - } - - // optional bool show_off_socket = 46; - if (cached_has_bits & 0x00002000u) { - total_size += 2 + 1; - } - - // optional bool reportable = 47; - if (cached_has_bits & 0x00004000u) { - total_size += 2 + 1; - } - - // optional bool reverse_addons_east = 49; - if (cached_has_bits & 0x00008000u) { - total_size += 2 + 1; - } - - } - if (cached_has_bits & 0x00ff0000u) { - // optional bool reverse_addons_west = 50; - if (cached_has_bits & 0x00010000u) { - total_size += 2 + 1; - } - - // optional bool reverse_addons_south = 51; - if (cached_has_bits & 0x00020000u) { - total_size += 2 + 1; - } - - // optional bool reverse_addons_north = 52; - if (cached_has_bits & 0x00040000u) { - total_size += 2 + 1; - } - - // optional bool wearout = 53; - if (cached_has_bits & 0x00080000u) { - total_size += 2 + 1; - } - - // optional bool clockexpire = 54; - if (cached_has_bits & 0x00100000u) { - total_size += 2 + 1; - } - - // optional bool expire = 55; - if (cached_has_bits & 0x00200000u) { - total_size += 2 + 1; - } - - // optional bool expirestop = 56; - if (cached_has_bits & 0x00400000u) { - total_size += 2 + 1; - } - - // optional bool wrapkit = 57; - if (cached_has_bits & 0x00800000u) { - total_size += 2 + 1; - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlags::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlags::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlags::GetClassData() const { return &_class_data_; } - - -void AppearanceFlags::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlags) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.npcsaledata_.MergeFrom(from._impl_.npcsaledata_); - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x000000ffu) { - if (cached_has_bits & 0x00000001u) { - _this->_internal_mutable_bank()->::Canary::protobuf::appearances::AppearanceFlagBank::MergeFrom( - from._internal_bank()); - } - if (cached_has_bits & 0x00000002u) { - _this->_internal_mutable_write()->::Canary::protobuf::appearances::AppearanceFlagWrite::MergeFrom( - from._internal_write()); - } - if (cached_has_bits & 0x00000004u) { - _this->_internal_mutable_write_once()->::Canary::protobuf::appearances::AppearanceFlagWriteOnce::MergeFrom( - from._internal_write_once()); - } - if (cached_has_bits & 0x00000008u) { - _this->_internal_mutable_hook()->::Canary::protobuf::appearances::AppearanceFlagHook::MergeFrom( - from._internal_hook()); - } - if (cached_has_bits & 0x00000010u) { - _this->_internal_mutable_light()->::Canary::protobuf::appearances::AppearanceFlagLight::MergeFrom( - from._internal_light()); - } - if (cached_has_bits & 0x00000020u) { - _this->_internal_mutable_shift()->::Canary::protobuf::appearances::AppearanceFlagShift::MergeFrom( - from._internal_shift()); - } - if (cached_has_bits & 0x00000040u) { - _this->_internal_mutable_height()->::Canary::protobuf::appearances::AppearanceFlagHeight::MergeFrom( - from._internal_height()); - } - if (cached_has_bits & 0x00000080u) { - _this->_internal_mutable_automap()->::Canary::protobuf::appearances::AppearanceFlagAutomap::MergeFrom( - from._internal_automap()); - } - } - if (cached_has_bits & 0x0000ff00u) { - if (cached_has_bits & 0x00000100u) { - _this->_internal_mutable_lenshelp()->::Canary::protobuf::appearances::AppearanceFlagLenshelp::MergeFrom( - from._internal_lenshelp()); - } - if (cached_has_bits & 0x00000200u) { - _this->_internal_mutable_clothes()->::Canary::protobuf::appearances::AppearanceFlagClothes::MergeFrom( - from._internal_clothes()); - } - if (cached_has_bits & 0x00000400u) { - _this->_internal_mutable_default_action()->::Canary::protobuf::appearances::AppearanceFlagDefaultAction::MergeFrom( - from._internal_default_action()); - } - if (cached_has_bits & 0x00000800u) { - _this->_internal_mutable_market()->::Canary::protobuf::appearances::AppearanceFlagMarket::MergeFrom( - from._internal_market()); - } - if (cached_has_bits & 0x00001000u) { - _this->_internal_mutable_changedtoexpire()->::Canary::protobuf::appearances::AppearanceFlagChangedToExpire::MergeFrom( - from._internal_changedtoexpire()); - } - if (cached_has_bits & 0x00002000u) { - _this->_internal_mutable_cyclopediaitem()->::Canary::protobuf::appearances::AppearanceFlagCyclopedia::MergeFrom( - from._internal_cyclopediaitem()); - } - if (cached_has_bits & 0x00004000u) { - _this->_internal_mutable_upgradeclassification()->::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification::MergeFrom( - from._internal_upgradeclassification()); - } - if (cached_has_bits & 0x00008000u) { - _this->_impl_.clip_ = from._impl_.clip_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - if (cached_has_bits & 0x00ff0000u) { - if (cached_has_bits & 0x00010000u) { - _this->_impl_.bottom_ = from._impl_.bottom_; - } - if (cached_has_bits & 0x00020000u) { - _this->_impl_.top_ = from._impl_.top_; - } - if (cached_has_bits & 0x00040000u) { - _this->_impl_.container_ = from._impl_.container_; - } - if (cached_has_bits & 0x00080000u) { - _this->_impl_.cumulative_ = from._impl_.cumulative_; - } - if (cached_has_bits & 0x00100000u) { - _this->_impl_.usable_ = from._impl_.usable_; - } - if (cached_has_bits & 0x00200000u) { - _this->_impl_.forceuse_ = from._impl_.forceuse_; - } - if (cached_has_bits & 0x00400000u) { - _this->_impl_.multiuse_ = from._impl_.multiuse_; - } - if (cached_has_bits & 0x00800000u) { - _this->_impl_.liquidpool_ = from._impl_.liquidpool_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - if (cached_has_bits & 0xff000000u) { - if (cached_has_bits & 0x01000000u) { - _this->_impl_.unpass_ = from._impl_.unpass_; - } - if (cached_has_bits & 0x02000000u) { - _this->_impl_.unmove_ = from._impl_.unmove_; - } - if (cached_has_bits & 0x04000000u) { - _this->_impl_.unsight_ = from._impl_.unsight_; - } - if (cached_has_bits & 0x08000000u) { - _this->_impl_.avoid_ = from._impl_.avoid_; - } - if (cached_has_bits & 0x10000000u) { - _this->_impl_.no_movement_animation_ = from._impl_.no_movement_animation_; - } - if (cached_has_bits & 0x20000000u) { - _this->_impl_.take_ = from._impl_.take_; - } - if (cached_has_bits & 0x40000000u) { - _this->_impl_.liquidcontainer_ = from._impl_.liquidcontainer_; - } - if (cached_has_bits & 0x80000000u) { - _this->_impl_.hang_ = from._impl_.hang_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - cached_has_bits = from._impl_._has_bits_[1]; - if (cached_has_bits & 0x000000ffu) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.rotate_ = from._impl_.rotate_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.dont_hide_ = from._impl_.dont_hide_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.translucent_ = from._impl_.translucent_; - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.lying_object_ = from._impl_.lying_object_; - } - if (cached_has_bits & 0x00000010u) { - _this->_impl_.animate_always_ = from._impl_.animate_always_; - } - if (cached_has_bits & 0x00000020u) { - _this->_impl_.fullbank_ = from._impl_.fullbank_; - } - if (cached_has_bits & 0x00000040u) { - _this->_impl_.ignore_look_ = from._impl_.ignore_look_; - } - if (cached_has_bits & 0x00000080u) { - _this->_impl_.wrap_ = from._impl_.wrap_; - } - _this->_impl_._has_bits_[1] |= cached_has_bits; - } - if (cached_has_bits & 0x0000ff00u) { - if (cached_has_bits & 0x00000100u) { - _this->_impl_.unwrap_ = from._impl_.unwrap_; - } - if (cached_has_bits & 0x00000200u) { - _this->_impl_.topeffect_ = from._impl_.topeffect_; - } - if (cached_has_bits & 0x00000400u) { - _this->_impl_.corpse_ = from._impl_.corpse_; - } - if (cached_has_bits & 0x00000800u) { - _this->_impl_.player_corpse_ = from._impl_.player_corpse_; - } - if (cached_has_bits & 0x00001000u) { - _this->_impl_.ammo_ = from._impl_.ammo_; - } - if (cached_has_bits & 0x00002000u) { - _this->_impl_.show_off_socket_ = from._impl_.show_off_socket_; - } - if (cached_has_bits & 0x00004000u) { - _this->_impl_.reportable_ = from._impl_.reportable_; - } - if (cached_has_bits & 0x00008000u) { - _this->_impl_.reverse_addons_east_ = from._impl_.reverse_addons_east_; - } - _this->_impl_._has_bits_[1] |= cached_has_bits; - } - if (cached_has_bits & 0x00ff0000u) { - if (cached_has_bits & 0x00010000u) { - _this->_impl_.reverse_addons_west_ = from._impl_.reverse_addons_west_; - } - if (cached_has_bits & 0x00020000u) { - _this->_impl_.reverse_addons_south_ = from._impl_.reverse_addons_south_; - } - if (cached_has_bits & 0x00040000u) { - _this->_impl_.reverse_addons_north_ = from._impl_.reverse_addons_north_; - } - if (cached_has_bits & 0x00080000u) { - _this->_impl_.wearout_ = from._impl_.wearout_; - } - if (cached_has_bits & 0x00100000u) { - _this->_impl_.clockexpire_ = from._impl_.clockexpire_; - } - if (cached_has_bits & 0x00200000u) { - _this->_impl_.expire_ = from._impl_.expire_; - } - if (cached_has_bits & 0x00400000u) { - _this->_impl_.expirestop_ = from._impl_.expirestop_; - } - if (cached_has_bits & 0x00800000u) { - _this->_impl_.wrapkit_ = from._impl_.wrapkit_; - } - _this->_impl_._has_bits_[1] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlags::CopyFrom(const AppearanceFlags& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlags) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlags::IsInitialized() const { - return true; -} - -void AppearanceFlags::InternalSwap(AppearanceFlags* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_._has_bits_[1], other->_impl_._has_bits_[1]); - _impl_.npcsaledata_.InternalSwap(&other->_impl_.npcsaledata_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(AppearanceFlags, _impl_.wrapkit_) - + sizeof(AppearanceFlags::_impl_.wrapkit_) - - PROTOBUF_FIELD_OFFSET(AppearanceFlags, _impl_.bank_)>( - reinterpret_cast(&_impl_.bank_), - reinterpret_cast(&other->_impl_.bank_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlags::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[8]); -} - -// =================================================================== - -class AppearanceFlagUpgradeClassification::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_upgrade_classification(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagUpgradeClassification::AppearanceFlagUpgradeClassification(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) -} -AppearanceFlagUpgradeClassification::AppearanceFlagUpgradeClassification(const AppearanceFlagUpgradeClassification& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagUpgradeClassification* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.upgrade_classification_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.upgrade_classification_ = from._impl_.upgrade_classification_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) -} - -inline void AppearanceFlagUpgradeClassification::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.upgrade_classification_){0u} - }; -} - -AppearanceFlagUpgradeClassification::~AppearanceFlagUpgradeClassification() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagUpgradeClassification::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagUpgradeClassification::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagUpgradeClassification::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.upgrade_classification_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagUpgradeClassification::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 upgrade_classification = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_upgrade_classification(&has_bits); - _impl_.upgrade_classification_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagUpgradeClassification::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 upgrade_classification = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_upgrade_classification(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - return target; -} - -size_t AppearanceFlagUpgradeClassification::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 upgrade_classification = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_upgrade_classification()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagUpgradeClassification::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagUpgradeClassification::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagUpgradeClassification::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagUpgradeClassification::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_upgrade_classification()) { - _this->_internal_set_upgrade_classification(from._internal_upgrade_classification()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagUpgradeClassification::CopyFrom(const AppearanceFlagUpgradeClassification& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagUpgradeClassification::IsInitialized() const { - return true; -} - -void AppearanceFlagUpgradeClassification::InternalSwap(AppearanceFlagUpgradeClassification* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.upgrade_classification_, other->_impl_.upgrade_classification_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagUpgradeClassification::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[9]); -} - -// =================================================================== - -class AppearanceFlagBank::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_waypoints(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagBank::AppearanceFlagBank(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagBank) -} -AppearanceFlagBank::AppearanceFlagBank(const AppearanceFlagBank& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagBank* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.waypoints_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.waypoints_ = from._impl_.waypoints_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagBank) -} - -inline void AppearanceFlagBank::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.waypoints_){0u} - }; -} - -AppearanceFlagBank::~AppearanceFlagBank() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagBank) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagBank::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagBank::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagBank::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagBank) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.waypoints_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagBank::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 waypoints = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_waypoints(&has_bits); - _impl_.waypoints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagBank::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagBank) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 waypoints = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_waypoints(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagBank) - return target; -} - -size_t AppearanceFlagBank::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagBank) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 waypoints = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_waypoints()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagBank::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagBank::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagBank::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagBank::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagBank) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_waypoints()) { - _this->_internal_set_waypoints(from._internal_waypoints()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagBank::CopyFrom(const AppearanceFlagBank& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagBank) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagBank::IsInitialized() const { - return true; -} - -void AppearanceFlagBank::InternalSwap(AppearanceFlagBank* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.waypoints_, other->_impl_.waypoints_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagBank::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[10]); -} - -// =================================================================== - -class AppearanceFlagWrite::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_max_text_length(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagWrite::AppearanceFlagWrite(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagWrite) -} -AppearanceFlagWrite::AppearanceFlagWrite(const AppearanceFlagWrite& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagWrite* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.max_text_length_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.max_text_length_ = from._impl_.max_text_length_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagWrite) -} - -inline void AppearanceFlagWrite::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.max_text_length_){0u} - }; -} - -AppearanceFlagWrite::~AppearanceFlagWrite() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagWrite) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagWrite::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagWrite::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagWrite::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagWrite) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.max_text_length_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagWrite::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 max_text_length = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_max_text_length(&has_bits); - _impl_.max_text_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagWrite::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagWrite) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 max_text_length = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_max_text_length(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagWrite) - return target; -} - -size_t AppearanceFlagWrite::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagWrite) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 max_text_length = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_max_text_length()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagWrite::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagWrite::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagWrite::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagWrite::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagWrite) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_max_text_length()) { - _this->_internal_set_max_text_length(from._internal_max_text_length()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagWrite::CopyFrom(const AppearanceFlagWrite& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagWrite) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagWrite::IsInitialized() const { - return true; -} - -void AppearanceFlagWrite::InternalSwap(AppearanceFlagWrite* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.max_text_length_, other->_impl_.max_text_length_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagWrite::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[11]); -} - -// =================================================================== - -class AppearanceFlagWriteOnce::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_max_text_length_once(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagWriteOnce::AppearanceFlagWriteOnce(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagWriteOnce) -} -AppearanceFlagWriteOnce::AppearanceFlagWriteOnce(const AppearanceFlagWriteOnce& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagWriteOnce* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.max_text_length_once_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.max_text_length_once_ = from._impl_.max_text_length_once_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagWriteOnce) -} - -inline void AppearanceFlagWriteOnce::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.max_text_length_once_){0u} - }; -} - -AppearanceFlagWriteOnce::~AppearanceFlagWriteOnce() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagWriteOnce::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagWriteOnce::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagWriteOnce::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.max_text_length_once_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagWriteOnce::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 max_text_length_once = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_max_text_length_once(&has_bits); - _impl_.max_text_length_once_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagWriteOnce::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 max_text_length_once = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_max_text_length_once(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - return target; -} - -size_t AppearanceFlagWriteOnce::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 max_text_length_once = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_max_text_length_once()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagWriteOnce::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagWriteOnce::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagWriteOnce::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagWriteOnce::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_max_text_length_once()) { - _this->_internal_set_max_text_length_once(from._internal_max_text_length_once()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagWriteOnce::CopyFrom(const AppearanceFlagWriteOnce& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagWriteOnce::IsInitialized() const { - return true; -} - -void AppearanceFlagWriteOnce::InternalSwap(AppearanceFlagWriteOnce* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.max_text_length_once_, other->_impl_.max_text_length_once_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagWriteOnce::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[12]); -} - -// =================================================================== - -class AppearanceFlagLight::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_brightness(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_color(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } -}; - -AppearanceFlagLight::AppearanceFlagLight(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagLight) -} -AppearanceFlagLight::AppearanceFlagLight(const AppearanceFlagLight& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagLight* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.brightness_){} - , decltype(_impl_.color_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.brightness_, &from._impl_.brightness_, - static_cast(reinterpret_cast(&_impl_.color_) - - reinterpret_cast(&_impl_.brightness_)) + sizeof(_impl_.color_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagLight) -} - -inline void AppearanceFlagLight::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.brightness_){0u} - , decltype(_impl_.color_){0u} - }; -} - -AppearanceFlagLight::~AppearanceFlagLight() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagLight) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagLight::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagLight::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagLight::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagLight) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - ::memset(&_impl_.brightness_, 0, static_cast( - reinterpret_cast(&_impl_.color_) - - reinterpret_cast(&_impl_.brightness_)) + sizeof(_impl_.color_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagLight::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 brightness = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_brightness(&has_bits); - _impl_.brightness_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 color = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_color(&has_bits); - _impl_.color_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagLight::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagLight) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 brightness = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_brightness(), target); - } - - // optional uint32 color = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_color(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagLight) - return target; -} - -size_t AppearanceFlagLight::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagLight) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - // optional uint32 brightness = 1; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_brightness()); - } - - // optional uint32 color = 2; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_color()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagLight::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagLight::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagLight::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagLight::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagLight) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.brightness_ = from._impl_.brightness_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.color_ = from._impl_.color_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagLight::CopyFrom(const AppearanceFlagLight& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagLight) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagLight::IsInitialized() const { - return true; -} - -void AppearanceFlagLight::InternalSwap(AppearanceFlagLight* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(AppearanceFlagLight, _impl_.color_) - + sizeof(AppearanceFlagLight::_impl_.color_) - - PROTOBUF_FIELD_OFFSET(AppearanceFlagLight, _impl_.brightness_)>( - reinterpret_cast(&_impl_.brightness_), - reinterpret_cast(&other->_impl_.brightness_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagLight::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[13]); -} - -// =================================================================== - -class AppearanceFlagHeight::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_elevation(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagHeight::AppearanceFlagHeight(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagHeight) -} -AppearanceFlagHeight::AppearanceFlagHeight(const AppearanceFlagHeight& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagHeight* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.elevation_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.elevation_ = from._impl_.elevation_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagHeight) -} - -inline void AppearanceFlagHeight::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.elevation_){0u} - }; -} - -AppearanceFlagHeight::~AppearanceFlagHeight() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagHeight) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagHeight::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagHeight::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagHeight::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagHeight) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.elevation_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagHeight::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 elevation = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_elevation(&has_bits); - _impl_.elevation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagHeight::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagHeight) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 elevation = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_elevation(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagHeight) - return target; -} - -size_t AppearanceFlagHeight::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagHeight) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 elevation = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_elevation()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagHeight::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagHeight::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagHeight::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagHeight::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagHeight) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_elevation()) { - _this->_internal_set_elevation(from._internal_elevation()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagHeight::CopyFrom(const AppearanceFlagHeight& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagHeight) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagHeight::IsInitialized() const { - return true; -} - -void AppearanceFlagHeight::InternalSwap(AppearanceFlagHeight* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.elevation_, other->_impl_.elevation_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagHeight::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[14]); -} - -// =================================================================== - -class AppearanceFlagShift::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_x(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_y(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } -}; - -AppearanceFlagShift::AppearanceFlagShift(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagShift) -} -AppearanceFlagShift::AppearanceFlagShift(const AppearanceFlagShift& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagShift* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.x_){} - , decltype(_impl_.y_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.x_, &from._impl_.x_, - static_cast(reinterpret_cast(&_impl_.y_) - - reinterpret_cast(&_impl_.x_)) + sizeof(_impl_.y_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagShift) -} - -inline void AppearanceFlagShift::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.x_){0u} - , decltype(_impl_.y_){0u} - }; -} - -AppearanceFlagShift::~AppearanceFlagShift() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagShift) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagShift::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagShift::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagShift::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagShift) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - ::memset(&_impl_.x_, 0, static_cast( - reinterpret_cast(&_impl_.y_) - - reinterpret_cast(&_impl_.x_)) + sizeof(_impl_.y_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagShift::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 x = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_x(&has_bits); - _impl_.x_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 y = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_y(&has_bits); - _impl_.y_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagShift::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagShift) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 x = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_x(), target); - } - - // optional uint32 y = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_y(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagShift) - return target; -} - -size_t AppearanceFlagShift::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagShift) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - // optional uint32 x = 1; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_x()); - } - - // optional uint32 y = 2; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_y()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagShift::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagShift::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagShift::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagShift::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagShift) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.x_ = from._impl_.x_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.y_ = from._impl_.y_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagShift::CopyFrom(const AppearanceFlagShift& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagShift) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagShift::IsInitialized() const { - return true; -} - -void AppearanceFlagShift::InternalSwap(AppearanceFlagShift* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(AppearanceFlagShift, _impl_.y_) - + sizeof(AppearanceFlagShift::_impl_.y_) - - PROTOBUF_FIELD_OFFSET(AppearanceFlagShift, _impl_.x_)>( - reinterpret_cast(&_impl_.x_), - reinterpret_cast(&other->_impl_.x_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagShift::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[15]); -} - -// =================================================================== - -class AppearanceFlagClothes::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_slot(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagClothes::AppearanceFlagClothes(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagClothes) -} -AppearanceFlagClothes::AppearanceFlagClothes(const AppearanceFlagClothes& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagClothes* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.slot_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.slot_ = from._impl_.slot_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagClothes) -} - -inline void AppearanceFlagClothes::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.slot_){0u} - }; -} - -AppearanceFlagClothes::~AppearanceFlagClothes() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagClothes) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagClothes::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagClothes::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagClothes::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagClothes) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.slot_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagClothes::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 slot = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_slot(&has_bits); - _impl_.slot_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagClothes::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagClothes) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 slot = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_slot(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagClothes) - return target; -} - -size_t AppearanceFlagClothes::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagClothes) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 slot = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_slot()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagClothes::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagClothes::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagClothes::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagClothes::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagClothes) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_slot()) { - _this->_internal_set_slot(from._internal_slot()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagClothes::CopyFrom(const AppearanceFlagClothes& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagClothes) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagClothes::IsInitialized() const { - return true; -} - -void AppearanceFlagClothes::InternalSwap(AppearanceFlagClothes* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.slot_, other->_impl_.slot_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagClothes::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[16]); -} - -// =================================================================== - -class AppearanceFlagDefaultAction::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_action(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagDefaultAction::AppearanceFlagDefaultAction(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagDefaultAction) -} -AppearanceFlagDefaultAction::AppearanceFlagDefaultAction(const AppearanceFlagDefaultAction& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagDefaultAction* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.action_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.action_ = from._impl_.action_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagDefaultAction) -} - -inline void AppearanceFlagDefaultAction::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.action_){0} - }; -} - -AppearanceFlagDefaultAction::~AppearanceFlagDefaultAction() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagDefaultAction::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagDefaultAction::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagDefaultAction::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.action_ = 0; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagDefaultAction::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional .Canary.protobuf.appearances.PLAYER_ACTION action = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - if (PROTOBUF_PREDICT_TRUE(::Canary::protobuf::appearances::PLAYER_ACTION_IsValid(val))) { - _internal_set_action(static_cast<::Canary::protobuf::appearances::PLAYER_ACTION>(val)); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields()); - } - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagDefaultAction::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.PLAYER_ACTION action = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 1, this->_internal_action(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - return target; -} - -size_t AppearanceFlagDefaultAction::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional .Canary.protobuf.appearances.PLAYER_ACTION action = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_action()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagDefaultAction::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagDefaultAction::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagDefaultAction::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagDefaultAction::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_action()) { - _this->_internal_set_action(from._internal_action()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagDefaultAction::CopyFrom(const AppearanceFlagDefaultAction& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagDefaultAction::IsInitialized() const { - return true; -} - -void AppearanceFlagDefaultAction::InternalSwap(AppearanceFlagDefaultAction* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.action_, other->_impl_.action_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagDefaultAction::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[17]); -} - -// =================================================================== - -class AppearanceFlagMarket::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_category(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } - static void set_has_trade_as_object_id(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_show_as_object_id(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_minimum_level(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } -}; - -AppearanceFlagMarket::AppearanceFlagMarket(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagMarket) -} -AppearanceFlagMarket::AppearanceFlagMarket(const AppearanceFlagMarket& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagMarket* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.restrict_to_profession_){from._impl_.restrict_to_profession_} - , decltype(_impl_.trade_as_object_id_){} - , decltype(_impl_.show_as_object_id_){} - , decltype(_impl_.minimum_level_){} - , decltype(_impl_.category_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.trade_as_object_id_, &from._impl_.trade_as_object_id_, - static_cast(reinterpret_cast(&_impl_.category_) - - reinterpret_cast(&_impl_.trade_as_object_id_)) + sizeof(_impl_.category_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagMarket) -} - -inline void AppearanceFlagMarket::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.restrict_to_profession_){arena} - , decltype(_impl_.trade_as_object_id_){0u} - , decltype(_impl_.show_as_object_id_){0u} - , decltype(_impl_.minimum_level_){0u} - , decltype(_impl_.category_){1} - }; -} - -AppearanceFlagMarket::~AppearanceFlagMarket() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagMarket) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagMarket::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.restrict_to_profession_.~RepeatedField(); -} - -void AppearanceFlagMarket::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagMarket::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagMarket) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.restrict_to_profession_.Clear(); - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - ::memset(&_impl_.trade_as_object_id_, 0, static_cast( - reinterpret_cast(&_impl_.minimum_level_) - - reinterpret_cast(&_impl_.trade_as_object_id_)) + sizeof(_impl_.minimum_level_)); - _impl_.category_ = 1; - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagMarket::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional .Canary.protobuf.appearances.ITEM_CATEGORY category = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - if (PROTOBUF_PREDICT_TRUE(::Canary::protobuf::appearances::ITEM_CATEGORY_IsValid(val))) { - _internal_set_category(static_cast<::Canary::protobuf::appearances::ITEM_CATEGORY>(val)); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields()); - } - } else - goto handle_unusual; - continue; - // optional uint32 trade_as_object_id = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_trade_as_object_id(&has_bits); - _impl_.trade_as_object_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 show_as_object_id = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_show_as_object_id(&has_bits); - _impl_.show_as_object_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // repeated .Canary.protobuf.appearances.PLAYER_PROFESSION restrict_to_profession = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - ptr -= 1; - do { - ptr += 1; - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - if (PROTOBUF_PREDICT_TRUE(::Canary::protobuf::appearances::PLAYER_PROFESSION_IsValid(val))) { - _internal_add_restrict_to_profession(static_cast<::Canary::protobuf::appearances::PLAYER_PROFESSION>(val)); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(5, val, mutable_unknown_fields()); - } - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<40>(ptr)); - } else if (static_cast(tag) == 42) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_restrict_to_profession(), ptr, ctx, ::Canary::protobuf::appearances::PLAYER_PROFESSION_IsValid, &_internal_metadata_, 5); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 minimum_level = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - _Internal::set_has_minimum_level(&has_bits); - _impl_.minimum_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagMarket::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagMarket) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.ITEM_CATEGORY category = 1; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 1, this->_internal_category(), target); - } - - // optional uint32 trade_as_object_id = 2; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_trade_as_object_id(), target); - } - - // optional uint32 show_as_object_id = 3; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_show_as_object_id(), target); - } - - // repeated .Canary.protobuf.appearances.PLAYER_PROFESSION restrict_to_profession = 5; - for (int i = 0, n = this->_internal_restrict_to_profession_size(); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 5, this->_internal_restrict_to_profession(i), target); - } - - // optional uint32 minimum_level = 6; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_minimum_level(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagMarket) - return target; -} - -size_t AppearanceFlagMarket::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagMarket) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .Canary.protobuf.appearances.PLAYER_PROFESSION restrict_to_profession = 5; - { - size_t data_size = 0; - unsigned int count = static_cast(this->_internal_restrict_to_profession_size());for (unsigned int i = 0; i < count; i++) { - data_size += ::_pbi::WireFormatLite::EnumSize( - this->_internal_restrict_to_profession(static_cast(i))); - } - total_size += (1UL * count) + data_size; - } - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - // optional uint32 trade_as_object_id = 2; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_trade_as_object_id()); - } - - // optional uint32 show_as_object_id = 3; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_show_as_object_id()); - } - - // optional uint32 minimum_level = 6; - if (cached_has_bits & 0x00000004u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_minimum_level()); - } - - // optional .Canary.protobuf.appearances.ITEM_CATEGORY category = 1; - if (cached_has_bits & 0x00000008u) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_category()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagMarket::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagMarket::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagMarket::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagMarket::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagMarket) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.restrict_to_profession_.MergeFrom(from._impl_.restrict_to_profession_); - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000000fu) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.trade_as_object_id_ = from._impl_.trade_as_object_id_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.show_as_object_id_ = from._impl_.show_as_object_id_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.minimum_level_ = from._impl_.minimum_level_; - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.category_ = from._impl_.category_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagMarket::CopyFrom(const AppearanceFlagMarket& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagMarket) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagMarket::IsInitialized() const { - return true; -} - -void AppearanceFlagMarket::InternalSwap(AppearanceFlagMarket* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - _impl_.restrict_to_profession_.InternalSwap(&other->_impl_.restrict_to_profession_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(AppearanceFlagMarket, _impl_.minimum_level_) - + sizeof(AppearanceFlagMarket::_impl_.minimum_level_) - - PROTOBUF_FIELD_OFFSET(AppearanceFlagMarket, _impl_.trade_as_object_id_)>( - reinterpret_cast(&_impl_.trade_as_object_id_), - reinterpret_cast(&other->_impl_.trade_as_object_id_)); - swap(_impl_.category_, other->_impl_.category_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagMarket::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[18]); -} - -// =================================================================== - -class AppearanceFlagNPC::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_name(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_location(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_sale_price(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } - static void set_has_buy_price(HasBits* has_bits) { - (*has_bits)[0] |= 16u; - } - static void set_has_currency_object_type_id(HasBits* has_bits) { - (*has_bits)[0] |= 32u; - } - static void set_has_currency_quest_flag_display_name(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } -}; - -AppearanceFlagNPC::AppearanceFlagNPC(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagNPC) -} -AppearanceFlagNPC::AppearanceFlagNPC(const AppearanceFlagNPC& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagNPC* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.name_){} - , decltype(_impl_.location_){} - , decltype(_impl_.currency_quest_flag_display_name_){} - , decltype(_impl_.sale_price_){} - , decltype(_impl_.buy_price_){} - , decltype(_impl_.currency_object_type_id_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (from._internal_has_name()) { - _this->_impl_.name_.Set(from._internal_name(), - _this->GetArenaForAllocation()); - } - _impl_.location_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.location_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (from._internal_has_location()) { - _this->_impl_.location_.Set(from._internal_location(), - _this->GetArenaForAllocation()); - } - _impl_.currency_quest_flag_display_name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.currency_quest_flag_display_name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (from._internal_has_currency_quest_flag_display_name()) { - _this->_impl_.currency_quest_flag_display_name_.Set(from._internal_currency_quest_flag_display_name(), - _this->GetArenaForAllocation()); - } - ::memcpy(&_impl_.sale_price_, &from._impl_.sale_price_, - static_cast(reinterpret_cast(&_impl_.currency_object_type_id_) - - reinterpret_cast(&_impl_.sale_price_)) + sizeof(_impl_.currency_object_type_id_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagNPC) -} - -inline void AppearanceFlagNPC::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.name_){} - , decltype(_impl_.location_){} - , decltype(_impl_.currency_quest_flag_display_name_){} - , decltype(_impl_.sale_price_){0u} - , decltype(_impl_.buy_price_){0u} - , decltype(_impl_.currency_object_type_id_){0u} - }; - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.location_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.location_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.currency_quest_flag_display_name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.currency_quest_flag_display_name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -} - -AppearanceFlagNPC::~AppearanceFlagNPC() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagNPC) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagNPC::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.name_.Destroy(); - _impl_.location_.Destroy(); - _impl_.currency_quest_flag_display_name_.Destroy(); -} - -void AppearanceFlagNPC::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagNPC::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagNPC) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000002u) { - _impl_.location_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000004u) { - _impl_.currency_quest_flag_display_name_.ClearNonDefaultToEmpty(); - } - } - if (cached_has_bits & 0x00000038u) { - ::memset(&_impl_.sale_price_, 0, static_cast( - reinterpret_cast(&_impl_.currency_object_type_id_) - - reinterpret_cast(&_impl_.sale_price_)) + sizeof(_impl_.currency_object_type_id_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagNPC::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional bytes name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_name(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bytes location = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - auto str = _internal_mutable_location(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 sale_price = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_sale_price(&has_bits); - _impl_.sale_price_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 buy_price = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - _Internal::set_has_buy_price(&has_bits); - _impl_.buy_price_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 currency_object_type_id = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - _Internal::set_has_currency_object_type_id(&has_bits); - _impl_.currency_object_type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional bytes currency_quest_flag_display_name = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { - auto str = _internal_mutable_currency_quest_flag_display_name(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagNPC::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagNPC) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional bytes name = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->WriteBytesMaybeAliased( - 1, this->_internal_name(), target); - } - - // optional bytes location = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->WriteBytesMaybeAliased( - 2, this->_internal_location(), target); - } - - // optional uint32 sale_price = 3; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_sale_price(), target); - } - - // optional uint32 buy_price = 4; - if (cached_has_bits & 0x00000010u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_buy_price(), target); - } - - // optional uint32 currency_object_type_id = 5; - if (cached_has_bits & 0x00000020u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_currency_object_type_id(), target); - } - - // optional bytes currency_quest_flag_display_name = 6; - if (cached_has_bits & 0x00000004u) { - target = stream->WriteBytesMaybeAliased( - 6, this->_internal_currency_quest_flag_display_name(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagNPC) - return target; -} - -size_t AppearanceFlagNPC::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagNPC) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000003fu) { - // optional bytes name = 1; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - this->_internal_name()); - } - - // optional bytes location = 2; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - this->_internal_location()); - } - - // optional bytes currency_quest_flag_display_name = 6; - if (cached_has_bits & 0x00000004u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - this->_internal_currency_quest_flag_display_name()); - } - - // optional uint32 sale_price = 3; - if (cached_has_bits & 0x00000008u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_sale_price()); - } - - // optional uint32 buy_price = 4; - if (cached_has_bits & 0x00000010u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_buy_price()); - } - - // optional uint32 currency_object_type_id = 5; - if (cached_has_bits & 0x00000020u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_currency_object_type_id()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagNPC::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagNPC::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagNPC::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagNPC::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagNPC) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000003fu) { - if (cached_has_bits & 0x00000001u) { - _this->_internal_set_name(from._internal_name()); - } - if (cached_has_bits & 0x00000002u) { - _this->_internal_set_location(from._internal_location()); - } - if (cached_has_bits & 0x00000004u) { - _this->_internal_set_currency_quest_flag_display_name(from._internal_currency_quest_flag_display_name()); - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.sale_price_ = from._impl_.sale_price_; - } - if (cached_has_bits & 0x00000010u) { - _this->_impl_.buy_price_ = from._impl_.buy_price_; - } - if (cached_has_bits & 0x00000020u) { - _this->_impl_.currency_object_type_id_ = from._impl_.currency_object_type_id_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagNPC::CopyFrom(const AppearanceFlagNPC& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagNPC) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagNPC::IsInitialized() const { - return true; -} - -void AppearanceFlagNPC::InternalSwap(AppearanceFlagNPC* other) { - using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.name_, lhs_arena, - &other->_impl_.name_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.location_, lhs_arena, - &other->_impl_.location_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.currency_quest_flag_display_name_, lhs_arena, - &other->_impl_.currency_quest_flag_display_name_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(AppearanceFlagNPC, _impl_.currency_object_type_id_) - + sizeof(AppearanceFlagNPC::_impl_.currency_object_type_id_) - - PROTOBUF_FIELD_OFFSET(AppearanceFlagNPC, _impl_.sale_price_)>( - reinterpret_cast(&_impl_.sale_price_), - reinterpret_cast(&other->_impl_.sale_price_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagNPC::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[19]); -} - -// =================================================================== - -class AppearanceFlagAutomap::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_color(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagAutomap::AppearanceFlagAutomap(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagAutomap) -} -AppearanceFlagAutomap::AppearanceFlagAutomap(const AppearanceFlagAutomap& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagAutomap* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.color_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.color_ = from._impl_.color_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagAutomap) -} - -inline void AppearanceFlagAutomap::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.color_){0u} - }; -} - -AppearanceFlagAutomap::~AppearanceFlagAutomap() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagAutomap) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagAutomap::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagAutomap::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagAutomap::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagAutomap) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.color_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagAutomap::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 color = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_color(&has_bits); - _impl_.color_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagAutomap::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagAutomap) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 color = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_color(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagAutomap) - return target; -} - -size_t AppearanceFlagAutomap::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagAutomap) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 color = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_color()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagAutomap::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagAutomap::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagAutomap::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagAutomap::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagAutomap) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_color()) { - _this->_internal_set_color(from._internal_color()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagAutomap::CopyFrom(const AppearanceFlagAutomap& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagAutomap) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagAutomap::IsInitialized() const { - return true; -} - -void AppearanceFlagAutomap::InternalSwap(AppearanceFlagAutomap* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.color_, other->_impl_.color_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagAutomap::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[20]); -} - -// =================================================================== - -class AppearanceFlagHook::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_direction(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagHook::AppearanceFlagHook(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagHook) -} -AppearanceFlagHook::AppearanceFlagHook(const AppearanceFlagHook& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagHook* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.direction_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.direction_ = from._impl_.direction_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagHook) -} - -inline void AppearanceFlagHook::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.direction_){1} - }; -} - -AppearanceFlagHook::~AppearanceFlagHook() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagHook) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagHook::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagHook::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagHook::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagHook) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.direction_ = 1; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagHook::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional .Canary.protobuf.appearances.HOOK_TYPE direction = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - if (PROTOBUF_PREDICT_TRUE(::Canary::protobuf::appearances::HOOK_TYPE_IsValid(val))) { - _internal_set_direction(static_cast<::Canary::protobuf::appearances::HOOK_TYPE>(val)); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields()); - } - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagHook::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagHook) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional .Canary.protobuf.appearances.HOOK_TYPE direction = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 1, this->_internal_direction(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagHook) - return target; -} - -size_t AppearanceFlagHook::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagHook) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional .Canary.protobuf.appearances.HOOK_TYPE direction = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_direction()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagHook::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagHook::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagHook::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagHook::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagHook) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_direction()) { - _this->_internal_set_direction(from._internal_direction()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagHook::CopyFrom(const AppearanceFlagHook& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagHook) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagHook::IsInitialized() const { - return true; -} - -void AppearanceFlagHook::InternalSwap(AppearanceFlagHook* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.direction_, other->_impl_.direction_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagHook::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[21]); -} - -// =================================================================== - -class AppearanceFlagLenshelp::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_id(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagLenshelp::AppearanceFlagLenshelp(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagLenshelp) -} -AppearanceFlagLenshelp::AppearanceFlagLenshelp(const AppearanceFlagLenshelp& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagLenshelp* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.id_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.id_ = from._impl_.id_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagLenshelp) -} - -inline void AppearanceFlagLenshelp::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.id_){0u} - }; -} - -AppearanceFlagLenshelp::~AppearanceFlagLenshelp() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagLenshelp) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagLenshelp::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagLenshelp::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagLenshelp::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagLenshelp) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.id_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagLenshelp::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 id = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_id(&has_bits); - _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagLenshelp::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagLenshelp) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 id = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_id(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagLenshelp) - return target; -} - -size_t AppearanceFlagLenshelp::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagLenshelp) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 id = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_id()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagLenshelp::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagLenshelp::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagLenshelp::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagLenshelp::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagLenshelp) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_id()) { - _this->_internal_set_id(from._internal_id()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagLenshelp::CopyFrom(const AppearanceFlagLenshelp& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagLenshelp) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagLenshelp::IsInitialized() const { - return true; -} - -void AppearanceFlagLenshelp::InternalSwap(AppearanceFlagLenshelp* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.id_, other->_impl_.id_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagLenshelp::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[22]); -} - -// =================================================================== - -class AppearanceFlagChangedToExpire::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_former_object_typeid(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagChangedToExpire::AppearanceFlagChangedToExpire(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) -} -AppearanceFlagChangedToExpire::AppearanceFlagChangedToExpire(const AppearanceFlagChangedToExpire& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagChangedToExpire* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.former_object_typeid_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.former_object_typeid_ = from._impl_.former_object_typeid_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) -} - -inline void AppearanceFlagChangedToExpire::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.former_object_typeid_){0u} - }; -} - -AppearanceFlagChangedToExpire::~AppearanceFlagChangedToExpire() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagChangedToExpire::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagChangedToExpire::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagChangedToExpire::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.former_object_typeid_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagChangedToExpire::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 former_object_typeid = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_former_object_typeid(&has_bits); - _impl_.former_object_typeid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagChangedToExpire::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 former_object_typeid = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_former_object_typeid(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - return target; -} - -size_t AppearanceFlagChangedToExpire::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 former_object_typeid = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_former_object_typeid()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagChangedToExpire::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagChangedToExpire::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagChangedToExpire::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagChangedToExpire::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_former_object_typeid()) { - _this->_internal_set_former_object_typeid(from._internal_former_object_typeid()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagChangedToExpire::CopyFrom(const AppearanceFlagChangedToExpire& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagChangedToExpire::IsInitialized() const { - return true; -} - -void AppearanceFlagChangedToExpire::InternalSwap(AppearanceFlagChangedToExpire* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.former_object_typeid_, other->_impl_.former_object_typeid_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagChangedToExpire::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[23]); -} - -// =================================================================== - -class AppearanceFlagCyclopedia::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_cyclopedia_type(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AppearanceFlagCyclopedia::AppearanceFlagCyclopedia(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.AppearanceFlagCyclopedia) -} -AppearanceFlagCyclopedia::AppearanceFlagCyclopedia(const AppearanceFlagCyclopedia& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - AppearanceFlagCyclopedia* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.cyclopedia_type_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.cyclopedia_type_ = from._impl_.cyclopedia_type_; - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.AppearanceFlagCyclopedia) -} - -inline void AppearanceFlagCyclopedia::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.cyclopedia_type_){0u} - }; -} - -AppearanceFlagCyclopedia::~AppearanceFlagCyclopedia() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void AppearanceFlagCyclopedia::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AppearanceFlagCyclopedia::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void AppearanceFlagCyclopedia::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.cyclopedia_type_ = 0u; - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AppearanceFlagCyclopedia::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 cyclopedia_type = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_cyclopedia_type(&has_bits); - _impl_.cyclopedia_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* AppearanceFlagCyclopedia::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 cyclopedia_type = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_cyclopedia_type(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - return target; -} - -size_t AppearanceFlagCyclopedia::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // optional uint32 cyclopedia_type = 1; - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cyclopedia_type()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AppearanceFlagCyclopedia::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - AppearanceFlagCyclopedia::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AppearanceFlagCyclopedia::GetClassData() const { return &_class_data_; } - - -void AppearanceFlagCyclopedia::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_cyclopedia_type()) { - _this->_internal_set_cyclopedia_type(from._internal_cyclopedia_type()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AppearanceFlagCyclopedia::CopyFrom(const AppearanceFlagCyclopedia& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AppearanceFlagCyclopedia::IsInitialized() const { - return true; -} - -void AppearanceFlagCyclopedia::InternalSwap(AppearanceFlagCyclopedia* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.cyclopedia_type_, other->_impl_.cyclopedia_type_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AppearanceFlagCyclopedia::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[24]); -} - -// =================================================================== - -class SpecialMeaningAppearanceIds::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_gold_coin_id(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_platinum_coin_id(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_crystal_coin_id(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static void set_has_tibia_coin_id(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } - static void set_has_stamped_letter_id(HasBits* has_bits) { - (*has_bits)[0] |= 16u; - } - static void set_has_supply_stash_id(HasBits* has_bits) { - (*has_bits)[0] |= 32u; - } - static void set_has_reward_chest_id(HasBits* has_bits) { - (*has_bits)[0] |= 64u; - } -}; - -SpecialMeaningAppearanceIds::SpecialMeaningAppearanceIds(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) -} -SpecialMeaningAppearanceIds::SpecialMeaningAppearanceIds(const SpecialMeaningAppearanceIds& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - SpecialMeaningAppearanceIds* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.gold_coin_id_){} - , decltype(_impl_.platinum_coin_id_){} - , decltype(_impl_.crystal_coin_id_){} - , decltype(_impl_.tibia_coin_id_){} - , decltype(_impl_.stamped_letter_id_){} - , decltype(_impl_.supply_stash_id_){} - , decltype(_impl_.reward_chest_id_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&_impl_.gold_coin_id_, &from._impl_.gold_coin_id_, - static_cast(reinterpret_cast(&_impl_.reward_chest_id_) - - reinterpret_cast(&_impl_.gold_coin_id_)) + sizeof(_impl_.reward_chest_id_)); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) -} - -inline void SpecialMeaningAppearanceIds::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.gold_coin_id_){0u} - , decltype(_impl_.platinum_coin_id_){0u} - , decltype(_impl_.crystal_coin_id_){0u} - , decltype(_impl_.tibia_coin_id_){0u} - , decltype(_impl_.stamped_letter_id_){0u} - , decltype(_impl_.supply_stash_id_){0u} - , decltype(_impl_.reward_chest_id_){0u} - }; -} - -SpecialMeaningAppearanceIds::~SpecialMeaningAppearanceIds() { - // @@protoc_insertion_point(destructor:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void SpecialMeaningAppearanceIds::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void SpecialMeaningAppearanceIds::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void SpecialMeaningAppearanceIds::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000007fu) { - ::memset(&_impl_.gold_coin_id_, 0, static_cast( - reinterpret_cast(&_impl_.reward_chest_id_) - - reinterpret_cast(&_impl_.gold_coin_id_)) + sizeof(_impl_.reward_chest_id_)); - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SpecialMeaningAppearanceIds::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional uint32 gold_coin_id = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _Internal::set_has_gold_coin_id(&has_bits); - _impl_.gold_coin_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 platinum_coin_id = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _Internal::set_has_platinum_coin_id(&has_bits); - _impl_.platinum_coin_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 crystal_coin_id = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _Internal::set_has_crystal_coin_id(&has_bits); - _impl_.crystal_coin_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 tibia_coin_id = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - _Internal::set_has_tibia_coin_id(&has_bits); - _impl_.tibia_coin_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 stamped_letter_id = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - _Internal::set_has_stamped_letter_id(&has_bits); - _impl_.stamped_letter_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 supply_stash_id = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - _Internal::set_has_supply_stash_id(&has_bits); - _impl_.supply_stash_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // optional uint32 reward_chest_id = 7; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { - _Internal::set_has_reward_chest_id(&has_bits); - _impl_.reward_chest_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* SpecialMeaningAppearanceIds::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - // optional uint32 gold_coin_id = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_gold_coin_id(), target); - } - - // optional uint32 platinum_coin_id = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_platinum_coin_id(), target); - } - - // optional uint32 crystal_coin_id = 3; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_crystal_coin_id(), target); - } - - // optional uint32 tibia_coin_id = 4; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_tibia_coin_id(), target); - } - - // optional uint32 stamped_letter_id = 5; - if (cached_has_bits & 0x00000010u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_stamped_letter_id(), target); - } - - // optional uint32 supply_stash_id = 6; - if (cached_has_bits & 0x00000020u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_supply_stash_id(), target); - } - - // optional uint32 reward_chest_id = 7; - if (cached_has_bits & 0x00000040u) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_reward_chest_id(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - return target; -} - -size_t SpecialMeaningAppearanceIds::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x0000007fu) { - // optional uint32 gold_coin_id = 1; - if (cached_has_bits & 0x00000001u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_gold_coin_id()); - } - - // optional uint32 platinum_coin_id = 2; - if (cached_has_bits & 0x00000002u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_platinum_coin_id()); - } - - // optional uint32 crystal_coin_id = 3; - if (cached_has_bits & 0x00000004u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_crystal_coin_id()); - } - - // optional uint32 tibia_coin_id = 4; - if (cached_has_bits & 0x00000008u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_tibia_coin_id()); - } - - // optional uint32 stamped_letter_id = 5; - if (cached_has_bits & 0x00000010u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_stamped_letter_id()); - } - - // optional uint32 supply_stash_id = 6; - if (cached_has_bits & 0x00000020u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_supply_stash_id()); - } - - // optional uint32 reward_chest_id = 7; - if (cached_has_bits & 0x00000040u) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_reward_chest_id()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SpecialMeaningAppearanceIds::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - SpecialMeaningAppearanceIds::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SpecialMeaningAppearanceIds::GetClassData() const { return &_class_data_; } - - -void SpecialMeaningAppearanceIds::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000007fu) { - if (cached_has_bits & 0x00000001u) { - _this->_impl_.gold_coin_id_ = from._impl_.gold_coin_id_; - } - if (cached_has_bits & 0x00000002u) { - _this->_impl_.platinum_coin_id_ = from._impl_.platinum_coin_id_; - } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.crystal_coin_id_ = from._impl_.crystal_coin_id_; - } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.tibia_coin_id_ = from._impl_.tibia_coin_id_; - } - if (cached_has_bits & 0x00000010u) { - _this->_impl_.stamped_letter_id_ = from._impl_.stamped_letter_id_; - } - if (cached_has_bits & 0x00000020u) { - _this->_impl_.supply_stash_id_ = from._impl_.supply_stash_id_; - } - if (cached_has_bits & 0x00000040u) { - _this->_impl_.reward_chest_id_ = from._impl_.reward_chest_id_; - } - _this->_impl_._has_bits_[0] |= cached_has_bits; - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SpecialMeaningAppearanceIds::CopyFrom(const SpecialMeaningAppearanceIds& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SpecialMeaningAppearanceIds::IsInitialized() const { - return true; -} - -void SpecialMeaningAppearanceIds::InternalSwap(SpecialMeaningAppearanceIds* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SpecialMeaningAppearanceIds, _impl_.reward_chest_id_) - + sizeof(SpecialMeaningAppearanceIds::_impl_.reward_chest_id_) - - PROTOBUF_FIELD_OFFSET(SpecialMeaningAppearanceIds, _impl_.gold_coin_id_)>( - reinterpret_cast(&_impl_.gold_coin_id_), - reinterpret_cast(&other->_impl_.gold_coin_id_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SpecialMeaningAppearanceIds::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_appearances_2eproto_getter, &descriptor_table_appearances_2eproto_once, - file_level_metadata_appearances_2eproto[25]); -} - -// @@protoc_insertion_point(namespace_scope) -} // namespace appearances -} // namespace protobuf -} // namespace Canary -PROTOBUF_NAMESPACE_OPEN -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::Coordinate* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::Coordinate >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::Coordinate >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::Appearances* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::Appearances >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::Appearances >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::SpritePhase* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::SpritePhase >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::SpritePhase >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::SpriteAnimation* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::SpriteAnimation >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::SpriteAnimation >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::Box* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::Box >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::Box >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::SpriteInfo* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::SpriteInfo >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::SpriteInfo >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::FrameGroup* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::FrameGroup >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::FrameGroup >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::Appearance* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::Appearance >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::Appearance >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlags* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlags >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlags >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagBank* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagBank >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagBank >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagWrite* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagWrite >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagWrite >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagWriteOnce >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagWriteOnce >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagLight* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagLight >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagLight >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagHeight* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagHeight >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagHeight >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagShift* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagShift >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagShift >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagClothes* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagClothes >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagClothes >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagDefaultAction >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagDefaultAction >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagMarket* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagMarket >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagMarket >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagNPC* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagNPC >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagNPC >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagAutomap* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagAutomap >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagAutomap >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagHook* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagHook >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagHook >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagLenshelp* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagLenshelp >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagLenshelp >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::AppearanceFlagCyclopedia >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::AppearanceFlagCyclopedia >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* -Arena::CreateMaybeMessage< ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds >(arena); -} -PROTOBUF_NAMESPACE_CLOSE - -// @@protoc_insertion_point(global_scope) -#include diff --git a/src/protobuf/appearances.pb.h b/src/protobuf/appearances.pb.h deleted file mode 100644 index 65bc2c7e9cc..00000000000 --- a/src/protobuf/appearances.pb.h +++ /dev/null @@ -1,11506 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: appearances.proto - -#ifndef GOOGLE_PROTOBUF_INCLUDED_appearances_2eproto -#define GOOGLE_PROTOBUF_INCLUDED_appearances_2eproto - -#include -#include - -#include -#if PROTOBUF_VERSION < 3021000 -#error This file was generated by a newer version of protoc which is -#error incompatible with your Protocol Buffer headers. Please update -#error your headers. -#endif -#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION -#error This file was generated by an older version of protoc which is -#error incompatible with your Protocol Buffer headers. Please -#error regenerate this file with a newer version of protoc. -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export -#include // IWYU pragma: export -#include -#include -// @@protoc_insertion_point(includes) -#include -#define PROTOBUF_INTERNAL_EXPORT_appearances_2eproto -PROTOBUF_NAMESPACE_OPEN -namespace internal { -class AnyMetadata; -} // namespace internal -PROTOBUF_NAMESPACE_CLOSE - -// Internal implementation detail -- do not use these members. -struct TableStruct_appearances_2eproto { - static const uint32_t offsets[]; -}; -extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_appearances_2eproto; -namespace Canary { -namespace protobuf { -namespace appearances { -class Appearance; -struct AppearanceDefaultTypeInternal; -extern AppearanceDefaultTypeInternal _Appearance_default_instance_; -class AppearanceFlagAutomap; -struct AppearanceFlagAutomapDefaultTypeInternal; -extern AppearanceFlagAutomapDefaultTypeInternal _AppearanceFlagAutomap_default_instance_; -class AppearanceFlagBank; -struct AppearanceFlagBankDefaultTypeInternal; -extern AppearanceFlagBankDefaultTypeInternal _AppearanceFlagBank_default_instance_; -class AppearanceFlagChangedToExpire; -struct AppearanceFlagChangedToExpireDefaultTypeInternal; -extern AppearanceFlagChangedToExpireDefaultTypeInternal _AppearanceFlagChangedToExpire_default_instance_; -class AppearanceFlagClothes; -struct AppearanceFlagClothesDefaultTypeInternal; -extern AppearanceFlagClothesDefaultTypeInternal _AppearanceFlagClothes_default_instance_; -class AppearanceFlagCyclopedia; -struct AppearanceFlagCyclopediaDefaultTypeInternal; -extern AppearanceFlagCyclopediaDefaultTypeInternal _AppearanceFlagCyclopedia_default_instance_; -class AppearanceFlagDefaultAction; -struct AppearanceFlagDefaultActionDefaultTypeInternal; -extern AppearanceFlagDefaultActionDefaultTypeInternal _AppearanceFlagDefaultAction_default_instance_; -class AppearanceFlagHeight; -struct AppearanceFlagHeightDefaultTypeInternal; -extern AppearanceFlagHeightDefaultTypeInternal _AppearanceFlagHeight_default_instance_; -class AppearanceFlagHook; -struct AppearanceFlagHookDefaultTypeInternal; -extern AppearanceFlagHookDefaultTypeInternal _AppearanceFlagHook_default_instance_; -class AppearanceFlagLenshelp; -struct AppearanceFlagLenshelpDefaultTypeInternal; -extern AppearanceFlagLenshelpDefaultTypeInternal _AppearanceFlagLenshelp_default_instance_; -class AppearanceFlagLight; -struct AppearanceFlagLightDefaultTypeInternal; -extern AppearanceFlagLightDefaultTypeInternal _AppearanceFlagLight_default_instance_; -class AppearanceFlagMarket; -struct AppearanceFlagMarketDefaultTypeInternal; -extern AppearanceFlagMarketDefaultTypeInternal _AppearanceFlagMarket_default_instance_; -class AppearanceFlagNPC; -struct AppearanceFlagNPCDefaultTypeInternal; -extern AppearanceFlagNPCDefaultTypeInternal _AppearanceFlagNPC_default_instance_; -class AppearanceFlagShift; -struct AppearanceFlagShiftDefaultTypeInternal; -extern AppearanceFlagShiftDefaultTypeInternal _AppearanceFlagShift_default_instance_; -class AppearanceFlagUpgradeClassification; -struct AppearanceFlagUpgradeClassificationDefaultTypeInternal; -extern AppearanceFlagUpgradeClassificationDefaultTypeInternal _AppearanceFlagUpgradeClassification_default_instance_; -class AppearanceFlagWrite; -struct AppearanceFlagWriteDefaultTypeInternal; -extern AppearanceFlagWriteDefaultTypeInternal _AppearanceFlagWrite_default_instance_; -class AppearanceFlagWriteOnce; -struct AppearanceFlagWriteOnceDefaultTypeInternal; -extern AppearanceFlagWriteOnceDefaultTypeInternal _AppearanceFlagWriteOnce_default_instance_; -class AppearanceFlags; -struct AppearanceFlagsDefaultTypeInternal; -extern AppearanceFlagsDefaultTypeInternal _AppearanceFlags_default_instance_; -class Appearances; -struct AppearancesDefaultTypeInternal; -extern AppearancesDefaultTypeInternal _Appearances_default_instance_; -class Box; -struct BoxDefaultTypeInternal; -extern BoxDefaultTypeInternal _Box_default_instance_; -class Coordinate; -struct CoordinateDefaultTypeInternal; -extern CoordinateDefaultTypeInternal _Coordinate_default_instance_; -class FrameGroup; -struct FrameGroupDefaultTypeInternal; -extern FrameGroupDefaultTypeInternal _FrameGroup_default_instance_; -class SpecialMeaningAppearanceIds; -struct SpecialMeaningAppearanceIdsDefaultTypeInternal; -extern SpecialMeaningAppearanceIdsDefaultTypeInternal _SpecialMeaningAppearanceIds_default_instance_; -class SpriteAnimation; -struct SpriteAnimationDefaultTypeInternal; -extern SpriteAnimationDefaultTypeInternal _SpriteAnimation_default_instance_; -class SpriteInfo; -struct SpriteInfoDefaultTypeInternal; -extern SpriteInfoDefaultTypeInternal _SpriteInfo_default_instance_; -class SpritePhase; -struct SpritePhaseDefaultTypeInternal; -extern SpritePhaseDefaultTypeInternal _SpritePhase_default_instance_; -} // namespace appearances -} // namespace protobuf -} // namespace Canary -PROTOBUF_NAMESPACE_OPEN -template<> ::Canary::protobuf::appearances::Appearance* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::Appearance>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagAutomap* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagAutomap>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagBank* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagBank>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagChangedToExpire>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagClothes* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagClothes>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagCyclopedia>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagDefaultAction>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagHeight* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagHeight>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagHook* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagHook>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagLenshelp* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagLenshelp>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagLight* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagLight>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagMarket* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagMarket>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagNPC* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagNPC>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagShift* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagShift>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagWrite* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagWrite>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagWriteOnce>(Arena*); -template<> ::Canary::protobuf::appearances::AppearanceFlags* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlags>(Arena*); -template<> ::Canary::protobuf::appearances::Appearances* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::Appearances>(Arena*); -template<> ::Canary::protobuf::appearances::Box* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::Box>(Arena*); -template<> ::Canary::protobuf::appearances::Coordinate* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::Coordinate>(Arena*); -template<> ::Canary::protobuf::appearances::FrameGroup* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::FrameGroup>(Arena*); -template<> ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::SpecialMeaningAppearanceIds>(Arena*); -template<> ::Canary::protobuf::appearances::SpriteAnimation* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::SpriteAnimation>(Arena*); -template<> ::Canary::protobuf::appearances::SpriteInfo* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::SpriteInfo>(Arena*); -template<> ::Canary::protobuf::appearances::SpritePhase* Arena::CreateMaybeMessage<::Canary::protobuf::appearances::SpritePhase>(Arena*); -PROTOBUF_NAMESPACE_CLOSE -namespace Canary { -namespace protobuf { -namespace appearances { - -enum PLAYER_ACTION : int { - PLAYER_ACTION_NONE = 0, - PLAYER_ACTION_LOOK = 1, - PLAYER_ACTION_USE = 2, - PLAYER_ACTION_OPEN = 3, - PLAYER_ACTION_AUTOWALK_HIGHLIGHT = 4 -}; -bool PLAYER_ACTION_IsValid(int value); -constexpr PLAYER_ACTION PLAYER_ACTION_MIN = PLAYER_ACTION_NONE; -constexpr PLAYER_ACTION PLAYER_ACTION_MAX = PLAYER_ACTION_AUTOWALK_HIGHLIGHT; -constexpr int PLAYER_ACTION_ARRAYSIZE = PLAYER_ACTION_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PLAYER_ACTION_descriptor(); -template -inline const std::string& PLAYER_ACTION_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function PLAYER_ACTION_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - PLAYER_ACTION_descriptor(), enum_t_value); -} -inline bool PLAYER_ACTION_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PLAYER_ACTION* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - PLAYER_ACTION_descriptor(), name, value); -} -enum ITEM_CATEGORY : int { - ITEM_CATEGORY_ARMORS = 1, - ITEM_CATEGORY_AMULETS = 2, - ITEM_CATEGORY_BOOTS = 3, - ITEM_CATEGORY_CONTAINERS = 4, - ITEM_CATEGORY_DECORATION = 5, - ITEM_CATEGORY_FOOD = 6, - ITEM_CATEGORY_HELMETS_HATS = 7, - ITEM_CATEGORY_LEGS = 8, - ITEM_CATEGORY_OTHERS = 9, - ITEM_CATEGORY_POTIONS = 10, - ITEM_CATEGORY_RINGS = 11, - ITEM_CATEGORY_RUNES = 12, - ITEM_CATEGORY_SHIELDS = 13, - ITEM_CATEGORY_TOOLS = 14, - ITEM_CATEGORY_VALUABLES = 15, - ITEM_CATEGORY_AMMUNITION = 16, - ITEM_CATEGORY_AXES = 17, - ITEM_CATEGORY_CLUBS = 18, - ITEM_CATEGORY_DISTANCE_WEAPONS = 19, - ITEM_CATEGORY_SWORDS = 20, - ITEM_CATEGORY_WANDS_RODS = 21, - ITEM_CATEGORY_PREMIUM_SCROLLS = 22, - ITEM_CATEGORY_TIBIA_COINS = 23, - ITEM_CATEGORY_CREATURE_PRODUCTS = 24, - ITEM_CATEGORY_QUIVER = 25 -}; -bool ITEM_CATEGORY_IsValid(int value); -constexpr ITEM_CATEGORY ITEM_CATEGORY_MIN = ITEM_CATEGORY_ARMORS; -constexpr ITEM_CATEGORY ITEM_CATEGORY_MAX = ITEM_CATEGORY_QUIVER; -constexpr int ITEM_CATEGORY_ARRAYSIZE = ITEM_CATEGORY_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ITEM_CATEGORY_descriptor(); -template -inline const std::string& ITEM_CATEGORY_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ITEM_CATEGORY_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ITEM_CATEGORY_descriptor(), enum_t_value); -} -inline bool ITEM_CATEGORY_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ITEM_CATEGORY* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ITEM_CATEGORY_descriptor(), name, value); -} -enum PLAYER_PROFESSION : int { - PLAYER_PROFESSION_ANY = -1, - PLAYER_PROFESSION_NONE = 0, - PLAYER_PROFESSION_KNIGHT = 1, - PLAYER_PROFESSION_PALADIN = 2, - PLAYER_PROFESSION_SORCERER = 3, - PLAYER_PROFESSION_DRUID = 4, - PLAYER_PROFESSION_PROMOTED = 10 -}; -bool PLAYER_PROFESSION_IsValid(int value); -constexpr PLAYER_PROFESSION PLAYER_PROFESSION_MIN = PLAYER_PROFESSION_ANY; -constexpr PLAYER_PROFESSION PLAYER_PROFESSION_MAX = PLAYER_PROFESSION_PROMOTED; -constexpr int PLAYER_PROFESSION_ARRAYSIZE = PLAYER_PROFESSION_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PLAYER_PROFESSION_descriptor(); -template -inline const std::string& PLAYER_PROFESSION_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function PLAYER_PROFESSION_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - PLAYER_PROFESSION_descriptor(), enum_t_value); -} -inline bool PLAYER_PROFESSION_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PLAYER_PROFESSION* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - PLAYER_PROFESSION_descriptor(), name, value); -} -enum ANIMATION_LOOP_TYPE : int { - ANIMATION_LOOP_TYPE_PINGPONG = -1, - ANIMATION_LOOP_TYPE_INFINITE = 0, - ANIMATION_LOOP_TYPE_COUNTED = 1 -}; -bool ANIMATION_LOOP_TYPE_IsValid(int value); -constexpr ANIMATION_LOOP_TYPE ANIMATION_LOOP_TYPE_MIN = ANIMATION_LOOP_TYPE_PINGPONG; -constexpr ANIMATION_LOOP_TYPE ANIMATION_LOOP_TYPE_MAX = ANIMATION_LOOP_TYPE_COUNTED; -constexpr int ANIMATION_LOOP_TYPE_ARRAYSIZE = ANIMATION_LOOP_TYPE_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ANIMATION_LOOP_TYPE_descriptor(); -template -inline const std::string& ANIMATION_LOOP_TYPE_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ANIMATION_LOOP_TYPE_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ANIMATION_LOOP_TYPE_descriptor(), enum_t_value); -} -inline bool ANIMATION_LOOP_TYPE_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ANIMATION_LOOP_TYPE* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ANIMATION_LOOP_TYPE_descriptor(), name, value); -} -enum HOOK_TYPE : int { - HOOK_TYPE_SOUTH = 1, - HOOK_TYPE_EAST = 2 -}; -bool HOOK_TYPE_IsValid(int value); -constexpr HOOK_TYPE HOOK_TYPE_MIN = HOOK_TYPE_SOUTH; -constexpr HOOK_TYPE HOOK_TYPE_MAX = HOOK_TYPE_EAST; -constexpr int HOOK_TYPE_ARRAYSIZE = HOOK_TYPE_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* HOOK_TYPE_descriptor(); -template -inline const std::string& HOOK_TYPE_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function HOOK_TYPE_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - HOOK_TYPE_descriptor(), enum_t_value); -} -inline bool HOOK_TYPE_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, HOOK_TYPE* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - HOOK_TYPE_descriptor(), name, value); -} -enum FIXED_FRAME_GROUP : int { - FIXED_FRAME_GROUP_OUTFIT_IDLE = 0, - FIXED_FRAME_GROUP_OUTFIT_MOVING = 1, - FIXED_FRAME_GROUP_OBJECT_INITIAL = 2 -}; -bool FIXED_FRAME_GROUP_IsValid(int value); -constexpr FIXED_FRAME_GROUP FIXED_FRAME_GROUP_MIN = FIXED_FRAME_GROUP_OUTFIT_IDLE; -constexpr FIXED_FRAME_GROUP FIXED_FRAME_GROUP_MAX = FIXED_FRAME_GROUP_OBJECT_INITIAL; -constexpr int FIXED_FRAME_GROUP_ARRAYSIZE = FIXED_FRAME_GROUP_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FIXED_FRAME_GROUP_descriptor(); -template -inline const std::string& FIXED_FRAME_GROUP_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function FIXED_FRAME_GROUP_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - FIXED_FRAME_GROUP_descriptor(), enum_t_value); -} -inline bool FIXED_FRAME_GROUP_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FIXED_FRAME_GROUP* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - FIXED_FRAME_GROUP_descriptor(), name, value); -} -// =================================================================== - -class Coordinate final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.Coordinate) */ { - public: - inline Coordinate() : Coordinate(nullptr) {} - ~Coordinate() override; - explicit PROTOBUF_CONSTEXPR Coordinate(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - Coordinate(const Coordinate& from); - Coordinate(Coordinate&& from) noexcept - : Coordinate() { - *this = ::std::move(from); - } - - inline Coordinate& operator=(const Coordinate& from) { - CopyFrom(from); - return *this; - } - inline Coordinate& operator=(Coordinate&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const Coordinate& default_instance() { - return *internal_default_instance(); - } - static inline const Coordinate* internal_default_instance() { - return reinterpret_cast( - &_Coordinate_default_instance_); - } - static constexpr int kIndexInFileMessages = - 0; - - friend void swap(Coordinate& a, Coordinate& b) { - a.Swap(&b); - } - inline void Swap(Coordinate* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(Coordinate* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - Coordinate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Coordinate& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Coordinate& from) { - Coordinate::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Coordinate* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.Coordinate"; - } - protected: - explicit Coordinate(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kXFieldNumber = 1, - kYFieldNumber = 2, - kZFieldNumber = 3, - }; - // optional uint32 x = 1; - bool has_x() const; - private: - bool _internal_has_x() const; - public: - void clear_x(); - uint32_t x() const; - void set_x(uint32_t value); - private: - uint32_t _internal_x() const; - void _internal_set_x(uint32_t value); - public: - - // optional uint32 y = 2; - bool has_y() const; - private: - bool _internal_has_y() const; - public: - void clear_y(); - uint32_t y() const; - void set_y(uint32_t value); - private: - uint32_t _internal_y() const; - void _internal_set_y(uint32_t value); - public: - - // optional uint32 z = 3; - bool has_z() const; - private: - bool _internal_has_z() const; - public: - void clear_z(); - uint32_t z() const; - void set_z(uint32_t value); - private: - uint32_t _internal_z() const; - void _internal_set_z(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.Coordinate) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t x_; - uint32_t y_; - uint32_t z_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class Appearances final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.Appearances) */ { - public: - inline Appearances() : Appearances(nullptr) {} - ~Appearances() override; - explicit PROTOBUF_CONSTEXPR Appearances(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - Appearances(const Appearances& from); - Appearances(Appearances&& from) noexcept - : Appearances() { - *this = ::std::move(from); - } - - inline Appearances& operator=(const Appearances& from) { - CopyFrom(from); - return *this; - } - inline Appearances& operator=(Appearances&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const Appearances& default_instance() { - return *internal_default_instance(); - } - static inline const Appearances* internal_default_instance() { - return reinterpret_cast( - &_Appearances_default_instance_); - } - static constexpr int kIndexInFileMessages = - 1; - - friend void swap(Appearances& a, Appearances& b) { - a.Swap(&b); - } - inline void Swap(Appearances* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(Appearances* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - Appearances* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Appearances& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Appearances& from) { - Appearances::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Appearances* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.Appearances"; - } - protected: - explicit Appearances(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kObjectFieldNumber = 1, - kOutfitFieldNumber = 2, - kEffectFieldNumber = 3, - kMissileFieldNumber = 4, - kSpecialMeaningAppearanceIdsFieldNumber = 5, - }; - // repeated .Canary.protobuf.appearances.Appearance object = 1; - int object_size() const; - private: - int _internal_object_size() const; - public: - void clear_object(); - ::Canary::protobuf::appearances::Appearance* mutable_object(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* - mutable_object(); - private: - const ::Canary::protobuf::appearances::Appearance& _internal_object(int index) const; - ::Canary::protobuf::appearances::Appearance* _internal_add_object(); - public: - const ::Canary::protobuf::appearances::Appearance& object(int index) const; - ::Canary::protobuf::appearances::Appearance* add_object(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& - object() const; - - // repeated .Canary.protobuf.appearances.Appearance outfit = 2; - int outfit_size() const; - private: - int _internal_outfit_size() const; - public: - void clear_outfit(); - ::Canary::protobuf::appearances::Appearance* mutable_outfit(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* - mutable_outfit(); - private: - const ::Canary::protobuf::appearances::Appearance& _internal_outfit(int index) const; - ::Canary::protobuf::appearances::Appearance* _internal_add_outfit(); - public: - const ::Canary::protobuf::appearances::Appearance& outfit(int index) const; - ::Canary::protobuf::appearances::Appearance* add_outfit(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& - outfit() const; - - // repeated .Canary.protobuf.appearances.Appearance effect = 3; - int effect_size() const; - private: - int _internal_effect_size() const; - public: - void clear_effect(); - ::Canary::protobuf::appearances::Appearance* mutable_effect(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* - mutable_effect(); - private: - const ::Canary::protobuf::appearances::Appearance& _internal_effect(int index) const; - ::Canary::protobuf::appearances::Appearance* _internal_add_effect(); - public: - const ::Canary::protobuf::appearances::Appearance& effect(int index) const; - ::Canary::protobuf::appearances::Appearance* add_effect(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& - effect() const; - - // repeated .Canary.protobuf.appearances.Appearance missile = 4; - int missile_size() const; - private: - int _internal_missile_size() const; - public: - void clear_missile(); - ::Canary::protobuf::appearances::Appearance* mutable_missile(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* - mutable_missile(); - private: - const ::Canary::protobuf::appearances::Appearance& _internal_missile(int index) const; - ::Canary::protobuf::appearances::Appearance* _internal_add_missile(); - public: - const ::Canary::protobuf::appearances::Appearance& missile(int index) const; - ::Canary::protobuf::appearances::Appearance* add_missile(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& - missile() const; - - // optional .Canary.protobuf.appearances.SpecialMeaningAppearanceIds special_meaning_appearance_ids = 5; - bool has_special_meaning_appearance_ids() const; - private: - bool _internal_has_special_meaning_appearance_ids() const; - public: - void clear_special_meaning_appearance_ids(); - const ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds& special_meaning_appearance_ids() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* release_special_meaning_appearance_ids(); - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* mutable_special_meaning_appearance_ids(); - void set_allocated_special_meaning_appearance_ids(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* special_meaning_appearance_ids); - private: - const ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds& _internal_special_meaning_appearance_ids() const; - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* _internal_mutable_special_meaning_appearance_ids(); - public: - void unsafe_arena_set_allocated_special_meaning_appearance_ids( - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* special_meaning_appearance_ids); - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* unsafe_arena_release_special_meaning_appearance_ids(); - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.Appearances) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance > object_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance > outfit_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance > effect_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance > missile_; - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* special_meaning_appearance_ids_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class SpritePhase final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.SpritePhase) */ { - public: - inline SpritePhase() : SpritePhase(nullptr) {} - ~SpritePhase() override; - explicit PROTOBUF_CONSTEXPR SpritePhase(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SpritePhase(const SpritePhase& from); - SpritePhase(SpritePhase&& from) noexcept - : SpritePhase() { - *this = ::std::move(from); - } - - inline SpritePhase& operator=(const SpritePhase& from) { - CopyFrom(from); - return *this; - } - inline SpritePhase& operator=(SpritePhase&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const SpritePhase& default_instance() { - return *internal_default_instance(); - } - static inline const SpritePhase* internal_default_instance() { - return reinterpret_cast( - &_SpritePhase_default_instance_); - } - static constexpr int kIndexInFileMessages = - 2; - - friend void swap(SpritePhase& a, SpritePhase& b) { - a.Swap(&b); - } - inline void Swap(SpritePhase* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(SpritePhase* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SpritePhase* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SpritePhase& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SpritePhase& from) { - SpritePhase::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SpritePhase* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.SpritePhase"; - } - protected: - explicit SpritePhase(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kDurationMinFieldNumber = 1, - kDurationMaxFieldNumber = 2, - }; - // optional uint32 duration_min = 1; - bool has_duration_min() const; - private: - bool _internal_has_duration_min() const; - public: - void clear_duration_min(); - uint32_t duration_min() const; - void set_duration_min(uint32_t value); - private: - uint32_t _internal_duration_min() const; - void _internal_set_duration_min(uint32_t value); - public: - - // optional uint32 duration_max = 2; - bool has_duration_max() const; - private: - bool _internal_has_duration_max() const; - public: - void clear_duration_max(); - uint32_t duration_max() const; - void set_duration_max(uint32_t value); - private: - uint32_t _internal_duration_max() const; - void _internal_set_duration_max(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.SpritePhase) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t duration_min_; - uint32_t duration_max_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class SpriteAnimation final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.SpriteAnimation) */ { - public: - inline SpriteAnimation() : SpriteAnimation(nullptr) {} - ~SpriteAnimation() override; - explicit PROTOBUF_CONSTEXPR SpriteAnimation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SpriteAnimation(const SpriteAnimation& from); - SpriteAnimation(SpriteAnimation&& from) noexcept - : SpriteAnimation() { - *this = ::std::move(from); - } - - inline SpriteAnimation& operator=(const SpriteAnimation& from) { - CopyFrom(from); - return *this; - } - inline SpriteAnimation& operator=(SpriteAnimation&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const SpriteAnimation& default_instance() { - return *internal_default_instance(); - } - static inline const SpriteAnimation* internal_default_instance() { - return reinterpret_cast( - &_SpriteAnimation_default_instance_); - } - static constexpr int kIndexInFileMessages = - 3; - - friend void swap(SpriteAnimation& a, SpriteAnimation& b) { - a.Swap(&b); - } - inline void Swap(SpriteAnimation* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(SpriteAnimation* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SpriteAnimation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SpriteAnimation& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SpriteAnimation& from) { - SpriteAnimation::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SpriteAnimation* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.SpriteAnimation"; - } - protected: - explicit SpriteAnimation(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSpritePhaseFieldNumber = 6, - kDefaultStartPhaseFieldNumber = 1, - kSynchronizedFieldNumber = 2, - kRandomStartPhaseFieldNumber = 3, - kLoopCountFieldNumber = 5, - kLoopTypeFieldNumber = 4, - }; - // repeated .Canary.protobuf.appearances.SpritePhase sprite_phase = 6; - int sprite_phase_size() const; - private: - int _internal_sprite_phase_size() const; - public: - void clear_sprite_phase(); - ::Canary::protobuf::appearances::SpritePhase* mutable_sprite_phase(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::SpritePhase >* - mutable_sprite_phase(); - private: - const ::Canary::protobuf::appearances::SpritePhase& _internal_sprite_phase(int index) const; - ::Canary::protobuf::appearances::SpritePhase* _internal_add_sprite_phase(); - public: - const ::Canary::protobuf::appearances::SpritePhase& sprite_phase(int index) const; - ::Canary::protobuf::appearances::SpritePhase* add_sprite_phase(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::SpritePhase >& - sprite_phase() const; - - // optional uint32 default_start_phase = 1; - bool has_default_start_phase() const; - private: - bool _internal_has_default_start_phase() const; - public: - void clear_default_start_phase(); - uint32_t default_start_phase() const; - void set_default_start_phase(uint32_t value); - private: - uint32_t _internal_default_start_phase() const; - void _internal_set_default_start_phase(uint32_t value); - public: - - // optional bool synchronized = 2; - bool has_synchronized() const; - private: - bool _internal_has_synchronized() const; - public: - void clear_synchronized(); - bool synchronized() const; - void set_synchronized(bool value); - private: - bool _internal_synchronized() const; - void _internal_set_synchronized(bool value); - public: - - // optional bool random_start_phase = 3; - bool has_random_start_phase() const; - private: - bool _internal_has_random_start_phase() const; - public: - void clear_random_start_phase(); - bool random_start_phase() const; - void set_random_start_phase(bool value); - private: - bool _internal_random_start_phase() const; - void _internal_set_random_start_phase(bool value); - public: - - // optional uint32 loop_count = 5; - bool has_loop_count() const; - private: - bool _internal_has_loop_count() const; - public: - void clear_loop_count(); - uint32_t loop_count() const; - void set_loop_count(uint32_t value); - private: - uint32_t _internal_loop_count() const; - void _internal_set_loop_count(uint32_t value); - public: - - // optional .Canary.protobuf.appearances.ANIMATION_LOOP_TYPE loop_type = 4; - bool has_loop_type() const; - private: - bool _internal_has_loop_type() const; - public: - void clear_loop_type(); - ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE loop_type() const; - void set_loop_type(::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE value); - private: - ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE _internal_loop_type() const; - void _internal_set_loop_type(::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.SpriteAnimation) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::SpritePhase > sprite_phase_; - uint32_t default_start_phase_; - bool synchronized_; - bool random_start_phase_; - uint32_t loop_count_; - int loop_type_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class Box final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.Box) */ { - public: - inline Box() : Box(nullptr) {} - ~Box() override; - explicit PROTOBUF_CONSTEXPR Box(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - Box(const Box& from); - Box(Box&& from) noexcept - : Box() { - *this = ::std::move(from); - } - - inline Box& operator=(const Box& from) { - CopyFrom(from); - return *this; - } - inline Box& operator=(Box&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const Box& default_instance() { - return *internal_default_instance(); - } - static inline const Box* internal_default_instance() { - return reinterpret_cast( - &_Box_default_instance_); - } - static constexpr int kIndexInFileMessages = - 4; - - friend void swap(Box& a, Box& b) { - a.Swap(&b); - } - inline void Swap(Box* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(Box* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - Box* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Box& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Box& from) { - Box::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Box* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.Box"; - } - protected: - explicit Box(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kXFieldNumber = 1, - kYFieldNumber = 2, - kWidthFieldNumber = 3, - kHeightFieldNumber = 4, - }; - // optional uint32 x = 1; - bool has_x() const; - private: - bool _internal_has_x() const; - public: - void clear_x(); - uint32_t x() const; - void set_x(uint32_t value); - private: - uint32_t _internal_x() const; - void _internal_set_x(uint32_t value); - public: - - // optional uint32 y = 2; - bool has_y() const; - private: - bool _internal_has_y() const; - public: - void clear_y(); - uint32_t y() const; - void set_y(uint32_t value); - private: - uint32_t _internal_y() const; - void _internal_set_y(uint32_t value); - public: - - // optional uint32 width = 3; - bool has_width() const; - private: - bool _internal_has_width() const; - public: - void clear_width(); - uint32_t width() const; - void set_width(uint32_t value); - private: - uint32_t _internal_width() const; - void _internal_set_width(uint32_t value); - public: - - // optional uint32 height = 4; - bool has_height() const; - private: - bool _internal_has_height() const; - public: - void clear_height(); - uint32_t height() const; - void set_height(uint32_t value); - private: - uint32_t _internal_height() const; - void _internal_set_height(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.Box) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t x_; - uint32_t y_; - uint32_t width_; - uint32_t height_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class SpriteInfo final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.SpriteInfo) */ { - public: - inline SpriteInfo() : SpriteInfo(nullptr) {} - ~SpriteInfo() override; - explicit PROTOBUF_CONSTEXPR SpriteInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SpriteInfo(const SpriteInfo& from); - SpriteInfo(SpriteInfo&& from) noexcept - : SpriteInfo() { - *this = ::std::move(from); - } - - inline SpriteInfo& operator=(const SpriteInfo& from) { - CopyFrom(from); - return *this; - } - inline SpriteInfo& operator=(SpriteInfo&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const SpriteInfo& default_instance() { - return *internal_default_instance(); - } - static inline const SpriteInfo* internal_default_instance() { - return reinterpret_cast( - &_SpriteInfo_default_instance_); - } - static constexpr int kIndexInFileMessages = - 5; - - friend void swap(SpriteInfo& a, SpriteInfo& b) { - a.Swap(&b); - } - inline void Swap(SpriteInfo* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(SpriteInfo* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SpriteInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SpriteInfo& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SpriteInfo& from) { - SpriteInfo::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SpriteInfo* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.SpriteInfo"; - } - protected: - explicit SpriteInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSpriteIdFieldNumber = 5, - kBoundingBoxPerDirectionFieldNumber = 9, - kAnimationFieldNumber = 6, - kPatternWidthFieldNumber = 1, - kPatternHeightFieldNumber = 2, - kPatternDepthFieldNumber = 3, - kLayersFieldNumber = 4, - kBoundingSquareFieldNumber = 7, - kIsOpaqueFieldNumber = 8, - }; - // repeated uint32 sprite_id = 5; - int sprite_id_size() const; - private: - int _internal_sprite_id_size() const; - public: - void clear_sprite_id(); - private: - uint32_t _internal_sprite_id(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& - _internal_sprite_id() const; - void _internal_add_sprite_id(uint32_t value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* - _internal_mutable_sprite_id(); - public: - uint32_t sprite_id(int index) const; - void set_sprite_id(int index, uint32_t value); - void add_sprite_id(uint32_t value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& - sprite_id() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* - mutable_sprite_id(); - - // repeated .Canary.protobuf.appearances.Box bounding_box_per_direction = 9; - int bounding_box_per_direction_size() const; - private: - int _internal_bounding_box_per_direction_size() const; - public: - void clear_bounding_box_per_direction(); - ::Canary::protobuf::appearances::Box* mutable_bounding_box_per_direction(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Box >* - mutable_bounding_box_per_direction(); - private: - const ::Canary::protobuf::appearances::Box& _internal_bounding_box_per_direction(int index) const; - ::Canary::protobuf::appearances::Box* _internal_add_bounding_box_per_direction(); - public: - const ::Canary::protobuf::appearances::Box& bounding_box_per_direction(int index) const; - ::Canary::protobuf::appearances::Box* add_bounding_box_per_direction(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Box >& - bounding_box_per_direction() const; - - // optional .Canary.protobuf.appearances.SpriteAnimation animation = 6; - bool has_animation() const; - private: - bool _internal_has_animation() const; - public: - void clear_animation(); - const ::Canary::protobuf::appearances::SpriteAnimation& animation() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::SpriteAnimation* release_animation(); - ::Canary::protobuf::appearances::SpriteAnimation* mutable_animation(); - void set_allocated_animation(::Canary::protobuf::appearances::SpriteAnimation* animation); - private: - const ::Canary::protobuf::appearances::SpriteAnimation& _internal_animation() const; - ::Canary::protobuf::appearances::SpriteAnimation* _internal_mutable_animation(); - public: - void unsafe_arena_set_allocated_animation( - ::Canary::protobuf::appearances::SpriteAnimation* animation); - ::Canary::protobuf::appearances::SpriteAnimation* unsafe_arena_release_animation(); - - // optional uint32 pattern_width = 1; - bool has_pattern_width() const; - private: - bool _internal_has_pattern_width() const; - public: - void clear_pattern_width(); - uint32_t pattern_width() const; - void set_pattern_width(uint32_t value); - private: - uint32_t _internal_pattern_width() const; - void _internal_set_pattern_width(uint32_t value); - public: - - // optional uint32 pattern_height = 2; - bool has_pattern_height() const; - private: - bool _internal_has_pattern_height() const; - public: - void clear_pattern_height(); - uint32_t pattern_height() const; - void set_pattern_height(uint32_t value); - private: - uint32_t _internal_pattern_height() const; - void _internal_set_pattern_height(uint32_t value); - public: - - // optional uint32 pattern_depth = 3; - bool has_pattern_depth() const; - private: - bool _internal_has_pattern_depth() const; - public: - void clear_pattern_depth(); - uint32_t pattern_depth() const; - void set_pattern_depth(uint32_t value); - private: - uint32_t _internal_pattern_depth() const; - void _internal_set_pattern_depth(uint32_t value); - public: - - // optional uint32 layers = 4; - bool has_layers() const; - private: - bool _internal_has_layers() const; - public: - void clear_layers(); - uint32_t layers() const; - void set_layers(uint32_t value); - private: - uint32_t _internal_layers() const; - void _internal_set_layers(uint32_t value); - public: - - // optional uint32 bounding_square = 7; - bool has_bounding_square() const; - private: - bool _internal_has_bounding_square() const; - public: - void clear_bounding_square(); - uint32_t bounding_square() const; - void set_bounding_square(uint32_t value); - private: - uint32_t _internal_bounding_square() const; - void _internal_set_bounding_square(uint32_t value); - public: - - // optional bool is_opaque = 8; - bool has_is_opaque() const; - private: - bool _internal_has_is_opaque() const; - public: - void clear_is_opaque(); - bool is_opaque() const; - void set_is_opaque(bool value); - private: - bool _internal_is_opaque() const; - void _internal_set_is_opaque(bool value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.SpriteInfo) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > sprite_id_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Box > bounding_box_per_direction_; - ::Canary::protobuf::appearances::SpriteAnimation* animation_; - uint32_t pattern_width_; - uint32_t pattern_height_; - uint32_t pattern_depth_; - uint32_t layers_; - uint32_t bounding_square_; - bool is_opaque_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class FrameGroup final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.FrameGroup) */ { - public: - inline FrameGroup() : FrameGroup(nullptr) {} - ~FrameGroup() override; - explicit PROTOBUF_CONSTEXPR FrameGroup(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FrameGroup(const FrameGroup& from); - FrameGroup(FrameGroup&& from) noexcept - : FrameGroup() { - *this = ::std::move(from); - } - - inline FrameGroup& operator=(const FrameGroup& from) { - CopyFrom(from); - return *this; - } - inline FrameGroup& operator=(FrameGroup&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const FrameGroup& default_instance() { - return *internal_default_instance(); - } - static inline const FrameGroup* internal_default_instance() { - return reinterpret_cast( - &_FrameGroup_default_instance_); - } - static constexpr int kIndexInFileMessages = - 6; - - friend void swap(FrameGroup& a, FrameGroup& b) { - a.Swap(&b); - } - inline void Swap(FrameGroup* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(FrameGroup* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - FrameGroup* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FrameGroup& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FrameGroup& from) { - FrameGroup::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FrameGroup* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.FrameGroup"; - } - protected: - explicit FrameGroup(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSpriteInfoFieldNumber = 3, - kFixedFrameGroupFieldNumber = 1, - kIdFieldNumber = 2, - }; - // optional .Canary.protobuf.appearances.SpriteInfo sprite_info = 3; - bool has_sprite_info() const; - private: - bool _internal_has_sprite_info() const; - public: - void clear_sprite_info(); - const ::Canary::protobuf::appearances::SpriteInfo& sprite_info() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::SpriteInfo* release_sprite_info(); - ::Canary::protobuf::appearances::SpriteInfo* mutable_sprite_info(); - void set_allocated_sprite_info(::Canary::protobuf::appearances::SpriteInfo* sprite_info); - private: - const ::Canary::protobuf::appearances::SpriteInfo& _internal_sprite_info() const; - ::Canary::protobuf::appearances::SpriteInfo* _internal_mutable_sprite_info(); - public: - void unsafe_arena_set_allocated_sprite_info( - ::Canary::protobuf::appearances::SpriteInfo* sprite_info); - ::Canary::protobuf::appearances::SpriteInfo* unsafe_arena_release_sprite_info(); - - // optional .Canary.protobuf.appearances.FIXED_FRAME_GROUP fixed_frame_group = 1; - bool has_fixed_frame_group() const; - private: - bool _internal_has_fixed_frame_group() const; - public: - void clear_fixed_frame_group(); - ::Canary::protobuf::appearances::FIXED_FRAME_GROUP fixed_frame_group() const; - void set_fixed_frame_group(::Canary::protobuf::appearances::FIXED_FRAME_GROUP value); - private: - ::Canary::protobuf::appearances::FIXED_FRAME_GROUP _internal_fixed_frame_group() const; - void _internal_set_fixed_frame_group(::Canary::protobuf::appearances::FIXED_FRAME_GROUP value); - public: - - // optional uint32 id = 2; - bool has_id() const; - private: - bool _internal_has_id() const; - public: - void clear_id(); - uint32_t id() const; - void set_id(uint32_t value); - private: - uint32_t _internal_id() const; - void _internal_set_id(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.FrameGroup) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::Canary::protobuf::appearances::SpriteInfo* sprite_info_; - int fixed_frame_group_; - uint32_t id_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class Appearance final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.Appearance) */ { - public: - inline Appearance() : Appearance(nullptr) {} - ~Appearance() override; - explicit PROTOBUF_CONSTEXPR Appearance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - Appearance(const Appearance& from); - Appearance(Appearance&& from) noexcept - : Appearance() { - *this = ::std::move(from); - } - - inline Appearance& operator=(const Appearance& from) { - CopyFrom(from); - return *this; - } - inline Appearance& operator=(Appearance&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const Appearance& default_instance() { - return *internal_default_instance(); - } - static inline const Appearance* internal_default_instance() { - return reinterpret_cast( - &_Appearance_default_instance_); - } - static constexpr int kIndexInFileMessages = - 7; - - friend void swap(Appearance& a, Appearance& b) { - a.Swap(&b); - } - inline void Swap(Appearance* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(Appearance* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - Appearance* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Appearance& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Appearance& from) { - Appearance::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Appearance* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.Appearance"; - } - protected: - explicit Appearance(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFrameGroupFieldNumber = 2, - kNameFieldNumber = 4, - kDescriptionFieldNumber = 5, - kFlagsFieldNumber = 3, - kIdFieldNumber = 1, - }; - // repeated .Canary.protobuf.appearances.FrameGroup frame_group = 2; - int frame_group_size() const; - private: - int _internal_frame_group_size() const; - public: - void clear_frame_group(); - ::Canary::protobuf::appearances::FrameGroup* mutable_frame_group(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::FrameGroup >* - mutable_frame_group(); - private: - const ::Canary::protobuf::appearances::FrameGroup& _internal_frame_group(int index) const; - ::Canary::protobuf::appearances::FrameGroup* _internal_add_frame_group(); - public: - const ::Canary::protobuf::appearances::FrameGroup& frame_group(int index) const; - ::Canary::protobuf::appearances::FrameGroup* add_frame_group(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::FrameGroup >& - frame_group() const; - - // optional bytes name = 4; - bool has_name() const; - private: - bool _internal_has_name() const; - public: - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // optional bytes description = 5; - bool has_description() const; - private: - bool _internal_has_description() const; - public: - void clear_description(); - const std::string& description() const; - template - void set_description(ArgT0&& arg0, ArgT... args); - std::string* mutable_description(); - PROTOBUF_NODISCARD std::string* release_description(); - void set_allocated_description(std::string* description); - private: - const std::string& _internal_description() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_description(const std::string& value); - std::string* _internal_mutable_description(); - public: - - // optional .Canary.protobuf.appearances.AppearanceFlags flags = 3; - bool has_flags() const; - private: - bool _internal_has_flags() const; - public: - void clear_flags(); - const ::Canary::protobuf::appearances::AppearanceFlags& flags() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlags* release_flags(); - ::Canary::protobuf::appearances::AppearanceFlags* mutable_flags(); - void set_allocated_flags(::Canary::protobuf::appearances::AppearanceFlags* flags); - private: - const ::Canary::protobuf::appearances::AppearanceFlags& _internal_flags() const; - ::Canary::protobuf::appearances::AppearanceFlags* _internal_mutable_flags(); - public: - void unsafe_arena_set_allocated_flags( - ::Canary::protobuf::appearances::AppearanceFlags* flags); - ::Canary::protobuf::appearances::AppearanceFlags* unsafe_arena_release_flags(); - - // optional uint32 id = 1; - bool has_id() const; - private: - bool _internal_has_id() const; - public: - void clear_id(); - uint32_t id() const; - void set_id(uint32_t value); - private: - uint32_t _internal_id() const; - void _internal_set_id(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.Appearance) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::FrameGroup > frame_group_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_; - ::Canary::protobuf::appearances::AppearanceFlags* flags_; - uint32_t id_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlags final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlags) */ { - public: - inline AppearanceFlags() : AppearanceFlags(nullptr) {} - ~AppearanceFlags() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlags(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlags(const AppearanceFlags& from); - AppearanceFlags(AppearanceFlags&& from) noexcept - : AppearanceFlags() { - *this = ::std::move(from); - } - - inline AppearanceFlags& operator=(const AppearanceFlags& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlags& operator=(AppearanceFlags&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlags& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlags* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlags_default_instance_); - } - static constexpr int kIndexInFileMessages = - 8; - - friend void swap(AppearanceFlags& a, AppearanceFlags& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlags* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlags* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlags* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlags& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlags& from) { - AppearanceFlags::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlags* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlags"; - } - protected: - explicit AppearanceFlags(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kNpcsaledataFieldNumber = 40, - kBankFieldNumber = 1, - kWriteFieldNumber = 10, - kWriteOnceFieldNumber = 11, - kHookFieldNumber = 21, - kLightFieldNumber = 23, - kShiftFieldNumber = 26, - kHeightFieldNumber = 27, - kAutomapFieldNumber = 30, - kLenshelpFieldNumber = 31, - kClothesFieldNumber = 34, - kDefaultActionFieldNumber = 35, - kMarketFieldNumber = 36, - kChangedtoexpireFieldNumber = 41, - kCyclopediaitemFieldNumber = 44, - kUpgradeclassificationFieldNumber = 48, - kClipFieldNumber = 2, - kBottomFieldNumber = 3, - kTopFieldNumber = 4, - kContainerFieldNumber = 5, - kCumulativeFieldNumber = 6, - kUsableFieldNumber = 7, - kForceuseFieldNumber = 8, - kMultiuseFieldNumber = 9, - kLiquidpoolFieldNumber = 12, - kUnpassFieldNumber = 13, - kUnmoveFieldNumber = 14, - kUnsightFieldNumber = 15, - kAvoidFieldNumber = 16, - kNoMovementAnimationFieldNumber = 17, - kTakeFieldNumber = 18, - kLiquidcontainerFieldNumber = 19, - kHangFieldNumber = 20, - kRotateFieldNumber = 22, - kDontHideFieldNumber = 24, - kTranslucentFieldNumber = 25, - kLyingObjectFieldNumber = 28, - kAnimateAlwaysFieldNumber = 29, - kFullbankFieldNumber = 32, - kIgnoreLookFieldNumber = 33, - kWrapFieldNumber = 37, - kUnwrapFieldNumber = 38, - kTopeffectFieldNumber = 39, - kCorpseFieldNumber = 42, - kPlayerCorpseFieldNumber = 43, - kAmmoFieldNumber = 45, - kShowOffSocketFieldNumber = 46, - kReportableFieldNumber = 47, - kReverseAddonsEastFieldNumber = 49, - kReverseAddonsWestFieldNumber = 50, - kReverseAddonsSouthFieldNumber = 51, - kReverseAddonsNorthFieldNumber = 52, - kWearoutFieldNumber = 53, - kClockexpireFieldNumber = 54, - kExpireFieldNumber = 55, - kExpirestopFieldNumber = 56, - kWrapkitFieldNumber = 57, - }; - // repeated .Canary.protobuf.appearances.AppearanceFlagNPC npcsaledata = 40; - int npcsaledata_size() const; - private: - int _internal_npcsaledata_size() const; - public: - void clear_npcsaledata(); - ::Canary::protobuf::appearances::AppearanceFlagNPC* mutable_npcsaledata(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::AppearanceFlagNPC >* - mutable_npcsaledata(); - private: - const ::Canary::protobuf::appearances::AppearanceFlagNPC& _internal_npcsaledata(int index) const; - ::Canary::protobuf::appearances::AppearanceFlagNPC* _internal_add_npcsaledata(); - public: - const ::Canary::protobuf::appearances::AppearanceFlagNPC& npcsaledata(int index) const; - ::Canary::protobuf::appearances::AppearanceFlagNPC* add_npcsaledata(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::AppearanceFlagNPC >& - npcsaledata() const; - - // optional .Canary.protobuf.appearances.AppearanceFlagBank bank = 1; - bool has_bank() const; - private: - bool _internal_has_bank() const; - public: - void clear_bank(); - const ::Canary::protobuf::appearances::AppearanceFlagBank& bank() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagBank* release_bank(); - ::Canary::protobuf::appearances::AppearanceFlagBank* mutable_bank(); - void set_allocated_bank(::Canary::protobuf::appearances::AppearanceFlagBank* bank); - private: - const ::Canary::protobuf::appearances::AppearanceFlagBank& _internal_bank() const; - ::Canary::protobuf::appearances::AppearanceFlagBank* _internal_mutable_bank(); - public: - void unsafe_arena_set_allocated_bank( - ::Canary::protobuf::appearances::AppearanceFlagBank* bank); - ::Canary::protobuf::appearances::AppearanceFlagBank* unsafe_arena_release_bank(); - - // optional .Canary.protobuf.appearances.AppearanceFlagWrite write = 10; - bool has_write() const; - private: - bool _internal_has_write() const; - public: - void clear_write(); - const ::Canary::protobuf::appearances::AppearanceFlagWrite& write() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagWrite* release_write(); - ::Canary::protobuf::appearances::AppearanceFlagWrite* mutable_write(); - void set_allocated_write(::Canary::protobuf::appearances::AppearanceFlagWrite* write); - private: - const ::Canary::protobuf::appearances::AppearanceFlagWrite& _internal_write() const; - ::Canary::protobuf::appearances::AppearanceFlagWrite* _internal_mutable_write(); - public: - void unsafe_arena_set_allocated_write( - ::Canary::protobuf::appearances::AppearanceFlagWrite* write); - ::Canary::protobuf::appearances::AppearanceFlagWrite* unsafe_arena_release_write(); - - // optional .Canary.protobuf.appearances.AppearanceFlagWriteOnce write_once = 11; - bool has_write_once() const; - private: - bool _internal_has_write_once() const; - public: - void clear_write_once(); - const ::Canary::protobuf::appearances::AppearanceFlagWriteOnce& write_once() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* release_write_once(); - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* mutable_write_once(); - void set_allocated_write_once(::Canary::protobuf::appearances::AppearanceFlagWriteOnce* write_once); - private: - const ::Canary::protobuf::appearances::AppearanceFlagWriteOnce& _internal_write_once() const; - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* _internal_mutable_write_once(); - public: - void unsafe_arena_set_allocated_write_once( - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* write_once); - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* unsafe_arena_release_write_once(); - - // optional .Canary.protobuf.appearances.AppearanceFlagHook hook = 21; - bool has_hook() const; - private: - bool _internal_has_hook() const; - public: - void clear_hook(); - const ::Canary::protobuf::appearances::AppearanceFlagHook& hook() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagHook* release_hook(); - ::Canary::protobuf::appearances::AppearanceFlagHook* mutable_hook(); - void set_allocated_hook(::Canary::protobuf::appearances::AppearanceFlagHook* hook); - private: - const ::Canary::protobuf::appearances::AppearanceFlagHook& _internal_hook() const; - ::Canary::protobuf::appearances::AppearanceFlagHook* _internal_mutable_hook(); - public: - void unsafe_arena_set_allocated_hook( - ::Canary::protobuf::appearances::AppearanceFlagHook* hook); - ::Canary::protobuf::appearances::AppearanceFlagHook* unsafe_arena_release_hook(); - - // optional .Canary.protobuf.appearances.AppearanceFlagLight light = 23; - bool has_light() const; - private: - bool _internal_has_light() const; - public: - void clear_light(); - const ::Canary::protobuf::appearances::AppearanceFlagLight& light() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagLight* release_light(); - ::Canary::protobuf::appearances::AppearanceFlagLight* mutable_light(); - void set_allocated_light(::Canary::protobuf::appearances::AppearanceFlagLight* light); - private: - const ::Canary::protobuf::appearances::AppearanceFlagLight& _internal_light() const; - ::Canary::protobuf::appearances::AppearanceFlagLight* _internal_mutable_light(); - public: - void unsafe_arena_set_allocated_light( - ::Canary::protobuf::appearances::AppearanceFlagLight* light); - ::Canary::protobuf::appearances::AppearanceFlagLight* unsafe_arena_release_light(); - - // optional .Canary.protobuf.appearances.AppearanceFlagShift shift = 26; - bool has_shift() const; - private: - bool _internal_has_shift() const; - public: - void clear_shift(); - const ::Canary::protobuf::appearances::AppearanceFlagShift& shift() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagShift* release_shift(); - ::Canary::protobuf::appearances::AppearanceFlagShift* mutable_shift(); - void set_allocated_shift(::Canary::protobuf::appearances::AppearanceFlagShift* shift); - private: - const ::Canary::protobuf::appearances::AppearanceFlagShift& _internal_shift() const; - ::Canary::protobuf::appearances::AppearanceFlagShift* _internal_mutable_shift(); - public: - void unsafe_arena_set_allocated_shift( - ::Canary::protobuf::appearances::AppearanceFlagShift* shift); - ::Canary::protobuf::appearances::AppearanceFlagShift* unsafe_arena_release_shift(); - - // optional .Canary.protobuf.appearances.AppearanceFlagHeight height = 27; - bool has_height() const; - private: - bool _internal_has_height() const; - public: - void clear_height(); - const ::Canary::protobuf::appearances::AppearanceFlagHeight& height() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagHeight* release_height(); - ::Canary::protobuf::appearances::AppearanceFlagHeight* mutable_height(); - void set_allocated_height(::Canary::protobuf::appearances::AppearanceFlagHeight* height); - private: - const ::Canary::protobuf::appearances::AppearanceFlagHeight& _internal_height() const; - ::Canary::protobuf::appearances::AppearanceFlagHeight* _internal_mutable_height(); - public: - void unsafe_arena_set_allocated_height( - ::Canary::protobuf::appearances::AppearanceFlagHeight* height); - ::Canary::protobuf::appearances::AppearanceFlagHeight* unsafe_arena_release_height(); - - // optional .Canary.protobuf.appearances.AppearanceFlagAutomap automap = 30; - bool has_automap() const; - private: - bool _internal_has_automap() const; - public: - void clear_automap(); - const ::Canary::protobuf::appearances::AppearanceFlagAutomap& automap() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagAutomap* release_automap(); - ::Canary::protobuf::appearances::AppearanceFlagAutomap* mutable_automap(); - void set_allocated_automap(::Canary::protobuf::appearances::AppearanceFlagAutomap* automap); - private: - const ::Canary::protobuf::appearances::AppearanceFlagAutomap& _internal_automap() const; - ::Canary::protobuf::appearances::AppearanceFlagAutomap* _internal_mutable_automap(); - public: - void unsafe_arena_set_allocated_automap( - ::Canary::protobuf::appearances::AppearanceFlagAutomap* automap); - ::Canary::protobuf::appearances::AppearanceFlagAutomap* unsafe_arena_release_automap(); - - // optional .Canary.protobuf.appearances.AppearanceFlagLenshelp lenshelp = 31; - bool has_lenshelp() const; - private: - bool _internal_has_lenshelp() const; - public: - void clear_lenshelp(); - const ::Canary::protobuf::appearances::AppearanceFlagLenshelp& lenshelp() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagLenshelp* release_lenshelp(); - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* mutable_lenshelp(); - void set_allocated_lenshelp(::Canary::protobuf::appearances::AppearanceFlagLenshelp* lenshelp); - private: - const ::Canary::protobuf::appearances::AppearanceFlagLenshelp& _internal_lenshelp() const; - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* _internal_mutable_lenshelp(); - public: - void unsafe_arena_set_allocated_lenshelp( - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* lenshelp); - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* unsafe_arena_release_lenshelp(); - - // optional .Canary.protobuf.appearances.AppearanceFlagClothes clothes = 34; - bool has_clothes() const; - private: - bool _internal_has_clothes() const; - public: - void clear_clothes(); - const ::Canary::protobuf::appearances::AppearanceFlagClothes& clothes() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagClothes* release_clothes(); - ::Canary::protobuf::appearances::AppearanceFlagClothes* mutable_clothes(); - void set_allocated_clothes(::Canary::protobuf::appearances::AppearanceFlagClothes* clothes); - private: - const ::Canary::protobuf::appearances::AppearanceFlagClothes& _internal_clothes() const; - ::Canary::protobuf::appearances::AppearanceFlagClothes* _internal_mutable_clothes(); - public: - void unsafe_arena_set_allocated_clothes( - ::Canary::protobuf::appearances::AppearanceFlagClothes* clothes); - ::Canary::protobuf::appearances::AppearanceFlagClothes* unsafe_arena_release_clothes(); - - // optional .Canary.protobuf.appearances.AppearanceFlagDefaultAction default_action = 35; - bool has_default_action() const; - private: - bool _internal_has_default_action() const; - public: - void clear_default_action(); - const ::Canary::protobuf::appearances::AppearanceFlagDefaultAction& default_action() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* release_default_action(); - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* mutable_default_action(); - void set_allocated_default_action(::Canary::protobuf::appearances::AppearanceFlagDefaultAction* default_action); - private: - const ::Canary::protobuf::appearances::AppearanceFlagDefaultAction& _internal_default_action() const; - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* _internal_mutable_default_action(); - public: - void unsafe_arena_set_allocated_default_action( - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* default_action); - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* unsafe_arena_release_default_action(); - - // optional .Canary.protobuf.appearances.AppearanceFlagMarket market = 36; - bool has_market() const; - private: - bool _internal_has_market() const; - public: - void clear_market(); - const ::Canary::protobuf::appearances::AppearanceFlagMarket& market() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagMarket* release_market(); - ::Canary::protobuf::appearances::AppearanceFlagMarket* mutable_market(); - void set_allocated_market(::Canary::protobuf::appearances::AppearanceFlagMarket* market); - private: - const ::Canary::protobuf::appearances::AppearanceFlagMarket& _internal_market() const; - ::Canary::protobuf::appearances::AppearanceFlagMarket* _internal_mutable_market(); - public: - void unsafe_arena_set_allocated_market( - ::Canary::protobuf::appearances::AppearanceFlagMarket* market); - ::Canary::protobuf::appearances::AppearanceFlagMarket* unsafe_arena_release_market(); - - // optional .Canary.protobuf.appearances.AppearanceFlagChangedToExpire changedtoexpire = 41; - bool has_changedtoexpire() const; - private: - bool _internal_has_changedtoexpire() const; - public: - void clear_changedtoexpire(); - const ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire& changedtoexpire() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* release_changedtoexpire(); - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* mutable_changedtoexpire(); - void set_allocated_changedtoexpire(::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* changedtoexpire); - private: - const ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire& _internal_changedtoexpire() const; - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* _internal_mutable_changedtoexpire(); - public: - void unsafe_arena_set_allocated_changedtoexpire( - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* changedtoexpire); - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* unsafe_arena_release_changedtoexpire(); - - // optional .Canary.protobuf.appearances.AppearanceFlagCyclopedia cyclopediaitem = 44; - bool has_cyclopediaitem() const; - private: - bool _internal_has_cyclopediaitem() const; - public: - void clear_cyclopediaitem(); - const ::Canary::protobuf::appearances::AppearanceFlagCyclopedia& cyclopediaitem() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* release_cyclopediaitem(); - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* mutable_cyclopediaitem(); - void set_allocated_cyclopediaitem(::Canary::protobuf::appearances::AppearanceFlagCyclopedia* cyclopediaitem); - private: - const ::Canary::protobuf::appearances::AppearanceFlagCyclopedia& _internal_cyclopediaitem() const; - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* _internal_mutable_cyclopediaitem(); - public: - void unsafe_arena_set_allocated_cyclopediaitem( - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* cyclopediaitem); - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* unsafe_arena_release_cyclopediaitem(); - - // optional .Canary.protobuf.appearances.AppearanceFlagUpgradeClassification upgradeclassification = 48; - bool has_upgradeclassification() const; - private: - bool _internal_has_upgradeclassification() const; - public: - void clear_upgradeclassification(); - const ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification& upgradeclassification() const; - PROTOBUF_NODISCARD ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* release_upgradeclassification(); - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* mutable_upgradeclassification(); - void set_allocated_upgradeclassification(::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* upgradeclassification); - private: - const ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification& _internal_upgradeclassification() const; - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* _internal_mutable_upgradeclassification(); - public: - void unsafe_arena_set_allocated_upgradeclassification( - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* upgradeclassification); - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* unsafe_arena_release_upgradeclassification(); - - // optional bool clip = 2; - bool has_clip() const; - private: - bool _internal_has_clip() const; - public: - void clear_clip(); - bool clip() const; - void set_clip(bool value); - private: - bool _internal_clip() const; - void _internal_set_clip(bool value); - public: - - // optional bool bottom = 3; - bool has_bottom() const; - private: - bool _internal_has_bottom() const; - public: - void clear_bottom(); - bool bottom() const; - void set_bottom(bool value); - private: - bool _internal_bottom() const; - void _internal_set_bottom(bool value); - public: - - // optional bool top = 4; - bool has_top() const; - private: - bool _internal_has_top() const; - public: - void clear_top(); - bool top() const; - void set_top(bool value); - private: - bool _internal_top() const; - void _internal_set_top(bool value); - public: - - // optional bool container = 5; - bool has_container() const; - private: - bool _internal_has_container() const; - public: - void clear_container(); - bool container() const; - void set_container(bool value); - private: - bool _internal_container() const; - void _internal_set_container(bool value); - public: - - // optional bool cumulative = 6; - bool has_cumulative() const; - private: - bool _internal_has_cumulative() const; - public: - void clear_cumulative(); - bool cumulative() const; - void set_cumulative(bool value); - private: - bool _internal_cumulative() const; - void _internal_set_cumulative(bool value); - public: - - // optional bool usable = 7; - bool has_usable() const; - private: - bool _internal_has_usable() const; - public: - void clear_usable(); - bool usable() const; - void set_usable(bool value); - private: - bool _internal_usable() const; - void _internal_set_usable(bool value); - public: - - // optional bool forceuse = 8; - bool has_forceuse() const; - private: - bool _internal_has_forceuse() const; - public: - void clear_forceuse(); - bool forceuse() const; - void set_forceuse(bool value); - private: - bool _internal_forceuse() const; - void _internal_set_forceuse(bool value); - public: - - // optional bool multiuse = 9; - bool has_multiuse() const; - private: - bool _internal_has_multiuse() const; - public: - void clear_multiuse(); - bool multiuse() const; - void set_multiuse(bool value); - private: - bool _internal_multiuse() const; - void _internal_set_multiuse(bool value); - public: - - // optional bool liquidpool = 12; - bool has_liquidpool() const; - private: - bool _internal_has_liquidpool() const; - public: - void clear_liquidpool(); - bool liquidpool() const; - void set_liquidpool(bool value); - private: - bool _internal_liquidpool() const; - void _internal_set_liquidpool(bool value); - public: - - // optional bool unpass = 13; - bool has_unpass() const; - private: - bool _internal_has_unpass() const; - public: - void clear_unpass(); - bool unpass() const; - void set_unpass(bool value); - private: - bool _internal_unpass() const; - void _internal_set_unpass(bool value); - public: - - // optional bool unmove = 14; - bool has_unmove() const; - private: - bool _internal_has_unmove() const; - public: - void clear_unmove(); - bool unmove() const; - void set_unmove(bool value); - private: - bool _internal_unmove() const; - void _internal_set_unmove(bool value); - public: - - // optional bool unsight = 15; - bool has_unsight() const; - private: - bool _internal_has_unsight() const; - public: - void clear_unsight(); - bool unsight() const; - void set_unsight(bool value); - private: - bool _internal_unsight() const; - void _internal_set_unsight(bool value); - public: - - // optional bool avoid = 16; - bool has_avoid() const; - private: - bool _internal_has_avoid() const; - public: - void clear_avoid(); - bool avoid() const; - void set_avoid(bool value); - private: - bool _internal_avoid() const; - void _internal_set_avoid(bool value); - public: - - // optional bool no_movement_animation = 17; - bool has_no_movement_animation() const; - private: - bool _internal_has_no_movement_animation() const; - public: - void clear_no_movement_animation(); - bool no_movement_animation() const; - void set_no_movement_animation(bool value); - private: - bool _internal_no_movement_animation() const; - void _internal_set_no_movement_animation(bool value); - public: - - // optional bool take = 18; - bool has_take() const; - private: - bool _internal_has_take() const; - public: - void clear_take(); - bool take() const; - void set_take(bool value); - private: - bool _internal_take() const; - void _internal_set_take(bool value); - public: - - // optional bool liquidcontainer = 19; - bool has_liquidcontainer() const; - private: - bool _internal_has_liquidcontainer() const; - public: - void clear_liquidcontainer(); - bool liquidcontainer() const; - void set_liquidcontainer(bool value); - private: - bool _internal_liquidcontainer() const; - void _internal_set_liquidcontainer(bool value); - public: - - // optional bool hang = 20; - bool has_hang() const; - private: - bool _internal_has_hang() const; - public: - void clear_hang(); - bool hang() const; - void set_hang(bool value); - private: - bool _internal_hang() const; - void _internal_set_hang(bool value); - public: - - // optional bool rotate = 22; - bool has_rotate() const; - private: - bool _internal_has_rotate() const; - public: - void clear_rotate(); - bool rotate() const; - void set_rotate(bool value); - private: - bool _internal_rotate() const; - void _internal_set_rotate(bool value); - public: - - // optional bool dont_hide = 24; - bool has_dont_hide() const; - private: - bool _internal_has_dont_hide() const; - public: - void clear_dont_hide(); - bool dont_hide() const; - void set_dont_hide(bool value); - private: - bool _internal_dont_hide() const; - void _internal_set_dont_hide(bool value); - public: - - // optional bool translucent = 25; - bool has_translucent() const; - private: - bool _internal_has_translucent() const; - public: - void clear_translucent(); - bool translucent() const; - void set_translucent(bool value); - private: - bool _internal_translucent() const; - void _internal_set_translucent(bool value); - public: - - // optional bool lying_object = 28; - bool has_lying_object() const; - private: - bool _internal_has_lying_object() const; - public: - void clear_lying_object(); - bool lying_object() const; - void set_lying_object(bool value); - private: - bool _internal_lying_object() const; - void _internal_set_lying_object(bool value); - public: - - // optional bool animate_always = 29; - bool has_animate_always() const; - private: - bool _internal_has_animate_always() const; - public: - void clear_animate_always(); - bool animate_always() const; - void set_animate_always(bool value); - private: - bool _internal_animate_always() const; - void _internal_set_animate_always(bool value); - public: - - // optional bool fullbank = 32; - bool has_fullbank() const; - private: - bool _internal_has_fullbank() const; - public: - void clear_fullbank(); - bool fullbank() const; - void set_fullbank(bool value); - private: - bool _internal_fullbank() const; - void _internal_set_fullbank(bool value); - public: - - // optional bool ignore_look = 33; - bool has_ignore_look() const; - private: - bool _internal_has_ignore_look() const; - public: - void clear_ignore_look(); - bool ignore_look() const; - void set_ignore_look(bool value); - private: - bool _internal_ignore_look() const; - void _internal_set_ignore_look(bool value); - public: - - // optional bool wrap = 37; - bool has_wrap() const; - private: - bool _internal_has_wrap() const; - public: - void clear_wrap(); - bool wrap() const; - void set_wrap(bool value); - private: - bool _internal_wrap() const; - void _internal_set_wrap(bool value); - public: - - // optional bool unwrap = 38; - bool has_unwrap() const; - private: - bool _internal_has_unwrap() const; - public: - void clear_unwrap(); - bool unwrap() const; - void set_unwrap(bool value); - private: - bool _internal_unwrap() const; - void _internal_set_unwrap(bool value); - public: - - // optional bool topeffect = 39; - bool has_topeffect() const; - private: - bool _internal_has_topeffect() const; - public: - void clear_topeffect(); - bool topeffect() const; - void set_topeffect(bool value); - private: - bool _internal_topeffect() const; - void _internal_set_topeffect(bool value); - public: - - // optional bool corpse = 42; - bool has_corpse() const; - private: - bool _internal_has_corpse() const; - public: - void clear_corpse(); - bool corpse() const; - void set_corpse(bool value); - private: - bool _internal_corpse() const; - void _internal_set_corpse(bool value); - public: - - // optional bool player_corpse = 43; - bool has_player_corpse() const; - private: - bool _internal_has_player_corpse() const; - public: - void clear_player_corpse(); - bool player_corpse() const; - void set_player_corpse(bool value); - private: - bool _internal_player_corpse() const; - void _internal_set_player_corpse(bool value); - public: - - // optional bool ammo = 45; - bool has_ammo() const; - private: - bool _internal_has_ammo() const; - public: - void clear_ammo(); - bool ammo() const; - void set_ammo(bool value); - private: - bool _internal_ammo() const; - void _internal_set_ammo(bool value); - public: - - // optional bool show_off_socket = 46; - bool has_show_off_socket() const; - private: - bool _internal_has_show_off_socket() const; - public: - void clear_show_off_socket(); - bool show_off_socket() const; - void set_show_off_socket(bool value); - private: - bool _internal_show_off_socket() const; - void _internal_set_show_off_socket(bool value); - public: - - // optional bool reportable = 47; - bool has_reportable() const; - private: - bool _internal_has_reportable() const; - public: - void clear_reportable(); - bool reportable() const; - void set_reportable(bool value); - private: - bool _internal_reportable() const; - void _internal_set_reportable(bool value); - public: - - // optional bool reverse_addons_east = 49; - bool has_reverse_addons_east() const; - private: - bool _internal_has_reverse_addons_east() const; - public: - void clear_reverse_addons_east(); - bool reverse_addons_east() const; - void set_reverse_addons_east(bool value); - private: - bool _internal_reverse_addons_east() const; - void _internal_set_reverse_addons_east(bool value); - public: - - // optional bool reverse_addons_west = 50; - bool has_reverse_addons_west() const; - private: - bool _internal_has_reverse_addons_west() const; - public: - void clear_reverse_addons_west(); - bool reverse_addons_west() const; - void set_reverse_addons_west(bool value); - private: - bool _internal_reverse_addons_west() const; - void _internal_set_reverse_addons_west(bool value); - public: - - // optional bool reverse_addons_south = 51; - bool has_reverse_addons_south() const; - private: - bool _internal_has_reverse_addons_south() const; - public: - void clear_reverse_addons_south(); - bool reverse_addons_south() const; - void set_reverse_addons_south(bool value); - private: - bool _internal_reverse_addons_south() const; - void _internal_set_reverse_addons_south(bool value); - public: - - // optional bool reverse_addons_north = 52; - bool has_reverse_addons_north() const; - private: - bool _internal_has_reverse_addons_north() const; - public: - void clear_reverse_addons_north(); - bool reverse_addons_north() const; - void set_reverse_addons_north(bool value); - private: - bool _internal_reverse_addons_north() const; - void _internal_set_reverse_addons_north(bool value); - public: - - // optional bool wearout = 53; - bool has_wearout() const; - private: - bool _internal_has_wearout() const; - public: - void clear_wearout(); - bool wearout() const; - void set_wearout(bool value); - private: - bool _internal_wearout() const; - void _internal_set_wearout(bool value); - public: - - // optional bool clockexpire = 54; - bool has_clockexpire() const; - private: - bool _internal_has_clockexpire() const; - public: - void clear_clockexpire(); - bool clockexpire() const; - void set_clockexpire(bool value); - private: - bool _internal_clockexpire() const; - void _internal_set_clockexpire(bool value); - public: - - // optional bool expire = 55; - bool has_expire() const; - private: - bool _internal_has_expire() const; - public: - void clear_expire(); - bool expire() const; - void set_expire(bool value); - private: - bool _internal_expire() const; - void _internal_set_expire(bool value); - public: - - // optional bool expirestop = 56; - bool has_expirestop() const; - private: - bool _internal_has_expirestop() const; - public: - void clear_expirestop(); - bool expirestop() const; - void set_expirestop(bool value); - private: - bool _internal_expirestop() const; - void _internal_set_expirestop(bool value); - public: - - // optional bool wrapkit = 57; - bool has_wrapkit() const; - private: - bool _internal_has_wrapkit() const; - public: - void clear_wrapkit(); - bool wrapkit() const; - void set_wrapkit(bool value); - private: - bool _internal_wrapkit() const; - void _internal_set_wrapkit(bool value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlags) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::AppearanceFlagNPC > npcsaledata_; - ::Canary::protobuf::appearances::AppearanceFlagBank* bank_; - ::Canary::protobuf::appearances::AppearanceFlagWrite* write_; - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* write_once_; - ::Canary::protobuf::appearances::AppearanceFlagHook* hook_; - ::Canary::protobuf::appearances::AppearanceFlagLight* light_; - ::Canary::protobuf::appearances::AppearanceFlagShift* shift_; - ::Canary::protobuf::appearances::AppearanceFlagHeight* height_; - ::Canary::protobuf::appearances::AppearanceFlagAutomap* automap_; - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* lenshelp_; - ::Canary::protobuf::appearances::AppearanceFlagClothes* clothes_; - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* default_action_; - ::Canary::protobuf::appearances::AppearanceFlagMarket* market_; - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* changedtoexpire_; - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* cyclopediaitem_; - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* upgradeclassification_; - bool clip_; - bool bottom_; - bool top_; - bool container_; - bool cumulative_; - bool usable_; - bool forceuse_; - bool multiuse_; - bool liquidpool_; - bool unpass_; - bool unmove_; - bool unsight_; - bool avoid_; - bool no_movement_animation_; - bool take_; - bool liquidcontainer_; - bool hang_; - bool rotate_; - bool dont_hide_; - bool translucent_; - bool lying_object_; - bool animate_always_; - bool fullbank_; - bool ignore_look_; - bool wrap_; - bool unwrap_; - bool topeffect_; - bool corpse_; - bool player_corpse_; - bool ammo_; - bool show_off_socket_; - bool reportable_; - bool reverse_addons_east_; - bool reverse_addons_west_; - bool reverse_addons_south_; - bool reverse_addons_north_; - bool wearout_; - bool clockexpire_; - bool expire_; - bool expirestop_; - bool wrapkit_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagUpgradeClassification final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) */ { - public: - inline AppearanceFlagUpgradeClassification() : AppearanceFlagUpgradeClassification(nullptr) {} - ~AppearanceFlagUpgradeClassification() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagUpgradeClassification(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagUpgradeClassification(const AppearanceFlagUpgradeClassification& from); - AppearanceFlagUpgradeClassification(AppearanceFlagUpgradeClassification&& from) noexcept - : AppearanceFlagUpgradeClassification() { - *this = ::std::move(from); - } - - inline AppearanceFlagUpgradeClassification& operator=(const AppearanceFlagUpgradeClassification& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagUpgradeClassification& operator=(AppearanceFlagUpgradeClassification&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagUpgradeClassification& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagUpgradeClassification* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagUpgradeClassification_default_instance_); - } - static constexpr int kIndexInFileMessages = - 9; - - friend void swap(AppearanceFlagUpgradeClassification& a, AppearanceFlagUpgradeClassification& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagUpgradeClassification* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagUpgradeClassification* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagUpgradeClassification* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagUpgradeClassification& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagUpgradeClassification& from) { - AppearanceFlagUpgradeClassification::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagUpgradeClassification* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagUpgradeClassification"; - } - protected: - explicit AppearanceFlagUpgradeClassification(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kUpgradeClassificationFieldNumber = 1, - }; - // optional uint32 upgrade_classification = 1; - bool has_upgrade_classification() const; - private: - bool _internal_has_upgrade_classification() const; - public: - void clear_upgrade_classification(); - uint32_t upgrade_classification() const; - void set_upgrade_classification(uint32_t value); - private: - uint32_t _internal_upgrade_classification() const; - void _internal_set_upgrade_classification(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t upgrade_classification_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagBank final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagBank) */ { - public: - inline AppearanceFlagBank() : AppearanceFlagBank(nullptr) {} - ~AppearanceFlagBank() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagBank(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagBank(const AppearanceFlagBank& from); - AppearanceFlagBank(AppearanceFlagBank&& from) noexcept - : AppearanceFlagBank() { - *this = ::std::move(from); - } - - inline AppearanceFlagBank& operator=(const AppearanceFlagBank& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagBank& operator=(AppearanceFlagBank&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagBank& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagBank* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagBank_default_instance_); - } - static constexpr int kIndexInFileMessages = - 10; - - friend void swap(AppearanceFlagBank& a, AppearanceFlagBank& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagBank* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagBank* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagBank* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagBank& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagBank& from) { - AppearanceFlagBank::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagBank* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagBank"; - } - protected: - explicit AppearanceFlagBank(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kWaypointsFieldNumber = 1, - }; - // optional uint32 waypoints = 1; - bool has_waypoints() const; - private: - bool _internal_has_waypoints() const; - public: - void clear_waypoints(); - uint32_t waypoints() const; - void set_waypoints(uint32_t value); - private: - uint32_t _internal_waypoints() const; - void _internal_set_waypoints(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagBank) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t waypoints_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagWrite final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagWrite) */ { - public: - inline AppearanceFlagWrite() : AppearanceFlagWrite(nullptr) {} - ~AppearanceFlagWrite() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagWrite(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagWrite(const AppearanceFlagWrite& from); - AppearanceFlagWrite(AppearanceFlagWrite&& from) noexcept - : AppearanceFlagWrite() { - *this = ::std::move(from); - } - - inline AppearanceFlagWrite& operator=(const AppearanceFlagWrite& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagWrite& operator=(AppearanceFlagWrite&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagWrite& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagWrite* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagWrite_default_instance_); - } - static constexpr int kIndexInFileMessages = - 11; - - friend void swap(AppearanceFlagWrite& a, AppearanceFlagWrite& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagWrite* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagWrite* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagWrite* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagWrite& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagWrite& from) { - AppearanceFlagWrite::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagWrite* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagWrite"; - } - protected: - explicit AppearanceFlagWrite(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kMaxTextLengthFieldNumber = 1, - }; - // optional uint32 max_text_length = 1; - bool has_max_text_length() const; - private: - bool _internal_has_max_text_length() const; - public: - void clear_max_text_length(); - uint32_t max_text_length() const; - void set_max_text_length(uint32_t value); - private: - uint32_t _internal_max_text_length() const; - void _internal_set_max_text_length(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagWrite) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t max_text_length_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagWriteOnce final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagWriteOnce) */ { - public: - inline AppearanceFlagWriteOnce() : AppearanceFlagWriteOnce(nullptr) {} - ~AppearanceFlagWriteOnce() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagWriteOnce(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagWriteOnce(const AppearanceFlagWriteOnce& from); - AppearanceFlagWriteOnce(AppearanceFlagWriteOnce&& from) noexcept - : AppearanceFlagWriteOnce() { - *this = ::std::move(from); - } - - inline AppearanceFlagWriteOnce& operator=(const AppearanceFlagWriteOnce& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagWriteOnce& operator=(AppearanceFlagWriteOnce&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagWriteOnce& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagWriteOnce* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagWriteOnce_default_instance_); - } - static constexpr int kIndexInFileMessages = - 12; - - friend void swap(AppearanceFlagWriteOnce& a, AppearanceFlagWriteOnce& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagWriteOnce* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagWriteOnce* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagWriteOnce* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagWriteOnce& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagWriteOnce& from) { - AppearanceFlagWriteOnce::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagWriteOnce* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagWriteOnce"; - } - protected: - explicit AppearanceFlagWriteOnce(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kMaxTextLengthOnceFieldNumber = 1, - }; - // optional uint32 max_text_length_once = 1; - bool has_max_text_length_once() const; - private: - bool _internal_has_max_text_length_once() const; - public: - void clear_max_text_length_once(); - uint32_t max_text_length_once() const; - void set_max_text_length_once(uint32_t value); - private: - uint32_t _internal_max_text_length_once() const; - void _internal_set_max_text_length_once(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagWriteOnce) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t max_text_length_once_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagLight final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagLight) */ { - public: - inline AppearanceFlagLight() : AppearanceFlagLight(nullptr) {} - ~AppearanceFlagLight() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagLight(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagLight(const AppearanceFlagLight& from); - AppearanceFlagLight(AppearanceFlagLight&& from) noexcept - : AppearanceFlagLight() { - *this = ::std::move(from); - } - - inline AppearanceFlagLight& operator=(const AppearanceFlagLight& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagLight& operator=(AppearanceFlagLight&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagLight& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagLight* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagLight_default_instance_); - } - static constexpr int kIndexInFileMessages = - 13; - - friend void swap(AppearanceFlagLight& a, AppearanceFlagLight& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagLight* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagLight* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagLight* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagLight& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagLight& from) { - AppearanceFlagLight::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagLight* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagLight"; - } - protected: - explicit AppearanceFlagLight(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kBrightnessFieldNumber = 1, - kColorFieldNumber = 2, - }; - // optional uint32 brightness = 1; - bool has_brightness() const; - private: - bool _internal_has_brightness() const; - public: - void clear_brightness(); - uint32_t brightness() const; - void set_brightness(uint32_t value); - private: - uint32_t _internal_brightness() const; - void _internal_set_brightness(uint32_t value); - public: - - // optional uint32 color = 2; - bool has_color() const; - private: - bool _internal_has_color() const; - public: - void clear_color(); - uint32_t color() const; - void set_color(uint32_t value); - private: - uint32_t _internal_color() const; - void _internal_set_color(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagLight) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t brightness_; - uint32_t color_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagHeight final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagHeight) */ { - public: - inline AppearanceFlagHeight() : AppearanceFlagHeight(nullptr) {} - ~AppearanceFlagHeight() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagHeight(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagHeight(const AppearanceFlagHeight& from); - AppearanceFlagHeight(AppearanceFlagHeight&& from) noexcept - : AppearanceFlagHeight() { - *this = ::std::move(from); - } - - inline AppearanceFlagHeight& operator=(const AppearanceFlagHeight& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagHeight& operator=(AppearanceFlagHeight&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagHeight& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagHeight* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagHeight_default_instance_); - } - static constexpr int kIndexInFileMessages = - 14; - - friend void swap(AppearanceFlagHeight& a, AppearanceFlagHeight& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagHeight* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagHeight* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagHeight* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagHeight& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagHeight& from) { - AppearanceFlagHeight::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagHeight* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagHeight"; - } - protected: - explicit AppearanceFlagHeight(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kElevationFieldNumber = 1, - }; - // optional uint32 elevation = 1; - bool has_elevation() const; - private: - bool _internal_has_elevation() const; - public: - void clear_elevation(); - uint32_t elevation() const; - void set_elevation(uint32_t value); - private: - uint32_t _internal_elevation() const; - void _internal_set_elevation(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagHeight) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t elevation_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagShift final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagShift) */ { - public: - inline AppearanceFlagShift() : AppearanceFlagShift(nullptr) {} - ~AppearanceFlagShift() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagShift(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagShift(const AppearanceFlagShift& from); - AppearanceFlagShift(AppearanceFlagShift&& from) noexcept - : AppearanceFlagShift() { - *this = ::std::move(from); - } - - inline AppearanceFlagShift& operator=(const AppearanceFlagShift& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagShift& operator=(AppearanceFlagShift&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagShift& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagShift* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagShift_default_instance_); - } - static constexpr int kIndexInFileMessages = - 15; - - friend void swap(AppearanceFlagShift& a, AppearanceFlagShift& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagShift* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagShift* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagShift* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagShift& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagShift& from) { - AppearanceFlagShift::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagShift* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagShift"; - } - protected: - explicit AppearanceFlagShift(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kXFieldNumber = 1, - kYFieldNumber = 2, - }; - // optional uint32 x = 1; - bool has_x() const; - private: - bool _internal_has_x() const; - public: - void clear_x(); - uint32_t x() const; - void set_x(uint32_t value); - private: - uint32_t _internal_x() const; - void _internal_set_x(uint32_t value); - public: - - // optional uint32 y = 2; - bool has_y() const; - private: - bool _internal_has_y() const; - public: - void clear_y(); - uint32_t y() const; - void set_y(uint32_t value); - private: - uint32_t _internal_y() const; - void _internal_set_y(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagShift) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t x_; - uint32_t y_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagClothes final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagClothes) */ { - public: - inline AppearanceFlagClothes() : AppearanceFlagClothes(nullptr) {} - ~AppearanceFlagClothes() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagClothes(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagClothes(const AppearanceFlagClothes& from); - AppearanceFlagClothes(AppearanceFlagClothes&& from) noexcept - : AppearanceFlagClothes() { - *this = ::std::move(from); - } - - inline AppearanceFlagClothes& operator=(const AppearanceFlagClothes& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagClothes& operator=(AppearanceFlagClothes&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagClothes& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagClothes* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagClothes_default_instance_); - } - static constexpr int kIndexInFileMessages = - 16; - - friend void swap(AppearanceFlagClothes& a, AppearanceFlagClothes& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagClothes* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagClothes* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagClothes* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagClothes& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagClothes& from) { - AppearanceFlagClothes::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagClothes* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagClothes"; - } - protected: - explicit AppearanceFlagClothes(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSlotFieldNumber = 1, - }; - // optional uint32 slot = 1; - bool has_slot() const; - private: - bool _internal_has_slot() const; - public: - void clear_slot(); - uint32_t slot() const; - void set_slot(uint32_t value); - private: - uint32_t _internal_slot() const; - void _internal_set_slot(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagClothes) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t slot_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagDefaultAction final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagDefaultAction) */ { - public: - inline AppearanceFlagDefaultAction() : AppearanceFlagDefaultAction(nullptr) {} - ~AppearanceFlagDefaultAction() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagDefaultAction(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagDefaultAction(const AppearanceFlagDefaultAction& from); - AppearanceFlagDefaultAction(AppearanceFlagDefaultAction&& from) noexcept - : AppearanceFlagDefaultAction() { - *this = ::std::move(from); - } - - inline AppearanceFlagDefaultAction& operator=(const AppearanceFlagDefaultAction& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagDefaultAction& operator=(AppearanceFlagDefaultAction&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagDefaultAction& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagDefaultAction* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagDefaultAction_default_instance_); - } - static constexpr int kIndexInFileMessages = - 17; - - friend void swap(AppearanceFlagDefaultAction& a, AppearanceFlagDefaultAction& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagDefaultAction* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagDefaultAction* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagDefaultAction* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagDefaultAction& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagDefaultAction& from) { - AppearanceFlagDefaultAction::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagDefaultAction* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagDefaultAction"; - } - protected: - explicit AppearanceFlagDefaultAction(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kActionFieldNumber = 1, - }; - // optional .Canary.protobuf.appearances.PLAYER_ACTION action = 1; - bool has_action() const; - private: - bool _internal_has_action() const; - public: - void clear_action(); - ::Canary::protobuf::appearances::PLAYER_ACTION action() const; - void set_action(::Canary::protobuf::appearances::PLAYER_ACTION value); - private: - ::Canary::protobuf::appearances::PLAYER_ACTION _internal_action() const; - void _internal_set_action(::Canary::protobuf::appearances::PLAYER_ACTION value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagDefaultAction) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - int action_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagMarket final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagMarket) */ { - public: - inline AppearanceFlagMarket() : AppearanceFlagMarket(nullptr) {} - ~AppearanceFlagMarket() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagMarket(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagMarket(const AppearanceFlagMarket& from); - AppearanceFlagMarket(AppearanceFlagMarket&& from) noexcept - : AppearanceFlagMarket() { - *this = ::std::move(from); - } - - inline AppearanceFlagMarket& operator=(const AppearanceFlagMarket& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagMarket& operator=(AppearanceFlagMarket&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagMarket& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagMarket* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagMarket_default_instance_); - } - static constexpr int kIndexInFileMessages = - 18; - - friend void swap(AppearanceFlagMarket& a, AppearanceFlagMarket& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagMarket* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagMarket* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagMarket* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagMarket& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagMarket& from) { - AppearanceFlagMarket::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagMarket* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagMarket"; - } - protected: - explicit AppearanceFlagMarket(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kRestrictToProfessionFieldNumber = 5, - kTradeAsObjectIdFieldNumber = 2, - kShowAsObjectIdFieldNumber = 3, - kMinimumLevelFieldNumber = 6, - kCategoryFieldNumber = 1, - }; - // repeated .Canary.protobuf.appearances.PLAYER_PROFESSION restrict_to_profession = 5; - int restrict_to_profession_size() const; - private: - int _internal_restrict_to_profession_size() const; - public: - void clear_restrict_to_profession(); - private: - ::Canary::protobuf::appearances::PLAYER_PROFESSION _internal_restrict_to_profession(int index) const; - void _internal_add_restrict_to_profession(::Canary::protobuf::appearances::PLAYER_PROFESSION value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_restrict_to_profession(); - public: - ::Canary::protobuf::appearances::PLAYER_PROFESSION restrict_to_profession(int index) const; - void set_restrict_to_profession(int index, ::Canary::protobuf::appearances::PLAYER_PROFESSION value); - void add_restrict_to_profession(::Canary::protobuf::appearances::PLAYER_PROFESSION value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField& restrict_to_profession() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_restrict_to_profession(); - - // optional uint32 trade_as_object_id = 2; - bool has_trade_as_object_id() const; - private: - bool _internal_has_trade_as_object_id() const; - public: - void clear_trade_as_object_id(); - uint32_t trade_as_object_id() const; - void set_trade_as_object_id(uint32_t value); - private: - uint32_t _internal_trade_as_object_id() const; - void _internal_set_trade_as_object_id(uint32_t value); - public: - - // optional uint32 show_as_object_id = 3; - bool has_show_as_object_id() const; - private: - bool _internal_has_show_as_object_id() const; - public: - void clear_show_as_object_id(); - uint32_t show_as_object_id() const; - void set_show_as_object_id(uint32_t value); - private: - uint32_t _internal_show_as_object_id() const; - void _internal_set_show_as_object_id(uint32_t value); - public: - - // optional uint32 minimum_level = 6; - bool has_minimum_level() const; - private: - bool _internal_has_minimum_level() const; - public: - void clear_minimum_level(); - uint32_t minimum_level() const; - void set_minimum_level(uint32_t value); - private: - uint32_t _internal_minimum_level() const; - void _internal_set_minimum_level(uint32_t value); - public: - - // optional .Canary.protobuf.appearances.ITEM_CATEGORY category = 1; - bool has_category() const; - private: - bool _internal_has_category() const; - public: - void clear_category(); - ::Canary::protobuf::appearances::ITEM_CATEGORY category() const; - void set_category(::Canary::protobuf::appearances::ITEM_CATEGORY value); - private: - ::Canary::protobuf::appearances::ITEM_CATEGORY _internal_category() const; - void _internal_set_category(::Canary::protobuf::appearances::ITEM_CATEGORY value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagMarket) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField restrict_to_profession_; - uint32_t trade_as_object_id_; - uint32_t show_as_object_id_; - uint32_t minimum_level_; - int category_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagNPC final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagNPC) */ { - public: - inline AppearanceFlagNPC() : AppearanceFlagNPC(nullptr) {} - ~AppearanceFlagNPC() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagNPC(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagNPC(const AppearanceFlagNPC& from); - AppearanceFlagNPC(AppearanceFlagNPC&& from) noexcept - : AppearanceFlagNPC() { - *this = ::std::move(from); - } - - inline AppearanceFlagNPC& operator=(const AppearanceFlagNPC& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagNPC& operator=(AppearanceFlagNPC&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagNPC& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagNPC* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagNPC_default_instance_); - } - static constexpr int kIndexInFileMessages = - 19; - - friend void swap(AppearanceFlagNPC& a, AppearanceFlagNPC& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagNPC* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagNPC* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagNPC* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagNPC& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagNPC& from) { - AppearanceFlagNPC::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagNPC* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagNPC"; - } - protected: - explicit AppearanceFlagNPC(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kNameFieldNumber = 1, - kLocationFieldNumber = 2, - kCurrencyQuestFlagDisplayNameFieldNumber = 6, - kSalePriceFieldNumber = 3, - kBuyPriceFieldNumber = 4, - kCurrencyObjectTypeIdFieldNumber = 5, - }; - // optional bytes name = 1; - bool has_name() const; - private: - bool _internal_has_name() const; - public: - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // optional bytes location = 2; - bool has_location() const; - private: - bool _internal_has_location() const; - public: - void clear_location(); - const std::string& location() const; - template - void set_location(ArgT0&& arg0, ArgT... args); - std::string* mutable_location(); - PROTOBUF_NODISCARD std::string* release_location(); - void set_allocated_location(std::string* location); - private: - const std::string& _internal_location() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_location(const std::string& value); - std::string* _internal_mutable_location(); - public: - - // optional bytes currency_quest_flag_display_name = 6; - bool has_currency_quest_flag_display_name() const; - private: - bool _internal_has_currency_quest_flag_display_name() const; - public: - void clear_currency_quest_flag_display_name(); - const std::string& currency_quest_flag_display_name() const; - template - void set_currency_quest_flag_display_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_currency_quest_flag_display_name(); - PROTOBUF_NODISCARD std::string* release_currency_quest_flag_display_name(); - void set_allocated_currency_quest_flag_display_name(std::string* currency_quest_flag_display_name); - private: - const std::string& _internal_currency_quest_flag_display_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_currency_quest_flag_display_name(const std::string& value); - std::string* _internal_mutable_currency_quest_flag_display_name(); - public: - - // optional uint32 sale_price = 3; - bool has_sale_price() const; - private: - bool _internal_has_sale_price() const; - public: - void clear_sale_price(); - uint32_t sale_price() const; - void set_sale_price(uint32_t value); - private: - uint32_t _internal_sale_price() const; - void _internal_set_sale_price(uint32_t value); - public: - - // optional uint32 buy_price = 4; - bool has_buy_price() const; - private: - bool _internal_has_buy_price() const; - public: - void clear_buy_price(); - uint32_t buy_price() const; - void set_buy_price(uint32_t value); - private: - uint32_t _internal_buy_price() const; - void _internal_set_buy_price(uint32_t value); - public: - - // optional uint32 currency_object_type_id = 5; - bool has_currency_object_type_id() const; - private: - bool _internal_has_currency_object_type_id() const; - public: - void clear_currency_object_type_id(); - uint32_t currency_object_type_id() const; - void set_currency_object_type_id(uint32_t value); - private: - uint32_t _internal_currency_object_type_id() const; - void _internal_set_currency_object_type_id(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagNPC) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr location_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr currency_quest_flag_display_name_; - uint32_t sale_price_; - uint32_t buy_price_; - uint32_t currency_object_type_id_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagAutomap final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagAutomap) */ { - public: - inline AppearanceFlagAutomap() : AppearanceFlagAutomap(nullptr) {} - ~AppearanceFlagAutomap() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagAutomap(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagAutomap(const AppearanceFlagAutomap& from); - AppearanceFlagAutomap(AppearanceFlagAutomap&& from) noexcept - : AppearanceFlagAutomap() { - *this = ::std::move(from); - } - - inline AppearanceFlagAutomap& operator=(const AppearanceFlagAutomap& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagAutomap& operator=(AppearanceFlagAutomap&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagAutomap& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagAutomap* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagAutomap_default_instance_); - } - static constexpr int kIndexInFileMessages = - 20; - - friend void swap(AppearanceFlagAutomap& a, AppearanceFlagAutomap& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagAutomap* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagAutomap* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagAutomap* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagAutomap& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagAutomap& from) { - AppearanceFlagAutomap::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagAutomap* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagAutomap"; - } - protected: - explicit AppearanceFlagAutomap(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kColorFieldNumber = 1, - }; - // optional uint32 color = 1; - bool has_color() const; - private: - bool _internal_has_color() const; - public: - void clear_color(); - uint32_t color() const; - void set_color(uint32_t value); - private: - uint32_t _internal_color() const; - void _internal_set_color(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagAutomap) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t color_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagHook final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagHook) */ { - public: - inline AppearanceFlagHook() : AppearanceFlagHook(nullptr) {} - ~AppearanceFlagHook() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagHook(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagHook(const AppearanceFlagHook& from); - AppearanceFlagHook(AppearanceFlagHook&& from) noexcept - : AppearanceFlagHook() { - *this = ::std::move(from); - } - - inline AppearanceFlagHook& operator=(const AppearanceFlagHook& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagHook& operator=(AppearanceFlagHook&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagHook& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagHook* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagHook_default_instance_); - } - static constexpr int kIndexInFileMessages = - 21; - - friend void swap(AppearanceFlagHook& a, AppearanceFlagHook& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagHook* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagHook* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagHook* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagHook& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagHook& from) { - AppearanceFlagHook::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagHook* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagHook"; - } - protected: - explicit AppearanceFlagHook(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kDirectionFieldNumber = 1, - }; - // optional .Canary.protobuf.appearances.HOOK_TYPE direction = 1; - bool has_direction() const; - private: - bool _internal_has_direction() const; - public: - void clear_direction(); - ::Canary::protobuf::appearances::HOOK_TYPE direction() const; - void set_direction(::Canary::protobuf::appearances::HOOK_TYPE value); - private: - ::Canary::protobuf::appearances::HOOK_TYPE _internal_direction() const; - void _internal_set_direction(::Canary::protobuf::appearances::HOOK_TYPE value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagHook) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - int direction_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagLenshelp final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagLenshelp) */ { - public: - inline AppearanceFlagLenshelp() : AppearanceFlagLenshelp(nullptr) {} - ~AppearanceFlagLenshelp() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagLenshelp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagLenshelp(const AppearanceFlagLenshelp& from); - AppearanceFlagLenshelp(AppearanceFlagLenshelp&& from) noexcept - : AppearanceFlagLenshelp() { - *this = ::std::move(from); - } - - inline AppearanceFlagLenshelp& operator=(const AppearanceFlagLenshelp& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagLenshelp& operator=(AppearanceFlagLenshelp&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagLenshelp& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagLenshelp* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagLenshelp_default_instance_); - } - static constexpr int kIndexInFileMessages = - 22; - - friend void swap(AppearanceFlagLenshelp& a, AppearanceFlagLenshelp& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagLenshelp* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagLenshelp* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagLenshelp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagLenshelp& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagLenshelp& from) { - AppearanceFlagLenshelp::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagLenshelp* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagLenshelp"; - } - protected: - explicit AppearanceFlagLenshelp(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kIdFieldNumber = 1, - }; - // optional uint32 id = 1; - bool has_id() const; - private: - bool _internal_has_id() const; - public: - void clear_id(); - uint32_t id() const; - void set_id(uint32_t value); - private: - uint32_t _internal_id() const; - void _internal_set_id(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagLenshelp) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t id_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagChangedToExpire final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) */ { - public: - inline AppearanceFlagChangedToExpire() : AppearanceFlagChangedToExpire(nullptr) {} - ~AppearanceFlagChangedToExpire() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagChangedToExpire(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagChangedToExpire(const AppearanceFlagChangedToExpire& from); - AppearanceFlagChangedToExpire(AppearanceFlagChangedToExpire&& from) noexcept - : AppearanceFlagChangedToExpire() { - *this = ::std::move(from); - } - - inline AppearanceFlagChangedToExpire& operator=(const AppearanceFlagChangedToExpire& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagChangedToExpire& operator=(AppearanceFlagChangedToExpire&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagChangedToExpire& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagChangedToExpire* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagChangedToExpire_default_instance_); - } - static constexpr int kIndexInFileMessages = - 23; - - friend void swap(AppearanceFlagChangedToExpire& a, AppearanceFlagChangedToExpire& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagChangedToExpire* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagChangedToExpire* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagChangedToExpire* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagChangedToExpire& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagChangedToExpire& from) { - AppearanceFlagChangedToExpire::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagChangedToExpire* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagChangedToExpire"; - } - protected: - explicit AppearanceFlagChangedToExpire(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFormerObjectTypeidFieldNumber = 1, - }; - // optional uint32 former_object_typeid = 1; - bool has_former_object_typeid() const; - private: - bool _internal_has_former_object_typeid() const; - public: - void clear_former_object_typeid(); - uint32_t former_object_typeid() const; - void set_former_object_typeid(uint32_t value); - private: - uint32_t _internal_former_object_typeid() const; - void _internal_set_former_object_typeid(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagChangedToExpire) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t former_object_typeid_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class AppearanceFlagCyclopedia final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.AppearanceFlagCyclopedia) */ { - public: - inline AppearanceFlagCyclopedia() : AppearanceFlagCyclopedia(nullptr) {} - ~AppearanceFlagCyclopedia() override; - explicit PROTOBUF_CONSTEXPR AppearanceFlagCyclopedia(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AppearanceFlagCyclopedia(const AppearanceFlagCyclopedia& from); - AppearanceFlagCyclopedia(AppearanceFlagCyclopedia&& from) noexcept - : AppearanceFlagCyclopedia() { - *this = ::std::move(from); - } - - inline AppearanceFlagCyclopedia& operator=(const AppearanceFlagCyclopedia& from) { - CopyFrom(from); - return *this; - } - inline AppearanceFlagCyclopedia& operator=(AppearanceFlagCyclopedia&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AppearanceFlagCyclopedia& default_instance() { - return *internal_default_instance(); - } - static inline const AppearanceFlagCyclopedia* internal_default_instance() { - return reinterpret_cast( - &_AppearanceFlagCyclopedia_default_instance_); - } - static constexpr int kIndexInFileMessages = - 24; - - friend void swap(AppearanceFlagCyclopedia& a, AppearanceFlagCyclopedia& b) { - a.Swap(&b); - } - inline void Swap(AppearanceFlagCyclopedia* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AppearanceFlagCyclopedia* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - AppearanceFlagCyclopedia* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AppearanceFlagCyclopedia& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AppearanceFlagCyclopedia& from) { - AppearanceFlagCyclopedia::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AppearanceFlagCyclopedia* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.AppearanceFlagCyclopedia"; - } - protected: - explicit AppearanceFlagCyclopedia(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kCyclopediaTypeFieldNumber = 1, - }; - // optional uint32 cyclopedia_type = 1; - bool has_cyclopedia_type() const; - private: - bool _internal_has_cyclopedia_type() const; - public: - void clear_cyclopedia_type(); - uint32_t cyclopedia_type() const; - void set_cyclopedia_type(uint32_t value); - private: - uint32_t _internal_cyclopedia_type() const; - void _internal_set_cyclopedia_type(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.AppearanceFlagCyclopedia) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t cyclopedia_type_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// ------------------------------------------------------------------- - -class SpecialMeaningAppearanceIds final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) */ { - public: - inline SpecialMeaningAppearanceIds() : SpecialMeaningAppearanceIds(nullptr) {} - ~SpecialMeaningAppearanceIds() override; - explicit PROTOBUF_CONSTEXPR SpecialMeaningAppearanceIds(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SpecialMeaningAppearanceIds(const SpecialMeaningAppearanceIds& from); - SpecialMeaningAppearanceIds(SpecialMeaningAppearanceIds&& from) noexcept - : SpecialMeaningAppearanceIds() { - *this = ::std::move(from); - } - - inline SpecialMeaningAppearanceIds& operator=(const SpecialMeaningAppearanceIds& from) { - CopyFrom(from); - return *this; - } - inline SpecialMeaningAppearanceIds& operator=(SpecialMeaningAppearanceIds&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const SpecialMeaningAppearanceIds& default_instance() { - return *internal_default_instance(); - } - static inline const SpecialMeaningAppearanceIds* internal_default_instance() { - return reinterpret_cast( - &_SpecialMeaningAppearanceIds_default_instance_); - } - static constexpr int kIndexInFileMessages = - 25; - - friend void swap(SpecialMeaningAppearanceIds& a, SpecialMeaningAppearanceIds& b) { - a.Swap(&b); - } - inline void Swap(SpecialMeaningAppearanceIds* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(SpecialMeaningAppearanceIds* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SpecialMeaningAppearanceIds* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SpecialMeaningAppearanceIds& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SpecialMeaningAppearanceIds& from) { - SpecialMeaningAppearanceIds::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SpecialMeaningAppearanceIds* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.appearances.SpecialMeaningAppearanceIds"; - } - protected: - explicit SpecialMeaningAppearanceIds(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kGoldCoinIdFieldNumber = 1, - kPlatinumCoinIdFieldNumber = 2, - kCrystalCoinIdFieldNumber = 3, - kTibiaCoinIdFieldNumber = 4, - kStampedLetterIdFieldNumber = 5, - kSupplyStashIdFieldNumber = 6, - kRewardChestIdFieldNumber = 7, - }; - // optional uint32 gold_coin_id = 1; - bool has_gold_coin_id() const; - private: - bool _internal_has_gold_coin_id() const; - public: - void clear_gold_coin_id(); - uint32_t gold_coin_id() const; - void set_gold_coin_id(uint32_t value); - private: - uint32_t _internal_gold_coin_id() const; - void _internal_set_gold_coin_id(uint32_t value); - public: - - // optional uint32 platinum_coin_id = 2; - bool has_platinum_coin_id() const; - private: - bool _internal_has_platinum_coin_id() const; - public: - void clear_platinum_coin_id(); - uint32_t platinum_coin_id() const; - void set_platinum_coin_id(uint32_t value); - private: - uint32_t _internal_platinum_coin_id() const; - void _internal_set_platinum_coin_id(uint32_t value); - public: - - // optional uint32 crystal_coin_id = 3; - bool has_crystal_coin_id() const; - private: - bool _internal_has_crystal_coin_id() const; - public: - void clear_crystal_coin_id(); - uint32_t crystal_coin_id() const; - void set_crystal_coin_id(uint32_t value); - private: - uint32_t _internal_crystal_coin_id() const; - void _internal_set_crystal_coin_id(uint32_t value); - public: - - // optional uint32 tibia_coin_id = 4; - bool has_tibia_coin_id() const; - private: - bool _internal_has_tibia_coin_id() const; - public: - void clear_tibia_coin_id(); - uint32_t tibia_coin_id() const; - void set_tibia_coin_id(uint32_t value); - private: - uint32_t _internal_tibia_coin_id() const; - void _internal_set_tibia_coin_id(uint32_t value); - public: - - // optional uint32 stamped_letter_id = 5; - bool has_stamped_letter_id() const; - private: - bool _internal_has_stamped_letter_id() const; - public: - void clear_stamped_letter_id(); - uint32_t stamped_letter_id() const; - void set_stamped_letter_id(uint32_t value); - private: - uint32_t _internal_stamped_letter_id() const; - void _internal_set_stamped_letter_id(uint32_t value); - public: - - // optional uint32 supply_stash_id = 6; - bool has_supply_stash_id() const; - private: - bool _internal_has_supply_stash_id() const; - public: - void clear_supply_stash_id(); - uint32_t supply_stash_id() const; - void set_supply_stash_id(uint32_t value); - private: - uint32_t _internal_supply_stash_id() const; - void _internal_set_supply_stash_id(uint32_t value); - public: - - // optional uint32 reward_chest_id = 7; - bool has_reward_chest_id() const; - private: - bool _internal_has_reward_chest_id() const; - public: - void clear_reward_chest_id(); - uint32_t reward_chest_id() const; - void set_reward_chest_id(uint32_t value); - private: - uint32_t _internal_reward_chest_id() const; - void _internal_set_reward_chest_id(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:Canary.protobuf.appearances.SpecialMeaningAppearanceIds) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t gold_coin_id_; - uint32_t platinum_coin_id_; - uint32_t crystal_coin_id_; - uint32_t tibia_coin_id_; - uint32_t stamped_letter_id_; - uint32_t supply_stash_id_; - uint32_t reward_chest_id_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_appearances_2eproto; -}; -// =================================================================== - - -// =================================================================== - -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// Coordinate - -// optional uint32 x = 1; -inline bool Coordinate::_internal_has_x() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool Coordinate::has_x() const { - return _internal_has_x(); -} -inline void Coordinate::clear_x() { - _impl_.x_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t Coordinate::_internal_x() const { - return _impl_.x_; -} -inline uint32_t Coordinate::x() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Coordinate.x) - return _internal_x(); -} -inline void Coordinate::_internal_set_x(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.x_ = value; -} -inline void Coordinate::set_x(uint32_t value) { - _internal_set_x(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Coordinate.x) -} - -// optional uint32 y = 2; -inline bool Coordinate::_internal_has_y() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool Coordinate::has_y() const { - return _internal_has_y(); -} -inline void Coordinate::clear_y() { - _impl_.y_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t Coordinate::_internal_y() const { - return _impl_.y_; -} -inline uint32_t Coordinate::y() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Coordinate.y) - return _internal_y(); -} -inline void Coordinate::_internal_set_y(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.y_ = value; -} -inline void Coordinate::set_y(uint32_t value) { - _internal_set_y(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Coordinate.y) -} - -// optional uint32 z = 3; -inline bool Coordinate::_internal_has_z() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool Coordinate::has_z() const { - return _internal_has_z(); -} -inline void Coordinate::clear_z() { - _impl_.z_ = 0u; - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline uint32_t Coordinate::_internal_z() const { - return _impl_.z_; -} -inline uint32_t Coordinate::z() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Coordinate.z) - return _internal_z(); -} -inline void Coordinate::_internal_set_z(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.z_ = value; -} -inline void Coordinate::set_z(uint32_t value) { - _internal_set_z(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Coordinate.z) -} - -// ------------------------------------------------------------------- - -// Appearances - -// repeated .Canary.protobuf.appearances.Appearance object = 1; -inline int Appearances::_internal_object_size() const { - return _impl_.object_.size(); -} -inline int Appearances::object_size() const { - return _internal_object_size(); -} -inline void Appearances::clear_object() { - _impl_.object_.Clear(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::mutable_object(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearances.object) - return _impl_.object_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* -Appearances::mutable_object() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.Appearances.object) - return &_impl_.object_; -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::_internal_object(int index) const { - return _impl_.object_.Get(index); -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::object(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearances.object) - return _internal_object(index); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::_internal_add_object() { - return _impl_.object_.Add(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::add_object() { - ::Canary::protobuf::appearances::Appearance* _add = _internal_add_object(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.Appearances.object) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& -Appearances::object() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.Appearances.object) - return _impl_.object_; -} - -// repeated .Canary.protobuf.appearances.Appearance outfit = 2; -inline int Appearances::_internal_outfit_size() const { - return _impl_.outfit_.size(); -} -inline int Appearances::outfit_size() const { - return _internal_outfit_size(); -} -inline void Appearances::clear_outfit() { - _impl_.outfit_.Clear(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::mutable_outfit(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearances.outfit) - return _impl_.outfit_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* -Appearances::mutable_outfit() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.Appearances.outfit) - return &_impl_.outfit_; -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::_internal_outfit(int index) const { - return _impl_.outfit_.Get(index); -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::outfit(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearances.outfit) - return _internal_outfit(index); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::_internal_add_outfit() { - return _impl_.outfit_.Add(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::add_outfit() { - ::Canary::protobuf::appearances::Appearance* _add = _internal_add_outfit(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.Appearances.outfit) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& -Appearances::outfit() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.Appearances.outfit) - return _impl_.outfit_; -} - -// repeated .Canary.protobuf.appearances.Appearance effect = 3; -inline int Appearances::_internal_effect_size() const { - return _impl_.effect_.size(); -} -inline int Appearances::effect_size() const { - return _internal_effect_size(); -} -inline void Appearances::clear_effect() { - _impl_.effect_.Clear(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::mutable_effect(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearances.effect) - return _impl_.effect_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* -Appearances::mutable_effect() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.Appearances.effect) - return &_impl_.effect_; -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::_internal_effect(int index) const { - return _impl_.effect_.Get(index); -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::effect(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearances.effect) - return _internal_effect(index); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::_internal_add_effect() { - return _impl_.effect_.Add(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::add_effect() { - ::Canary::protobuf::appearances::Appearance* _add = _internal_add_effect(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.Appearances.effect) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& -Appearances::effect() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.Appearances.effect) - return _impl_.effect_; -} - -// repeated .Canary.protobuf.appearances.Appearance missile = 4; -inline int Appearances::_internal_missile_size() const { - return _impl_.missile_.size(); -} -inline int Appearances::missile_size() const { - return _internal_missile_size(); -} -inline void Appearances::clear_missile() { - _impl_.missile_.Clear(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::mutable_missile(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearances.missile) - return _impl_.missile_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >* -Appearances::mutable_missile() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.Appearances.missile) - return &_impl_.missile_; -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::_internal_missile(int index) const { - return _impl_.missile_.Get(index); -} -inline const ::Canary::protobuf::appearances::Appearance& Appearances::missile(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearances.missile) - return _internal_missile(index); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::_internal_add_missile() { - return _impl_.missile_.Add(); -} -inline ::Canary::protobuf::appearances::Appearance* Appearances::add_missile() { - ::Canary::protobuf::appearances::Appearance* _add = _internal_add_missile(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.Appearances.missile) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Appearance >& -Appearances::missile() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.Appearances.missile) - return _impl_.missile_; -} - -// optional .Canary.protobuf.appearances.SpecialMeaningAppearanceIds special_meaning_appearance_ids = 5; -inline bool Appearances::_internal_has_special_meaning_appearance_ids() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.special_meaning_appearance_ids_ != nullptr); - return value; -} -inline bool Appearances::has_special_meaning_appearance_ids() const { - return _internal_has_special_meaning_appearance_ids(); -} -inline void Appearances::clear_special_meaning_appearance_ids() { - if (_impl_.special_meaning_appearance_ids_ != nullptr) _impl_.special_meaning_appearance_ids_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds& Appearances::_internal_special_meaning_appearance_ids() const { - const ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* p = _impl_.special_meaning_appearance_ids_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_SpecialMeaningAppearanceIds_default_instance_); -} -inline const ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds& Appearances::special_meaning_appearance_ids() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearances.special_meaning_appearance_ids) - return _internal_special_meaning_appearance_ids(); -} -inline void Appearances::unsafe_arena_set_allocated_special_meaning_appearance_ids( - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* special_meaning_appearance_ids) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.special_meaning_appearance_ids_); - } - _impl_.special_meaning_appearance_ids_ = special_meaning_appearance_ids; - if (special_meaning_appearance_ids) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.Appearances.special_meaning_appearance_ids) -} -inline ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* Appearances::release_special_meaning_appearance_ids() { - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* temp = _impl_.special_meaning_appearance_ids_; - _impl_.special_meaning_appearance_ids_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* Appearances::unsafe_arena_release_special_meaning_appearance_ids() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.Appearances.special_meaning_appearance_ids) - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* temp = _impl_.special_meaning_appearance_ids_; - _impl_.special_meaning_appearance_ids_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* Appearances::_internal_mutable_special_meaning_appearance_ids() { - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.special_meaning_appearance_ids_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::SpecialMeaningAppearanceIds>(GetArenaForAllocation()); - _impl_.special_meaning_appearance_ids_ = p; - } - return _impl_.special_meaning_appearance_ids_; -} -inline ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* Appearances::mutable_special_meaning_appearance_ids() { - ::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* _msg = _internal_mutable_special_meaning_appearance_ids(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearances.special_meaning_appearance_ids) - return _msg; -} -inline void Appearances::set_allocated_special_meaning_appearance_ids(::Canary::protobuf::appearances::SpecialMeaningAppearanceIds* special_meaning_appearance_ids) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.special_meaning_appearance_ids_; - } - if (special_meaning_appearance_ids) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(special_meaning_appearance_ids); - if (message_arena != submessage_arena) { - special_meaning_appearance_ids = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, special_meaning_appearance_ids, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - _impl_.special_meaning_appearance_ids_ = special_meaning_appearance_ids; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.Appearances.special_meaning_appearance_ids) -} - -// ------------------------------------------------------------------- - -// SpritePhase - -// optional uint32 duration_min = 1; -inline bool SpritePhase::_internal_has_duration_min() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool SpritePhase::has_duration_min() const { - return _internal_has_duration_min(); -} -inline void SpritePhase::clear_duration_min() { - _impl_.duration_min_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t SpritePhase::_internal_duration_min() const { - return _impl_.duration_min_; -} -inline uint32_t SpritePhase::duration_min() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpritePhase.duration_min) - return _internal_duration_min(); -} -inline void SpritePhase::_internal_set_duration_min(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.duration_min_ = value; -} -inline void SpritePhase::set_duration_min(uint32_t value) { - _internal_set_duration_min(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpritePhase.duration_min) -} - -// optional uint32 duration_max = 2; -inline bool SpritePhase::_internal_has_duration_max() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool SpritePhase::has_duration_max() const { - return _internal_has_duration_max(); -} -inline void SpritePhase::clear_duration_max() { - _impl_.duration_max_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t SpritePhase::_internal_duration_max() const { - return _impl_.duration_max_; -} -inline uint32_t SpritePhase::duration_max() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpritePhase.duration_max) - return _internal_duration_max(); -} -inline void SpritePhase::_internal_set_duration_max(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.duration_max_ = value; -} -inline void SpritePhase::set_duration_max(uint32_t value) { - _internal_set_duration_max(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpritePhase.duration_max) -} - -// ------------------------------------------------------------------- - -// SpriteAnimation - -// optional uint32 default_start_phase = 1; -inline bool SpriteAnimation::_internal_has_default_start_phase() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool SpriteAnimation::has_default_start_phase() const { - return _internal_has_default_start_phase(); -} -inline void SpriteAnimation::clear_default_start_phase() { - _impl_.default_start_phase_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t SpriteAnimation::_internal_default_start_phase() const { - return _impl_.default_start_phase_; -} -inline uint32_t SpriteAnimation::default_start_phase() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteAnimation.default_start_phase) - return _internal_default_start_phase(); -} -inline void SpriteAnimation::_internal_set_default_start_phase(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.default_start_phase_ = value; -} -inline void SpriteAnimation::set_default_start_phase(uint32_t value) { - _internal_set_default_start_phase(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteAnimation.default_start_phase) -} - -// optional bool synchronized = 2; -inline bool SpriteAnimation::_internal_has_synchronized() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool SpriteAnimation::has_synchronized() const { - return _internal_has_synchronized(); -} -inline void SpriteAnimation::clear_synchronized() { - _impl_.synchronized_ = false; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline bool SpriteAnimation::_internal_synchronized() const { - return _impl_.synchronized_; -} -inline bool SpriteAnimation::synchronized() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteAnimation.synchronized) - return _internal_synchronized(); -} -inline void SpriteAnimation::_internal_set_synchronized(bool value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.synchronized_ = value; -} -inline void SpriteAnimation::set_synchronized(bool value) { - _internal_set_synchronized(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteAnimation.synchronized) -} - -// optional bool random_start_phase = 3; -inline bool SpriteAnimation::_internal_has_random_start_phase() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool SpriteAnimation::has_random_start_phase() const { - return _internal_has_random_start_phase(); -} -inline void SpriteAnimation::clear_random_start_phase() { - _impl_.random_start_phase_ = false; - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline bool SpriteAnimation::_internal_random_start_phase() const { - return _impl_.random_start_phase_; -} -inline bool SpriteAnimation::random_start_phase() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteAnimation.random_start_phase) - return _internal_random_start_phase(); -} -inline void SpriteAnimation::_internal_set_random_start_phase(bool value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.random_start_phase_ = value; -} -inline void SpriteAnimation::set_random_start_phase(bool value) { - _internal_set_random_start_phase(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteAnimation.random_start_phase) -} - -// optional .Canary.protobuf.appearances.ANIMATION_LOOP_TYPE loop_type = 4; -inline bool SpriteAnimation::_internal_has_loop_type() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - return value; -} -inline bool SpriteAnimation::has_loop_type() const { - return _internal_has_loop_type(); -} -inline void SpriteAnimation::clear_loop_type() { - _impl_.loop_type_ = -1; - _impl_._has_bits_[0] &= ~0x00000010u; -} -inline ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE SpriteAnimation::_internal_loop_type() const { - return static_cast< ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE >(_impl_.loop_type_); -} -inline ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE SpriteAnimation::loop_type() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteAnimation.loop_type) - return _internal_loop_type(); -} -inline void SpriteAnimation::_internal_set_loop_type(::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE value) { - assert(::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE_IsValid(value)); - _impl_._has_bits_[0] |= 0x00000010u; - _impl_.loop_type_ = value; -} -inline void SpriteAnimation::set_loop_type(::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE value) { - _internal_set_loop_type(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteAnimation.loop_type) -} - -// optional uint32 loop_count = 5; -inline bool SpriteAnimation::_internal_has_loop_count() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool SpriteAnimation::has_loop_count() const { - return _internal_has_loop_count(); -} -inline void SpriteAnimation::clear_loop_count() { - _impl_.loop_count_ = 0u; - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline uint32_t SpriteAnimation::_internal_loop_count() const { - return _impl_.loop_count_; -} -inline uint32_t SpriteAnimation::loop_count() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteAnimation.loop_count) - return _internal_loop_count(); -} -inline void SpriteAnimation::_internal_set_loop_count(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000008u; - _impl_.loop_count_ = value; -} -inline void SpriteAnimation::set_loop_count(uint32_t value) { - _internal_set_loop_count(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteAnimation.loop_count) -} - -// repeated .Canary.protobuf.appearances.SpritePhase sprite_phase = 6; -inline int SpriteAnimation::_internal_sprite_phase_size() const { - return _impl_.sprite_phase_.size(); -} -inline int SpriteAnimation::sprite_phase_size() const { - return _internal_sprite_phase_size(); -} -inline void SpriteAnimation::clear_sprite_phase() { - _impl_.sprite_phase_.Clear(); -} -inline ::Canary::protobuf::appearances::SpritePhase* SpriteAnimation::mutable_sprite_phase(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.SpriteAnimation.sprite_phase) - return _impl_.sprite_phase_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::SpritePhase >* -SpriteAnimation::mutable_sprite_phase() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.SpriteAnimation.sprite_phase) - return &_impl_.sprite_phase_; -} -inline const ::Canary::protobuf::appearances::SpritePhase& SpriteAnimation::_internal_sprite_phase(int index) const { - return _impl_.sprite_phase_.Get(index); -} -inline const ::Canary::protobuf::appearances::SpritePhase& SpriteAnimation::sprite_phase(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteAnimation.sprite_phase) - return _internal_sprite_phase(index); -} -inline ::Canary::protobuf::appearances::SpritePhase* SpriteAnimation::_internal_add_sprite_phase() { - return _impl_.sprite_phase_.Add(); -} -inline ::Canary::protobuf::appearances::SpritePhase* SpriteAnimation::add_sprite_phase() { - ::Canary::protobuf::appearances::SpritePhase* _add = _internal_add_sprite_phase(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.SpriteAnimation.sprite_phase) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::SpritePhase >& -SpriteAnimation::sprite_phase() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.SpriteAnimation.sprite_phase) - return _impl_.sprite_phase_; -} - -// ------------------------------------------------------------------- - -// Box - -// optional uint32 x = 1; -inline bool Box::_internal_has_x() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool Box::has_x() const { - return _internal_has_x(); -} -inline void Box::clear_x() { - _impl_.x_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t Box::_internal_x() const { - return _impl_.x_; -} -inline uint32_t Box::x() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Box.x) - return _internal_x(); -} -inline void Box::_internal_set_x(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.x_ = value; -} -inline void Box::set_x(uint32_t value) { - _internal_set_x(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Box.x) -} - -// optional uint32 y = 2; -inline bool Box::_internal_has_y() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool Box::has_y() const { - return _internal_has_y(); -} -inline void Box::clear_y() { - _impl_.y_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t Box::_internal_y() const { - return _impl_.y_; -} -inline uint32_t Box::y() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Box.y) - return _internal_y(); -} -inline void Box::_internal_set_y(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.y_ = value; -} -inline void Box::set_y(uint32_t value) { - _internal_set_y(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Box.y) -} - -// optional uint32 width = 3; -inline bool Box::_internal_has_width() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool Box::has_width() const { - return _internal_has_width(); -} -inline void Box::clear_width() { - _impl_.width_ = 0u; - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline uint32_t Box::_internal_width() const { - return _impl_.width_; -} -inline uint32_t Box::width() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Box.width) - return _internal_width(); -} -inline void Box::_internal_set_width(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.width_ = value; -} -inline void Box::set_width(uint32_t value) { - _internal_set_width(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Box.width) -} - -// optional uint32 height = 4; -inline bool Box::_internal_has_height() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool Box::has_height() const { - return _internal_has_height(); -} -inline void Box::clear_height() { - _impl_.height_ = 0u; - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline uint32_t Box::_internal_height() const { - return _impl_.height_; -} -inline uint32_t Box::height() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Box.height) - return _internal_height(); -} -inline void Box::_internal_set_height(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000008u; - _impl_.height_ = value; -} -inline void Box::set_height(uint32_t value) { - _internal_set_height(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Box.height) -} - -// ------------------------------------------------------------------- - -// SpriteInfo - -// optional uint32 pattern_width = 1; -inline bool SpriteInfo::_internal_has_pattern_width() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool SpriteInfo::has_pattern_width() const { - return _internal_has_pattern_width(); -} -inline void SpriteInfo::clear_pattern_width() { - _impl_.pattern_width_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t SpriteInfo::_internal_pattern_width() const { - return _impl_.pattern_width_; -} -inline uint32_t SpriteInfo::pattern_width() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.pattern_width) - return _internal_pattern_width(); -} -inline void SpriteInfo::_internal_set_pattern_width(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.pattern_width_ = value; -} -inline void SpriteInfo::set_pattern_width(uint32_t value) { - _internal_set_pattern_width(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteInfo.pattern_width) -} - -// optional uint32 pattern_height = 2; -inline bool SpriteInfo::_internal_has_pattern_height() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool SpriteInfo::has_pattern_height() const { - return _internal_has_pattern_height(); -} -inline void SpriteInfo::clear_pattern_height() { - _impl_.pattern_height_ = 0u; - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline uint32_t SpriteInfo::_internal_pattern_height() const { - return _impl_.pattern_height_; -} -inline uint32_t SpriteInfo::pattern_height() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.pattern_height) - return _internal_pattern_height(); -} -inline void SpriteInfo::_internal_set_pattern_height(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.pattern_height_ = value; -} -inline void SpriteInfo::set_pattern_height(uint32_t value) { - _internal_set_pattern_height(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteInfo.pattern_height) -} - -// optional uint32 pattern_depth = 3; -inline bool SpriteInfo::_internal_has_pattern_depth() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool SpriteInfo::has_pattern_depth() const { - return _internal_has_pattern_depth(); -} -inline void SpriteInfo::clear_pattern_depth() { - _impl_.pattern_depth_ = 0u; - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline uint32_t SpriteInfo::_internal_pattern_depth() const { - return _impl_.pattern_depth_; -} -inline uint32_t SpriteInfo::pattern_depth() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.pattern_depth) - return _internal_pattern_depth(); -} -inline void SpriteInfo::_internal_set_pattern_depth(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000008u; - _impl_.pattern_depth_ = value; -} -inline void SpriteInfo::set_pattern_depth(uint32_t value) { - _internal_set_pattern_depth(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteInfo.pattern_depth) -} - -// optional uint32 layers = 4; -inline bool SpriteInfo::_internal_has_layers() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - return value; -} -inline bool SpriteInfo::has_layers() const { - return _internal_has_layers(); -} -inline void SpriteInfo::clear_layers() { - _impl_.layers_ = 0u; - _impl_._has_bits_[0] &= ~0x00000010u; -} -inline uint32_t SpriteInfo::_internal_layers() const { - return _impl_.layers_; -} -inline uint32_t SpriteInfo::layers() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.layers) - return _internal_layers(); -} -inline void SpriteInfo::_internal_set_layers(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000010u; - _impl_.layers_ = value; -} -inline void SpriteInfo::set_layers(uint32_t value) { - _internal_set_layers(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteInfo.layers) -} - -// repeated uint32 sprite_id = 5; -inline int SpriteInfo::_internal_sprite_id_size() const { - return _impl_.sprite_id_.size(); -} -inline int SpriteInfo::sprite_id_size() const { - return _internal_sprite_id_size(); -} -inline void SpriteInfo::clear_sprite_id() { - _impl_.sprite_id_.Clear(); -} -inline uint32_t SpriteInfo::_internal_sprite_id(int index) const { - return _impl_.sprite_id_.Get(index); -} -inline uint32_t SpriteInfo::sprite_id(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.sprite_id) - return _internal_sprite_id(index); -} -inline void SpriteInfo::set_sprite_id(int index, uint32_t value) { - _impl_.sprite_id_.Set(index, value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteInfo.sprite_id) -} -inline void SpriteInfo::_internal_add_sprite_id(uint32_t value) { - _impl_.sprite_id_.Add(value); -} -inline void SpriteInfo::add_sprite_id(uint32_t value) { - _internal_add_sprite_id(value); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.SpriteInfo.sprite_id) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& -SpriteInfo::_internal_sprite_id() const { - return _impl_.sprite_id_; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& -SpriteInfo::sprite_id() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.SpriteInfo.sprite_id) - return _internal_sprite_id(); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* -SpriteInfo::_internal_mutable_sprite_id() { - return &_impl_.sprite_id_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* -SpriteInfo::mutable_sprite_id() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.SpriteInfo.sprite_id) - return _internal_mutable_sprite_id(); -} - -// optional uint32 bounding_square = 7; -inline bool SpriteInfo::_internal_has_bounding_square() const { - bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; - return value; -} -inline bool SpriteInfo::has_bounding_square() const { - return _internal_has_bounding_square(); -} -inline void SpriteInfo::clear_bounding_square() { - _impl_.bounding_square_ = 0u; - _impl_._has_bits_[0] &= ~0x00000020u; -} -inline uint32_t SpriteInfo::_internal_bounding_square() const { - return _impl_.bounding_square_; -} -inline uint32_t SpriteInfo::bounding_square() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.bounding_square) - return _internal_bounding_square(); -} -inline void SpriteInfo::_internal_set_bounding_square(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000020u; - _impl_.bounding_square_ = value; -} -inline void SpriteInfo::set_bounding_square(uint32_t value) { - _internal_set_bounding_square(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteInfo.bounding_square) -} - -// optional .Canary.protobuf.appearances.SpriteAnimation animation = 6; -inline bool SpriteInfo::_internal_has_animation() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.animation_ != nullptr); - return value; -} -inline bool SpriteInfo::has_animation() const { - return _internal_has_animation(); -} -inline void SpriteInfo::clear_animation() { - if (_impl_.animation_ != nullptr) _impl_.animation_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const ::Canary::protobuf::appearances::SpriteAnimation& SpriteInfo::_internal_animation() const { - const ::Canary::protobuf::appearances::SpriteAnimation* p = _impl_.animation_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_SpriteAnimation_default_instance_); -} -inline const ::Canary::protobuf::appearances::SpriteAnimation& SpriteInfo::animation() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.animation) - return _internal_animation(); -} -inline void SpriteInfo::unsafe_arena_set_allocated_animation( - ::Canary::protobuf::appearances::SpriteAnimation* animation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.animation_); - } - _impl_.animation_ = animation; - if (animation) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.SpriteInfo.animation) -} -inline ::Canary::protobuf::appearances::SpriteAnimation* SpriteInfo::release_animation() { - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::SpriteAnimation* temp = _impl_.animation_; - _impl_.animation_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::SpriteAnimation* SpriteInfo::unsafe_arena_release_animation() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.SpriteInfo.animation) - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::SpriteAnimation* temp = _impl_.animation_; - _impl_.animation_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::SpriteAnimation* SpriteInfo::_internal_mutable_animation() { - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.animation_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::SpriteAnimation>(GetArenaForAllocation()); - _impl_.animation_ = p; - } - return _impl_.animation_; -} -inline ::Canary::protobuf::appearances::SpriteAnimation* SpriteInfo::mutable_animation() { - ::Canary::protobuf::appearances::SpriteAnimation* _msg = _internal_mutable_animation(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.SpriteInfo.animation) - return _msg; -} -inline void SpriteInfo::set_allocated_animation(::Canary::protobuf::appearances::SpriteAnimation* animation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.animation_; - } - if (animation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(animation); - if (message_arena != submessage_arena) { - animation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, animation, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - _impl_.animation_ = animation; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.SpriteInfo.animation) -} - -// optional bool is_opaque = 8; -inline bool SpriteInfo::_internal_has_is_opaque() const { - bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; - return value; -} -inline bool SpriteInfo::has_is_opaque() const { - return _internal_has_is_opaque(); -} -inline void SpriteInfo::clear_is_opaque() { - _impl_.is_opaque_ = false; - _impl_._has_bits_[0] &= ~0x00000040u; -} -inline bool SpriteInfo::_internal_is_opaque() const { - return _impl_.is_opaque_; -} -inline bool SpriteInfo::is_opaque() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.is_opaque) - return _internal_is_opaque(); -} -inline void SpriteInfo::_internal_set_is_opaque(bool value) { - _impl_._has_bits_[0] |= 0x00000040u; - _impl_.is_opaque_ = value; -} -inline void SpriteInfo::set_is_opaque(bool value) { - _internal_set_is_opaque(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpriteInfo.is_opaque) -} - -// repeated .Canary.protobuf.appearances.Box bounding_box_per_direction = 9; -inline int SpriteInfo::_internal_bounding_box_per_direction_size() const { - return _impl_.bounding_box_per_direction_.size(); -} -inline int SpriteInfo::bounding_box_per_direction_size() const { - return _internal_bounding_box_per_direction_size(); -} -inline void SpriteInfo::clear_bounding_box_per_direction() { - _impl_.bounding_box_per_direction_.Clear(); -} -inline ::Canary::protobuf::appearances::Box* SpriteInfo::mutable_bounding_box_per_direction(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.SpriteInfo.bounding_box_per_direction) - return _impl_.bounding_box_per_direction_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Box >* -SpriteInfo::mutable_bounding_box_per_direction() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.SpriteInfo.bounding_box_per_direction) - return &_impl_.bounding_box_per_direction_; -} -inline const ::Canary::protobuf::appearances::Box& SpriteInfo::_internal_bounding_box_per_direction(int index) const { - return _impl_.bounding_box_per_direction_.Get(index); -} -inline const ::Canary::protobuf::appearances::Box& SpriteInfo::bounding_box_per_direction(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpriteInfo.bounding_box_per_direction) - return _internal_bounding_box_per_direction(index); -} -inline ::Canary::protobuf::appearances::Box* SpriteInfo::_internal_add_bounding_box_per_direction() { - return _impl_.bounding_box_per_direction_.Add(); -} -inline ::Canary::protobuf::appearances::Box* SpriteInfo::add_bounding_box_per_direction() { - ::Canary::protobuf::appearances::Box* _add = _internal_add_bounding_box_per_direction(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.SpriteInfo.bounding_box_per_direction) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::Box >& -SpriteInfo::bounding_box_per_direction() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.SpriteInfo.bounding_box_per_direction) - return _impl_.bounding_box_per_direction_; -} - -// ------------------------------------------------------------------- - -// FrameGroup - -// optional .Canary.protobuf.appearances.FIXED_FRAME_GROUP fixed_frame_group = 1; -inline bool FrameGroup::_internal_has_fixed_frame_group() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool FrameGroup::has_fixed_frame_group() const { - return _internal_has_fixed_frame_group(); -} -inline void FrameGroup::clear_fixed_frame_group() { - _impl_.fixed_frame_group_ = 0; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline ::Canary::protobuf::appearances::FIXED_FRAME_GROUP FrameGroup::_internal_fixed_frame_group() const { - return static_cast< ::Canary::protobuf::appearances::FIXED_FRAME_GROUP >(_impl_.fixed_frame_group_); -} -inline ::Canary::protobuf::appearances::FIXED_FRAME_GROUP FrameGroup::fixed_frame_group() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.FrameGroup.fixed_frame_group) - return _internal_fixed_frame_group(); -} -inline void FrameGroup::_internal_set_fixed_frame_group(::Canary::protobuf::appearances::FIXED_FRAME_GROUP value) { - assert(::Canary::protobuf::appearances::FIXED_FRAME_GROUP_IsValid(value)); - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.fixed_frame_group_ = value; -} -inline void FrameGroup::set_fixed_frame_group(::Canary::protobuf::appearances::FIXED_FRAME_GROUP value) { - _internal_set_fixed_frame_group(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.FrameGroup.fixed_frame_group) -} - -// optional uint32 id = 2; -inline bool FrameGroup::_internal_has_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool FrameGroup::has_id() const { - return _internal_has_id(); -} -inline void FrameGroup::clear_id() { - _impl_.id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline uint32_t FrameGroup::_internal_id() const { - return _impl_.id_; -} -inline uint32_t FrameGroup::id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.FrameGroup.id) - return _internal_id(); -} -inline void FrameGroup::_internal_set_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.id_ = value; -} -inline void FrameGroup::set_id(uint32_t value) { - _internal_set_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.FrameGroup.id) -} - -// optional .Canary.protobuf.appearances.SpriteInfo sprite_info = 3; -inline bool FrameGroup::_internal_has_sprite_info() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.sprite_info_ != nullptr); - return value; -} -inline bool FrameGroup::has_sprite_info() const { - return _internal_has_sprite_info(); -} -inline void FrameGroup::clear_sprite_info() { - if (_impl_.sprite_info_ != nullptr) _impl_.sprite_info_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const ::Canary::protobuf::appearances::SpriteInfo& FrameGroup::_internal_sprite_info() const { - const ::Canary::protobuf::appearances::SpriteInfo* p = _impl_.sprite_info_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_SpriteInfo_default_instance_); -} -inline const ::Canary::protobuf::appearances::SpriteInfo& FrameGroup::sprite_info() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.FrameGroup.sprite_info) - return _internal_sprite_info(); -} -inline void FrameGroup::unsafe_arena_set_allocated_sprite_info( - ::Canary::protobuf::appearances::SpriteInfo* sprite_info) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.sprite_info_); - } - _impl_.sprite_info_ = sprite_info; - if (sprite_info) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.FrameGroup.sprite_info) -} -inline ::Canary::protobuf::appearances::SpriteInfo* FrameGroup::release_sprite_info() { - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::SpriteInfo* temp = _impl_.sprite_info_; - _impl_.sprite_info_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::SpriteInfo* FrameGroup::unsafe_arena_release_sprite_info() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.FrameGroup.sprite_info) - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::SpriteInfo* temp = _impl_.sprite_info_; - _impl_.sprite_info_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::SpriteInfo* FrameGroup::_internal_mutable_sprite_info() { - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.sprite_info_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::SpriteInfo>(GetArenaForAllocation()); - _impl_.sprite_info_ = p; - } - return _impl_.sprite_info_; -} -inline ::Canary::protobuf::appearances::SpriteInfo* FrameGroup::mutable_sprite_info() { - ::Canary::protobuf::appearances::SpriteInfo* _msg = _internal_mutable_sprite_info(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.FrameGroup.sprite_info) - return _msg; -} -inline void FrameGroup::set_allocated_sprite_info(::Canary::protobuf::appearances::SpriteInfo* sprite_info) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.sprite_info_; - } - if (sprite_info) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sprite_info); - if (message_arena != submessage_arena) { - sprite_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, sprite_info, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - _impl_.sprite_info_ = sprite_info; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.FrameGroup.sprite_info) -} - -// ------------------------------------------------------------------- - -// Appearance - -// optional uint32 id = 1; -inline bool Appearance::_internal_has_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool Appearance::has_id() const { - return _internal_has_id(); -} -inline void Appearance::clear_id() { - _impl_.id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline uint32_t Appearance::_internal_id() const { - return _impl_.id_; -} -inline uint32_t Appearance::id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearance.id) - return _internal_id(); -} -inline void Appearance::_internal_set_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000008u; - _impl_.id_ = value; -} -inline void Appearance::set_id(uint32_t value) { - _internal_set_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Appearance.id) -} - -// repeated .Canary.protobuf.appearances.FrameGroup frame_group = 2; -inline int Appearance::_internal_frame_group_size() const { - return _impl_.frame_group_.size(); -} -inline int Appearance::frame_group_size() const { - return _internal_frame_group_size(); -} -inline void Appearance::clear_frame_group() { - _impl_.frame_group_.Clear(); -} -inline ::Canary::protobuf::appearances::FrameGroup* Appearance::mutable_frame_group(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearance.frame_group) - return _impl_.frame_group_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::FrameGroup >* -Appearance::mutable_frame_group() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.Appearance.frame_group) - return &_impl_.frame_group_; -} -inline const ::Canary::protobuf::appearances::FrameGroup& Appearance::_internal_frame_group(int index) const { - return _impl_.frame_group_.Get(index); -} -inline const ::Canary::protobuf::appearances::FrameGroup& Appearance::frame_group(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearance.frame_group) - return _internal_frame_group(index); -} -inline ::Canary::protobuf::appearances::FrameGroup* Appearance::_internal_add_frame_group() { - return _impl_.frame_group_.Add(); -} -inline ::Canary::protobuf::appearances::FrameGroup* Appearance::add_frame_group() { - ::Canary::protobuf::appearances::FrameGroup* _add = _internal_add_frame_group(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.Appearance.frame_group) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::FrameGroup >& -Appearance::frame_group() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.Appearance.frame_group) - return _impl_.frame_group_; -} - -// optional .Canary.protobuf.appearances.AppearanceFlags flags = 3; -inline bool Appearance::_internal_has_flags() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.flags_ != nullptr); - return value; -} -inline bool Appearance::has_flags() const { - return _internal_has_flags(); -} -inline void Appearance::clear_flags() { - if (_impl_.flags_ != nullptr) _impl_.flags_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlags& Appearance::_internal_flags() const { - const ::Canary::protobuf::appearances::AppearanceFlags* p = _impl_.flags_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlags_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlags& Appearance::flags() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearance.flags) - return _internal_flags(); -} -inline void Appearance::unsafe_arena_set_allocated_flags( - ::Canary::protobuf::appearances::AppearanceFlags* flags) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.flags_); - } - _impl_.flags_ = flags; - if (flags) { - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.Appearance.flags) -} -inline ::Canary::protobuf::appearances::AppearanceFlags* Appearance::release_flags() { - _impl_._has_bits_[0] &= ~0x00000004u; - ::Canary::protobuf::appearances::AppearanceFlags* temp = _impl_.flags_; - _impl_.flags_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlags* Appearance::unsafe_arena_release_flags() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.Appearance.flags) - _impl_._has_bits_[0] &= ~0x00000004u; - ::Canary::protobuf::appearances::AppearanceFlags* temp = _impl_.flags_; - _impl_.flags_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlags* Appearance::_internal_mutable_flags() { - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.flags_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlags>(GetArenaForAllocation()); - _impl_.flags_ = p; - } - return _impl_.flags_; -} -inline ::Canary::protobuf::appearances::AppearanceFlags* Appearance::mutable_flags() { - ::Canary::protobuf::appearances::AppearanceFlags* _msg = _internal_mutable_flags(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearance.flags) - return _msg; -} -inline void Appearance::set_allocated_flags(::Canary::protobuf::appearances::AppearanceFlags* flags) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.flags_; - } - if (flags) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(flags); - if (message_arena != submessage_arena) { - flags = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, flags, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - _impl_.flags_ = flags; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.Appearance.flags) -} - -// optional bytes name = 4; -inline bool Appearance::_internal_has_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool Appearance::has_name() const { - return _internal_has_name(); -} -inline void Appearance::clear_name() { - _impl_.name_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const std::string& Appearance::name() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearance.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void Appearance::set_name(ArgT0&& arg0, ArgT... args) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.name_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Appearance.name) -} -inline std::string* Appearance::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearance.name) - return _s; -} -inline const std::string& Appearance::_internal_name() const { - return _impl_.name_.Get(); -} -inline void Appearance::_internal_set_name(const std::string& value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.name_.Set(value, GetArenaForAllocation()); -} -inline std::string* Appearance::_internal_mutable_name() { - _impl_._has_bits_[0] |= 0x00000001u; - return _impl_.name_.Mutable(GetArenaForAllocation()); -} -inline std::string* Appearance::release_name() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.Appearance.name) - if (!_internal_has_name()) { - return nullptr; - } - _impl_._has_bits_[0] &= ~0x00000001u; - auto* p = _impl_.name_.Release(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - return p; -} -inline void Appearance::set_allocated_name(std::string* name) { - if (name != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.Appearance.name) -} - -// optional bytes description = 5; -inline bool Appearance::_internal_has_description() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool Appearance::has_description() const { - return _internal_has_description(); -} -inline void Appearance::clear_description() { - _impl_.description_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const std::string& Appearance::description() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.Appearance.description) - return _internal_description(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void Appearance::set_description(ArgT0&& arg0, ArgT... args) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.description_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.Appearance.description) -} -inline std::string* Appearance::mutable_description() { - std::string* _s = _internal_mutable_description(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.Appearance.description) - return _s; -} -inline const std::string& Appearance::_internal_description() const { - return _impl_.description_.Get(); -} -inline void Appearance::_internal_set_description(const std::string& value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.description_.Set(value, GetArenaForAllocation()); -} -inline std::string* Appearance::_internal_mutable_description() { - _impl_._has_bits_[0] |= 0x00000002u; - return _impl_.description_.Mutable(GetArenaForAllocation()); -} -inline std::string* Appearance::release_description() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.Appearance.description) - if (!_internal_has_description()) { - return nullptr; - } - _impl_._has_bits_[0] &= ~0x00000002u; - auto* p = _impl_.description_.Release(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.description_.IsDefault()) { - _impl_.description_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - return p; -} -inline void Appearance::set_allocated_description(std::string* description) { - if (description != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - _impl_.description_.SetAllocated(description, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.description_.IsDefault()) { - _impl_.description_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.Appearance.description) -} - -// ------------------------------------------------------------------- - -// AppearanceFlags - -// optional .Canary.protobuf.appearances.AppearanceFlagBank bank = 1; -inline bool AppearanceFlags::_internal_has_bank() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.bank_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_bank() const { - return _internal_has_bank(); -} -inline void AppearanceFlags::clear_bank() { - if (_impl_.bank_ != nullptr) _impl_.bank_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagBank& AppearanceFlags::_internal_bank() const { - const ::Canary::protobuf::appearances::AppearanceFlagBank* p = _impl_.bank_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagBank_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagBank& AppearanceFlags::bank() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.bank) - return _internal_bank(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_bank( - ::Canary::protobuf::appearances::AppearanceFlagBank* bank) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bank_); - } - _impl_.bank_ = bank; - if (bank) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.bank) -} -inline ::Canary::protobuf::appearances::AppearanceFlagBank* AppearanceFlags::release_bank() { - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::AppearanceFlagBank* temp = _impl_.bank_; - _impl_.bank_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagBank* AppearanceFlags::unsafe_arena_release_bank() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.bank) - _impl_._has_bits_[0] &= ~0x00000001u; - ::Canary::protobuf::appearances::AppearanceFlagBank* temp = _impl_.bank_; - _impl_.bank_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagBank* AppearanceFlags::_internal_mutable_bank() { - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.bank_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagBank>(GetArenaForAllocation()); - _impl_.bank_ = p; - } - return _impl_.bank_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagBank* AppearanceFlags::mutable_bank() { - ::Canary::protobuf::appearances::AppearanceFlagBank* _msg = _internal_mutable_bank(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.bank) - return _msg; -} -inline void AppearanceFlags::set_allocated_bank(::Canary::protobuf::appearances::AppearanceFlagBank* bank) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.bank_; - } - if (bank) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(bank); - if (message_arena != submessage_arena) { - bank = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, bank, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - _impl_.bank_ = bank; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.bank) -} - -// optional bool clip = 2; -inline bool AppearanceFlags::_internal_has_clip() const { - bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0; - return value; -} -inline bool AppearanceFlags::has_clip() const { - return _internal_has_clip(); -} -inline void AppearanceFlags::clear_clip() { - _impl_.clip_ = false; - _impl_._has_bits_[0] &= ~0x00008000u; -} -inline bool AppearanceFlags::_internal_clip() const { - return _impl_.clip_; -} -inline bool AppearanceFlags::clip() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.clip) - return _internal_clip(); -} -inline void AppearanceFlags::_internal_set_clip(bool value) { - _impl_._has_bits_[0] |= 0x00008000u; - _impl_.clip_ = value; -} -inline void AppearanceFlags::set_clip(bool value) { - _internal_set_clip(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.clip) -} - -// optional bool bottom = 3; -inline bool AppearanceFlags::_internal_has_bottom() const { - bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0; - return value; -} -inline bool AppearanceFlags::has_bottom() const { - return _internal_has_bottom(); -} -inline void AppearanceFlags::clear_bottom() { - _impl_.bottom_ = false; - _impl_._has_bits_[0] &= ~0x00010000u; -} -inline bool AppearanceFlags::_internal_bottom() const { - return _impl_.bottom_; -} -inline bool AppearanceFlags::bottom() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.bottom) - return _internal_bottom(); -} -inline void AppearanceFlags::_internal_set_bottom(bool value) { - _impl_._has_bits_[0] |= 0x00010000u; - _impl_.bottom_ = value; -} -inline void AppearanceFlags::set_bottom(bool value) { - _internal_set_bottom(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.bottom) -} - -// optional bool top = 4; -inline bool AppearanceFlags::_internal_has_top() const { - bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0; - return value; -} -inline bool AppearanceFlags::has_top() const { - return _internal_has_top(); -} -inline void AppearanceFlags::clear_top() { - _impl_.top_ = false; - _impl_._has_bits_[0] &= ~0x00020000u; -} -inline bool AppearanceFlags::_internal_top() const { - return _impl_.top_; -} -inline bool AppearanceFlags::top() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.top) - return _internal_top(); -} -inline void AppearanceFlags::_internal_set_top(bool value) { - _impl_._has_bits_[0] |= 0x00020000u; - _impl_.top_ = value; -} -inline void AppearanceFlags::set_top(bool value) { - _internal_set_top(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.top) -} - -// optional bool container = 5; -inline bool AppearanceFlags::_internal_has_container() const { - bool value = (_impl_._has_bits_[0] & 0x00040000u) != 0; - return value; -} -inline bool AppearanceFlags::has_container() const { - return _internal_has_container(); -} -inline void AppearanceFlags::clear_container() { - _impl_.container_ = false; - _impl_._has_bits_[0] &= ~0x00040000u; -} -inline bool AppearanceFlags::_internal_container() const { - return _impl_.container_; -} -inline bool AppearanceFlags::container() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.container) - return _internal_container(); -} -inline void AppearanceFlags::_internal_set_container(bool value) { - _impl_._has_bits_[0] |= 0x00040000u; - _impl_.container_ = value; -} -inline void AppearanceFlags::set_container(bool value) { - _internal_set_container(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.container) -} - -// optional bool cumulative = 6; -inline bool AppearanceFlags::_internal_has_cumulative() const { - bool value = (_impl_._has_bits_[0] & 0x00080000u) != 0; - return value; -} -inline bool AppearanceFlags::has_cumulative() const { - return _internal_has_cumulative(); -} -inline void AppearanceFlags::clear_cumulative() { - _impl_.cumulative_ = false; - _impl_._has_bits_[0] &= ~0x00080000u; -} -inline bool AppearanceFlags::_internal_cumulative() const { - return _impl_.cumulative_; -} -inline bool AppearanceFlags::cumulative() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.cumulative) - return _internal_cumulative(); -} -inline void AppearanceFlags::_internal_set_cumulative(bool value) { - _impl_._has_bits_[0] |= 0x00080000u; - _impl_.cumulative_ = value; -} -inline void AppearanceFlags::set_cumulative(bool value) { - _internal_set_cumulative(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.cumulative) -} - -// optional bool usable = 7; -inline bool AppearanceFlags::_internal_has_usable() const { - bool value = (_impl_._has_bits_[0] & 0x00100000u) != 0; - return value; -} -inline bool AppearanceFlags::has_usable() const { - return _internal_has_usable(); -} -inline void AppearanceFlags::clear_usable() { - _impl_.usable_ = false; - _impl_._has_bits_[0] &= ~0x00100000u; -} -inline bool AppearanceFlags::_internal_usable() const { - return _impl_.usable_; -} -inline bool AppearanceFlags::usable() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.usable) - return _internal_usable(); -} -inline void AppearanceFlags::_internal_set_usable(bool value) { - _impl_._has_bits_[0] |= 0x00100000u; - _impl_.usable_ = value; -} -inline void AppearanceFlags::set_usable(bool value) { - _internal_set_usable(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.usable) -} - -// optional bool forceuse = 8; -inline bool AppearanceFlags::_internal_has_forceuse() const { - bool value = (_impl_._has_bits_[0] & 0x00200000u) != 0; - return value; -} -inline bool AppearanceFlags::has_forceuse() const { - return _internal_has_forceuse(); -} -inline void AppearanceFlags::clear_forceuse() { - _impl_.forceuse_ = false; - _impl_._has_bits_[0] &= ~0x00200000u; -} -inline bool AppearanceFlags::_internal_forceuse() const { - return _impl_.forceuse_; -} -inline bool AppearanceFlags::forceuse() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.forceuse) - return _internal_forceuse(); -} -inline void AppearanceFlags::_internal_set_forceuse(bool value) { - _impl_._has_bits_[0] |= 0x00200000u; - _impl_.forceuse_ = value; -} -inline void AppearanceFlags::set_forceuse(bool value) { - _internal_set_forceuse(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.forceuse) -} - -// optional bool multiuse = 9; -inline bool AppearanceFlags::_internal_has_multiuse() const { - bool value = (_impl_._has_bits_[0] & 0x00400000u) != 0; - return value; -} -inline bool AppearanceFlags::has_multiuse() const { - return _internal_has_multiuse(); -} -inline void AppearanceFlags::clear_multiuse() { - _impl_.multiuse_ = false; - _impl_._has_bits_[0] &= ~0x00400000u; -} -inline bool AppearanceFlags::_internal_multiuse() const { - return _impl_.multiuse_; -} -inline bool AppearanceFlags::multiuse() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.multiuse) - return _internal_multiuse(); -} -inline void AppearanceFlags::_internal_set_multiuse(bool value) { - _impl_._has_bits_[0] |= 0x00400000u; - _impl_.multiuse_ = value; -} -inline void AppearanceFlags::set_multiuse(bool value) { - _internal_set_multiuse(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.multiuse) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagWrite write = 10; -inline bool AppearanceFlags::_internal_has_write() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.write_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_write() const { - return _internal_has_write(); -} -inline void AppearanceFlags::clear_write() { - if (_impl_.write_ != nullptr) _impl_.write_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagWrite& AppearanceFlags::_internal_write() const { - const ::Canary::protobuf::appearances::AppearanceFlagWrite* p = _impl_.write_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagWrite_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagWrite& AppearanceFlags::write() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.write) - return _internal_write(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_write( - ::Canary::protobuf::appearances::AppearanceFlagWrite* write) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.write_); - } - _impl_.write_ = write; - if (write) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.write) -} -inline ::Canary::protobuf::appearances::AppearanceFlagWrite* AppearanceFlags::release_write() { - _impl_._has_bits_[0] &= ~0x00000002u; - ::Canary::protobuf::appearances::AppearanceFlagWrite* temp = _impl_.write_; - _impl_.write_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagWrite* AppearanceFlags::unsafe_arena_release_write() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.write) - _impl_._has_bits_[0] &= ~0x00000002u; - ::Canary::protobuf::appearances::AppearanceFlagWrite* temp = _impl_.write_; - _impl_.write_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagWrite* AppearanceFlags::_internal_mutable_write() { - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.write_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagWrite>(GetArenaForAllocation()); - _impl_.write_ = p; - } - return _impl_.write_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagWrite* AppearanceFlags::mutable_write() { - ::Canary::protobuf::appearances::AppearanceFlagWrite* _msg = _internal_mutable_write(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.write) - return _msg; -} -inline void AppearanceFlags::set_allocated_write(::Canary::protobuf::appearances::AppearanceFlagWrite* write) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.write_; - } - if (write) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(write); - if (message_arena != submessage_arena) { - write = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, write, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - _impl_.write_ = write; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.write) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagWriteOnce write_once = 11; -inline bool AppearanceFlags::_internal_has_write_once() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.write_once_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_write_once() const { - return _internal_has_write_once(); -} -inline void AppearanceFlags::clear_write_once() { - if (_impl_.write_once_ != nullptr) _impl_.write_once_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagWriteOnce& AppearanceFlags::_internal_write_once() const { - const ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* p = _impl_.write_once_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagWriteOnce_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagWriteOnce& AppearanceFlags::write_once() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.write_once) - return _internal_write_once(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_write_once( - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* write_once) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.write_once_); - } - _impl_.write_once_ = write_once; - if (write_once) { - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.write_once) -} -inline ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* AppearanceFlags::release_write_once() { - _impl_._has_bits_[0] &= ~0x00000004u; - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* temp = _impl_.write_once_; - _impl_.write_once_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* AppearanceFlags::unsafe_arena_release_write_once() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.write_once) - _impl_._has_bits_[0] &= ~0x00000004u; - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* temp = _impl_.write_once_; - _impl_.write_once_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* AppearanceFlags::_internal_mutable_write_once() { - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.write_once_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagWriteOnce>(GetArenaForAllocation()); - _impl_.write_once_ = p; - } - return _impl_.write_once_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* AppearanceFlags::mutable_write_once() { - ::Canary::protobuf::appearances::AppearanceFlagWriteOnce* _msg = _internal_mutable_write_once(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.write_once) - return _msg; -} -inline void AppearanceFlags::set_allocated_write_once(::Canary::protobuf::appearances::AppearanceFlagWriteOnce* write_once) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.write_once_; - } - if (write_once) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(write_once); - if (message_arena != submessage_arena) { - write_once = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, write_once, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - _impl_.write_once_ = write_once; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.write_once) -} - -// optional bool liquidpool = 12; -inline bool AppearanceFlags::_internal_has_liquidpool() const { - bool value = (_impl_._has_bits_[0] & 0x00800000u) != 0; - return value; -} -inline bool AppearanceFlags::has_liquidpool() const { - return _internal_has_liquidpool(); -} -inline void AppearanceFlags::clear_liquidpool() { - _impl_.liquidpool_ = false; - _impl_._has_bits_[0] &= ~0x00800000u; -} -inline bool AppearanceFlags::_internal_liquidpool() const { - return _impl_.liquidpool_; -} -inline bool AppearanceFlags::liquidpool() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.liquidpool) - return _internal_liquidpool(); -} -inline void AppearanceFlags::_internal_set_liquidpool(bool value) { - _impl_._has_bits_[0] |= 0x00800000u; - _impl_.liquidpool_ = value; -} -inline void AppearanceFlags::set_liquidpool(bool value) { - _internal_set_liquidpool(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.liquidpool) -} - -// optional bool unpass = 13; -inline bool AppearanceFlags::_internal_has_unpass() const { - bool value = (_impl_._has_bits_[0] & 0x01000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_unpass() const { - return _internal_has_unpass(); -} -inline void AppearanceFlags::clear_unpass() { - _impl_.unpass_ = false; - _impl_._has_bits_[0] &= ~0x01000000u; -} -inline bool AppearanceFlags::_internal_unpass() const { - return _impl_.unpass_; -} -inline bool AppearanceFlags::unpass() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.unpass) - return _internal_unpass(); -} -inline void AppearanceFlags::_internal_set_unpass(bool value) { - _impl_._has_bits_[0] |= 0x01000000u; - _impl_.unpass_ = value; -} -inline void AppearanceFlags::set_unpass(bool value) { - _internal_set_unpass(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.unpass) -} - -// optional bool unmove = 14; -inline bool AppearanceFlags::_internal_has_unmove() const { - bool value = (_impl_._has_bits_[0] & 0x02000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_unmove() const { - return _internal_has_unmove(); -} -inline void AppearanceFlags::clear_unmove() { - _impl_.unmove_ = false; - _impl_._has_bits_[0] &= ~0x02000000u; -} -inline bool AppearanceFlags::_internal_unmove() const { - return _impl_.unmove_; -} -inline bool AppearanceFlags::unmove() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.unmove) - return _internal_unmove(); -} -inline void AppearanceFlags::_internal_set_unmove(bool value) { - _impl_._has_bits_[0] |= 0x02000000u; - _impl_.unmove_ = value; -} -inline void AppearanceFlags::set_unmove(bool value) { - _internal_set_unmove(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.unmove) -} - -// optional bool unsight = 15; -inline bool AppearanceFlags::_internal_has_unsight() const { - bool value = (_impl_._has_bits_[0] & 0x04000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_unsight() const { - return _internal_has_unsight(); -} -inline void AppearanceFlags::clear_unsight() { - _impl_.unsight_ = false; - _impl_._has_bits_[0] &= ~0x04000000u; -} -inline bool AppearanceFlags::_internal_unsight() const { - return _impl_.unsight_; -} -inline bool AppearanceFlags::unsight() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.unsight) - return _internal_unsight(); -} -inline void AppearanceFlags::_internal_set_unsight(bool value) { - _impl_._has_bits_[0] |= 0x04000000u; - _impl_.unsight_ = value; -} -inline void AppearanceFlags::set_unsight(bool value) { - _internal_set_unsight(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.unsight) -} - -// optional bool avoid = 16; -inline bool AppearanceFlags::_internal_has_avoid() const { - bool value = (_impl_._has_bits_[0] & 0x08000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_avoid() const { - return _internal_has_avoid(); -} -inline void AppearanceFlags::clear_avoid() { - _impl_.avoid_ = false; - _impl_._has_bits_[0] &= ~0x08000000u; -} -inline bool AppearanceFlags::_internal_avoid() const { - return _impl_.avoid_; -} -inline bool AppearanceFlags::avoid() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.avoid) - return _internal_avoid(); -} -inline void AppearanceFlags::_internal_set_avoid(bool value) { - _impl_._has_bits_[0] |= 0x08000000u; - _impl_.avoid_ = value; -} -inline void AppearanceFlags::set_avoid(bool value) { - _internal_set_avoid(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.avoid) -} - -// optional bool no_movement_animation = 17; -inline bool AppearanceFlags::_internal_has_no_movement_animation() const { - bool value = (_impl_._has_bits_[0] & 0x10000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_no_movement_animation() const { - return _internal_has_no_movement_animation(); -} -inline void AppearanceFlags::clear_no_movement_animation() { - _impl_.no_movement_animation_ = false; - _impl_._has_bits_[0] &= ~0x10000000u; -} -inline bool AppearanceFlags::_internal_no_movement_animation() const { - return _impl_.no_movement_animation_; -} -inline bool AppearanceFlags::no_movement_animation() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.no_movement_animation) - return _internal_no_movement_animation(); -} -inline void AppearanceFlags::_internal_set_no_movement_animation(bool value) { - _impl_._has_bits_[0] |= 0x10000000u; - _impl_.no_movement_animation_ = value; -} -inline void AppearanceFlags::set_no_movement_animation(bool value) { - _internal_set_no_movement_animation(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.no_movement_animation) -} - -// optional bool take = 18; -inline bool AppearanceFlags::_internal_has_take() const { - bool value = (_impl_._has_bits_[0] & 0x20000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_take() const { - return _internal_has_take(); -} -inline void AppearanceFlags::clear_take() { - _impl_.take_ = false; - _impl_._has_bits_[0] &= ~0x20000000u; -} -inline bool AppearanceFlags::_internal_take() const { - return _impl_.take_; -} -inline bool AppearanceFlags::take() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.take) - return _internal_take(); -} -inline void AppearanceFlags::_internal_set_take(bool value) { - _impl_._has_bits_[0] |= 0x20000000u; - _impl_.take_ = value; -} -inline void AppearanceFlags::set_take(bool value) { - _internal_set_take(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.take) -} - -// optional bool liquidcontainer = 19; -inline bool AppearanceFlags::_internal_has_liquidcontainer() const { - bool value = (_impl_._has_bits_[0] & 0x40000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_liquidcontainer() const { - return _internal_has_liquidcontainer(); -} -inline void AppearanceFlags::clear_liquidcontainer() { - _impl_.liquidcontainer_ = false; - _impl_._has_bits_[0] &= ~0x40000000u; -} -inline bool AppearanceFlags::_internal_liquidcontainer() const { - return _impl_.liquidcontainer_; -} -inline bool AppearanceFlags::liquidcontainer() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.liquidcontainer) - return _internal_liquidcontainer(); -} -inline void AppearanceFlags::_internal_set_liquidcontainer(bool value) { - _impl_._has_bits_[0] |= 0x40000000u; - _impl_.liquidcontainer_ = value; -} -inline void AppearanceFlags::set_liquidcontainer(bool value) { - _internal_set_liquidcontainer(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.liquidcontainer) -} - -// optional bool hang = 20; -inline bool AppearanceFlags::_internal_has_hang() const { - bool value = (_impl_._has_bits_[0] & 0x80000000u) != 0; - return value; -} -inline bool AppearanceFlags::has_hang() const { - return _internal_has_hang(); -} -inline void AppearanceFlags::clear_hang() { - _impl_.hang_ = false; - _impl_._has_bits_[0] &= ~0x80000000u; -} -inline bool AppearanceFlags::_internal_hang() const { - return _impl_.hang_; -} -inline bool AppearanceFlags::hang() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.hang) - return _internal_hang(); -} -inline void AppearanceFlags::_internal_set_hang(bool value) { - _impl_._has_bits_[0] |= 0x80000000u; - _impl_.hang_ = value; -} -inline void AppearanceFlags::set_hang(bool value) { - _internal_set_hang(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.hang) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagHook hook = 21; -inline bool AppearanceFlags::_internal_has_hook() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || _impl_.hook_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_hook() const { - return _internal_has_hook(); -} -inline void AppearanceFlags::clear_hook() { - if (_impl_.hook_ != nullptr) _impl_.hook_->Clear(); - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagHook& AppearanceFlags::_internal_hook() const { - const ::Canary::protobuf::appearances::AppearanceFlagHook* p = _impl_.hook_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagHook_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagHook& AppearanceFlags::hook() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.hook) - return _internal_hook(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_hook( - ::Canary::protobuf::appearances::AppearanceFlagHook* hook) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.hook_); - } - _impl_.hook_ = hook; - if (hook) { - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.hook) -} -inline ::Canary::protobuf::appearances::AppearanceFlagHook* AppearanceFlags::release_hook() { - _impl_._has_bits_[0] &= ~0x00000008u; - ::Canary::protobuf::appearances::AppearanceFlagHook* temp = _impl_.hook_; - _impl_.hook_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagHook* AppearanceFlags::unsafe_arena_release_hook() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.hook) - _impl_._has_bits_[0] &= ~0x00000008u; - ::Canary::protobuf::appearances::AppearanceFlagHook* temp = _impl_.hook_; - _impl_.hook_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagHook* AppearanceFlags::_internal_mutable_hook() { - _impl_._has_bits_[0] |= 0x00000008u; - if (_impl_.hook_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagHook>(GetArenaForAllocation()); - _impl_.hook_ = p; - } - return _impl_.hook_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagHook* AppearanceFlags::mutable_hook() { - ::Canary::protobuf::appearances::AppearanceFlagHook* _msg = _internal_mutable_hook(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.hook) - return _msg; -} -inline void AppearanceFlags::set_allocated_hook(::Canary::protobuf::appearances::AppearanceFlagHook* hook) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.hook_; - } - if (hook) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(hook); - if (message_arena != submessage_arena) { - hook = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, hook, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; - } - _impl_.hook_ = hook; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.hook) -} - -// optional bool rotate = 22; -inline bool AppearanceFlags::_internal_has_rotate() const { - bool value = (_impl_._has_bits_[1] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlags::has_rotate() const { - return _internal_has_rotate(); -} -inline void AppearanceFlags::clear_rotate() { - _impl_.rotate_ = false; - _impl_._has_bits_[1] &= ~0x00000001u; -} -inline bool AppearanceFlags::_internal_rotate() const { - return _impl_.rotate_; -} -inline bool AppearanceFlags::rotate() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.rotate) - return _internal_rotate(); -} -inline void AppearanceFlags::_internal_set_rotate(bool value) { - _impl_._has_bits_[1] |= 0x00000001u; - _impl_.rotate_ = value; -} -inline void AppearanceFlags::set_rotate(bool value) { - _internal_set_rotate(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.rotate) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagLight light = 23; -inline bool AppearanceFlags::_internal_has_light() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - PROTOBUF_ASSUME(!value || _impl_.light_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_light() const { - return _internal_has_light(); -} -inline void AppearanceFlags::clear_light() { - if (_impl_.light_ != nullptr) _impl_.light_->Clear(); - _impl_._has_bits_[0] &= ~0x00000010u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagLight& AppearanceFlags::_internal_light() const { - const ::Canary::protobuf::appearances::AppearanceFlagLight* p = _impl_.light_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagLight_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagLight& AppearanceFlags::light() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.light) - return _internal_light(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_light( - ::Canary::protobuf::appearances::AppearanceFlagLight* light) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.light_); - } - _impl_.light_ = light; - if (light) { - _impl_._has_bits_[0] |= 0x00000010u; - } else { - _impl_._has_bits_[0] &= ~0x00000010u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.light) -} -inline ::Canary::protobuf::appearances::AppearanceFlagLight* AppearanceFlags::release_light() { - _impl_._has_bits_[0] &= ~0x00000010u; - ::Canary::protobuf::appearances::AppearanceFlagLight* temp = _impl_.light_; - _impl_.light_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagLight* AppearanceFlags::unsafe_arena_release_light() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.light) - _impl_._has_bits_[0] &= ~0x00000010u; - ::Canary::protobuf::appearances::AppearanceFlagLight* temp = _impl_.light_; - _impl_.light_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagLight* AppearanceFlags::_internal_mutable_light() { - _impl_._has_bits_[0] |= 0x00000010u; - if (_impl_.light_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagLight>(GetArenaForAllocation()); - _impl_.light_ = p; - } - return _impl_.light_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagLight* AppearanceFlags::mutable_light() { - ::Canary::protobuf::appearances::AppearanceFlagLight* _msg = _internal_mutable_light(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.light) - return _msg; -} -inline void AppearanceFlags::set_allocated_light(::Canary::protobuf::appearances::AppearanceFlagLight* light) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.light_; - } - if (light) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(light); - if (message_arena != submessage_arena) { - light = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, light, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000010u; - } else { - _impl_._has_bits_[0] &= ~0x00000010u; - } - _impl_.light_ = light; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.light) -} - -// optional bool dont_hide = 24; -inline bool AppearanceFlags::_internal_has_dont_hide() const { - bool value = (_impl_._has_bits_[1] & 0x00000002u) != 0; - return value; -} -inline bool AppearanceFlags::has_dont_hide() const { - return _internal_has_dont_hide(); -} -inline void AppearanceFlags::clear_dont_hide() { - _impl_.dont_hide_ = false; - _impl_._has_bits_[1] &= ~0x00000002u; -} -inline bool AppearanceFlags::_internal_dont_hide() const { - return _impl_.dont_hide_; -} -inline bool AppearanceFlags::dont_hide() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.dont_hide) - return _internal_dont_hide(); -} -inline void AppearanceFlags::_internal_set_dont_hide(bool value) { - _impl_._has_bits_[1] |= 0x00000002u; - _impl_.dont_hide_ = value; -} -inline void AppearanceFlags::set_dont_hide(bool value) { - _internal_set_dont_hide(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.dont_hide) -} - -// optional bool translucent = 25; -inline bool AppearanceFlags::_internal_has_translucent() const { - bool value = (_impl_._has_bits_[1] & 0x00000004u) != 0; - return value; -} -inline bool AppearanceFlags::has_translucent() const { - return _internal_has_translucent(); -} -inline void AppearanceFlags::clear_translucent() { - _impl_.translucent_ = false; - _impl_._has_bits_[1] &= ~0x00000004u; -} -inline bool AppearanceFlags::_internal_translucent() const { - return _impl_.translucent_; -} -inline bool AppearanceFlags::translucent() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.translucent) - return _internal_translucent(); -} -inline void AppearanceFlags::_internal_set_translucent(bool value) { - _impl_._has_bits_[1] |= 0x00000004u; - _impl_.translucent_ = value; -} -inline void AppearanceFlags::set_translucent(bool value) { - _internal_set_translucent(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.translucent) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagShift shift = 26; -inline bool AppearanceFlags::_internal_has_shift() const { - bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; - PROTOBUF_ASSUME(!value || _impl_.shift_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_shift() const { - return _internal_has_shift(); -} -inline void AppearanceFlags::clear_shift() { - if (_impl_.shift_ != nullptr) _impl_.shift_->Clear(); - _impl_._has_bits_[0] &= ~0x00000020u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagShift& AppearanceFlags::_internal_shift() const { - const ::Canary::protobuf::appearances::AppearanceFlagShift* p = _impl_.shift_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagShift_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagShift& AppearanceFlags::shift() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.shift) - return _internal_shift(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_shift( - ::Canary::protobuf::appearances::AppearanceFlagShift* shift) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.shift_); - } - _impl_.shift_ = shift; - if (shift) { - _impl_._has_bits_[0] |= 0x00000020u; - } else { - _impl_._has_bits_[0] &= ~0x00000020u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.shift) -} -inline ::Canary::protobuf::appearances::AppearanceFlagShift* AppearanceFlags::release_shift() { - _impl_._has_bits_[0] &= ~0x00000020u; - ::Canary::protobuf::appearances::AppearanceFlagShift* temp = _impl_.shift_; - _impl_.shift_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagShift* AppearanceFlags::unsafe_arena_release_shift() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.shift) - _impl_._has_bits_[0] &= ~0x00000020u; - ::Canary::protobuf::appearances::AppearanceFlagShift* temp = _impl_.shift_; - _impl_.shift_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagShift* AppearanceFlags::_internal_mutable_shift() { - _impl_._has_bits_[0] |= 0x00000020u; - if (_impl_.shift_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagShift>(GetArenaForAllocation()); - _impl_.shift_ = p; - } - return _impl_.shift_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagShift* AppearanceFlags::mutable_shift() { - ::Canary::protobuf::appearances::AppearanceFlagShift* _msg = _internal_mutable_shift(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.shift) - return _msg; -} -inline void AppearanceFlags::set_allocated_shift(::Canary::protobuf::appearances::AppearanceFlagShift* shift) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.shift_; - } - if (shift) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(shift); - if (message_arena != submessage_arena) { - shift = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, shift, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000020u; - } else { - _impl_._has_bits_[0] &= ~0x00000020u; - } - _impl_.shift_ = shift; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.shift) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagHeight height = 27; -inline bool AppearanceFlags::_internal_has_height() const { - bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; - PROTOBUF_ASSUME(!value || _impl_.height_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_height() const { - return _internal_has_height(); -} -inline void AppearanceFlags::clear_height() { - if (_impl_.height_ != nullptr) _impl_.height_->Clear(); - _impl_._has_bits_[0] &= ~0x00000040u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagHeight& AppearanceFlags::_internal_height() const { - const ::Canary::protobuf::appearances::AppearanceFlagHeight* p = _impl_.height_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagHeight_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagHeight& AppearanceFlags::height() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.height) - return _internal_height(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_height( - ::Canary::protobuf::appearances::AppearanceFlagHeight* height) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.height_); - } - _impl_.height_ = height; - if (height) { - _impl_._has_bits_[0] |= 0x00000040u; - } else { - _impl_._has_bits_[0] &= ~0x00000040u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.height) -} -inline ::Canary::protobuf::appearances::AppearanceFlagHeight* AppearanceFlags::release_height() { - _impl_._has_bits_[0] &= ~0x00000040u; - ::Canary::protobuf::appearances::AppearanceFlagHeight* temp = _impl_.height_; - _impl_.height_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagHeight* AppearanceFlags::unsafe_arena_release_height() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.height) - _impl_._has_bits_[0] &= ~0x00000040u; - ::Canary::protobuf::appearances::AppearanceFlagHeight* temp = _impl_.height_; - _impl_.height_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagHeight* AppearanceFlags::_internal_mutable_height() { - _impl_._has_bits_[0] |= 0x00000040u; - if (_impl_.height_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagHeight>(GetArenaForAllocation()); - _impl_.height_ = p; - } - return _impl_.height_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagHeight* AppearanceFlags::mutable_height() { - ::Canary::protobuf::appearances::AppearanceFlagHeight* _msg = _internal_mutable_height(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.height) - return _msg; -} -inline void AppearanceFlags::set_allocated_height(::Canary::protobuf::appearances::AppearanceFlagHeight* height) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.height_; - } - if (height) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(height); - if (message_arena != submessage_arena) { - height = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, height, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000040u; - } else { - _impl_._has_bits_[0] &= ~0x00000040u; - } - _impl_.height_ = height; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.height) -} - -// optional bool lying_object = 28; -inline bool AppearanceFlags::_internal_has_lying_object() const { - bool value = (_impl_._has_bits_[1] & 0x00000008u) != 0; - return value; -} -inline bool AppearanceFlags::has_lying_object() const { - return _internal_has_lying_object(); -} -inline void AppearanceFlags::clear_lying_object() { - _impl_.lying_object_ = false; - _impl_._has_bits_[1] &= ~0x00000008u; -} -inline bool AppearanceFlags::_internal_lying_object() const { - return _impl_.lying_object_; -} -inline bool AppearanceFlags::lying_object() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.lying_object) - return _internal_lying_object(); -} -inline void AppearanceFlags::_internal_set_lying_object(bool value) { - _impl_._has_bits_[1] |= 0x00000008u; - _impl_.lying_object_ = value; -} -inline void AppearanceFlags::set_lying_object(bool value) { - _internal_set_lying_object(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.lying_object) -} - -// optional bool animate_always = 29; -inline bool AppearanceFlags::_internal_has_animate_always() const { - bool value = (_impl_._has_bits_[1] & 0x00000010u) != 0; - return value; -} -inline bool AppearanceFlags::has_animate_always() const { - return _internal_has_animate_always(); -} -inline void AppearanceFlags::clear_animate_always() { - _impl_.animate_always_ = false; - _impl_._has_bits_[1] &= ~0x00000010u; -} -inline bool AppearanceFlags::_internal_animate_always() const { - return _impl_.animate_always_; -} -inline bool AppearanceFlags::animate_always() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.animate_always) - return _internal_animate_always(); -} -inline void AppearanceFlags::_internal_set_animate_always(bool value) { - _impl_._has_bits_[1] |= 0x00000010u; - _impl_.animate_always_ = value; -} -inline void AppearanceFlags::set_animate_always(bool value) { - _internal_set_animate_always(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.animate_always) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagAutomap automap = 30; -inline bool AppearanceFlags::_internal_has_automap() const { - bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0; - PROTOBUF_ASSUME(!value || _impl_.automap_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_automap() const { - return _internal_has_automap(); -} -inline void AppearanceFlags::clear_automap() { - if (_impl_.automap_ != nullptr) _impl_.automap_->Clear(); - _impl_._has_bits_[0] &= ~0x00000080u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagAutomap& AppearanceFlags::_internal_automap() const { - const ::Canary::protobuf::appearances::AppearanceFlagAutomap* p = _impl_.automap_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagAutomap_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagAutomap& AppearanceFlags::automap() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.automap) - return _internal_automap(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_automap( - ::Canary::protobuf::appearances::AppearanceFlagAutomap* automap) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.automap_); - } - _impl_.automap_ = automap; - if (automap) { - _impl_._has_bits_[0] |= 0x00000080u; - } else { - _impl_._has_bits_[0] &= ~0x00000080u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.automap) -} -inline ::Canary::protobuf::appearances::AppearanceFlagAutomap* AppearanceFlags::release_automap() { - _impl_._has_bits_[0] &= ~0x00000080u; - ::Canary::protobuf::appearances::AppearanceFlagAutomap* temp = _impl_.automap_; - _impl_.automap_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagAutomap* AppearanceFlags::unsafe_arena_release_automap() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.automap) - _impl_._has_bits_[0] &= ~0x00000080u; - ::Canary::protobuf::appearances::AppearanceFlagAutomap* temp = _impl_.automap_; - _impl_.automap_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagAutomap* AppearanceFlags::_internal_mutable_automap() { - _impl_._has_bits_[0] |= 0x00000080u; - if (_impl_.automap_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagAutomap>(GetArenaForAllocation()); - _impl_.automap_ = p; - } - return _impl_.automap_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagAutomap* AppearanceFlags::mutable_automap() { - ::Canary::protobuf::appearances::AppearanceFlagAutomap* _msg = _internal_mutable_automap(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.automap) - return _msg; -} -inline void AppearanceFlags::set_allocated_automap(::Canary::protobuf::appearances::AppearanceFlagAutomap* automap) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.automap_; - } - if (automap) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(automap); - if (message_arena != submessage_arena) { - automap = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, automap, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000080u; - } else { - _impl_._has_bits_[0] &= ~0x00000080u; - } - _impl_.automap_ = automap; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.automap) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagLenshelp lenshelp = 31; -inline bool AppearanceFlags::_internal_has_lenshelp() const { - bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0; - PROTOBUF_ASSUME(!value || _impl_.lenshelp_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_lenshelp() const { - return _internal_has_lenshelp(); -} -inline void AppearanceFlags::clear_lenshelp() { - if (_impl_.lenshelp_ != nullptr) _impl_.lenshelp_->Clear(); - _impl_._has_bits_[0] &= ~0x00000100u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagLenshelp& AppearanceFlags::_internal_lenshelp() const { - const ::Canary::protobuf::appearances::AppearanceFlagLenshelp* p = _impl_.lenshelp_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagLenshelp_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagLenshelp& AppearanceFlags::lenshelp() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.lenshelp) - return _internal_lenshelp(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_lenshelp( - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* lenshelp) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.lenshelp_); - } - _impl_.lenshelp_ = lenshelp; - if (lenshelp) { - _impl_._has_bits_[0] |= 0x00000100u; - } else { - _impl_._has_bits_[0] &= ~0x00000100u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.lenshelp) -} -inline ::Canary::protobuf::appearances::AppearanceFlagLenshelp* AppearanceFlags::release_lenshelp() { - _impl_._has_bits_[0] &= ~0x00000100u; - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* temp = _impl_.lenshelp_; - _impl_.lenshelp_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagLenshelp* AppearanceFlags::unsafe_arena_release_lenshelp() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.lenshelp) - _impl_._has_bits_[0] &= ~0x00000100u; - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* temp = _impl_.lenshelp_; - _impl_.lenshelp_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagLenshelp* AppearanceFlags::_internal_mutable_lenshelp() { - _impl_._has_bits_[0] |= 0x00000100u; - if (_impl_.lenshelp_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagLenshelp>(GetArenaForAllocation()); - _impl_.lenshelp_ = p; - } - return _impl_.lenshelp_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagLenshelp* AppearanceFlags::mutable_lenshelp() { - ::Canary::protobuf::appearances::AppearanceFlagLenshelp* _msg = _internal_mutable_lenshelp(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.lenshelp) - return _msg; -} -inline void AppearanceFlags::set_allocated_lenshelp(::Canary::protobuf::appearances::AppearanceFlagLenshelp* lenshelp) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.lenshelp_; - } - if (lenshelp) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(lenshelp); - if (message_arena != submessage_arena) { - lenshelp = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, lenshelp, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000100u; - } else { - _impl_._has_bits_[0] &= ~0x00000100u; - } - _impl_.lenshelp_ = lenshelp; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.lenshelp) -} - -// optional bool fullbank = 32; -inline bool AppearanceFlags::_internal_has_fullbank() const { - bool value = (_impl_._has_bits_[1] & 0x00000020u) != 0; - return value; -} -inline bool AppearanceFlags::has_fullbank() const { - return _internal_has_fullbank(); -} -inline void AppearanceFlags::clear_fullbank() { - _impl_.fullbank_ = false; - _impl_._has_bits_[1] &= ~0x00000020u; -} -inline bool AppearanceFlags::_internal_fullbank() const { - return _impl_.fullbank_; -} -inline bool AppearanceFlags::fullbank() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.fullbank) - return _internal_fullbank(); -} -inline void AppearanceFlags::_internal_set_fullbank(bool value) { - _impl_._has_bits_[1] |= 0x00000020u; - _impl_.fullbank_ = value; -} -inline void AppearanceFlags::set_fullbank(bool value) { - _internal_set_fullbank(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.fullbank) -} - -// optional bool ignore_look = 33; -inline bool AppearanceFlags::_internal_has_ignore_look() const { - bool value = (_impl_._has_bits_[1] & 0x00000040u) != 0; - return value; -} -inline bool AppearanceFlags::has_ignore_look() const { - return _internal_has_ignore_look(); -} -inline void AppearanceFlags::clear_ignore_look() { - _impl_.ignore_look_ = false; - _impl_._has_bits_[1] &= ~0x00000040u; -} -inline bool AppearanceFlags::_internal_ignore_look() const { - return _impl_.ignore_look_; -} -inline bool AppearanceFlags::ignore_look() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.ignore_look) - return _internal_ignore_look(); -} -inline void AppearanceFlags::_internal_set_ignore_look(bool value) { - _impl_._has_bits_[1] |= 0x00000040u; - _impl_.ignore_look_ = value; -} -inline void AppearanceFlags::set_ignore_look(bool value) { - _internal_set_ignore_look(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.ignore_look) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagClothes clothes = 34; -inline bool AppearanceFlags::_internal_has_clothes() const { - bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0; - PROTOBUF_ASSUME(!value || _impl_.clothes_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_clothes() const { - return _internal_has_clothes(); -} -inline void AppearanceFlags::clear_clothes() { - if (_impl_.clothes_ != nullptr) _impl_.clothes_->Clear(); - _impl_._has_bits_[0] &= ~0x00000200u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagClothes& AppearanceFlags::_internal_clothes() const { - const ::Canary::protobuf::appearances::AppearanceFlagClothes* p = _impl_.clothes_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagClothes_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagClothes& AppearanceFlags::clothes() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.clothes) - return _internal_clothes(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_clothes( - ::Canary::protobuf::appearances::AppearanceFlagClothes* clothes) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.clothes_); - } - _impl_.clothes_ = clothes; - if (clothes) { - _impl_._has_bits_[0] |= 0x00000200u; - } else { - _impl_._has_bits_[0] &= ~0x00000200u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.clothes) -} -inline ::Canary::protobuf::appearances::AppearanceFlagClothes* AppearanceFlags::release_clothes() { - _impl_._has_bits_[0] &= ~0x00000200u; - ::Canary::protobuf::appearances::AppearanceFlagClothes* temp = _impl_.clothes_; - _impl_.clothes_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagClothes* AppearanceFlags::unsafe_arena_release_clothes() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.clothes) - _impl_._has_bits_[0] &= ~0x00000200u; - ::Canary::protobuf::appearances::AppearanceFlagClothes* temp = _impl_.clothes_; - _impl_.clothes_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagClothes* AppearanceFlags::_internal_mutable_clothes() { - _impl_._has_bits_[0] |= 0x00000200u; - if (_impl_.clothes_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagClothes>(GetArenaForAllocation()); - _impl_.clothes_ = p; - } - return _impl_.clothes_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagClothes* AppearanceFlags::mutable_clothes() { - ::Canary::protobuf::appearances::AppearanceFlagClothes* _msg = _internal_mutable_clothes(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.clothes) - return _msg; -} -inline void AppearanceFlags::set_allocated_clothes(::Canary::protobuf::appearances::AppearanceFlagClothes* clothes) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.clothes_; - } - if (clothes) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(clothes); - if (message_arena != submessage_arena) { - clothes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, clothes, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000200u; - } else { - _impl_._has_bits_[0] &= ~0x00000200u; - } - _impl_.clothes_ = clothes; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.clothes) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagDefaultAction default_action = 35; -inline bool AppearanceFlags::_internal_has_default_action() const { - bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0; - PROTOBUF_ASSUME(!value || _impl_.default_action_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_default_action() const { - return _internal_has_default_action(); -} -inline void AppearanceFlags::clear_default_action() { - if (_impl_.default_action_ != nullptr) _impl_.default_action_->Clear(); - _impl_._has_bits_[0] &= ~0x00000400u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagDefaultAction& AppearanceFlags::_internal_default_action() const { - const ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* p = _impl_.default_action_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagDefaultAction_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagDefaultAction& AppearanceFlags::default_action() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.default_action) - return _internal_default_action(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_default_action( - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* default_action) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.default_action_); - } - _impl_.default_action_ = default_action; - if (default_action) { - _impl_._has_bits_[0] |= 0x00000400u; - } else { - _impl_._has_bits_[0] &= ~0x00000400u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.default_action) -} -inline ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* AppearanceFlags::release_default_action() { - _impl_._has_bits_[0] &= ~0x00000400u; - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* temp = _impl_.default_action_; - _impl_.default_action_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* AppearanceFlags::unsafe_arena_release_default_action() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.default_action) - _impl_._has_bits_[0] &= ~0x00000400u; - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* temp = _impl_.default_action_; - _impl_.default_action_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* AppearanceFlags::_internal_mutable_default_action() { - _impl_._has_bits_[0] |= 0x00000400u; - if (_impl_.default_action_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagDefaultAction>(GetArenaForAllocation()); - _impl_.default_action_ = p; - } - return _impl_.default_action_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* AppearanceFlags::mutable_default_action() { - ::Canary::protobuf::appearances::AppearanceFlagDefaultAction* _msg = _internal_mutable_default_action(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.default_action) - return _msg; -} -inline void AppearanceFlags::set_allocated_default_action(::Canary::protobuf::appearances::AppearanceFlagDefaultAction* default_action) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.default_action_; - } - if (default_action) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(default_action); - if (message_arena != submessage_arena) { - default_action = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, default_action, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000400u; - } else { - _impl_._has_bits_[0] &= ~0x00000400u; - } - _impl_.default_action_ = default_action; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.default_action) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagMarket market = 36; -inline bool AppearanceFlags::_internal_has_market() const { - bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0; - PROTOBUF_ASSUME(!value || _impl_.market_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_market() const { - return _internal_has_market(); -} -inline void AppearanceFlags::clear_market() { - if (_impl_.market_ != nullptr) _impl_.market_->Clear(); - _impl_._has_bits_[0] &= ~0x00000800u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagMarket& AppearanceFlags::_internal_market() const { - const ::Canary::protobuf::appearances::AppearanceFlagMarket* p = _impl_.market_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagMarket_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagMarket& AppearanceFlags::market() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.market) - return _internal_market(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_market( - ::Canary::protobuf::appearances::AppearanceFlagMarket* market) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.market_); - } - _impl_.market_ = market; - if (market) { - _impl_._has_bits_[0] |= 0x00000800u; - } else { - _impl_._has_bits_[0] &= ~0x00000800u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.market) -} -inline ::Canary::protobuf::appearances::AppearanceFlagMarket* AppearanceFlags::release_market() { - _impl_._has_bits_[0] &= ~0x00000800u; - ::Canary::protobuf::appearances::AppearanceFlagMarket* temp = _impl_.market_; - _impl_.market_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagMarket* AppearanceFlags::unsafe_arena_release_market() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.market) - _impl_._has_bits_[0] &= ~0x00000800u; - ::Canary::protobuf::appearances::AppearanceFlagMarket* temp = _impl_.market_; - _impl_.market_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagMarket* AppearanceFlags::_internal_mutable_market() { - _impl_._has_bits_[0] |= 0x00000800u; - if (_impl_.market_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagMarket>(GetArenaForAllocation()); - _impl_.market_ = p; - } - return _impl_.market_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagMarket* AppearanceFlags::mutable_market() { - ::Canary::protobuf::appearances::AppearanceFlagMarket* _msg = _internal_mutable_market(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.market) - return _msg; -} -inline void AppearanceFlags::set_allocated_market(::Canary::protobuf::appearances::AppearanceFlagMarket* market) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.market_; - } - if (market) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(market); - if (message_arena != submessage_arena) { - market = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, market, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000800u; - } else { - _impl_._has_bits_[0] &= ~0x00000800u; - } - _impl_.market_ = market; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.market) -} - -// optional bool wrap = 37; -inline bool AppearanceFlags::_internal_has_wrap() const { - bool value = (_impl_._has_bits_[1] & 0x00000080u) != 0; - return value; -} -inline bool AppearanceFlags::has_wrap() const { - return _internal_has_wrap(); -} -inline void AppearanceFlags::clear_wrap() { - _impl_.wrap_ = false; - _impl_._has_bits_[1] &= ~0x00000080u; -} -inline bool AppearanceFlags::_internal_wrap() const { - return _impl_.wrap_; -} -inline bool AppearanceFlags::wrap() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.wrap) - return _internal_wrap(); -} -inline void AppearanceFlags::_internal_set_wrap(bool value) { - _impl_._has_bits_[1] |= 0x00000080u; - _impl_.wrap_ = value; -} -inline void AppearanceFlags::set_wrap(bool value) { - _internal_set_wrap(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.wrap) -} - -// optional bool unwrap = 38; -inline bool AppearanceFlags::_internal_has_unwrap() const { - bool value = (_impl_._has_bits_[1] & 0x00000100u) != 0; - return value; -} -inline bool AppearanceFlags::has_unwrap() const { - return _internal_has_unwrap(); -} -inline void AppearanceFlags::clear_unwrap() { - _impl_.unwrap_ = false; - _impl_._has_bits_[1] &= ~0x00000100u; -} -inline bool AppearanceFlags::_internal_unwrap() const { - return _impl_.unwrap_; -} -inline bool AppearanceFlags::unwrap() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.unwrap) - return _internal_unwrap(); -} -inline void AppearanceFlags::_internal_set_unwrap(bool value) { - _impl_._has_bits_[1] |= 0x00000100u; - _impl_.unwrap_ = value; -} -inline void AppearanceFlags::set_unwrap(bool value) { - _internal_set_unwrap(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.unwrap) -} - -// optional bool topeffect = 39; -inline bool AppearanceFlags::_internal_has_topeffect() const { - bool value = (_impl_._has_bits_[1] & 0x00000200u) != 0; - return value; -} -inline bool AppearanceFlags::has_topeffect() const { - return _internal_has_topeffect(); -} -inline void AppearanceFlags::clear_topeffect() { - _impl_.topeffect_ = false; - _impl_._has_bits_[1] &= ~0x00000200u; -} -inline bool AppearanceFlags::_internal_topeffect() const { - return _impl_.topeffect_; -} -inline bool AppearanceFlags::topeffect() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.topeffect) - return _internal_topeffect(); -} -inline void AppearanceFlags::_internal_set_topeffect(bool value) { - _impl_._has_bits_[1] |= 0x00000200u; - _impl_.topeffect_ = value; -} -inline void AppearanceFlags::set_topeffect(bool value) { - _internal_set_topeffect(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.topeffect) -} - -// repeated .Canary.protobuf.appearances.AppearanceFlagNPC npcsaledata = 40; -inline int AppearanceFlags::_internal_npcsaledata_size() const { - return _impl_.npcsaledata_.size(); -} -inline int AppearanceFlags::npcsaledata_size() const { - return _internal_npcsaledata_size(); -} -inline void AppearanceFlags::clear_npcsaledata() { - _impl_.npcsaledata_.Clear(); -} -inline ::Canary::protobuf::appearances::AppearanceFlagNPC* AppearanceFlags::mutable_npcsaledata(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.npcsaledata) - return _impl_.npcsaledata_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::AppearanceFlagNPC >* -AppearanceFlags::mutable_npcsaledata() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.AppearanceFlags.npcsaledata) - return &_impl_.npcsaledata_; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagNPC& AppearanceFlags::_internal_npcsaledata(int index) const { - return _impl_.npcsaledata_.Get(index); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagNPC& AppearanceFlags::npcsaledata(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.npcsaledata) - return _internal_npcsaledata(index); -} -inline ::Canary::protobuf::appearances::AppearanceFlagNPC* AppearanceFlags::_internal_add_npcsaledata() { - return _impl_.npcsaledata_.Add(); -} -inline ::Canary::protobuf::appearances::AppearanceFlagNPC* AppearanceFlags::add_npcsaledata() { - ::Canary::protobuf::appearances::AppearanceFlagNPC* _add = _internal_add_npcsaledata(); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.AppearanceFlags.npcsaledata) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::appearances::AppearanceFlagNPC >& -AppearanceFlags::npcsaledata() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.AppearanceFlags.npcsaledata) - return _impl_.npcsaledata_; -} - -// optional .Canary.protobuf.appearances.AppearanceFlagChangedToExpire changedtoexpire = 41; -inline bool AppearanceFlags::_internal_has_changedtoexpire() const { - bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0; - PROTOBUF_ASSUME(!value || _impl_.changedtoexpire_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_changedtoexpire() const { - return _internal_has_changedtoexpire(); -} -inline void AppearanceFlags::clear_changedtoexpire() { - if (_impl_.changedtoexpire_ != nullptr) _impl_.changedtoexpire_->Clear(); - _impl_._has_bits_[0] &= ~0x00001000u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire& AppearanceFlags::_internal_changedtoexpire() const { - const ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* p = _impl_.changedtoexpire_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagChangedToExpire_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire& AppearanceFlags::changedtoexpire() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.changedtoexpire) - return _internal_changedtoexpire(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_changedtoexpire( - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* changedtoexpire) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.changedtoexpire_); - } - _impl_.changedtoexpire_ = changedtoexpire; - if (changedtoexpire) { - _impl_._has_bits_[0] |= 0x00001000u; - } else { - _impl_._has_bits_[0] &= ~0x00001000u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.changedtoexpire) -} -inline ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* AppearanceFlags::release_changedtoexpire() { - _impl_._has_bits_[0] &= ~0x00001000u; - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* temp = _impl_.changedtoexpire_; - _impl_.changedtoexpire_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* AppearanceFlags::unsafe_arena_release_changedtoexpire() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.changedtoexpire) - _impl_._has_bits_[0] &= ~0x00001000u; - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* temp = _impl_.changedtoexpire_; - _impl_.changedtoexpire_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* AppearanceFlags::_internal_mutable_changedtoexpire() { - _impl_._has_bits_[0] |= 0x00001000u; - if (_impl_.changedtoexpire_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagChangedToExpire>(GetArenaForAllocation()); - _impl_.changedtoexpire_ = p; - } - return _impl_.changedtoexpire_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* AppearanceFlags::mutable_changedtoexpire() { - ::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* _msg = _internal_mutable_changedtoexpire(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.changedtoexpire) - return _msg; -} -inline void AppearanceFlags::set_allocated_changedtoexpire(::Canary::protobuf::appearances::AppearanceFlagChangedToExpire* changedtoexpire) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.changedtoexpire_; - } - if (changedtoexpire) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(changedtoexpire); - if (message_arena != submessage_arena) { - changedtoexpire = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, changedtoexpire, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00001000u; - } else { - _impl_._has_bits_[0] &= ~0x00001000u; - } - _impl_.changedtoexpire_ = changedtoexpire; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.changedtoexpire) -} - -// optional bool corpse = 42; -inline bool AppearanceFlags::_internal_has_corpse() const { - bool value = (_impl_._has_bits_[1] & 0x00000400u) != 0; - return value; -} -inline bool AppearanceFlags::has_corpse() const { - return _internal_has_corpse(); -} -inline void AppearanceFlags::clear_corpse() { - _impl_.corpse_ = false; - _impl_._has_bits_[1] &= ~0x00000400u; -} -inline bool AppearanceFlags::_internal_corpse() const { - return _impl_.corpse_; -} -inline bool AppearanceFlags::corpse() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.corpse) - return _internal_corpse(); -} -inline void AppearanceFlags::_internal_set_corpse(bool value) { - _impl_._has_bits_[1] |= 0x00000400u; - _impl_.corpse_ = value; -} -inline void AppearanceFlags::set_corpse(bool value) { - _internal_set_corpse(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.corpse) -} - -// optional bool player_corpse = 43; -inline bool AppearanceFlags::_internal_has_player_corpse() const { - bool value = (_impl_._has_bits_[1] & 0x00000800u) != 0; - return value; -} -inline bool AppearanceFlags::has_player_corpse() const { - return _internal_has_player_corpse(); -} -inline void AppearanceFlags::clear_player_corpse() { - _impl_.player_corpse_ = false; - _impl_._has_bits_[1] &= ~0x00000800u; -} -inline bool AppearanceFlags::_internal_player_corpse() const { - return _impl_.player_corpse_; -} -inline bool AppearanceFlags::player_corpse() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.player_corpse) - return _internal_player_corpse(); -} -inline void AppearanceFlags::_internal_set_player_corpse(bool value) { - _impl_._has_bits_[1] |= 0x00000800u; - _impl_.player_corpse_ = value; -} -inline void AppearanceFlags::set_player_corpse(bool value) { - _internal_set_player_corpse(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.player_corpse) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagCyclopedia cyclopediaitem = 44; -inline bool AppearanceFlags::_internal_has_cyclopediaitem() const { - bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0; - PROTOBUF_ASSUME(!value || _impl_.cyclopediaitem_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_cyclopediaitem() const { - return _internal_has_cyclopediaitem(); -} -inline void AppearanceFlags::clear_cyclopediaitem() { - if (_impl_.cyclopediaitem_ != nullptr) _impl_.cyclopediaitem_->Clear(); - _impl_._has_bits_[0] &= ~0x00002000u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagCyclopedia& AppearanceFlags::_internal_cyclopediaitem() const { - const ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* p = _impl_.cyclopediaitem_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagCyclopedia_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagCyclopedia& AppearanceFlags::cyclopediaitem() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.cyclopediaitem) - return _internal_cyclopediaitem(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_cyclopediaitem( - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* cyclopediaitem) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.cyclopediaitem_); - } - _impl_.cyclopediaitem_ = cyclopediaitem; - if (cyclopediaitem) { - _impl_._has_bits_[0] |= 0x00002000u; - } else { - _impl_._has_bits_[0] &= ~0x00002000u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.cyclopediaitem) -} -inline ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* AppearanceFlags::release_cyclopediaitem() { - _impl_._has_bits_[0] &= ~0x00002000u; - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* temp = _impl_.cyclopediaitem_; - _impl_.cyclopediaitem_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* AppearanceFlags::unsafe_arena_release_cyclopediaitem() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.cyclopediaitem) - _impl_._has_bits_[0] &= ~0x00002000u; - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* temp = _impl_.cyclopediaitem_; - _impl_.cyclopediaitem_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* AppearanceFlags::_internal_mutable_cyclopediaitem() { - _impl_._has_bits_[0] |= 0x00002000u; - if (_impl_.cyclopediaitem_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagCyclopedia>(GetArenaForAllocation()); - _impl_.cyclopediaitem_ = p; - } - return _impl_.cyclopediaitem_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* AppearanceFlags::mutable_cyclopediaitem() { - ::Canary::protobuf::appearances::AppearanceFlagCyclopedia* _msg = _internal_mutable_cyclopediaitem(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.cyclopediaitem) - return _msg; -} -inline void AppearanceFlags::set_allocated_cyclopediaitem(::Canary::protobuf::appearances::AppearanceFlagCyclopedia* cyclopediaitem) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.cyclopediaitem_; - } - if (cyclopediaitem) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(cyclopediaitem); - if (message_arena != submessage_arena) { - cyclopediaitem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, cyclopediaitem, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00002000u; - } else { - _impl_._has_bits_[0] &= ~0x00002000u; - } - _impl_.cyclopediaitem_ = cyclopediaitem; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.cyclopediaitem) -} - -// optional bool ammo = 45; -inline bool AppearanceFlags::_internal_has_ammo() const { - bool value = (_impl_._has_bits_[1] & 0x00001000u) != 0; - return value; -} -inline bool AppearanceFlags::has_ammo() const { - return _internal_has_ammo(); -} -inline void AppearanceFlags::clear_ammo() { - _impl_.ammo_ = false; - _impl_._has_bits_[1] &= ~0x00001000u; -} -inline bool AppearanceFlags::_internal_ammo() const { - return _impl_.ammo_; -} -inline bool AppearanceFlags::ammo() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.ammo) - return _internal_ammo(); -} -inline void AppearanceFlags::_internal_set_ammo(bool value) { - _impl_._has_bits_[1] |= 0x00001000u; - _impl_.ammo_ = value; -} -inline void AppearanceFlags::set_ammo(bool value) { - _internal_set_ammo(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.ammo) -} - -// optional bool show_off_socket = 46; -inline bool AppearanceFlags::_internal_has_show_off_socket() const { - bool value = (_impl_._has_bits_[1] & 0x00002000u) != 0; - return value; -} -inline bool AppearanceFlags::has_show_off_socket() const { - return _internal_has_show_off_socket(); -} -inline void AppearanceFlags::clear_show_off_socket() { - _impl_.show_off_socket_ = false; - _impl_._has_bits_[1] &= ~0x00002000u; -} -inline bool AppearanceFlags::_internal_show_off_socket() const { - return _impl_.show_off_socket_; -} -inline bool AppearanceFlags::show_off_socket() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.show_off_socket) - return _internal_show_off_socket(); -} -inline void AppearanceFlags::_internal_set_show_off_socket(bool value) { - _impl_._has_bits_[1] |= 0x00002000u; - _impl_.show_off_socket_ = value; -} -inline void AppearanceFlags::set_show_off_socket(bool value) { - _internal_set_show_off_socket(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.show_off_socket) -} - -// optional bool reportable = 47; -inline bool AppearanceFlags::_internal_has_reportable() const { - bool value = (_impl_._has_bits_[1] & 0x00004000u) != 0; - return value; -} -inline bool AppearanceFlags::has_reportable() const { - return _internal_has_reportable(); -} -inline void AppearanceFlags::clear_reportable() { - _impl_.reportable_ = false; - _impl_._has_bits_[1] &= ~0x00004000u; -} -inline bool AppearanceFlags::_internal_reportable() const { - return _impl_.reportable_; -} -inline bool AppearanceFlags::reportable() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.reportable) - return _internal_reportable(); -} -inline void AppearanceFlags::_internal_set_reportable(bool value) { - _impl_._has_bits_[1] |= 0x00004000u; - _impl_.reportable_ = value; -} -inline void AppearanceFlags::set_reportable(bool value) { - _internal_set_reportable(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.reportable) -} - -// optional .Canary.protobuf.appearances.AppearanceFlagUpgradeClassification upgradeclassification = 48; -inline bool AppearanceFlags::_internal_has_upgradeclassification() const { - bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0; - PROTOBUF_ASSUME(!value || _impl_.upgradeclassification_ != nullptr); - return value; -} -inline bool AppearanceFlags::has_upgradeclassification() const { - return _internal_has_upgradeclassification(); -} -inline void AppearanceFlags::clear_upgradeclassification() { - if (_impl_.upgradeclassification_ != nullptr) _impl_.upgradeclassification_->Clear(); - _impl_._has_bits_[0] &= ~0x00004000u; -} -inline const ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification& AppearanceFlags::_internal_upgradeclassification() const { - const ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* p = _impl_.upgradeclassification_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::appearances::_AppearanceFlagUpgradeClassification_default_instance_); -} -inline const ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification& AppearanceFlags::upgradeclassification() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.upgradeclassification) - return _internal_upgradeclassification(); -} -inline void AppearanceFlags::unsafe_arena_set_allocated_upgradeclassification( - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* upgradeclassification) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.upgradeclassification_); - } - _impl_.upgradeclassification_ = upgradeclassification; - if (upgradeclassification) { - _impl_._has_bits_[0] |= 0x00004000u; - } else { - _impl_._has_bits_[0] &= ~0x00004000u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.appearances.AppearanceFlags.upgradeclassification) -} -inline ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* AppearanceFlags::release_upgradeclassification() { - _impl_._has_bits_[0] &= ~0x00004000u; - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* temp = _impl_.upgradeclassification_; - _impl_.upgradeclassification_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* AppearanceFlags::unsafe_arena_release_upgradeclassification() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlags.upgradeclassification) - _impl_._has_bits_[0] &= ~0x00004000u; - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* temp = _impl_.upgradeclassification_; - _impl_.upgradeclassification_ = nullptr; - return temp; -} -inline ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* AppearanceFlags::_internal_mutable_upgradeclassification() { - _impl_._has_bits_[0] |= 0x00004000u; - if (_impl_.upgradeclassification_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification>(GetArenaForAllocation()); - _impl_.upgradeclassification_ = p; - } - return _impl_.upgradeclassification_; -} -inline ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* AppearanceFlags::mutable_upgradeclassification() { - ::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* _msg = _internal_mutable_upgradeclassification(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlags.upgradeclassification) - return _msg; -} -inline void AppearanceFlags::set_allocated_upgradeclassification(::Canary::protobuf::appearances::AppearanceFlagUpgradeClassification* upgradeclassification) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.upgradeclassification_; - } - if (upgradeclassification) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(upgradeclassification); - if (message_arena != submessage_arena) { - upgradeclassification = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, upgradeclassification, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00004000u; - } else { - _impl_._has_bits_[0] &= ~0x00004000u; - } - _impl_.upgradeclassification_ = upgradeclassification; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlags.upgradeclassification) -} - -// optional bool reverse_addons_east = 49; -inline bool AppearanceFlags::_internal_has_reverse_addons_east() const { - bool value = (_impl_._has_bits_[1] & 0x00008000u) != 0; - return value; -} -inline bool AppearanceFlags::has_reverse_addons_east() const { - return _internal_has_reverse_addons_east(); -} -inline void AppearanceFlags::clear_reverse_addons_east() { - _impl_.reverse_addons_east_ = false; - _impl_._has_bits_[1] &= ~0x00008000u; -} -inline bool AppearanceFlags::_internal_reverse_addons_east() const { - return _impl_.reverse_addons_east_; -} -inline bool AppearanceFlags::reverse_addons_east() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_east) - return _internal_reverse_addons_east(); -} -inline void AppearanceFlags::_internal_set_reverse_addons_east(bool value) { - _impl_._has_bits_[1] |= 0x00008000u; - _impl_.reverse_addons_east_ = value; -} -inline void AppearanceFlags::set_reverse_addons_east(bool value) { - _internal_set_reverse_addons_east(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_east) -} - -// optional bool reverse_addons_west = 50; -inline bool AppearanceFlags::_internal_has_reverse_addons_west() const { - bool value = (_impl_._has_bits_[1] & 0x00010000u) != 0; - return value; -} -inline bool AppearanceFlags::has_reverse_addons_west() const { - return _internal_has_reverse_addons_west(); -} -inline void AppearanceFlags::clear_reverse_addons_west() { - _impl_.reverse_addons_west_ = false; - _impl_._has_bits_[1] &= ~0x00010000u; -} -inline bool AppearanceFlags::_internal_reverse_addons_west() const { - return _impl_.reverse_addons_west_; -} -inline bool AppearanceFlags::reverse_addons_west() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_west) - return _internal_reverse_addons_west(); -} -inline void AppearanceFlags::_internal_set_reverse_addons_west(bool value) { - _impl_._has_bits_[1] |= 0x00010000u; - _impl_.reverse_addons_west_ = value; -} -inline void AppearanceFlags::set_reverse_addons_west(bool value) { - _internal_set_reverse_addons_west(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_west) -} - -// optional bool reverse_addons_south = 51; -inline bool AppearanceFlags::_internal_has_reverse_addons_south() const { - bool value = (_impl_._has_bits_[1] & 0x00020000u) != 0; - return value; -} -inline bool AppearanceFlags::has_reverse_addons_south() const { - return _internal_has_reverse_addons_south(); -} -inline void AppearanceFlags::clear_reverse_addons_south() { - _impl_.reverse_addons_south_ = false; - _impl_._has_bits_[1] &= ~0x00020000u; -} -inline bool AppearanceFlags::_internal_reverse_addons_south() const { - return _impl_.reverse_addons_south_; -} -inline bool AppearanceFlags::reverse_addons_south() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_south) - return _internal_reverse_addons_south(); -} -inline void AppearanceFlags::_internal_set_reverse_addons_south(bool value) { - _impl_._has_bits_[1] |= 0x00020000u; - _impl_.reverse_addons_south_ = value; -} -inline void AppearanceFlags::set_reverse_addons_south(bool value) { - _internal_set_reverse_addons_south(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_south) -} - -// optional bool reverse_addons_north = 52; -inline bool AppearanceFlags::_internal_has_reverse_addons_north() const { - bool value = (_impl_._has_bits_[1] & 0x00040000u) != 0; - return value; -} -inline bool AppearanceFlags::has_reverse_addons_north() const { - return _internal_has_reverse_addons_north(); -} -inline void AppearanceFlags::clear_reverse_addons_north() { - _impl_.reverse_addons_north_ = false; - _impl_._has_bits_[1] &= ~0x00040000u; -} -inline bool AppearanceFlags::_internal_reverse_addons_north() const { - return _impl_.reverse_addons_north_; -} -inline bool AppearanceFlags::reverse_addons_north() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_north) - return _internal_reverse_addons_north(); -} -inline void AppearanceFlags::_internal_set_reverse_addons_north(bool value) { - _impl_._has_bits_[1] |= 0x00040000u; - _impl_.reverse_addons_north_ = value; -} -inline void AppearanceFlags::set_reverse_addons_north(bool value) { - _internal_set_reverse_addons_north(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.reverse_addons_north) -} - -// optional bool wearout = 53; -inline bool AppearanceFlags::_internal_has_wearout() const { - bool value = (_impl_._has_bits_[1] & 0x00080000u) != 0; - return value; -} -inline bool AppearanceFlags::has_wearout() const { - return _internal_has_wearout(); -} -inline void AppearanceFlags::clear_wearout() { - _impl_.wearout_ = false; - _impl_._has_bits_[1] &= ~0x00080000u; -} -inline bool AppearanceFlags::_internal_wearout() const { - return _impl_.wearout_; -} -inline bool AppearanceFlags::wearout() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.wearout) - return _internal_wearout(); -} -inline void AppearanceFlags::_internal_set_wearout(bool value) { - _impl_._has_bits_[1] |= 0x00080000u; - _impl_.wearout_ = value; -} -inline void AppearanceFlags::set_wearout(bool value) { - _internal_set_wearout(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.wearout) -} - -// optional bool clockexpire = 54; -inline bool AppearanceFlags::_internal_has_clockexpire() const { - bool value = (_impl_._has_bits_[1] & 0x00100000u) != 0; - return value; -} -inline bool AppearanceFlags::has_clockexpire() const { - return _internal_has_clockexpire(); -} -inline void AppearanceFlags::clear_clockexpire() { - _impl_.clockexpire_ = false; - _impl_._has_bits_[1] &= ~0x00100000u; -} -inline bool AppearanceFlags::_internal_clockexpire() const { - return _impl_.clockexpire_; -} -inline bool AppearanceFlags::clockexpire() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.clockexpire) - return _internal_clockexpire(); -} -inline void AppearanceFlags::_internal_set_clockexpire(bool value) { - _impl_._has_bits_[1] |= 0x00100000u; - _impl_.clockexpire_ = value; -} -inline void AppearanceFlags::set_clockexpire(bool value) { - _internal_set_clockexpire(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.clockexpire) -} - -// optional bool expire = 55; -inline bool AppearanceFlags::_internal_has_expire() const { - bool value = (_impl_._has_bits_[1] & 0x00200000u) != 0; - return value; -} -inline bool AppearanceFlags::has_expire() const { - return _internal_has_expire(); -} -inline void AppearanceFlags::clear_expire() { - _impl_.expire_ = false; - _impl_._has_bits_[1] &= ~0x00200000u; -} -inline bool AppearanceFlags::_internal_expire() const { - return _impl_.expire_; -} -inline bool AppearanceFlags::expire() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.expire) - return _internal_expire(); -} -inline void AppearanceFlags::_internal_set_expire(bool value) { - _impl_._has_bits_[1] |= 0x00200000u; - _impl_.expire_ = value; -} -inline void AppearanceFlags::set_expire(bool value) { - _internal_set_expire(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.expire) -} - -// optional bool expirestop = 56; -inline bool AppearanceFlags::_internal_has_expirestop() const { - bool value = (_impl_._has_bits_[1] & 0x00400000u) != 0; - return value; -} -inline bool AppearanceFlags::has_expirestop() const { - return _internal_has_expirestop(); -} -inline void AppearanceFlags::clear_expirestop() { - _impl_.expirestop_ = false; - _impl_._has_bits_[1] &= ~0x00400000u; -} -inline bool AppearanceFlags::_internal_expirestop() const { - return _impl_.expirestop_; -} -inline bool AppearanceFlags::expirestop() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.expirestop) - return _internal_expirestop(); -} -inline void AppearanceFlags::_internal_set_expirestop(bool value) { - _impl_._has_bits_[1] |= 0x00400000u; - _impl_.expirestop_ = value; -} -inline void AppearanceFlags::set_expirestop(bool value) { - _internal_set_expirestop(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.expirestop) -} - -// optional bool wrapkit = 57; -inline bool AppearanceFlags::_internal_has_wrapkit() const { - bool value = (_impl_._has_bits_[1] & 0x00800000u) != 0; - return value; -} -inline bool AppearanceFlags::has_wrapkit() const { - return _internal_has_wrapkit(); -} -inline void AppearanceFlags::clear_wrapkit() { - _impl_.wrapkit_ = false; - _impl_._has_bits_[1] &= ~0x00800000u; -} -inline bool AppearanceFlags::_internal_wrapkit() const { - return _impl_.wrapkit_; -} -inline bool AppearanceFlags::wrapkit() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlags.wrapkit) - return _internal_wrapkit(); -} -inline void AppearanceFlags::_internal_set_wrapkit(bool value) { - _impl_._has_bits_[1] |= 0x00800000u; - _impl_.wrapkit_ = value; -} -inline void AppearanceFlags::set_wrapkit(bool value) { - _internal_set_wrapkit(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlags.wrapkit) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagUpgradeClassification - -// optional uint32 upgrade_classification = 1; -inline bool AppearanceFlagUpgradeClassification::_internal_has_upgrade_classification() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagUpgradeClassification::has_upgrade_classification() const { - return _internal_has_upgrade_classification(); -} -inline void AppearanceFlagUpgradeClassification::clear_upgrade_classification() { - _impl_.upgrade_classification_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagUpgradeClassification::_internal_upgrade_classification() const { - return _impl_.upgrade_classification_; -} -inline uint32_t AppearanceFlagUpgradeClassification::upgrade_classification() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification.upgrade_classification) - return _internal_upgrade_classification(); -} -inline void AppearanceFlagUpgradeClassification::_internal_set_upgrade_classification(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.upgrade_classification_ = value; -} -inline void AppearanceFlagUpgradeClassification::set_upgrade_classification(uint32_t value) { - _internal_set_upgrade_classification(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagUpgradeClassification.upgrade_classification) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagBank - -// optional uint32 waypoints = 1; -inline bool AppearanceFlagBank::_internal_has_waypoints() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagBank::has_waypoints() const { - return _internal_has_waypoints(); -} -inline void AppearanceFlagBank::clear_waypoints() { - _impl_.waypoints_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagBank::_internal_waypoints() const { - return _impl_.waypoints_; -} -inline uint32_t AppearanceFlagBank::waypoints() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagBank.waypoints) - return _internal_waypoints(); -} -inline void AppearanceFlagBank::_internal_set_waypoints(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.waypoints_ = value; -} -inline void AppearanceFlagBank::set_waypoints(uint32_t value) { - _internal_set_waypoints(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagBank.waypoints) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagWrite - -// optional uint32 max_text_length = 1; -inline bool AppearanceFlagWrite::_internal_has_max_text_length() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagWrite::has_max_text_length() const { - return _internal_has_max_text_length(); -} -inline void AppearanceFlagWrite::clear_max_text_length() { - _impl_.max_text_length_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagWrite::_internal_max_text_length() const { - return _impl_.max_text_length_; -} -inline uint32_t AppearanceFlagWrite::max_text_length() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagWrite.max_text_length) - return _internal_max_text_length(); -} -inline void AppearanceFlagWrite::_internal_set_max_text_length(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.max_text_length_ = value; -} -inline void AppearanceFlagWrite::set_max_text_length(uint32_t value) { - _internal_set_max_text_length(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagWrite.max_text_length) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagWriteOnce - -// optional uint32 max_text_length_once = 1; -inline bool AppearanceFlagWriteOnce::_internal_has_max_text_length_once() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagWriteOnce::has_max_text_length_once() const { - return _internal_has_max_text_length_once(); -} -inline void AppearanceFlagWriteOnce::clear_max_text_length_once() { - _impl_.max_text_length_once_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagWriteOnce::_internal_max_text_length_once() const { - return _impl_.max_text_length_once_; -} -inline uint32_t AppearanceFlagWriteOnce::max_text_length_once() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagWriteOnce.max_text_length_once) - return _internal_max_text_length_once(); -} -inline void AppearanceFlagWriteOnce::_internal_set_max_text_length_once(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.max_text_length_once_ = value; -} -inline void AppearanceFlagWriteOnce::set_max_text_length_once(uint32_t value) { - _internal_set_max_text_length_once(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagWriteOnce.max_text_length_once) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagLight - -// optional uint32 brightness = 1; -inline bool AppearanceFlagLight::_internal_has_brightness() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagLight::has_brightness() const { - return _internal_has_brightness(); -} -inline void AppearanceFlagLight::clear_brightness() { - _impl_.brightness_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagLight::_internal_brightness() const { - return _impl_.brightness_; -} -inline uint32_t AppearanceFlagLight::brightness() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagLight.brightness) - return _internal_brightness(); -} -inline void AppearanceFlagLight::_internal_set_brightness(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.brightness_ = value; -} -inline void AppearanceFlagLight::set_brightness(uint32_t value) { - _internal_set_brightness(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagLight.brightness) -} - -// optional uint32 color = 2; -inline bool AppearanceFlagLight::_internal_has_color() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool AppearanceFlagLight::has_color() const { - return _internal_has_color(); -} -inline void AppearanceFlagLight::clear_color() { - _impl_.color_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t AppearanceFlagLight::_internal_color() const { - return _impl_.color_; -} -inline uint32_t AppearanceFlagLight::color() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagLight.color) - return _internal_color(); -} -inline void AppearanceFlagLight::_internal_set_color(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.color_ = value; -} -inline void AppearanceFlagLight::set_color(uint32_t value) { - _internal_set_color(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagLight.color) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagHeight - -// optional uint32 elevation = 1; -inline bool AppearanceFlagHeight::_internal_has_elevation() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagHeight::has_elevation() const { - return _internal_has_elevation(); -} -inline void AppearanceFlagHeight::clear_elevation() { - _impl_.elevation_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagHeight::_internal_elevation() const { - return _impl_.elevation_; -} -inline uint32_t AppearanceFlagHeight::elevation() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagHeight.elevation) - return _internal_elevation(); -} -inline void AppearanceFlagHeight::_internal_set_elevation(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.elevation_ = value; -} -inline void AppearanceFlagHeight::set_elevation(uint32_t value) { - _internal_set_elevation(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagHeight.elevation) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagShift - -// optional uint32 x = 1; -inline bool AppearanceFlagShift::_internal_has_x() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagShift::has_x() const { - return _internal_has_x(); -} -inline void AppearanceFlagShift::clear_x() { - _impl_.x_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagShift::_internal_x() const { - return _impl_.x_; -} -inline uint32_t AppearanceFlagShift::x() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagShift.x) - return _internal_x(); -} -inline void AppearanceFlagShift::_internal_set_x(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.x_ = value; -} -inline void AppearanceFlagShift::set_x(uint32_t value) { - _internal_set_x(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagShift.x) -} - -// optional uint32 y = 2; -inline bool AppearanceFlagShift::_internal_has_y() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool AppearanceFlagShift::has_y() const { - return _internal_has_y(); -} -inline void AppearanceFlagShift::clear_y() { - _impl_.y_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t AppearanceFlagShift::_internal_y() const { - return _impl_.y_; -} -inline uint32_t AppearanceFlagShift::y() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagShift.y) - return _internal_y(); -} -inline void AppearanceFlagShift::_internal_set_y(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.y_ = value; -} -inline void AppearanceFlagShift::set_y(uint32_t value) { - _internal_set_y(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagShift.y) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagClothes - -// optional uint32 slot = 1; -inline bool AppearanceFlagClothes::_internal_has_slot() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagClothes::has_slot() const { - return _internal_has_slot(); -} -inline void AppearanceFlagClothes::clear_slot() { - _impl_.slot_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagClothes::_internal_slot() const { - return _impl_.slot_; -} -inline uint32_t AppearanceFlagClothes::slot() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagClothes.slot) - return _internal_slot(); -} -inline void AppearanceFlagClothes::_internal_set_slot(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.slot_ = value; -} -inline void AppearanceFlagClothes::set_slot(uint32_t value) { - _internal_set_slot(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagClothes.slot) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagDefaultAction - -// optional .Canary.protobuf.appearances.PLAYER_ACTION action = 1; -inline bool AppearanceFlagDefaultAction::_internal_has_action() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagDefaultAction::has_action() const { - return _internal_has_action(); -} -inline void AppearanceFlagDefaultAction::clear_action() { - _impl_.action_ = 0; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline ::Canary::protobuf::appearances::PLAYER_ACTION AppearanceFlagDefaultAction::_internal_action() const { - return static_cast< ::Canary::protobuf::appearances::PLAYER_ACTION >(_impl_.action_); -} -inline ::Canary::protobuf::appearances::PLAYER_ACTION AppearanceFlagDefaultAction::action() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagDefaultAction.action) - return _internal_action(); -} -inline void AppearanceFlagDefaultAction::_internal_set_action(::Canary::protobuf::appearances::PLAYER_ACTION value) { - assert(::Canary::protobuf::appearances::PLAYER_ACTION_IsValid(value)); - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.action_ = value; -} -inline void AppearanceFlagDefaultAction::set_action(::Canary::protobuf::appearances::PLAYER_ACTION value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagDefaultAction.action) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagMarket - -// optional .Canary.protobuf.appearances.ITEM_CATEGORY category = 1; -inline bool AppearanceFlagMarket::_internal_has_category() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool AppearanceFlagMarket::has_category() const { - return _internal_has_category(); -} -inline void AppearanceFlagMarket::clear_category() { - _impl_.category_ = 1; - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline ::Canary::protobuf::appearances::ITEM_CATEGORY AppearanceFlagMarket::_internal_category() const { - return static_cast< ::Canary::protobuf::appearances::ITEM_CATEGORY >(_impl_.category_); -} -inline ::Canary::protobuf::appearances::ITEM_CATEGORY AppearanceFlagMarket::category() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagMarket.category) - return _internal_category(); -} -inline void AppearanceFlagMarket::_internal_set_category(::Canary::protobuf::appearances::ITEM_CATEGORY value) { - assert(::Canary::protobuf::appearances::ITEM_CATEGORY_IsValid(value)); - _impl_._has_bits_[0] |= 0x00000008u; - _impl_.category_ = value; -} -inline void AppearanceFlagMarket::set_category(::Canary::protobuf::appearances::ITEM_CATEGORY value) { - _internal_set_category(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagMarket.category) -} - -// optional uint32 trade_as_object_id = 2; -inline bool AppearanceFlagMarket::_internal_has_trade_as_object_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagMarket::has_trade_as_object_id() const { - return _internal_has_trade_as_object_id(); -} -inline void AppearanceFlagMarket::clear_trade_as_object_id() { - _impl_.trade_as_object_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagMarket::_internal_trade_as_object_id() const { - return _impl_.trade_as_object_id_; -} -inline uint32_t AppearanceFlagMarket::trade_as_object_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagMarket.trade_as_object_id) - return _internal_trade_as_object_id(); -} -inline void AppearanceFlagMarket::_internal_set_trade_as_object_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.trade_as_object_id_ = value; -} -inline void AppearanceFlagMarket::set_trade_as_object_id(uint32_t value) { - _internal_set_trade_as_object_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagMarket.trade_as_object_id) -} - -// optional uint32 show_as_object_id = 3; -inline bool AppearanceFlagMarket::_internal_has_show_as_object_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool AppearanceFlagMarket::has_show_as_object_id() const { - return _internal_has_show_as_object_id(); -} -inline void AppearanceFlagMarket::clear_show_as_object_id() { - _impl_.show_as_object_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t AppearanceFlagMarket::_internal_show_as_object_id() const { - return _impl_.show_as_object_id_; -} -inline uint32_t AppearanceFlagMarket::show_as_object_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagMarket.show_as_object_id) - return _internal_show_as_object_id(); -} -inline void AppearanceFlagMarket::_internal_set_show_as_object_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.show_as_object_id_ = value; -} -inline void AppearanceFlagMarket::set_show_as_object_id(uint32_t value) { - _internal_set_show_as_object_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagMarket.show_as_object_id) -} - -// repeated .Canary.protobuf.appearances.PLAYER_PROFESSION restrict_to_profession = 5; -inline int AppearanceFlagMarket::_internal_restrict_to_profession_size() const { - return _impl_.restrict_to_profession_.size(); -} -inline int AppearanceFlagMarket::restrict_to_profession_size() const { - return _internal_restrict_to_profession_size(); -} -inline void AppearanceFlagMarket::clear_restrict_to_profession() { - _impl_.restrict_to_profession_.Clear(); -} -inline ::Canary::protobuf::appearances::PLAYER_PROFESSION AppearanceFlagMarket::_internal_restrict_to_profession(int index) const { - return static_cast< ::Canary::protobuf::appearances::PLAYER_PROFESSION >(_impl_.restrict_to_profession_.Get(index)); -} -inline ::Canary::protobuf::appearances::PLAYER_PROFESSION AppearanceFlagMarket::restrict_to_profession(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagMarket.restrict_to_profession) - return _internal_restrict_to_profession(index); -} -inline void AppearanceFlagMarket::set_restrict_to_profession(int index, ::Canary::protobuf::appearances::PLAYER_PROFESSION value) { - assert(::Canary::protobuf::appearances::PLAYER_PROFESSION_IsValid(value)); - _impl_.restrict_to_profession_.Set(index, value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagMarket.restrict_to_profession) -} -inline void AppearanceFlagMarket::_internal_add_restrict_to_profession(::Canary::protobuf::appearances::PLAYER_PROFESSION value) { - assert(::Canary::protobuf::appearances::PLAYER_PROFESSION_IsValid(value)); - _impl_.restrict_to_profession_.Add(value); -} -inline void AppearanceFlagMarket::add_restrict_to_profession(::Canary::protobuf::appearances::PLAYER_PROFESSION value) { - _internal_add_restrict_to_profession(value); - // @@protoc_insertion_point(field_add:Canary.protobuf.appearances.AppearanceFlagMarket.restrict_to_profession) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& -AppearanceFlagMarket::restrict_to_profession() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.appearances.AppearanceFlagMarket.restrict_to_profession) - return _impl_.restrict_to_profession_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* -AppearanceFlagMarket::_internal_mutable_restrict_to_profession() { - return &_impl_.restrict_to_profession_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* -AppearanceFlagMarket::mutable_restrict_to_profession() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.appearances.AppearanceFlagMarket.restrict_to_profession) - return _internal_mutable_restrict_to_profession(); -} - -// optional uint32 minimum_level = 6; -inline bool AppearanceFlagMarket::_internal_has_minimum_level() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool AppearanceFlagMarket::has_minimum_level() const { - return _internal_has_minimum_level(); -} -inline void AppearanceFlagMarket::clear_minimum_level() { - _impl_.minimum_level_ = 0u; - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline uint32_t AppearanceFlagMarket::_internal_minimum_level() const { - return _impl_.minimum_level_; -} -inline uint32_t AppearanceFlagMarket::minimum_level() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagMarket.minimum_level) - return _internal_minimum_level(); -} -inline void AppearanceFlagMarket::_internal_set_minimum_level(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.minimum_level_ = value; -} -inline void AppearanceFlagMarket::set_minimum_level(uint32_t value) { - _internal_set_minimum_level(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagMarket.minimum_level) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagNPC - -// optional bytes name = 1; -inline bool AppearanceFlagNPC::_internal_has_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagNPC::has_name() const { - return _internal_has_name(); -} -inline void AppearanceFlagNPC::clear_name() { - _impl_.name_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const std::string& AppearanceFlagNPC::name() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagNPC.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AppearanceFlagNPC::set_name(ArgT0&& arg0, ArgT... args) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.name_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagNPC.name) -} -inline std::string* AppearanceFlagNPC::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlagNPC.name) - return _s; -} -inline const std::string& AppearanceFlagNPC::_internal_name() const { - return _impl_.name_.Get(); -} -inline void AppearanceFlagNPC::_internal_set_name(const std::string& value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.name_.Set(value, GetArenaForAllocation()); -} -inline std::string* AppearanceFlagNPC::_internal_mutable_name() { - _impl_._has_bits_[0] |= 0x00000001u; - return _impl_.name_.Mutable(GetArenaForAllocation()); -} -inline std::string* AppearanceFlagNPC::release_name() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlagNPC.name) - if (!_internal_has_name()) { - return nullptr; - } - _impl_._has_bits_[0] &= ~0x00000001u; - auto* p = _impl_.name_.Release(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - return p; -} -inline void AppearanceFlagNPC::set_allocated_name(std::string* name) { - if (name != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlagNPC.name) -} - -// optional bytes location = 2; -inline bool AppearanceFlagNPC::_internal_has_location() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool AppearanceFlagNPC::has_location() const { - return _internal_has_location(); -} -inline void AppearanceFlagNPC::clear_location() { - _impl_.location_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const std::string& AppearanceFlagNPC::location() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagNPC.location) - return _internal_location(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AppearanceFlagNPC::set_location(ArgT0&& arg0, ArgT... args) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.location_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagNPC.location) -} -inline std::string* AppearanceFlagNPC::mutable_location() { - std::string* _s = _internal_mutable_location(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlagNPC.location) - return _s; -} -inline const std::string& AppearanceFlagNPC::_internal_location() const { - return _impl_.location_.Get(); -} -inline void AppearanceFlagNPC::_internal_set_location(const std::string& value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.location_.Set(value, GetArenaForAllocation()); -} -inline std::string* AppearanceFlagNPC::_internal_mutable_location() { - _impl_._has_bits_[0] |= 0x00000002u; - return _impl_.location_.Mutable(GetArenaForAllocation()); -} -inline std::string* AppearanceFlagNPC::release_location() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlagNPC.location) - if (!_internal_has_location()) { - return nullptr; - } - _impl_._has_bits_[0] &= ~0x00000002u; - auto* p = _impl_.location_.Release(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.location_.IsDefault()) { - _impl_.location_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - return p; -} -inline void AppearanceFlagNPC::set_allocated_location(std::string* location) { - if (location != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - _impl_.location_.SetAllocated(location, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.location_.IsDefault()) { - _impl_.location_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlagNPC.location) -} - -// optional uint32 sale_price = 3; -inline bool AppearanceFlagNPC::_internal_has_sale_price() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool AppearanceFlagNPC::has_sale_price() const { - return _internal_has_sale_price(); -} -inline void AppearanceFlagNPC::clear_sale_price() { - _impl_.sale_price_ = 0u; - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline uint32_t AppearanceFlagNPC::_internal_sale_price() const { - return _impl_.sale_price_; -} -inline uint32_t AppearanceFlagNPC::sale_price() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagNPC.sale_price) - return _internal_sale_price(); -} -inline void AppearanceFlagNPC::_internal_set_sale_price(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000008u; - _impl_.sale_price_ = value; -} -inline void AppearanceFlagNPC::set_sale_price(uint32_t value) { - _internal_set_sale_price(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagNPC.sale_price) -} - -// optional uint32 buy_price = 4; -inline bool AppearanceFlagNPC::_internal_has_buy_price() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - return value; -} -inline bool AppearanceFlagNPC::has_buy_price() const { - return _internal_has_buy_price(); -} -inline void AppearanceFlagNPC::clear_buy_price() { - _impl_.buy_price_ = 0u; - _impl_._has_bits_[0] &= ~0x00000010u; -} -inline uint32_t AppearanceFlagNPC::_internal_buy_price() const { - return _impl_.buy_price_; -} -inline uint32_t AppearanceFlagNPC::buy_price() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagNPC.buy_price) - return _internal_buy_price(); -} -inline void AppearanceFlagNPC::_internal_set_buy_price(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000010u; - _impl_.buy_price_ = value; -} -inline void AppearanceFlagNPC::set_buy_price(uint32_t value) { - _internal_set_buy_price(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagNPC.buy_price) -} - -// optional uint32 currency_object_type_id = 5; -inline bool AppearanceFlagNPC::_internal_has_currency_object_type_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; - return value; -} -inline bool AppearanceFlagNPC::has_currency_object_type_id() const { - return _internal_has_currency_object_type_id(); -} -inline void AppearanceFlagNPC::clear_currency_object_type_id() { - _impl_.currency_object_type_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000020u; -} -inline uint32_t AppearanceFlagNPC::_internal_currency_object_type_id() const { - return _impl_.currency_object_type_id_; -} -inline uint32_t AppearanceFlagNPC::currency_object_type_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagNPC.currency_object_type_id) - return _internal_currency_object_type_id(); -} -inline void AppearanceFlagNPC::_internal_set_currency_object_type_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000020u; - _impl_.currency_object_type_id_ = value; -} -inline void AppearanceFlagNPC::set_currency_object_type_id(uint32_t value) { - _internal_set_currency_object_type_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagNPC.currency_object_type_id) -} - -// optional bytes currency_quest_flag_display_name = 6; -inline bool AppearanceFlagNPC::_internal_has_currency_quest_flag_display_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool AppearanceFlagNPC::has_currency_quest_flag_display_name() const { - return _internal_has_currency_quest_flag_display_name(); -} -inline void AppearanceFlagNPC::clear_currency_quest_flag_display_name() { - _impl_.currency_quest_flag_display_name_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline const std::string& AppearanceFlagNPC::currency_quest_flag_display_name() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagNPC.currency_quest_flag_display_name) - return _internal_currency_quest_flag_display_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AppearanceFlagNPC::set_currency_quest_flag_display_name(ArgT0&& arg0, ArgT... args) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.currency_quest_flag_display_name_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagNPC.currency_quest_flag_display_name) -} -inline std::string* AppearanceFlagNPC::mutable_currency_quest_flag_display_name() { - std::string* _s = _internal_mutable_currency_quest_flag_display_name(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.appearances.AppearanceFlagNPC.currency_quest_flag_display_name) - return _s; -} -inline const std::string& AppearanceFlagNPC::_internal_currency_quest_flag_display_name() const { - return _impl_.currency_quest_flag_display_name_.Get(); -} -inline void AppearanceFlagNPC::_internal_set_currency_quest_flag_display_name(const std::string& value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.currency_quest_flag_display_name_.Set(value, GetArenaForAllocation()); -} -inline std::string* AppearanceFlagNPC::_internal_mutable_currency_quest_flag_display_name() { - _impl_._has_bits_[0] |= 0x00000004u; - return _impl_.currency_quest_flag_display_name_.Mutable(GetArenaForAllocation()); -} -inline std::string* AppearanceFlagNPC::release_currency_quest_flag_display_name() { - // @@protoc_insertion_point(field_release:Canary.protobuf.appearances.AppearanceFlagNPC.currency_quest_flag_display_name) - if (!_internal_has_currency_quest_flag_display_name()) { - return nullptr; - } - _impl_._has_bits_[0] &= ~0x00000004u; - auto* p = _impl_.currency_quest_flag_display_name_.Release(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.currency_quest_flag_display_name_.IsDefault()) { - _impl_.currency_quest_flag_display_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - return p; -} -inline void AppearanceFlagNPC::set_allocated_currency_quest_flag_display_name(std::string* currency_quest_flag_display_name) { - if (currency_quest_flag_display_name != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - _impl_.currency_quest_flag_display_name_.SetAllocated(currency_quest_flag_display_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.currency_quest_flag_display_name_.IsDefault()) { - _impl_.currency_quest_flag_display_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.appearances.AppearanceFlagNPC.currency_quest_flag_display_name) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagAutomap - -// optional uint32 color = 1; -inline bool AppearanceFlagAutomap::_internal_has_color() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagAutomap::has_color() const { - return _internal_has_color(); -} -inline void AppearanceFlagAutomap::clear_color() { - _impl_.color_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagAutomap::_internal_color() const { - return _impl_.color_; -} -inline uint32_t AppearanceFlagAutomap::color() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagAutomap.color) - return _internal_color(); -} -inline void AppearanceFlagAutomap::_internal_set_color(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.color_ = value; -} -inline void AppearanceFlagAutomap::set_color(uint32_t value) { - _internal_set_color(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagAutomap.color) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagHook - -// optional .Canary.protobuf.appearances.HOOK_TYPE direction = 1; -inline bool AppearanceFlagHook::_internal_has_direction() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagHook::has_direction() const { - return _internal_has_direction(); -} -inline void AppearanceFlagHook::clear_direction() { - _impl_.direction_ = 1; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline ::Canary::protobuf::appearances::HOOK_TYPE AppearanceFlagHook::_internal_direction() const { - return static_cast< ::Canary::protobuf::appearances::HOOK_TYPE >(_impl_.direction_); -} -inline ::Canary::protobuf::appearances::HOOK_TYPE AppearanceFlagHook::direction() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagHook.direction) - return _internal_direction(); -} -inline void AppearanceFlagHook::_internal_set_direction(::Canary::protobuf::appearances::HOOK_TYPE value) { - assert(::Canary::protobuf::appearances::HOOK_TYPE_IsValid(value)); - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.direction_ = value; -} -inline void AppearanceFlagHook::set_direction(::Canary::protobuf::appearances::HOOK_TYPE value) { - _internal_set_direction(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagHook.direction) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagLenshelp - -// optional uint32 id = 1; -inline bool AppearanceFlagLenshelp::_internal_has_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagLenshelp::has_id() const { - return _internal_has_id(); -} -inline void AppearanceFlagLenshelp::clear_id() { - _impl_.id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagLenshelp::_internal_id() const { - return _impl_.id_; -} -inline uint32_t AppearanceFlagLenshelp::id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagLenshelp.id) - return _internal_id(); -} -inline void AppearanceFlagLenshelp::_internal_set_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.id_ = value; -} -inline void AppearanceFlagLenshelp::set_id(uint32_t value) { - _internal_set_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagLenshelp.id) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagChangedToExpire - -// optional uint32 former_object_typeid = 1; -inline bool AppearanceFlagChangedToExpire::_internal_has_former_object_typeid() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagChangedToExpire::has_former_object_typeid() const { - return _internal_has_former_object_typeid(); -} -inline void AppearanceFlagChangedToExpire::clear_former_object_typeid() { - _impl_.former_object_typeid_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagChangedToExpire::_internal_former_object_typeid() const { - return _impl_.former_object_typeid_; -} -inline uint32_t AppearanceFlagChangedToExpire::former_object_typeid() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagChangedToExpire.former_object_typeid) - return _internal_former_object_typeid(); -} -inline void AppearanceFlagChangedToExpire::_internal_set_former_object_typeid(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.former_object_typeid_ = value; -} -inline void AppearanceFlagChangedToExpire::set_former_object_typeid(uint32_t value) { - _internal_set_former_object_typeid(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagChangedToExpire.former_object_typeid) -} - -// ------------------------------------------------------------------- - -// AppearanceFlagCyclopedia - -// optional uint32 cyclopedia_type = 1; -inline bool AppearanceFlagCyclopedia::_internal_has_cyclopedia_type() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AppearanceFlagCyclopedia::has_cyclopedia_type() const { - return _internal_has_cyclopedia_type(); -} -inline void AppearanceFlagCyclopedia::clear_cyclopedia_type() { - _impl_.cyclopedia_type_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t AppearanceFlagCyclopedia::_internal_cyclopedia_type() const { - return _impl_.cyclopedia_type_; -} -inline uint32_t AppearanceFlagCyclopedia::cyclopedia_type() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.AppearanceFlagCyclopedia.cyclopedia_type) - return _internal_cyclopedia_type(); -} -inline void AppearanceFlagCyclopedia::_internal_set_cyclopedia_type(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.cyclopedia_type_ = value; -} -inline void AppearanceFlagCyclopedia::set_cyclopedia_type(uint32_t value) { - _internal_set_cyclopedia_type(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.AppearanceFlagCyclopedia.cyclopedia_type) -} - -// ------------------------------------------------------------------- - -// SpecialMeaningAppearanceIds - -// optional uint32 gold_coin_id = 1; -inline bool SpecialMeaningAppearanceIds::_internal_has_gold_coin_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool SpecialMeaningAppearanceIds::has_gold_coin_id() const { - return _internal_has_gold_coin_id(); -} -inline void SpecialMeaningAppearanceIds::clear_gold_coin_id() { - _impl_.gold_coin_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline uint32_t SpecialMeaningAppearanceIds::_internal_gold_coin_id() const { - return _impl_.gold_coin_id_; -} -inline uint32_t SpecialMeaningAppearanceIds::gold_coin_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.gold_coin_id) - return _internal_gold_coin_id(); -} -inline void SpecialMeaningAppearanceIds::_internal_set_gold_coin_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.gold_coin_id_ = value; -} -inline void SpecialMeaningAppearanceIds::set_gold_coin_id(uint32_t value) { - _internal_set_gold_coin_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.gold_coin_id) -} - -// optional uint32 platinum_coin_id = 2; -inline bool SpecialMeaningAppearanceIds::_internal_has_platinum_coin_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool SpecialMeaningAppearanceIds::has_platinum_coin_id() const { - return _internal_has_platinum_coin_id(); -} -inline void SpecialMeaningAppearanceIds::clear_platinum_coin_id() { - _impl_.platinum_coin_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline uint32_t SpecialMeaningAppearanceIds::_internal_platinum_coin_id() const { - return _impl_.platinum_coin_id_; -} -inline uint32_t SpecialMeaningAppearanceIds::platinum_coin_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.platinum_coin_id) - return _internal_platinum_coin_id(); -} -inline void SpecialMeaningAppearanceIds::_internal_set_platinum_coin_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.platinum_coin_id_ = value; -} -inline void SpecialMeaningAppearanceIds::set_platinum_coin_id(uint32_t value) { - _internal_set_platinum_coin_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.platinum_coin_id) -} - -// optional uint32 crystal_coin_id = 3; -inline bool SpecialMeaningAppearanceIds::_internal_has_crystal_coin_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool SpecialMeaningAppearanceIds::has_crystal_coin_id() const { - return _internal_has_crystal_coin_id(); -} -inline void SpecialMeaningAppearanceIds::clear_crystal_coin_id() { - _impl_.crystal_coin_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline uint32_t SpecialMeaningAppearanceIds::_internal_crystal_coin_id() const { - return _impl_.crystal_coin_id_; -} -inline uint32_t SpecialMeaningAppearanceIds::crystal_coin_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.crystal_coin_id) - return _internal_crystal_coin_id(); -} -inline void SpecialMeaningAppearanceIds::_internal_set_crystal_coin_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000004u; - _impl_.crystal_coin_id_ = value; -} -inline void SpecialMeaningAppearanceIds::set_crystal_coin_id(uint32_t value) { - _internal_set_crystal_coin_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.crystal_coin_id) -} - -// optional uint32 tibia_coin_id = 4; -inline bool SpecialMeaningAppearanceIds::_internal_has_tibia_coin_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool SpecialMeaningAppearanceIds::has_tibia_coin_id() const { - return _internal_has_tibia_coin_id(); -} -inline void SpecialMeaningAppearanceIds::clear_tibia_coin_id() { - _impl_.tibia_coin_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000008u; -} -inline uint32_t SpecialMeaningAppearanceIds::_internal_tibia_coin_id() const { - return _impl_.tibia_coin_id_; -} -inline uint32_t SpecialMeaningAppearanceIds::tibia_coin_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.tibia_coin_id) - return _internal_tibia_coin_id(); -} -inline void SpecialMeaningAppearanceIds::_internal_set_tibia_coin_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000008u; - _impl_.tibia_coin_id_ = value; -} -inline void SpecialMeaningAppearanceIds::set_tibia_coin_id(uint32_t value) { - _internal_set_tibia_coin_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.tibia_coin_id) -} - -// optional uint32 stamped_letter_id = 5; -inline bool SpecialMeaningAppearanceIds::_internal_has_stamped_letter_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - return value; -} -inline bool SpecialMeaningAppearanceIds::has_stamped_letter_id() const { - return _internal_has_stamped_letter_id(); -} -inline void SpecialMeaningAppearanceIds::clear_stamped_letter_id() { - _impl_.stamped_letter_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000010u; -} -inline uint32_t SpecialMeaningAppearanceIds::_internal_stamped_letter_id() const { - return _impl_.stamped_letter_id_; -} -inline uint32_t SpecialMeaningAppearanceIds::stamped_letter_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.stamped_letter_id) - return _internal_stamped_letter_id(); -} -inline void SpecialMeaningAppearanceIds::_internal_set_stamped_letter_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000010u; - _impl_.stamped_letter_id_ = value; -} -inline void SpecialMeaningAppearanceIds::set_stamped_letter_id(uint32_t value) { - _internal_set_stamped_letter_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.stamped_letter_id) -} - -// optional uint32 supply_stash_id = 6; -inline bool SpecialMeaningAppearanceIds::_internal_has_supply_stash_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; - return value; -} -inline bool SpecialMeaningAppearanceIds::has_supply_stash_id() const { - return _internal_has_supply_stash_id(); -} -inline void SpecialMeaningAppearanceIds::clear_supply_stash_id() { - _impl_.supply_stash_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000020u; -} -inline uint32_t SpecialMeaningAppearanceIds::_internal_supply_stash_id() const { - return _impl_.supply_stash_id_; -} -inline uint32_t SpecialMeaningAppearanceIds::supply_stash_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.supply_stash_id) - return _internal_supply_stash_id(); -} -inline void SpecialMeaningAppearanceIds::_internal_set_supply_stash_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000020u; - _impl_.supply_stash_id_ = value; -} -inline void SpecialMeaningAppearanceIds::set_supply_stash_id(uint32_t value) { - _internal_set_supply_stash_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.supply_stash_id) -} - -// optional uint32 reward_chest_id = 7; -inline bool SpecialMeaningAppearanceIds::_internal_has_reward_chest_id() const { - bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; - return value; -} -inline bool SpecialMeaningAppearanceIds::has_reward_chest_id() const { - return _internal_has_reward_chest_id(); -} -inline void SpecialMeaningAppearanceIds::clear_reward_chest_id() { - _impl_.reward_chest_id_ = 0u; - _impl_._has_bits_[0] &= ~0x00000040u; -} -inline uint32_t SpecialMeaningAppearanceIds::_internal_reward_chest_id() const { - return _impl_.reward_chest_id_; -} -inline uint32_t SpecialMeaningAppearanceIds::reward_chest_id() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.reward_chest_id) - return _internal_reward_chest_id(); -} -inline void SpecialMeaningAppearanceIds::_internal_set_reward_chest_id(uint32_t value) { - _impl_._has_bits_[0] |= 0x00000040u; - _impl_.reward_chest_id_ = value; -} -inline void SpecialMeaningAppearanceIds::set_reward_chest_id(uint32_t value) { - _internal_set_reward_chest_id(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.appearances.SpecialMeaningAppearanceIds.reward_chest_id) -} - -#ifdef __GNUC__ - #pragma GCC diagnostic pop -#endif // __GNUC__ -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - - -// @@protoc_insertion_point(namespace_scope) - -} // namespace appearances -} // namespace protobuf -} // namespace Canary - -PROTOBUF_NAMESPACE_OPEN - -template <> struct is_proto_enum< ::Canary::protobuf::appearances::PLAYER_ACTION> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Canary::protobuf::appearances::PLAYER_ACTION>() { - return ::Canary::protobuf::appearances::PLAYER_ACTION_descriptor(); -} -template <> struct is_proto_enum< ::Canary::protobuf::appearances::ITEM_CATEGORY> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Canary::protobuf::appearances::ITEM_CATEGORY>() { - return ::Canary::protobuf::appearances::ITEM_CATEGORY_descriptor(); -} -template <> struct is_proto_enum< ::Canary::protobuf::appearances::PLAYER_PROFESSION> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Canary::protobuf::appearances::PLAYER_PROFESSION>() { - return ::Canary::protobuf::appearances::PLAYER_PROFESSION_descriptor(); -} -template <> struct is_proto_enum< ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE>() { - return ::Canary::protobuf::appearances::ANIMATION_LOOP_TYPE_descriptor(); -} -template <> struct is_proto_enum< ::Canary::protobuf::appearances::HOOK_TYPE> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Canary::protobuf::appearances::HOOK_TYPE>() { - return ::Canary::protobuf::appearances::HOOK_TYPE_descriptor(); -} -template <> struct is_proto_enum< ::Canary::protobuf::appearances::FIXED_FRAME_GROUP> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Canary::protobuf::appearances::FIXED_FRAME_GROUP>() { - return ::Canary::protobuf::appearances::FIXED_FRAME_GROUP_descriptor(); -} - -PROTOBUF_NAMESPACE_CLOSE - -// @@protoc_insertion_point(global_scope) - -#include -#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_appearances_2eproto diff --git a/src/protobuf/kv.pb.cc b/src/protobuf/kv.pb.cc deleted file mode 100644 index 74cbaece407..00000000000 --- a/src/protobuf/kv.pb.cc +++ /dev/null @@ -1,1247 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: kv.proto - -#include "kv.pb.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -// @@protoc_insertion_point(includes) -#include - -PROTOBUF_PRAGMA_INIT_SEG - -namespace _pb = ::PROTOBUF_NAMESPACE_ID; -namespace _pbi = _pb::internal; - -namespace Canary { -namespace protobuf { -namespace kv { -PROTOBUF_CONSTEXPR ValueWrapper::ValueWrapper( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.value_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_._oneof_case_)*/{}} {} -struct ValueWrapperDefaultTypeInternal { - PROTOBUF_CONSTEXPR ValueWrapperDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~ValueWrapperDefaultTypeInternal() {} - union { - ValueWrapper _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueWrapperDefaultTypeInternal _ValueWrapper_default_instance_; -PROTOBUF_CONSTEXPR ArrayType::ArrayType( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.values_)*/{} - , /*decltype(_impl_._cached_size_)*/{}} {} -struct ArrayTypeDefaultTypeInternal { - PROTOBUF_CONSTEXPR ArrayTypeDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~ArrayTypeDefaultTypeInternal() {} - union { - ArrayType _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArrayTypeDefaultTypeInternal _ArrayType_default_instance_; -PROTOBUF_CONSTEXPR KeyValuePair::KeyValuePair( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.key_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.value_)*/nullptr - , /*decltype(_impl_._cached_size_)*/{}} {} -struct KeyValuePairDefaultTypeInternal { - PROTOBUF_CONSTEXPR KeyValuePairDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~KeyValuePairDefaultTypeInternal() {} - union { - KeyValuePair _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 KeyValuePairDefaultTypeInternal _KeyValuePair_default_instance_; -PROTOBUF_CONSTEXPR MapType::MapType( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.items_)*/{} - , /*decltype(_impl_._cached_size_)*/{}} {} -struct MapTypeDefaultTypeInternal { - PROTOBUF_CONSTEXPR MapTypeDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~MapTypeDefaultTypeInternal() {} - union { - MapType _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MapTypeDefaultTypeInternal _MapType_default_instance_; -} // namespace kv -} // namespace protobuf -} // namespace Canary -static ::_pb::Metadata file_level_metadata_kv_2eproto[4]; -static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_kv_2eproto = nullptr; -static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_kv_2eproto = nullptr; - -const uint32_t TableStruct_kv_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::ValueWrapper, _internal_metadata_), - ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::ValueWrapper, _impl_._oneof_case_[0]), - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - ::_pbi::kInvalidFieldOffsetTag, - ::_pbi::kInvalidFieldOffsetTag, - ::_pbi::kInvalidFieldOffsetTag, - ::_pbi::kInvalidFieldOffsetTag, - ::_pbi::kInvalidFieldOffsetTag, - ::_pbi::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::ValueWrapper, _impl_.value_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::ArrayType, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::ArrayType, _impl_.values_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::KeyValuePair, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::KeyValuePair, _impl_.key_), - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::KeyValuePair, _impl_.value_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::MapType, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Canary::protobuf::kv::MapType, _impl_.items_), -}; -static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, -1, -1, sizeof(::Canary::protobuf::kv::ValueWrapper)}, - { 13, -1, -1, sizeof(::Canary::protobuf::kv::ArrayType)}, - { 20, -1, -1, sizeof(::Canary::protobuf::kv::KeyValuePair)}, - { 28, -1, -1, sizeof(::Canary::protobuf::kv::MapType)}, -}; - -static const ::_pb::Message* const file_default_instances[] = { - &::Canary::protobuf::kv::_ValueWrapper_default_instance_._instance, - &::Canary::protobuf::kv::_ArrayType_default_instance_._instance, - &::Canary::protobuf::kv::_KeyValuePair_default_instance_._instance, - &::Canary::protobuf::kv::_MapType_default_instance_._instance, -}; - -const char descriptor_table_protodef_kv_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\010kv.proto\022\022Canary.protobuf.kv\"\327\001\n\014Value" - "Wrapper\022\023\n\tstr_value\030\001 \001(\tH\000\022\023\n\tint_valu" - "e\030\002 \001(\005H\000\022\026\n\014double_value\030\003 \001(\001H\000\0224\n\013arr" - "ay_value\030\004 \001(\0132\035.Canary.protobuf.kv.Arra" - "yTypeH\000\0220\n\tmap_value\030\005 \001(\0132\033.Canary.prot" - "obuf.kv.MapTypeH\000\022\024\n\nbool_value\030\006 \001(\010H\000B" - "\007\n\005value\"=\n\tArrayType\0220\n\006values\030\001 \003(\0132 ." - "Canary.protobuf.kv.ValueWrapper\"L\n\014KeyVa" - "luePair\022\013\n\003key\030\001 \001(\t\022/\n\005value\030\002 \001(\0132 .Ca" - "nary.protobuf.kv.ValueWrapper\":\n\007MapType" - "\022/\n\005items\030\001 \003(\0132 .Canary.protobuf.kv.Key" - "ValuePairb\006proto3" - ; -static ::_pbi::once_flag descriptor_table_kv_2eproto_once; -const ::_pbi::DescriptorTable descriptor_table_kv_2eproto = { - false, false, 457, descriptor_table_protodef_kv_2eproto, - "kv.proto", - &descriptor_table_kv_2eproto_once, nullptr, 0, 4, - schemas, file_default_instances, TableStruct_kv_2eproto::offsets, - file_level_metadata_kv_2eproto, file_level_enum_descriptors_kv_2eproto, - file_level_service_descriptors_kv_2eproto, -}; -PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_kv_2eproto_getter() { - return &descriptor_table_kv_2eproto; -} - -// Force running AddDescriptors() at dynamic initialization time. -PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_kv_2eproto(&descriptor_table_kv_2eproto); -namespace Canary { -namespace protobuf { -namespace kv { - -// =================================================================== - -class ValueWrapper::_Internal { - public: - static const ::Canary::protobuf::kv::ArrayType& array_value(const ValueWrapper* msg); - static const ::Canary::protobuf::kv::MapType& map_value(const ValueWrapper* msg); -}; - -const ::Canary::protobuf::kv::ArrayType& -ValueWrapper::_Internal::array_value(const ValueWrapper* msg) { - return *msg->_impl_.value_.array_value_; -} -const ::Canary::protobuf::kv::MapType& -ValueWrapper::_Internal::map_value(const ValueWrapper* msg) { - return *msg->_impl_.value_.map_value_; -} -void ValueWrapper::set_allocated_array_value(::Canary::protobuf::kv::ArrayType* array_value) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_value(); - if (array_value) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(array_value); - if (message_arena != submessage_arena) { - array_value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, array_value, submessage_arena); - } - set_has_array_value(); - _impl_.value_.array_value_ = array_value; - } - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.kv.ValueWrapper.array_value) -} -void ValueWrapper::set_allocated_map_value(::Canary::protobuf::kv::MapType* map_value) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_value(); - if (map_value) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(map_value); - if (message_arena != submessage_arena) { - map_value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, map_value, submessage_arena); - } - set_has_map_value(); - _impl_.value_.map_value_ = map_value; - } - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.kv.ValueWrapper.map_value) -} -ValueWrapper::ValueWrapper(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.kv.ValueWrapper) -} -ValueWrapper::ValueWrapper(const ValueWrapper& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - ValueWrapper* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_.value_){} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_._oneof_case_)*/{}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - clear_has_value(); - switch (from.value_case()) { - case kStrValue: { - _this->_internal_set_str_value(from._internal_str_value()); - break; - } - case kIntValue: { - _this->_internal_set_int_value(from._internal_int_value()); - break; - } - case kDoubleValue: { - _this->_internal_set_double_value(from._internal_double_value()); - break; - } - case kArrayValue: { - _this->_internal_mutable_array_value()->::Canary::protobuf::kv::ArrayType::MergeFrom( - from._internal_array_value()); - break; - } - case kMapValue: { - _this->_internal_mutable_map_value()->::Canary::protobuf::kv::MapType::MergeFrom( - from._internal_map_value()); - break; - } - case kBoolValue: { - _this->_internal_set_bool_value(from._internal_bool_value()); - break; - } - case VALUE_NOT_SET: { - break; - } - } - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.kv.ValueWrapper) -} - -inline void ValueWrapper::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_.value_){} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_._oneof_case_)*/{} - }; - clear_has_value(); -} - -ValueWrapper::~ValueWrapper() { - // @@protoc_insertion_point(destructor:Canary.protobuf.kv.ValueWrapper) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void ValueWrapper::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (has_value()) { - clear_value(); - } -} - -void ValueWrapper::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void ValueWrapper::clear_value() { -// @@protoc_insertion_point(one_of_clear_start:Canary.protobuf.kv.ValueWrapper) - switch (value_case()) { - case kStrValue: { - _impl_.value_.str_value_.Destroy(); - break; - } - case kIntValue: { - // No need to clear - break; - } - case kDoubleValue: { - // No need to clear - break; - } - case kArrayValue: { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.value_.array_value_; - } - break; - } - case kMapValue: { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.value_.map_value_; - } - break; - } - case kBoolValue: { - // No need to clear - break; - } - case VALUE_NOT_SET: { - break; - } - } - _impl_._oneof_case_[0] = VALUE_NOT_SET; -} - - -void ValueWrapper::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.kv.ValueWrapper) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - clear_value(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* ValueWrapper::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // string str_value = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_str_value(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "Canary.protobuf.kv.ValueWrapper.str_value")); - } else - goto handle_unusual; - continue; - // int32 int_value = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _internal_set_int_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr)); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // double double_value = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 25)) { - _internal_set_double_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr)); - ptr += sizeof(double); - } else - goto handle_unusual; - continue; - // .Canary.protobuf.kv.ArrayType array_value = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_array_value(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .Canary.protobuf.kv.MapType map_value = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - ptr = ctx->ParseMessage(_internal_mutable_map_value(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // bool bool_value = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - _internal_set_bool_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* ValueWrapper::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.kv.ValueWrapper) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // string str_value = 1; - if (_internal_has_str_value()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_str_value().data(), static_cast(this->_internal_str_value().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "Canary.protobuf.kv.ValueWrapper.str_value"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_str_value(), target); - } - - // int32 int_value = 2; - if (_internal_has_int_value()) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_int_value(), target); - } - - // double double_value = 3; - if (_internal_has_double_value()) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteDoubleToArray(3, this->_internal_double_value(), target); - } - - // .Canary.protobuf.kv.ArrayType array_value = 4; - if (_internal_has_array_value()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(4, _Internal::array_value(this), - _Internal::array_value(this).GetCachedSize(), target, stream); - } - - // .Canary.protobuf.kv.MapType map_value = 5; - if (_internal_has_map_value()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(5, _Internal::map_value(this), - _Internal::map_value(this).GetCachedSize(), target, stream); - } - - // bool bool_value = 6; - if (_internal_has_bool_value()) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_bool_value(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.kv.ValueWrapper) - return target; -} - -size_t ValueWrapper::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.kv.ValueWrapper) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - switch (value_case()) { - // string str_value = 1; - case kStrValue: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_str_value()); - break; - } - // int32 int_value = 2; - case kIntValue: { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_int_value()); - break; - } - // double double_value = 3; - case kDoubleValue: { - total_size += 1 + 8; - break; - } - // .Canary.protobuf.kv.ArrayType array_value = 4; - case kArrayValue: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.value_.array_value_); - break; - } - // .Canary.protobuf.kv.MapType map_value = 5; - case kMapValue: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.value_.map_value_); - break; - } - // bool bool_value = 6; - case kBoolValue: { - total_size += 1 + 1; - break; - } - case VALUE_NOT_SET: { - break; - } - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ValueWrapper::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - ValueWrapper::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ValueWrapper::GetClassData() const { return &_class_data_; } - - -void ValueWrapper::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.kv.ValueWrapper) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - switch (from.value_case()) { - case kStrValue: { - _this->_internal_set_str_value(from._internal_str_value()); - break; - } - case kIntValue: { - _this->_internal_set_int_value(from._internal_int_value()); - break; - } - case kDoubleValue: { - _this->_internal_set_double_value(from._internal_double_value()); - break; - } - case kArrayValue: { - _this->_internal_mutable_array_value()->::Canary::protobuf::kv::ArrayType::MergeFrom( - from._internal_array_value()); - break; - } - case kMapValue: { - _this->_internal_mutable_map_value()->::Canary::protobuf::kv::MapType::MergeFrom( - from._internal_map_value()); - break; - } - case kBoolValue: { - _this->_internal_set_bool_value(from._internal_bool_value()); - break; - } - case VALUE_NOT_SET: { - break; - } - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void ValueWrapper::CopyFrom(const ValueWrapper& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.kv.ValueWrapper) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool ValueWrapper::IsInitialized() const { - return true; -} - -void ValueWrapper::InternalSwap(ValueWrapper* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_.value_, other->_impl_.value_); - swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); -} - -::PROTOBUF_NAMESPACE_ID::Metadata ValueWrapper::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_kv_2eproto_getter, &descriptor_table_kv_2eproto_once, - file_level_metadata_kv_2eproto[0]); -} - -// =================================================================== - -class ArrayType::_Internal { - public: -}; - -ArrayType::ArrayType(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.kv.ArrayType) -} -ArrayType::ArrayType(const ArrayType& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - ArrayType* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_.values_){from._impl_.values_} - , /*decltype(_impl_._cached_size_)*/{}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.kv.ArrayType) -} - -inline void ArrayType::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_.values_){arena} - , /*decltype(_impl_._cached_size_)*/{} - }; -} - -ArrayType::~ArrayType() { - // @@protoc_insertion_point(destructor:Canary.protobuf.kv.ArrayType) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void ArrayType::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.values_.~RepeatedPtrField(); -} - -void ArrayType::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void ArrayType::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.kv.ArrayType) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.values_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* ArrayType::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // repeated .Canary.protobuf.kv.ValueWrapper values = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_values(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* ArrayType::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.kv.ArrayType) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .Canary.protobuf.kv.ValueWrapper values = 1; - for (unsigned i = 0, - n = static_cast(this->_internal_values_size()); i < n; i++) { - const auto& repfield = this->_internal_values(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.kv.ArrayType) - return target; -} - -size_t ArrayType::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.kv.ArrayType) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .Canary.protobuf.kv.ValueWrapper values = 1; - total_size += 1UL * this->_internal_values_size(); - for (const auto& msg : this->_impl_.values_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ArrayType::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - ArrayType::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ArrayType::GetClassData() const { return &_class_data_; } - - -void ArrayType::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.kv.ArrayType) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.values_.MergeFrom(from._impl_.values_); - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void ArrayType::CopyFrom(const ArrayType& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.kv.ArrayType) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool ArrayType::IsInitialized() const { - return true; -} - -void ArrayType::InternalSwap(ArrayType* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - _impl_.values_.InternalSwap(&other->_impl_.values_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata ArrayType::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_kv_2eproto_getter, &descriptor_table_kv_2eproto_once, - file_level_metadata_kv_2eproto[1]); -} - -// =================================================================== - -class KeyValuePair::_Internal { - public: - static const ::Canary::protobuf::kv::ValueWrapper& value(const KeyValuePair* msg); -}; - -const ::Canary::protobuf::kv::ValueWrapper& -KeyValuePair::_Internal::value(const KeyValuePair* msg) { - return *msg->_impl_.value_; -} -KeyValuePair::KeyValuePair(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.kv.KeyValuePair) -} -KeyValuePair::KeyValuePair(const KeyValuePair& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - KeyValuePair* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_.key_){} - , decltype(_impl_.value_){nullptr} - , /*decltype(_impl_._cached_size_)*/{}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _impl_.key_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.key_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_key().empty()) { - _this->_impl_.key_.Set(from._internal_key(), - _this->GetArenaForAllocation()); - } - if (from._internal_has_value()) { - _this->_impl_.value_ = new ::Canary::protobuf::kv::ValueWrapper(*from._impl_.value_); - } - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.kv.KeyValuePair) -} - -inline void KeyValuePair::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_.key_){} - , decltype(_impl_.value_){nullptr} - , /*decltype(_impl_._cached_size_)*/{} - }; - _impl_.key_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.key_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -} - -KeyValuePair::~KeyValuePair() { - // @@protoc_insertion_point(destructor:Canary.protobuf.kv.KeyValuePair) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void KeyValuePair::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.key_.Destroy(); - if (this != internal_default_instance()) delete _impl_.value_; -} - -void KeyValuePair::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void KeyValuePair::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.kv.KeyValuePair) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.key_.ClearToEmpty(); - if (GetArenaForAllocation() == nullptr && _impl_.value_ != nullptr) { - delete _impl_.value_; - } - _impl_.value_ = nullptr; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* KeyValuePair::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // string key = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_key(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "Canary.protobuf.kv.KeyValuePair.key")); - } else - goto handle_unusual; - continue; - // .Canary.protobuf.kv.ValueWrapper value = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_value(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* KeyValuePair::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.kv.KeyValuePair) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // string key = 1; - if (!this->_internal_key().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_key().data(), static_cast(this->_internal_key().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "Canary.protobuf.kv.KeyValuePair.key"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_key(), target); - } - - // .Canary.protobuf.kv.ValueWrapper value = 2; - if (this->_internal_has_value()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, _Internal::value(this), - _Internal::value(this).GetCachedSize(), target, stream); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.kv.KeyValuePair) - return target; -} - -size_t KeyValuePair::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.kv.KeyValuePair) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // string key = 1; - if (!this->_internal_key().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_key()); - } - - // .Canary.protobuf.kv.ValueWrapper value = 2; - if (this->_internal_has_value()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.value_); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData KeyValuePair::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - KeyValuePair::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*KeyValuePair::GetClassData() const { return &_class_data_; } - - -void KeyValuePair::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.kv.KeyValuePair) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (!from._internal_key().empty()) { - _this->_internal_set_key(from._internal_key()); - } - if (from._internal_has_value()) { - _this->_internal_mutable_value()->::Canary::protobuf::kv::ValueWrapper::MergeFrom( - from._internal_value()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void KeyValuePair::CopyFrom(const KeyValuePair& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.kv.KeyValuePair) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool KeyValuePair::IsInitialized() const { - return true; -} - -void KeyValuePair::InternalSwap(KeyValuePair* other) { - using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.key_, lhs_arena, - &other->_impl_.key_, rhs_arena - ); - swap(_impl_.value_, other->_impl_.value_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata KeyValuePair::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_kv_2eproto_getter, &descriptor_table_kv_2eproto_once, - file_level_metadata_kv_2eproto[2]); -} - -// =================================================================== - -class MapType::_Internal { - public: -}; - -MapType::MapType(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Canary.protobuf.kv.MapType) -} -MapType::MapType(const MapType& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - MapType* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_.items_){from._impl_.items_} - , /*decltype(_impl_._cached_size_)*/{}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:Canary.protobuf.kv.MapType) -} - -inline void MapType::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_.items_){arena} - , /*decltype(_impl_._cached_size_)*/{} - }; -} - -MapType::~MapType() { - // @@protoc_insertion_point(destructor:Canary.protobuf.kv.MapType) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void MapType::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.items_.~RepeatedPtrField(); -} - -void MapType::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void MapType::Clear() { -// @@protoc_insertion_point(message_clear_start:Canary.protobuf.kv.MapType) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.items_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* MapType::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // repeated .Canary.protobuf.kv.KeyValuePair items = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_items(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* MapType::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Canary.protobuf.kv.MapType) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .Canary.protobuf.kv.KeyValuePair items = 1; - for (unsigned i = 0, - n = static_cast(this->_internal_items_size()); i < n; i++) { - const auto& repfield = this->_internal_items(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Canary.protobuf.kv.MapType) - return target; -} - -size_t MapType::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Canary.protobuf.kv.MapType) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .Canary.protobuf.kv.KeyValuePair items = 1; - total_size += 1UL * this->_internal_items_size(); - for (const auto& msg : this->_impl_.items_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MapType::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - MapType::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MapType::GetClassData() const { return &_class_data_; } - - -void MapType::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Canary.protobuf.kv.MapType) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.items_.MergeFrom(from._impl_.items_); - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void MapType::CopyFrom(const MapType& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Canary.protobuf.kv.MapType) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool MapType::IsInitialized() const { - return true; -} - -void MapType::InternalSwap(MapType* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - _impl_.items_.InternalSwap(&other->_impl_.items_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata MapType::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_kv_2eproto_getter, &descriptor_table_kv_2eproto_once, - file_level_metadata_kv_2eproto[3]); -} - -// @@protoc_insertion_point(namespace_scope) -} // namespace kv -} // namespace protobuf -} // namespace Canary -PROTOBUF_NAMESPACE_OPEN -template<> PROTOBUF_NOINLINE ::Canary::protobuf::kv::ValueWrapper* -Arena::CreateMaybeMessage< ::Canary::protobuf::kv::ValueWrapper >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::kv::ValueWrapper >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::kv::ArrayType* -Arena::CreateMaybeMessage< ::Canary::protobuf::kv::ArrayType >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::kv::ArrayType >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::kv::KeyValuePair* -Arena::CreateMaybeMessage< ::Canary::protobuf::kv::KeyValuePair >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::kv::KeyValuePair >(arena); -} -template<> PROTOBUF_NOINLINE ::Canary::protobuf::kv::MapType* -Arena::CreateMaybeMessage< ::Canary::protobuf::kv::MapType >(Arena* arena) { - return Arena::CreateMessageInternal< ::Canary::protobuf::kv::MapType >(arena); -} -PROTOBUF_NAMESPACE_CLOSE - -// @@protoc_insertion_point(global_scope) -#include diff --git a/src/protobuf/kv.pb.h b/src/protobuf/kv.pb.h deleted file mode 100644 index c40c0a46502..00000000000 --- a/src/protobuf/kv.pb.h +++ /dev/null @@ -1,1441 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: kv.proto - -#ifndef GOOGLE_PROTOBUF_INCLUDED_kv_2eproto -#define GOOGLE_PROTOBUF_INCLUDED_kv_2eproto - -#include -#include - -#include -#if PROTOBUF_VERSION < 3021000 -#error This file was generated by a newer version of protoc which is -#error incompatible with your Protocol Buffer headers. Please update -#error your headers. -#endif -#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION -#error This file was generated by an older version of protoc which is -#error incompatible with your Protocol Buffer headers. Please -#error regenerate this file with a newer version of protoc. -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export -#include // IWYU pragma: export -#include -// @@protoc_insertion_point(includes) -#include -#define PROTOBUF_INTERNAL_EXPORT_kv_2eproto -PROTOBUF_NAMESPACE_OPEN -namespace internal { -class AnyMetadata; -} // namespace internal -PROTOBUF_NAMESPACE_CLOSE - -// Internal implementation detail -- do not use these members. -struct TableStruct_kv_2eproto { - static const uint32_t offsets[]; -}; -extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_kv_2eproto; -namespace Canary { -namespace protobuf { -namespace kv { -class ArrayType; -struct ArrayTypeDefaultTypeInternal; -extern ArrayTypeDefaultTypeInternal _ArrayType_default_instance_; -class KeyValuePair; -struct KeyValuePairDefaultTypeInternal; -extern KeyValuePairDefaultTypeInternal _KeyValuePair_default_instance_; -class MapType; -struct MapTypeDefaultTypeInternal; -extern MapTypeDefaultTypeInternal _MapType_default_instance_; -class ValueWrapper; -struct ValueWrapperDefaultTypeInternal; -extern ValueWrapperDefaultTypeInternal _ValueWrapper_default_instance_; -} // namespace kv -} // namespace protobuf -} // namespace Canary -PROTOBUF_NAMESPACE_OPEN -template<> ::Canary::protobuf::kv::ArrayType* Arena::CreateMaybeMessage<::Canary::protobuf::kv::ArrayType>(Arena*); -template<> ::Canary::protobuf::kv::KeyValuePair* Arena::CreateMaybeMessage<::Canary::protobuf::kv::KeyValuePair>(Arena*); -template<> ::Canary::protobuf::kv::MapType* Arena::CreateMaybeMessage<::Canary::protobuf::kv::MapType>(Arena*); -template<> ::Canary::protobuf::kv::ValueWrapper* Arena::CreateMaybeMessage<::Canary::protobuf::kv::ValueWrapper>(Arena*); -PROTOBUF_NAMESPACE_CLOSE -namespace Canary { -namespace protobuf { -namespace kv { - -// =================================================================== - -class ValueWrapper final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.kv.ValueWrapper) */ { - public: - inline ValueWrapper() : ValueWrapper(nullptr) {} - ~ValueWrapper() override; - explicit PROTOBUF_CONSTEXPR ValueWrapper(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ValueWrapper(const ValueWrapper& from); - ValueWrapper(ValueWrapper&& from) noexcept - : ValueWrapper() { - *this = ::std::move(from); - } - - inline ValueWrapper& operator=(const ValueWrapper& from) { - CopyFrom(from); - return *this; - } - inline ValueWrapper& operator=(ValueWrapper&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const ValueWrapper& default_instance() { - return *internal_default_instance(); - } - enum ValueCase { - kStrValue = 1, - kIntValue = 2, - kDoubleValue = 3, - kArrayValue = 4, - kMapValue = 5, - kBoolValue = 6, - VALUE_NOT_SET = 0, - }; - - static inline const ValueWrapper* internal_default_instance() { - return reinterpret_cast( - &_ValueWrapper_default_instance_); - } - static constexpr int kIndexInFileMessages = - 0; - - friend void swap(ValueWrapper& a, ValueWrapper& b) { - a.Swap(&b); - } - inline void Swap(ValueWrapper* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(ValueWrapper* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - ValueWrapper* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ValueWrapper& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ValueWrapper& from) { - ValueWrapper::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ValueWrapper* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.kv.ValueWrapper"; - } - protected: - explicit ValueWrapper(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kStrValueFieldNumber = 1, - kIntValueFieldNumber = 2, - kDoubleValueFieldNumber = 3, - kArrayValueFieldNumber = 4, - kMapValueFieldNumber = 5, - kBoolValueFieldNumber = 6, - }; - // string str_value = 1; - bool has_str_value() const; - private: - bool _internal_has_str_value() const; - public: - void clear_str_value(); - const std::string& str_value() const; - template - void set_str_value(ArgT0&& arg0, ArgT... args); - std::string* mutable_str_value(); - PROTOBUF_NODISCARD std::string* release_str_value(); - void set_allocated_str_value(std::string* str_value); - private: - const std::string& _internal_str_value() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_str_value(const std::string& value); - std::string* _internal_mutable_str_value(); - public: - - // int32 int_value = 2; - bool has_int_value() const; - private: - bool _internal_has_int_value() const; - public: - void clear_int_value(); - int32_t int_value() const; - void set_int_value(int32_t value); - private: - int32_t _internal_int_value() const; - void _internal_set_int_value(int32_t value); - public: - - // double double_value = 3; - bool has_double_value() const; - private: - bool _internal_has_double_value() const; - public: - void clear_double_value(); - double double_value() const; - void set_double_value(double value); - private: - double _internal_double_value() const; - void _internal_set_double_value(double value); - public: - - // .Canary.protobuf.kv.ArrayType array_value = 4; - bool has_array_value() const; - private: - bool _internal_has_array_value() const; - public: - void clear_array_value(); - const ::Canary::protobuf::kv::ArrayType& array_value() const; - PROTOBUF_NODISCARD ::Canary::protobuf::kv::ArrayType* release_array_value(); - ::Canary::protobuf::kv::ArrayType* mutable_array_value(); - void set_allocated_array_value(::Canary::protobuf::kv::ArrayType* array_value); - private: - const ::Canary::protobuf::kv::ArrayType& _internal_array_value() const; - ::Canary::protobuf::kv::ArrayType* _internal_mutable_array_value(); - public: - void unsafe_arena_set_allocated_array_value( - ::Canary::protobuf::kv::ArrayType* array_value); - ::Canary::protobuf::kv::ArrayType* unsafe_arena_release_array_value(); - - // .Canary.protobuf.kv.MapType map_value = 5; - bool has_map_value() const; - private: - bool _internal_has_map_value() const; - public: - void clear_map_value(); - const ::Canary::protobuf::kv::MapType& map_value() const; - PROTOBUF_NODISCARD ::Canary::protobuf::kv::MapType* release_map_value(); - ::Canary::protobuf::kv::MapType* mutable_map_value(); - void set_allocated_map_value(::Canary::protobuf::kv::MapType* map_value); - private: - const ::Canary::protobuf::kv::MapType& _internal_map_value() const; - ::Canary::protobuf::kv::MapType* _internal_mutable_map_value(); - public: - void unsafe_arena_set_allocated_map_value( - ::Canary::protobuf::kv::MapType* map_value); - ::Canary::protobuf::kv::MapType* unsafe_arena_release_map_value(); - - // bool bool_value = 6; - bool has_bool_value() const; - private: - bool _internal_has_bool_value() const; - public: - void clear_bool_value(); - bool bool_value() const; - void set_bool_value(bool value); - private: - bool _internal_bool_value() const; - void _internal_set_bool_value(bool value); - public: - - void clear_value(); - ValueCase value_case() const; - // @@protoc_insertion_point(class_scope:Canary.protobuf.kv.ValueWrapper) - private: - class _Internal; - void set_has_str_value(); - void set_has_int_value(); - void set_has_double_value(); - void set_has_array_value(); - void set_has_map_value(); - void set_has_bool_value(); - - inline bool has_value() const; - inline void clear_has_value(); - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - union ValueUnion { - constexpr ValueUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr str_value_; - int32_t int_value_; - double double_value_; - ::Canary::protobuf::kv::ArrayType* array_value_; - ::Canary::protobuf::kv::MapType* map_value_; - bool bool_value_; - } value_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_kv_2eproto; -}; -// ------------------------------------------------------------------- - -class ArrayType final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.kv.ArrayType) */ { - public: - inline ArrayType() : ArrayType(nullptr) {} - ~ArrayType() override; - explicit PROTOBUF_CONSTEXPR ArrayType(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ArrayType(const ArrayType& from); - ArrayType(ArrayType&& from) noexcept - : ArrayType() { - *this = ::std::move(from); - } - - inline ArrayType& operator=(const ArrayType& from) { - CopyFrom(from); - return *this; - } - inline ArrayType& operator=(ArrayType&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const ArrayType& default_instance() { - return *internal_default_instance(); - } - static inline const ArrayType* internal_default_instance() { - return reinterpret_cast( - &_ArrayType_default_instance_); - } - static constexpr int kIndexInFileMessages = - 1; - - friend void swap(ArrayType& a, ArrayType& b) { - a.Swap(&b); - } - inline void Swap(ArrayType* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(ArrayType* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - ArrayType* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ArrayType& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ArrayType& from) { - ArrayType::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ArrayType* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.kv.ArrayType"; - } - protected: - explicit ArrayType(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kValuesFieldNumber = 1, - }; - // repeated .Canary.protobuf.kv.ValueWrapper values = 1; - int values_size() const; - private: - int _internal_values_size() const; - public: - void clear_values(); - ::Canary::protobuf::kv::ValueWrapper* mutable_values(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::ValueWrapper >* - mutable_values(); - private: - const ::Canary::protobuf::kv::ValueWrapper& _internal_values(int index) const; - ::Canary::protobuf::kv::ValueWrapper* _internal_add_values(); - public: - const ::Canary::protobuf::kv::ValueWrapper& values(int index) const; - ::Canary::protobuf::kv::ValueWrapper* add_values(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::ValueWrapper >& - values() const; - - // @@protoc_insertion_point(class_scope:Canary.protobuf.kv.ArrayType) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::ValueWrapper > values_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_kv_2eproto; -}; -// ------------------------------------------------------------------- - -class KeyValuePair final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.kv.KeyValuePair) */ { - public: - inline KeyValuePair() : KeyValuePair(nullptr) {} - ~KeyValuePair() override; - explicit PROTOBUF_CONSTEXPR KeyValuePair(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - KeyValuePair(const KeyValuePair& from); - KeyValuePair(KeyValuePair&& from) noexcept - : KeyValuePair() { - *this = ::std::move(from); - } - - inline KeyValuePair& operator=(const KeyValuePair& from) { - CopyFrom(from); - return *this; - } - inline KeyValuePair& operator=(KeyValuePair&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const KeyValuePair& default_instance() { - return *internal_default_instance(); - } - static inline const KeyValuePair* internal_default_instance() { - return reinterpret_cast( - &_KeyValuePair_default_instance_); - } - static constexpr int kIndexInFileMessages = - 2; - - friend void swap(KeyValuePair& a, KeyValuePair& b) { - a.Swap(&b); - } - inline void Swap(KeyValuePair* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(KeyValuePair* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - KeyValuePair* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const KeyValuePair& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const KeyValuePair& from) { - KeyValuePair::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(KeyValuePair* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.kv.KeyValuePair"; - } - protected: - explicit KeyValuePair(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kKeyFieldNumber = 1, - kValueFieldNumber = 2, - }; - // string key = 1; - void clear_key(); - const std::string& key() const; - template - void set_key(ArgT0&& arg0, ArgT... args); - std::string* mutable_key(); - PROTOBUF_NODISCARD std::string* release_key(); - void set_allocated_key(std::string* key); - private: - const std::string& _internal_key() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_key(const std::string& value); - std::string* _internal_mutable_key(); - public: - - // .Canary.protobuf.kv.ValueWrapper value = 2; - bool has_value() const; - private: - bool _internal_has_value() const; - public: - void clear_value(); - const ::Canary::protobuf::kv::ValueWrapper& value() const; - PROTOBUF_NODISCARD ::Canary::protobuf::kv::ValueWrapper* release_value(); - ::Canary::protobuf::kv::ValueWrapper* mutable_value(); - void set_allocated_value(::Canary::protobuf::kv::ValueWrapper* value); - private: - const ::Canary::protobuf::kv::ValueWrapper& _internal_value() const; - ::Canary::protobuf::kv::ValueWrapper* _internal_mutable_value(); - public: - void unsafe_arena_set_allocated_value( - ::Canary::protobuf::kv::ValueWrapper* value); - ::Canary::protobuf::kv::ValueWrapper* unsafe_arena_release_value(); - - // @@protoc_insertion_point(class_scope:Canary.protobuf.kv.KeyValuePair) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr key_; - ::Canary::protobuf::kv::ValueWrapper* value_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_kv_2eproto; -}; -// ------------------------------------------------------------------- - -class MapType final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Canary.protobuf.kv.MapType) */ { - public: - inline MapType() : MapType(nullptr) {} - ~MapType() override; - explicit PROTOBUF_CONSTEXPR MapType(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - MapType(const MapType& from); - MapType(MapType&& from) noexcept - : MapType() { - *this = ::std::move(from); - } - - inline MapType& operator=(const MapType& from) { - CopyFrom(from); - return *this; - } - inline MapType& operator=(MapType&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const MapType& default_instance() { - return *internal_default_instance(); - } - static inline const MapType* internal_default_instance() { - return reinterpret_cast( - &_MapType_default_instance_); - } - static constexpr int kIndexInFileMessages = - 3; - - friend void swap(MapType& a, MapType& b) { - a.Swap(&b); - } - inline void Swap(MapType* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(MapType* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - MapType* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const MapType& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const MapType& from) { - MapType::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(MapType* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Canary.protobuf.kv.MapType"; - } - protected: - explicit MapType(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kItemsFieldNumber = 1, - }; - // repeated .Canary.protobuf.kv.KeyValuePair items = 1; - int items_size() const; - private: - int _internal_items_size() const; - public: - void clear_items(); - ::Canary::protobuf::kv::KeyValuePair* mutable_items(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::KeyValuePair >* - mutable_items(); - private: - const ::Canary::protobuf::kv::KeyValuePair& _internal_items(int index) const; - ::Canary::protobuf::kv::KeyValuePair* _internal_add_items(); - public: - const ::Canary::protobuf::kv::KeyValuePair& items(int index) const; - ::Canary::protobuf::kv::KeyValuePair* add_items(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::KeyValuePair >& - items() const; - - // @@protoc_insertion_point(class_scope:Canary.protobuf.kv.MapType) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::KeyValuePair > items_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_kv_2eproto; -}; -// =================================================================== - - -// =================================================================== - -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// ValueWrapper - -// string str_value = 1; -inline bool ValueWrapper::_internal_has_str_value() const { - return value_case() == kStrValue; -} -inline bool ValueWrapper::has_str_value() const { - return _internal_has_str_value(); -} -inline void ValueWrapper::set_has_str_value() { - _impl_._oneof_case_[0] = kStrValue; -} -inline void ValueWrapper::clear_str_value() { - if (_internal_has_str_value()) { - _impl_.value_.str_value_.Destroy(); - clear_has_value(); - } -} -inline const std::string& ValueWrapper::str_value() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.ValueWrapper.str_value) - return _internal_str_value(); -} -template -inline void ValueWrapper::set_str_value(ArgT0&& arg0, ArgT... args) { - if (!_internal_has_str_value()) { - clear_value(); - set_has_str_value(); - _impl_.value_.str_value_.InitDefault(); - } - _impl_.value_.str_value_.Set( static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Canary.protobuf.kv.ValueWrapper.str_value) -} -inline std::string* ValueWrapper::mutable_str_value() { - std::string* _s = _internal_mutable_str_value(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.kv.ValueWrapper.str_value) - return _s; -} -inline const std::string& ValueWrapper::_internal_str_value() const { - if (_internal_has_str_value()) { - return _impl_.value_.str_value_.Get(); - } - return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); -} -inline void ValueWrapper::_internal_set_str_value(const std::string& value) { - if (!_internal_has_str_value()) { - clear_value(); - set_has_str_value(); - _impl_.value_.str_value_.InitDefault(); - } - _impl_.value_.str_value_.Set(value, GetArenaForAllocation()); -} -inline std::string* ValueWrapper::_internal_mutable_str_value() { - if (!_internal_has_str_value()) { - clear_value(); - set_has_str_value(); - _impl_.value_.str_value_.InitDefault(); - } - return _impl_.value_.str_value_.Mutable( GetArenaForAllocation()); -} -inline std::string* ValueWrapper::release_str_value() { - // @@protoc_insertion_point(field_release:Canary.protobuf.kv.ValueWrapper.str_value) - if (_internal_has_str_value()) { - clear_has_value(); - return _impl_.value_.str_value_.Release(); - } else { - return nullptr; - } -} -inline void ValueWrapper::set_allocated_str_value(std::string* str_value) { - if (has_value()) { - clear_value(); - } - if (str_value != nullptr) { - set_has_str_value(); - _impl_.value_.str_value_.InitAllocated(str_value, GetArenaForAllocation()); - } - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.kv.ValueWrapper.str_value) -} - -// int32 int_value = 2; -inline bool ValueWrapper::_internal_has_int_value() const { - return value_case() == kIntValue; -} -inline bool ValueWrapper::has_int_value() const { - return _internal_has_int_value(); -} -inline void ValueWrapper::set_has_int_value() { - _impl_._oneof_case_[0] = kIntValue; -} -inline void ValueWrapper::clear_int_value() { - if (_internal_has_int_value()) { - _impl_.value_.int_value_ = 0; - clear_has_value(); - } -} -inline int32_t ValueWrapper::_internal_int_value() const { - if (_internal_has_int_value()) { - return _impl_.value_.int_value_; - } - return 0; -} -inline void ValueWrapper::_internal_set_int_value(int32_t value) { - if (!_internal_has_int_value()) { - clear_value(); - set_has_int_value(); - } - _impl_.value_.int_value_ = value; -} -inline int32_t ValueWrapper::int_value() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.ValueWrapper.int_value) - return _internal_int_value(); -} -inline void ValueWrapper::set_int_value(int32_t value) { - _internal_set_int_value(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.kv.ValueWrapper.int_value) -} - -// double double_value = 3; -inline bool ValueWrapper::_internal_has_double_value() const { - return value_case() == kDoubleValue; -} -inline bool ValueWrapper::has_double_value() const { - return _internal_has_double_value(); -} -inline void ValueWrapper::set_has_double_value() { - _impl_._oneof_case_[0] = kDoubleValue; -} -inline void ValueWrapper::clear_double_value() { - if (_internal_has_double_value()) { - _impl_.value_.double_value_ = 0; - clear_has_value(); - } -} -inline double ValueWrapper::_internal_double_value() const { - if (_internal_has_double_value()) { - return _impl_.value_.double_value_; - } - return 0; -} -inline void ValueWrapper::_internal_set_double_value(double value) { - if (!_internal_has_double_value()) { - clear_value(); - set_has_double_value(); - } - _impl_.value_.double_value_ = value; -} -inline double ValueWrapper::double_value() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.ValueWrapper.double_value) - return _internal_double_value(); -} -inline void ValueWrapper::set_double_value(double value) { - _internal_set_double_value(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.kv.ValueWrapper.double_value) -} - -// .Canary.protobuf.kv.ArrayType array_value = 4; -inline bool ValueWrapper::_internal_has_array_value() const { - return value_case() == kArrayValue; -} -inline bool ValueWrapper::has_array_value() const { - return _internal_has_array_value(); -} -inline void ValueWrapper::set_has_array_value() { - _impl_._oneof_case_[0] = kArrayValue; -} -inline void ValueWrapper::clear_array_value() { - if (_internal_has_array_value()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.value_.array_value_; - } - clear_has_value(); - } -} -inline ::Canary::protobuf::kv::ArrayType* ValueWrapper::release_array_value() { - // @@protoc_insertion_point(field_release:Canary.protobuf.kv.ValueWrapper.array_value) - if (_internal_has_array_value()) { - clear_has_value(); - ::Canary::protobuf::kv::ArrayType* temp = _impl_.value_.array_value_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - _impl_.value_.array_value_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::Canary::protobuf::kv::ArrayType& ValueWrapper::_internal_array_value() const { - return _internal_has_array_value() - ? *_impl_.value_.array_value_ - : reinterpret_cast< ::Canary::protobuf::kv::ArrayType&>(::Canary::protobuf::kv::_ArrayType_default_instance_); -} -inline const ::Canary::protobuf::kv::ArrayType& ValueWrapper::array_value() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.ValueWrapper.array_value) - return _internal_array_value(); -} -inline ::Canary::protobuf::kv::ArrayType* ValueWrapper::unsafe_arena_release_array_value() { - // @@protoc_insertion_point(field_unsafe_arena_release:Canary.protobuf.kv.ValueWrapper.array_value) - if (_internal_has_array_value()) { - clear_has_value(); - ::Canary::protobuf::kv::ArrayType* temp = _impl_.value_.array_value_; - _impl_.value_.array_value_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline void ValueWrapper::unsafe_arena_set_allocated_array_value(::Canary::protobuf::kv::ArrayType* array_value) { - clear_value(); - if (array_value) { - set_has_array_value(); - _impl_.value_.array_value_ = array_value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.kv.ValueWrapper.array_value) -} -inline ::Canary::protobuf::kv::ArrayType* ValueWrapper::_internal_mutable_array_value() { - if (!_internal_has_array_value()) { - clear_value(); - set_has_array_value(); - _impl_.value_.array_value_ = CreateMaybeMessage< ::Canary::protobuf::kv::ArrayType >(GetArenaForAllocation()); - } - return _impl_.value_.array_value_; -} -inline ::Canary::protobuf::kv::ArrayType* ValueWrapper::mutable_array_value() { - ::Canary::protobuf::kv::ArrayType* _msg = _internal_mutable_array_value(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.kv.ValueWrapper.array_value) - return _msg; -} - -// .Canary.protobuf.kv.MapType map_value = 5; -inline bool ValueWrapper::_internal_has_map_value() const { - return value_case() == kMapValue; -} -inline bool ValueWrapper::has_map_value() const { - return _internal_has_map_value(); -} -inline void ValueWrapper::set_has_map_value() { - _impl_._oneof_case_[0] = kMapValue; -} -inline void ValueWrapper::clear_map_value() { - if (_internal_has_map_value()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.value_.map_value_; - } - clear_has_value(); - } -} -inline ::Canary::protobuf::kv::MapType* ValueWrapper::release_map_value() { - // @@protoc_insertion_point(field_release:Canary.protobuf.kv.ValueWrapper.map_value) - if (_internal_has_map_value()) { - clear_has_value(); - ::Canary::protobuf::kv::MapType* temp = _impl_.value_.map_value_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - _impl_.value_.map_value_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::Canary::protobuf::kv::MapType& ValueWrapper::_internal_map_value() const { - return _internal_has_map_value() - ? *_impl_.value_.map_value_ - : reinterpret_cast< ::Canary::protobuf::kv::MapType&>(::Canary::protobuf::kv::_MapType_default_instance_); -} -inline const ::Canary::protobuf::kv::MapType& ValueWrapper::map_value() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.ValueWrapper.map_value) - return _internal_map_value(); -} -inline ::Canary::protobuf::kv::MapType* ValueWrapper::unsafe_arena_release_map_value() { - // @@protoc_insertion_point(field_unsafe_arena_release:Canary.protobuf.kv.ValueWrapper.map_value) - if (_internal_has_map_value()) { - clear_has_value(); - ::Canary::protobuf::kv::MapType* temp = _impl_.value_.map_value_; - _impl_.value_.map_value_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline void ValueWrapper::unsafe_arena_set_allocated_map_value(::Canary::protobuf::kv::MapType* map_value) { - clear_value(); - if (map_value) { - set_has_map_value(); - _impl_.value_.map_value_ = map_value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.kv.ValueWrapper.map_value) -} -inline ::Canary::protobuf::kv::MapType* ValueWrapper::_internal_mutable_map_value() { - if (!_internal_has_map_value()) { - clear_value(); - set_has_map_value(); - _impl_.value_.map_value_ = CreateMaybeMessage< ::Canary::protobuf::kv::MapType >(GetArenaForAllocation()); - } - return _impl_.value_.map_value_; -} -inline ::Canary::protobuf::kv::MapType* ValueWrapper::mutable_map_value() { - ::Canary::protobuf::kv::MapType* _msg = _internal_mutable_map_value(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.kv.ValueWrapper.map_value) - return _msg; -} - -// bool bool_value = 6; -inline bool ValueWrapper::_internal_has_bool_value() const { - return value_case() == kBoolValue; -} -inline bool ValueWrapper::has_bool_value() const { - return _internal_has_bool_value(); -} -inline void ValueWrapper::set_has_bool_value() { - _impl_._oneof_case_[0] = kBoolValue; -} -inline void ValueWrapper::clear_bool_value() { - if (_internal_has_bool_value()) { - _impl_.value_.bool_value_ = false; - clear_has_value(); - } -} -inline bool ValueWrapper::_internal_bool_value() const { - if (_internal_has_bool_value()) { - return _impl_.value_.bool_value_; - } - return false; -} -inline void ValueWrapper::_internal_set_bool_value(bool value) { - if (!_internal_has_bool_value()) { - clear_value(); - set_has_bool_value(); - } - _impl_.value_.bool_value_ = value; -} -inline bool ValueWrapper::bool_value() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.ValueWrapper.bool_value) - return _internal_bool_value(); -} -inline void ValueWrapper::set_bool_value(bool value) { - _internal_set_bool_value(value); - // @@protoc_insertion_point(field_set:Canary.protobuf.kv.ValueWrapper.bool_value) -} - -inline bool ValueWrapper::has_value() const { - return value_case() != VALUE_NOT_SET; -} -inline void ValueWrapper::clear_has_value() { - _impl_._oneof_case_[0] = VALUE_NOT_SET; -} -inline ValueWrapper::ValueCase ValueWrapper::value_case() const { - return ValueWrapper::ValueCase(_impl_._oneof_case_[0]); -} -// ------------------------------------------------------------------- - -// ArrayType - -// repeated .Canary.protobuf.kv.ValueWrapper values = 1; -inline int ArrayType::_internal_values_size() const { - return _impl_.values_.size(); -} -inline int ArrayType::values_size() const { - return _internal_values_size(); -} -inline void ArrayType::clear_values() { - _impl_.values_.Clear(); -} -inline ::Canary::protobuf::kv::ValueWrapper* ArrayType::mutable_values(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.kv.ArrayType.values) - return _impl_.values_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::ValueWrapper >* -ArrayType::mutable_values() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.kv.ArrayType.values) - return &_impl_.values_; -} -inline const ::Canary::protobuf::kv::ValueWrapper& ArrayType::_internal_values(int index) const { - return _impl_.values_.Get(index); -} -inline const ::Canary::protobuf::kv::ValueWrapper& ArrayType::values(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.ArrayType.values) - return _internal_values(index); -} -inline ::Canary::protobuf::kv::ValueWrapper* ArrayType::_internal_add_values() { - return _impl_.values_.Add(); -} -inline ::Canary::protobuf::kv::ValueWrapper* ArrayType::add_values() { - ::Canary::protobuf::kv::ValueWrapper* _add = _internal_add_values(); - // @@protoc_insertion_point(field_add:Canary.protobuf.kv.ArrayType.values) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::ValueWrapper >& -ArrayType::values() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.kv.ArrayType.values) - return _impl_.values_; -} - -// ------------------------------------------------------------------- - -// KeyValuePair - -// string key = 1; -inline void KeyValuePair::clear_key() { - _impl_.key_.ClearToEmpty(); -} -inline const std::string& KeyValuePair::key() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.KeyValuePair.key) - return _internal_key(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void KeyValuePair::set_key(ArgT0&& arg0, ArgT... args) { - - _impl_.key_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Canary.protobuf.kv.KeyValuePair.key) -} -inline std::string* KeyValuePair::mutable_key() { - std::string* _s = _internal_mutable_key(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.kv.KeyValuePair.key) - return _s; -} -inline const std::string& KeyValuePair::_internal_key() const { - return _impl_.key_.Get(); -} -inline void KeyValuePair::_internal_set_key(const std::string& value) { - - _impl_.key_.Set(value, GetArenaForAllocation()); -} -inline std::string* KeyValuePair::_internal_mutable_key() { - - return _impl_.key_.Mutable(GetArenaForAllocation()); -} -inline std::string* KeyValuePair::release_key() { - // @@protoc_insertion_point(field_release:Canary.protobuf.kv.KeyValuePair.key) - return _impl_.key_.Release(); -} -inline void KeyValuePair::set_allocated_key(std::string* key) { - if (key != nullptr) { - - } else { - - } - _impl_.key_.SetAllocated(key, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.key_.IsDefault()) { - _impl_.key_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.kv.KeyValuePair.key) -} - -// .Canary.protobuf.kv.ValueWrapper value = 2; -inline bool KeyValuePair::_internal_has_value() const { - return this != internal_default_instance() && _impl_.value_ != nullptr; -} -inline bool KeyValuePair::has_value() const { - return _internal_has_value(); -} -inline void KeyValuePair::clear_value() { - if (GetArenaForAllocation() == nullptr && _impl_.value_ != nullptr) { - delete _impl_.value_; - } - _impl_.value_ = nullptr; -} -inline const ::Canary::protobuf::kv::ValueWrapper& KeyValuePair::_internal_value() const { - const ::Canary::protobuf::kv::ValueWrapper* p = _impl_.value_; - return p != nullptr ? *p : reinterpret_cast( - ::Canary::protobuf::kv::_ValueWrapper_default_instance_); -} -inline const ::Canary::protobuf::kv::ValueWrapper& KeyValuePair::value() const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.KeyValuePair.value) - return _internal_value(); -} -inline void KeyValuePair::unsafe_arena_set_allocated_value( - ::Canary::protobuf::kv::ValueWrapper* value) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.value_); - } - _impl_.value_ = value; - if (value) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Canary.protobuf.kv.KeyValuePair.value) -} -inline ::Canary::protobuf::kv::ValueWrapper* KeyValuePair::release_value() { - - ::Canary::protobuf::kv::ValueWrapper* temp = _impl_.value_; - _impl_.value_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::Canary::protobuf::kv::ValueWrapper* KeyValuePair::unsafe_arena_release_value() { - // @@protoc_insertion_point(field_release:Canary.protobuf.kv.KeyValuePair.value) - - ::Canary::protobuf::kv::ValueWrapper* temp = _impl_.value_; - _impl_.value_ = nullptr; - return temp; -} -inline ::Canary::protobuf::kv::ValueWrapper* KeyValuePair::_internal_mutable_value() { - - if (_impl_.value_ == nullptr) { - auto* p = CreateMaybeMessage<::Canary::protobuf::kv::ValueWrapper>(GetArenaForAllocation()); - _impl_.value_ = p; - } - return _impl_.value_; -} -inline ::Canary::protobuf::kv::ValueWrapper* KeyValuePair::mutable_value() { - ::Canary::protobuf::kv::ValueWrapper* _msg = _internal_mutable_value(); - // @@protoc_insertion_point(field_mutable:Canary.protobuf.kv.KeyValuePair.value) - return _msg; -} -inline void KeyValuePair::set_allocated_value(::Canary::protobuf::kv::ValueWrapper* value) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.value_; - } - if (value) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(value); - if (message_arena != submessage_arena) { - value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, value, submessage_arena); - } - - } else { - - } - _impl_.value_ = value; - // @@protoc_insertion_point(field_set_allocated:Canary.protobuf.kv.KeyValuePair.value) -} - -// ------------------------------------------------------------------- - -// MapType - -// repeated .Canary.protobuf.kv.KeyValuePair items = 1; -inline int MapType::_internal_items_size() const { - return _impl_.items_.size(); -} -inline int MapType::items_size() const { - return _internal_items_size(); -} -inline void MapType::clear_items() { - _impl_.items_.Clear(); -} -inline ::Canary::protobuf::kv::KeyValuePair* MapType::mutable_items(int index) { - // @@protoc_insertion_point(field_mutable:Canary.protobuf.kv.MapType.items) - return _impl_.items_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::KeyValuePair >* -MapType::mutable_items() { - // @@protoc_insertion_point(field_mutable_list:Canary.protobuf.kv.MapType.items) - return &_impl_.items_; -} -inline const ::Canary::protobuf::kv::KeyValuePair& MapType::_internal_items(int index) const { - return _impl_.items_.Get(index); -} -inline const ::Canary::protobuf::kv::KeyValuePair& MapType::items(int index) const { - // @@protoc_insertion_point(field_get:Canary.protobuf.kv.MapType.items) - return _internal_items(index); -} -inline ::Canary::protobuf::kv::KeyValuePair* MapType::_internal_add_items() { - return _impl_.items_.Add(); -} -inline ::Canary::protobuf::kv::KeyValuePair* MapType::add_items() { - ::Canary::protobuf::kv::KeyValuePair* _add = _internal_add_items(); - // @@protoc_insertion_point(field_add:Canary.protobuf.kv.MapType.items) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Canary::protobuf::kv::KeyValuePair >& -MapType::items() const { - // @@protoc_insertion_point(field_list:Canary.protobuf.kv.MapType.items) - return _impl_.items_; -} - -#ifdef __GNUC__ - #pragma GCC diagnostic pop -#endif // __GNUC__ -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - - -// @@protoc_insertion_point(namespace_scope) - -} // namespace kv -} // namespace protobuf -} // namespace Canary - -// @@protoc_insertion_point(global_scope) - -#include -#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_kv_2eproto diff --git a/src/utils/tools.cpp b/src/utils/tools.cpp index 004bfdbc87a..0d8b39a485d 100644 --- a/src/utils/tools.cpp +++ b/src/utils/tools.cpp @@ -1077,6 +1077,47 @@ std::string getWeaponName(WeaponType_t weaponType) { } } +WeaponType_t getWeaponType(const std::string &name) { + static const std::unordered_map type_mapping = { + { "none", WeaponType_t::WEAPON_NONE }, + { "sword", WeaponType_t::WEAPON_SWORD }, + { "club", WeaponType_t::WEAPON_CLUB }, + { "axe", WeaponType_t::WEAPON_AXE }, + { "shield", WeaponType_t::WEAPON_SHIELD }, + { "distance", WeaponType_t::WEAPON_DISTANCE }, + { "wand", WeaponType_t::WEAPON_WAND }, + { "ammo", WeaponType_t::WEAPON_AMMO }, + { "missile", WeaponType_t::WEAPON_MISSILE } + }; + + auto it = type_mapping.find(name); + if (it != type_mapping.end()) { + return it->second; + } + + return WEAPON_NONE; +} + +MoveEvent_t getMoveEventType(const std::string &name) { + static const std::unordered_map move_event_type_mapping = { + { "stepin", MOVE_EVENT_STEP_IN }, + { "stepout", MOVE_EVENT_STEP_OUT }, + { "equip", MOVE_EVENT_EQUIP }, + { "deequip", MOVE_EVENT_DEEQUIP }, + { "additem", MOVE_EVENT_ADD_ITEM }, + { "removeitem", MOVE_EVENT_REMOVE_ITEM }, + { "additemitemtile", MOVE_EVENT_ADD_ITEM_ITEMTILE }, + { "removeitemitemtile", MOVE_EVENT_REMOVE_ITEM_ITEMTILE } + }; + + auto it = move_event_type_mapping.find(name); + if (it != move_event_type_mapping.end()) { + return it->second; + } + + return MOVE_EVENT_NONE; +} + std::string getCombatName(CombatType_t combatType) { auto combatName = combatTypeNames.find(combatType); if (combatName != combatTypeNames.end()) { @@ -1778,11 +1819,11 @@ std::string getVerbForPronoun(PlayerPronoun_t pronoun, bool pastTense) { return pastTense ? "was" : "is"; } -std::vector split(const std::string &str) { +std::vector split(const std::string &str, char delimiter /* = ','*/) { std::vector tokens; std::string token; std::istringstream tokenStream(str); - while (std::getline(tokenStream, token, ',')) { + while (std::getline(tokenStream, token, delimiter)) { auto trimedToken = token; trimString(trimedToken); tokens.push_back(trimedToken); diff --git a/src/utils/tools.hpp b/src/utils/tools.hpp index 5af2d9f282b..769fb5d68d3 100644 --- a/src/utils/tools.hpp +++ b/src/utils/tools.hpp @@ -108,6 +108,8 @@ std::string ucwords(std::string str); bool booleanString(const std::string &str); std::string getWeaponName(WeaponType_t weaponType); +WeaponType_t getWeaponType(const std::string &name); +MoveEvent_t getMoveEventType(const std::string &name); std::string getCombatName(CombatType_t combatType); CombatType_t getCombatTypeByName(const std::string &combatname); @@ -152,7 +154,7 @@ SpellGroup_t stringToSpellGroup(const std::string &value); uint8_t forgeBonus(int32_t number); std::string formatPrice(std::string price, bool space /* = false*/); -std::vector split(const std::string &str); +std::vector split(const std::string &str, char delimiter = ','); std::string getFormattedTimeRemaining(uint32_t time); unsigned int getNumberOfCores();