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/README.md b/README.md
index fd632b2c067..119850ea7ea 100644
--- a/README.md
+++ b/README.md
@@ -98,14 +98,6 @@ other open-source initiatives.
-## Project supported by [TNT Cloud](https://tntcloudbr.com.br/)
-
-Thanks for supporting our open-source project with your game cloud hosting services.
-
-
-
-
-
### Partners
[![Supported by OTServ Brasil](https://raw.githubusercontent.com/otbr/otserv-brasil/main/otbr.png)](https://forums.otserv.com.br)
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/actions/other/cask_kegs.lua b/data-canary/scripts/actions/other/cask_kegs.lua
deleted file mode 100644
index f437840e3fa..00000000000
--- a/data-canary/scripts/actions/other/cask_kegs.lua
+++ /dev/null
@@ -1,69 +0,0 @@
-local targetIdList = {
- --health potions casks
- [25879] = { itemId = 285, transform = 266 }, -- Health Potion --
- [25880] = { itemId = 283, transform = 236 }, -- Strong Health --
- [25881] = { itemId = 284, transform = 239 }, -- Great Health --
- [25882] = { itemId = 284, transform = 7643 }, -- Ultimate Health --
- [25883] = { itemId = 284, transform = 23375 }, -- Supreme Health --
- --mana potions casks
- [25889] = { itemId = 285, transform = 268 }, -- Mana Potion --
- [25890] = { itemId = 283, transform = 237 }, -- Strong Mana --
- [25891] = { itemId = 284, transform = 238 }, -- Great Mana --
- [25892] = { itemId = 284, transform = 23373 }, -- Ultimate Mana --
- --spirit potions caks
- [25899] = { itemId = 284, transform = 7642 }, -- Great Spirit --
- [25900] = { itemId = 284, transform = 23374 }, --Ultimate Spirit --
-
- --health potions kegs
- [25903] = { itemId = 285, transform = 266 }, -- Health Potion --
- [25904] = { itemId = 283, transform = 236 }, -- Strong Health --
- [25905] = { itemId = 284, transform = 239 }, -- Great Health --
- [25906] = { itemId = 284, transform = 7643 }, -- Ultimate Health --
- [25907] = { itemId = 284, transform = 23375 }, -- Supreme Health --
-
- --mana potion kegs
- [25908] = { itemId = 285, transform = 268 }, -- Mana Potion --
- [25909] = { itemId = 283, transform = 237 }, -- Strong Mana --
- [25910] = { itemId = 284, transform = 238 }, -- Great Mana --
- [25911] = { itemId = 284, transform = 23373 }, -- Ultimate Mana --
-
- --spirit potions kegs
- [25913] = { itemId = 284, transform = 7642 }, -- Great Spirit --
- [25914] = { itemId = 284, transform = 23374 }, --Ultimate Spirit --
-}
-
-local flasks = Action()
-
-function flasks.onUse(player, item, fromPosition, target, toPosition, isHotkey)
- if not target or not target:getItem() then
- return false
- end
-
- local charges = target:getCharges()
- local itemCount = item:getCount()
- if itemCount > charges then
- itemCount = charges
- end
-
- local targetId = targetIdList[target:getId()]
- if targetId and item:getId() == targetId.itemId and charges > 0 then
- local potMath = item:getCount() - itemCount
- local parent = item:getParent()
- if not (parent:isContainer() and parent:addItem(item:getId(), potMath)) then
- player:addItem(item:getId(), potMath, true)
- end
-
- item:transform(targetId.transform, itemCount)
- charges = charges - itemCount
- target:transform(target:getId(), charges)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Remaining %s charges.", charges))
- if charges == 0 then
- target:remove()
- end
- return true
- end
- return false
-end
-
-flasks:id(283, 284, 285)
-flasks:register()
diff --git a/data-canary/scripts/actions/other/scroll_of_ascension.lua b/data-canary/scripts/actions/other/scroll_of_ascension.lua
deleted file mode 100644
index 6a598484591..00000000000
--- a/data-canary/scripts/actions/other/scroll_of_ascension.lua
+++ /dev/null
@@ -1,17 +0,0 @@
-local scrollOfAscencion = Action()
-
-function scrollOfAscencion.onUse(player, item, fromPosition, target, toPosition, isHotkey)
- if math.random(10) > 1 then
- player:setMonsterOutfit("Demon", 30 * 10 * 1000)
- else
- player:setMonsterOutfit("Ferumbras", 30 * 10 * 1000)
- end
- item:transform(22772)
- item:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- item:decay()
- player:say("Magical sparks whirl around the scroll as you read it and then your appearance is changing.", TALKTYPE_MONSTER_SAY)
- return true
-end
-
-scrollOfAscencion:id(22771)
-scrollOfAscencion:register()
diff --git a/data-canary/scripts/movements/swimming.lua b/data-canary/scripts/movements/swimming.lua
deleted file mode 100644
index 494a4433a21..00000000000
--- a/data-canary/scripts/movements/swimming.lua
+++ /dev/null
@@ -1,33 +0,0 @@
-local condition = Condition(CONDITION_OUTFIT)
-condition:setOutfit({ lookType = 267 })
-condition:setTicks(-1)
-
-local swimming = MoveEvent()
-swimming:type("stepin")
-
-function swimming.onStepIn(creature, item, position, fromPosition)
- if not creature:isPlayer() then
- return false
- end
-
- creature:addCondition(condition)
- return true
-end
-
-swimming:id(629, 630, 631, 632, 633, 634, 4809, 4810, 4811, 4812, 4813, 4814)
-swimming:register()
-
-local swimming = MoveEvent()
-swimming:type("stepout")
-
-function swimming.onStepOut(creature, item, position, fromPosition)
- if not creature:isPlayer() then
- return false
- end
-
- creature:removeCondition(CONDITION_OUTFIT)
- return true
-end
-
-swimming:id(629, 630, 631, 632, 633, 634, 4809, 4810, 4811, 4812, 4813, 4814)
-swimming:register()
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/npc/a_fluffy_squirrel.lua b/data-otservbr-global/npc/a_fluffy_squirrel.lua
index 2e9b6a33df5..d246e0e5579 100644
--- a/data-otservbr-global/npc/a_fluffy_squirrel.lua
+++ b/data-otservbr-global/npc/a_fluffy_squirrel.lua
@@ -34,7 +34,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ahmet.lua b/data-otservbr-global/npc/ahmet.lua
index 15dde452fb6..3cb712f088e 100644
--- a/data-otservbr-global/npc/ahmet.lua
+++ b/data-otservbr-global/npc/ahmet.lua
@@ -61,7 +61,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/al_dee.lua b/data-otservbr-global/npc/al_dee.lua
index 4b8bf1c5b0c..5ecaf2ceee7 100644
--- a/data-otservbr-global/npc/al_dee.lua
+++ b/data-otservbr-global/npc/al_dee.lua
@@ -49,7 +49,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/alaistar.lua b/data-otservbr-global/npc/alaistar.lua
index b4e73f21824..e893975b24b 100644
--- a/data-otservbr-global/npc/alaistar.lua
+++ b/data-otservbr-global/npc/alaistar.lua
@@ -73,7 +73,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/albinius.lua b/data-otservbr-global/npc/albinius.lua
index 3b03198b333..ca04c785848 100644
--- a/data-otservbr-global/npc/albinius.lua
+++ b/data-otservbr-global/npc/albinius.lua
@@ -32,7 +32,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/aldo.lua b/data-otservbr-global/npc/aldo.lua
index e9338a292c7..6206a448980 100644
--- a/data-otservbr-global/npc/aldo.lua
+++ b/data-otservbr-global/npc/aldo.lua
@@ -48,7 +48,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/alesar.lua b/data-otservbr-global/npc/alesar.lua
index b9c3b11e545..ca38fe37ac1 100644
--- a/data-otservbr-global/npc/alesar.lua
+++ b/data-otservbr-global/npc/alesar.lua
@@ -53,7 +53,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/alexander.lua b/data-otservbr-global/npc/alexander.lua
index 7851a189a66..78f51e486c8 100644
--- a/data-otservbr-global/npc/alexander.lua
+++ b/data-otservbr-global/npc/alexander.lua
@@ -162,7 +162,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/alissa.lua b/data-otservbr-global/npc/alissa.lua
index 32c78cf3847..467c34b0118 100644
--- a/data-otservbr-global/npc/alissa.lua
+++ b/data-otservbr-global/npc/alissa.lua
@@ -77,7 +77,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/allen.lua b/data-otservbr-global/npc/allen.lua
index dc72b57c298..2421f752d87 100644
--- a/data-otservbr-global/npc/allen.lua
+++ b/data-otservbr-global/npc/allen.lua
@@ -87,7 +87,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/amra.lua b/data-otservbr-global/npc/amra.lua
index c50edb3c46c..cd88a462dad 100644
--- a/data-otservbr-global/npc/amra.lua
+++ b/data-otservbr-global/npc/amra.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/andrew_lyze.lua b/data-otservbr-global/npc/andrew_lyze.lua
index c3cb68fa53e..82b1f9a61ce 100644
--- a/data-otservbr-global/npc/andrew_lyze.lua
+++ b/data-otservbr-global/npc/andrew_lyze.lua
@@ -32,7 +32,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/anerui.lua b/data-otservbr-global/npc/anerui.lua
index 26a81e40ac1..0b6382a2b6a 100644
--- a/data-otservbr-global/npc/anerui.lua
+++ b/data-otservbr-global/npc/anerui.lua
@@ -83,7 +83,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/angus.lua b/data-otservbr-global/npc/angus.lua
index 1616d1d50d2..3f8d80f6b4c 100644
--- a/data-otservbr-global/npc/angus.lua
+++ b/data-otservbr-global/npc/angus.lua
@@ -678,7 +678,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/archery.lua b/data-otservbr-global/npc/archery.lua
index 55d1a7e5f89..fc5d37524f4 100644
--- a/data-otservbr-global/npc/archery.lua
+++ b/data-otservbr-global/npc/archery.lua
@@ -105,7 +105,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/archery_rook.lua b/data-otservbr-global/npc/archery_rook.lua
index d86ad6ba1d7..ddebed46042 100644
--- a/data-otservbr-global/npc/archery_rook.lua
+++ b/data-otservbr-global/npc/archery_rook.lua
@@ -75,7 +75,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ariella.lua b/data-otservbr-global/npc/ariella.lua
index 46746f4aa32..35ff38f6621 100644
--- a/data-otservbr-global/npc/ariella.lua
+++ b/data-otservbr-global/npc/ariella.lua
@@ -197,7 +197,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/arito.lua b/data-otservbr-global/npc/arito.lua
index d2c526ddddb..a885cc91e20 100644
--- a/data-otservbr-global/npc/arito.lua
+++ b/data-otservbr-global/npc/arito.lua
@@ -113,7 +113,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/arkulius.lua b/data-otservbr-global/npc/arkulius.lua
index 53193d74bb4..64abb564d17 100644
--- a/data-otservbr-global/npc/arkulius.lua
+++ b/data-otservbr-global/npc/arkulius.lua
@@ -203,7 +203,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/armenius.lua b/data-otservbr-global/npc/armenius.lua
index 73b1e2f89b9..045a53af2c8 100644
--- a/data-otservbr-global/npc/armenius.lua
+++ b/data-otservbr-global/npc/armenius.lua
@@ -108,7 +108,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/asima.lua b/data-otservbr-global/npc/asima.lua
index 83dab8bbe8b..645689c42d4 100644
--- a/data-otservbr-global/npc/asima.lua
+++ b/data-otservbr-global/npc/asima.lua
@@ -156,7 +156,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/asnarus.lua b/data-otservbr-global/npc/asnarus.lua
index 6cbff33abf8..a733d90834b 100644
--- a/data-otservbr-global/npc/asnarus.lua
+++ b/data-otservbr-global/npc/asnarus.lua
@@ -126,7 +126,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/asphota.lua b/data-otservbr-global/npc/asphota.lua
index 41130190f0f..13e9b83f6c4 100644
--- a/data-otservbr-global/npc/asphota.lua
+++ b/data-otservbr-global/npc/asphota.lua
@@ -81,7 +81,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/atrad.lua b/data-otservbr-global/npc/atrad.lua
index 24767c0c9da..2c07cf9725a 100644
--- a/data-otservbr-global/npc/atrad.lua
+++ b/data-otservbr-global/npc/atrad.lua
@@ -110,7 +110,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/auron.lua b/data-otservbr-global/npc/auron.lua
index 23cf6f3be06..8b0b84538c5 100644
--- a/data-otservbr-global/npc/auron.lua
+++ b/data-otservbr-global/npc/auron.lua
@@ -58,7 +58,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/azil.lua b/data-otservbr-global/npc/azil.lua
index 8f9f94021fe..b58c2ae2b6f 100644
--- a/data-otservbr-global/npc/azil.lua
+++ b/data-otservbr-global/npc/azil.lua
@@ -94,7 +94,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/baltim.lua b/data-otservbr-global/npc/baltim.lua
index f078c3ed79c..d0b472f6bd2 100644
--- a/data-otservbr-global/npc/baltim.lua
+++ b/data-otservbr-global/npc/baltim.lua
@@ -142,7 +142,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/bashira.lua b/data-otservbr-global/npc/bashira.lua
index bc738dd344d..cad33258c39 100644
--- a/data-otservbr-global/npc/bashira.lua
+++ b/data-otservbr-global/npc/bashira.lua
@@ -104,7 +104,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/battlemart.lua b/data-otservbr-global/npc/battlemart.lua
index a34d2d3a46c..4cc010da066 100644
--- a/data-otservbr-global/npc/battlemart.lua
+++ b/data-otservbr-global/npc/battlemart.lua
@@ -223,7 +223,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/baxter.lua b/data-otservbr-global/npc/baxter.lua
index 54a9f46c9eb..beb1dcdb237 100644
--- a/data-otservbr-global/npc/baxter.lua
+++ b/data-otservbr-global/npc/baxter.lua
@@ -81,7 +81,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/beatrice.lua b/data-otservbr-global/npc/beatrice.lua
index d0e151d8d1f..89fe93286dc 100644
--- a/data-otservbr-global/npc/beatrice.lua
+++ b/data-otservbr-global/npc/beatrice.lua
@@ -124,7 +124,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/benjamin.lua b/data-otservbr-global/npc/benjamin.lua
index c6aec11cbc6..ce3858886dc 100644
--- a/data-otservbr-global/npc/benjamin.lua
+++ b/data-otservbr-global/npc/benjamin.lua
@@ -99,7 +99,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/berenice.lua b/data-otservbr-global/npc/berenice.lua
index 56d12e553f2..d1889c032cd 100644
--- a/data-otservbr-global/npc/berenice.lua
+++ b/data-otservbr-global/npc/berenice.lua
@@ -124,7 +124,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/bertha.lua b/data-otservbr-global/npc/bertha.lua
index 5b858157105..339b91aae7e 100644
--- a/data-otservbr-global/npc/bertha.lua
+++ b/data-otservbr-global/npc/bertha.lua
@@ -139,7 +139,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/bezil.lua b/data-otservbr-global/npc/bezil.lua
index fe6701d675b..8a28bd473e5 100644
--- a/data-otservbr-global/npc/bezil.lua
+++ b/data-otservbr-global/npc/bezil.lua
@@ -87,7 +87,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/billy.lua b/data-otservbr-global/npc/billy.lua
index 1dcaa1e5a7c..fac70690f0f 100644
--- a/data-otservbr-global/npc/billy.lua
+++ b/data-otservbr-global/npc/billy.lua
@@ -165,7 +165,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/black_bert.lua b/data-otservbr-global/npc/black_bert.lua
index bb60836e7f4..dc3f8420cb0 100644
--- a/data-otservbr-global/npc/black_bert.lua
+++ b/data-otservbr-global/npc/black_bert.lua
@@ -161,7 +161,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/bolfona.lua b/data-otservbr-global/npc/bolfona.lua
index 7000dbef602..84028bfd03b 100644
--- a/data-otservbr-global/npc/bolfona.lua
+++ b/data-otservbr-global/npc/bolfona.lua
@@ -110,7 +110,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/bonifacius.lua b/data-otservbr-global/npc/bonifacius.lua
index 70a6c51d2ae..cdd6b3666dc 100644
--- a/data-otservbr-global/npc/bonifacius.lua
+++ b/data-otservbr-global/npc/bonifacius.lua
@@ -67,7 +67,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/boozer.lua b/data-otservbr-global/npc/boozer.lua
index 7820007f1e8..ad959f07722 100644
--- a/data-otservbr-global/npc/boozer.lua
+++ b/data-otservbr-global/npc/boozer.lua
@@ -103,7 +103,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/borkas.lua b/data-otservbr-global/npc/borkas.lua
index 7096b2813eb..df6da78c581 100644
--- a/data-otservbr-global/npc/borkas.lua
+++ b/data-otservbr-global/npc/borkas.lua
@@ -72,7 +72,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/brasith.lua b/data-otservbr-global/npc/brasith.lua
index f29732aba81..b2939eb081b 100644
--- a/data-otservbr-global/npc/brasith.lua
+++ b/data-otservbr-global/npc/brasith.lua
@@ -84,7 +84,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/brengus.lua b/data-otservbr-global/npc/brengus.lua
index 3ea0765b53e..75657c858d6 100644
--- a/data-otservbr-global/npc/brengus.lua
+++ b/data-otservbr-global/npc/brengus.lua
@@ -172,7 +172,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/briasol.lua b/data-otservbr-global/npc/briasol.lua
index 5bfebbd1c72..6905011fee9 100644
--- a/data-otservbr-global/npc/briasol.lua
+++ b/data-otservbr-global/npc/briasol.lua
@@ -171,7 +171,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/buddel.lua b/data-otservbr-global/npc/buddel.lua
index 0ae2a4ed640..051e79a2299 100644
--- a/data-otservbr-global/npc/buddel.lua
+++ b/data-otservbr-global/npc/buddel.lua
@@ -144,7 +144,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/buddel_helheim.lua b/data-otservbr-global/npc/buddel_helheim.lua
index f7ca9f78696..b38470616aa 100644
--- a/data-otservbr-global/npc/buddel_helheim.lua
+++ b/data-otservbr-global/npc/buddel_helheim.lua
@@ -139,7 +139,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/buddel_okolnir.lua b/data-otservbr-global/npc/buddel_okolnir.lua
index 34697e74fe3..387009f9df1 100644
--- a/data-otservbr-global/npc/buddel_okolnir.lua
+++ b/data-otservbr-global/npc/buddel_okolnir.lua
@@ -143,7 +143,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/buddel_raider_camp.lua b/data-otservbr-global/npc/buddel_raider_camp.lua
index 2eed1e22108..2c6d9781296 100644
--- a/data-otservbr-global/npc/buddel_raider_camp.lua
+++ b/data-otservbr-global/npc/buddel_raider_camp.lua
@@ -144,7 +144,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/buddel_tyrsung.lua b/data-otservbr-global/npc/buddel_tyrsung.lua
index 2fa1d05b2e3..541739f2f53 100644
--- a/data-otservbr-global/npc/buddel_tyrsung.lua
+++ b/data-otservbr-global/npc/buddel_tyrsung.lua
@@ -144,7 +144,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/cael.lua b/data-otservbr-global/npc/cael.lua
index 53230def353..f377cdae411 100644
--- a/data-otservbr-global/npc/cael.lua
+++ b/data-otservbr-global/npc/cael.lua
@@ -40,7 +40,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/canary.lua b/data-otservbr-global/npc/canary.lua
index acb3c9a9fff..3c6cdf3063e 100644
--- a/data-otservbr-global/npc/canary.lua
+++ b/data-otservbr-global/npc/canary.lua
@@ -44,7 +44,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/captain_haba_open_sea.lua b/data-otservbr-global/npc/captain_haba_open_sea.lua
index 4401648ac1a..140ca090393 100644
--- a/data-otservbr-global/npc/captain_haba_open_sea.lua
+++ b/data-otservbr-global/npc/captain_haba_open_sea.lua
@@ -187,7 +187,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/captain_max.lua b/data-otservbr-global/npc/captain_max.lua
index 6f163e95ac0..34eb7693cc2 100644
--- a/data-otservbr-global/npc/captain_max.lua
+++ b/data-otservbr-global/npc/captain_max.lua
@@ -96,7 +96,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/captain_max_calassa.lua b/data-otservbr-global/npc/captain_max_calassa.lua
index b29cbb491f9..79f9404a4fc 100644
--- a/data-otservbr-global/npc/captain_max_calassa.lua
+++ b/data-otservbr-global/npc/captain_max_calassa.lua
@@ -80,7 +80,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/carina.lua b/data-otservbr-global/npc/carina.lua
index 19774e893fc..d5373f30356 100644
--- a/data-otservbr-global/npc/carina.lua
+++ b/data-otservbr-global/npc/carina.lua
@@ -110,7 +110,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/carlos.lua b/data-otservbr-global/npc/carlos.lua
index 0dd82f9ff99..df70b6ddb59 100644
--- a/data-otservbr-global/npc/carlos.lua
+++ b/data-otservbr-global/npc/carlos.lua
@@ -44,7 +44,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/cedrik.lua b/data-otservbr-global/npc/cedrik.lua
index 4ba306c996d..04778320b96 100644
--- a/data-otservbr-global/npc/cedrik.lua
+++ b/data-otservbr-global/npc/cedrik.lua
@@ -262,7 +262,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/chantalle.lua b/data-otservbr-global/npc/chantalle.lua
index 8e4588c7dda..2615f6557da 100644
--- a/data-otservbr-global/npc/chantalle.lua
+++ b/data-otservbr-global/npc/chantalle.lua
@@ -162,7 +162,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/chartan.lua b/data-otservbr-global/npc/chartan.lua
index 11bf06f42e4..8be69fc06da 100644
--- a/data-otservbr-global/npc/chartan.lua
+++ b/data-otservbr-global/npc/chartan.lua
@@ -154,7 +154,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/chemar.lua b/data-otservbr-global/npc/chemar.lua
index e42fe02e828..4f00675f823 100644
--- a/data-otservbr-global/npc/chemar.lua
+++ b/data-otservbr-global/npc/chemar.lua
@@ -102,7 +102,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/chephan.lua b/data-otservbr-global/npc/chephan.lua
index e74d9ebd692..4321e2118d1 100644
--- a/data-otservbr-global/npc/chephan.lua
+++ b/data-otservbr-global/npc/chephan.lua
@@ -76,7 +76,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/chondur.lua b/data-otservbr-global/npc/chondur.lua
index 8eb4a38db3a..c0a1a000d22 100644
--- a/data-otservbr-global/npc/chondur.lua
+++ b/data-otservbr-global/npc/chondur.lua
@@ -403,7 +403,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/christine.lua b/data-otservbr-global/npc/christine.lua
index 56acc6bcfa5..7763fc52288 100644
--- a/data-otservbr-global/npc/christine.lua
+++ b/data-otservbr-global/npc/christine.lua
@@ -80,7 +80,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/chrystal.lua b/data-otservbr-global/npc/chrystal.lua
index d41eadbecc3..54c70da0e81 100644
--- a/data-otservbr-global/npc/chrystal.lua
+++ b/data-otservbr-global/npc/chrystal.lua
@@ -92,7 +92,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/chuckles.lua b/data-otservbr-global/npc/chuckles.lua
index 2e85097a6c4..51fb3f2add6 100644
--- a/data-otservbr-global/npc/chuckles.lua
+++ b/data-otservbr-global/npc/chuckles.lua
@@ -126,7 +126,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/cledwyn.lua b/data-otservbr-global/npc/cledwyn.lua
index 6cb6f5468d2..6e9efd9f76c 100644
--- a/data-otservbr-global/npc/cledwyn.lua
+++ b/data-otservbr-global/npc/cledwyn.lua
@@ -55,7 +55,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/clyde.lua b/data-otservbr-global/npc/clyde.lua
index 5342e1e9bea..fcaf9ea011a 100644
--- a/data-otservbr-global/npc/clyde.lua
+++ b/data-otservbr-global/npc/clyde.lua
@@ -71,7 +71,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/coltrayne.lua b/data-otservbr-global/npc/coltrayne.lua
index 2e2570b8bf1..92655a94ed5 100644
--- a/data-otservbr-global/npc/coltrayne.lua
+++ b/data-otservbr-global/npc/coltrayne.lua
@@ -166,7 +166,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/cornelia.lua b/data-otservbr-global/npc/cornelia.lua
index cbfc2241cb4..c78b3482e78 100644
--- a/data-otservbr-global/npc/cornelia.lua
+++ b/data-otservbr-global/npc/cornelia.lua
@@ -136,7 +136,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/cranky_lizard_crone.lua b/data-otservbr-global/npc/cranky_lizard_crone.lua
index 6d71f873f54..94261410724 100644
--- a/data-otservbr-global/npc/cranky_lizard_crone.lua
+++ b/data-otservbr-global/npc/cranky_lizard_crone.lua
@@ -48,16 +48,20 @@ local already = "It seems you already have this addon, don't you try to mock me
--WAYFARER START --
function WayfarerFirst(npc, creature, message, keywords, parameters, node)
- if isPremium(creature) then
- local addon = getPlayerStorageValue(creature, Storage.WayfarerOutfit)
- if addon == -1 then
- if getPlayerItemCount(creature, 11701) >= 1 then
- if doPlayerRemoveItem(creature, 11701, 1) then
+ local player = Player(creature)
+ if not player then
+ return
+ end
+
+ if player:isPremium() then
+ if player:getStorageValue(Storage.WayfarerOutfit) < 1 then
+ if player:getItemCount(11701) > 0 then
+ if player:removeItem(11701, 1) then
npcHandler:say(newaddon, npc, creature)
- doSendMagicEffect(getCreaturePosition(creature), 13)
- doPlayerAddOutfit(creature, 366, 1)
- doPlayerAddOutfit(creature, 367, 1)
- setPlayerStorageValue(creature, Storage.WayfarerOutfit, 1)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
+ player:addOutfitAddon(366, 1)
+ player:addOutfitAddon(367, 1)
+ player:setStorageValue(Storage.WayfarerOutfit, 1)
end
else
npcHandler:say(noItems, npc, creature)
@@ -69,15 +73,20 @@ function WayfarerFirst(npc, creature, message, keywords, parameters, node)
end
function WayfarerSecond(npc, creature, message, keywords, parameters, node)
- if isPremium(creature) then
- if getPlayerStorageValue(creature, Storage.WayfarerOutfit + 1) == -1 then
- if getPlayerItemCount(creature, 11700) >= 1 then
- if doPlayerRemoveItem(creature, 11700, 1) then
+ local player = Player(creature)
+ if not player then
+ return
+ end
+
+ if player:isPremium() then
+ if player:getStorageValue(Storage.WayfarerOutfit + 1) < 1 then
+ if player:getItemCount(11700) > 0 then
+ if player:removeItem(11700, 1) then
npcHandler:say(newaddon, npc, creature)
- doSendMagicEffect(getCreaturePosition(creature), 13)
- doPlayerAddOutfit(creature, 366, 2)
- doPlayerAddOutfit(creature, 367, 2)
- setPlayerStorageValue(creature, Storage.WayfarerOutfit + 1, 1)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
+ player:addOutfitAddon(366, 2)
+ player:addOutfitAddon(367, 2)
+ player:setStorageValue(Storage.WayfarerOutfit + 1, 1)
end
else
npcHandler:say(noItems, npc, creature)
diff --git a/data-otservbr-global/npc/cruleo.lua b/data-otservbr-global/npc/cruleo.lua
index a77f09ab157..219c66c2f94 100644
--- a/data-otservbr-global/npc/cruleo.lua
+++ b/data-otservbr-global/npc/cruleo.lua
@@ -68,7 +68,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/dane.lua b/data-otservbr-global/npc/dane.lua
index 8516da1d7a1..c2e3c612414 100644
--- a/data-otservbr-global/npc/dane.lua
+++ b/data-otservbr-global/npc/dane.lua
@@ -74,7 +74,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/dankwart.lua b/data-otservbr-global/npc/dankwart.lua
index 376f4f1fc80..dfc7bc2802d 100644
--- a/data-otservbr-global/npc/dankwart.lua
+++ b/data-otservbr-global/npc/dankwart.lua
@@ -66,7 +66,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/dario.lua b/data-otservbr-global/npc/dario.lua
index 538b3cfbf27..c679fb6e28c 100644
--- a/data-otservbr-global/npc/dario.lua
+++ b/data-otservbr-global/npc/dario.lua
@@ -100,7 +100,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/digger.lua b/data-otservbr-global/npc/digger.lua
index bfb02202577..863595cbc32 100644
--- a/data-otservbr-global/npc/digger.lua
+++ b/data-otservbr-global/npc/digger.lua
@@ -72,7 +72,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/dixi.lua b/data-otservbr-global/npc/dixi.lua
index aae132421f4..241644914b9 100644
--- a/data-otservbr-global/npc/dixi.lua
+++ b/data-otservbr-global/npc/dixi.lua
@@ -176,7 +176,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/donald_mcronald.lua b/data-otservbr-global/npc/donald_mcronald.lua
index 618047d0dd4..fa482ed4608 100644
--- a/data-otservbr-global/npc/donald_mcronald.lua
+++ b/data-otservbr-global/npc/donald_mcronald.lua
@@ -67,7 +67,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/dorbin.lua b/data-otservbr-global/npc/dorbin.lua
index 128e6f68397..60a381d6a35 100644
--- a/data-otservbr-global/npc/dorbin.lua
+++ b/data-otservbr-global/npc/dorbin.lua
@@ -157,7 +157,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/dorian.lua b/data-otservbr-global/npc/dorian.lua
index 103c6b2abae..bdf1b61a8d0 100644
--- a/data-otservbr-global/npc/dorian.lua
+++ b/data-otservbr-global/npc/dorian.lua
@@ -240,7 +240,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/dove.lua b/data-otservbr-global/npc/dove.lua
index 58adcf72025..2dadf044189 100644
--- a/data-otservbr-global/npc/dove.lua
+++ b/data-otservbr-global/npc/dove.lua
@@ -96,7 +96,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/duncan.lua b/data-otservbr-global/npc/duncan.lua
index 6ce93b595a8..2bc4df38712 100644
--- a/data-otservbr-global/npc/duncan.lua
+++ b/data-otservbr-global/npc/duncan.lua
@@ -220,7 +220,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/eddy.lua b/data-otservbr-global/npc/eddy.lua
index aeeb6497efa..e54bb0ca0cb 100644
--- a/data-otservbr-global/npc/eddy.lua
+++ b/data-otservbr-global/npc/eddy.lua
@@ -164,7 +164,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/edmund.lua b/data-otservbr-global/npc/edmund.lua
index 37452b33972..d8635297949 100644
--- a/data-otservbr-global/npc/edmund.lua
+++ b/data-otservbr-global/npc/edmund.lua
@@ -126,7 +126,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/edoch.lua b/data-otservbr-global/npc/edoch.lua
index ff0d7b6efdc..754652ba507 100644
--- a/data-otservbr-global/npc/edoch.lua
+++ b/data-otservbr-global/npc/edoch.lua
@@ -86,7 +86,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/edvard.lua b/data-otservbr-global/npc/edvard.lua
index e3e93b58551..912171fc988 100644
--- a/data-otservbr-global/npc/edvard.lua
+++ b/data-otservbr-global/npc/edvard.lua
@@ -166,7 +166,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/elane.lua b/data-otservbr-global/npc/elane.lua
index 745ed3f7c2f..e84f211fe2c 100644
--- a/data-otservbr-global/npc/elane.lua
+++ b/data-otservbr-global/npc/elane.lua
@@ -255,7 +255,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/eliyas.lua b/data-otservbr-global/npc/eliyas.lua
index f2c41e5a0b3..b25823acf0c 100644
--- a/data-otservbr-global/npc/eliyas.lua
+++ b/data-otservbr-global/npc/eliyas.lua
@@ -157,7 +157,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/elvith.lua b/data-otservbr-global/npc/elvith.lua
index 8bec2126bbe..ea704df1b20 100644
--- a/data-otservbr-global/npc/elvith.lua
+++ b/data-otservbr-global/npc/elvith.lua
@@ -123,7 +123,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/eremo.lua b/data-otservbr-global/npc/eremo.lua
index b7d35da536b..c61996e5318 100644
--- a/data-otservbr-global/npc/eremo.lua
+++ b/data-otservbr-global/npc/eremo.lua
@@ -239,7 +239,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/eruaran.lua b/data-otservbr-global/npc/eruaran.lua
index 51c5f17d4e0..541d5bd409c 100644
--- a/data-otservbr-global/npc/eruaran.lua
+++ b/data-otservbr-global/npc/eruaran.lua
@@ -150,15 +150,20 @@ local ACTION = {
-- dream START --
local function dreamFirst(npc, creature, message, keywords, parameters, node)
- if isPremium(creature) then
- if getPlayerStorageValue(creature, storage + 1) == -1 then
- if getPlayerItemCount(creature, 20276) >= 1 then
- if doPlayerRemoveItem(creature, 20276, 1) then
- npcHandler:say(newAddon, npc, creature)
- doSendMagicEffect(getCreaturePosition(creature), 13)
- doPlayerAddOutfit(creature, 577, 1)
- doPlayerAddOutfit(creature, 578, 1)
- setPlayerStorageValue(creature, storage + 1, 1)
+ local player = Player(creature)
+ if not player then
+ return
+ end
+
+ if player:isPremium() then
+ if player:getStorageValue(storage + 1) < 1 then
+ if player:getItemCount(20276) > 0 then
+ if player:removeItem(20276, 1) then
+ npcHandler:say(newaddon, npc, creature)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
+ player:addOutfitAddon(577, 1)
+ player:addOutfitAddon(577, 1)
+ player:setStorageValue(storage + 1, 1)
end
else
npcHandler:say(noItems, npc, creature)
@@ -170,15 +175,20 @@ local function dreamFirst(npc, creature, message, keywords, parameters, node)
end
local function dreamSecond(npc, creature, message, keywords, parameters, node)
- if isPremium(creature) then
- if getPlayerStorageValue(creature, storage) == -1 then
- if getPlayerItemCount(creature, 20275) >= 1 then
- if doPlayerRemoveItem(creature, 20275, 1) then
- npcHandler:say(newAddon, npc, creature)
- doSendMagicEffect(getCreaturePosition(creature), 13)
- doPlayerAddOutfit(creature, 577, 2)
- doPlayerAddOutfit(creature, 578, 2)
- setPlayerStorageValue(creature, storage, 1)
+ local player = Player(creature)
+ if not player then
+ return
+ end
+
+ if player:isPremium() then
+ if player:getStorageValue(storage) < 1 then
+ if player:getItemCount(20275) > 0 then
+ if player:removeItem(20275, 1) then
+ npcHandler:say(newaddon, npc, creature)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
+ player:addOutfitAddon(577, 2)
+ player:addOutfitAddon(577, 2)
+ player:setStorageValue(storage, 1)
end
else
npcHandler:say(noItems, npc, creature)
@@ -192,7 +202,9 @@ end
local function greetCallback(npc, creature)
local player = Player(creature)
- local playerId = player:getId()
+ if not player then
+ return true
+ end
if player:getStorageValue(Storage.EruaranGreeting) > 0 then
npcHandler:setMessage(MESSAGE_GREET, "Ashari Lillithy, so we meet {again}! What brings you here this time, general {information}, {transform}, {improve}, {create}, {outfit}, or {talk}?")
@@ -204,13 +216,17 @@ local function greetCallback(npc, creature)
end
local function creatureSayCallback(npc, creature, type, message)
- local player = Player(creature)
- local playerId = player:getId()
-
if not npcHandler:checkInteraction(npc, creature) then
return false
end
+ local player = Player(creature)
+ if not player then
+ return true
+ end
+
+ local playerId = player:getId()
+
if MsgContains(message, "create") then
npcHandler:say("You can try to create {sword}s, {axe}s, {club}s, {bow}s, {crossbow}s and {spellbook}s.", npc, creature)
npcHandler:setTopic(playerId, 1)
diff --git a/data-otservbr-global/npc/esrik.lua b/data-otservbr-global/npc/esrik.lua
index 5af89e036c1..5890ff5843c 100644
--- a/data-otservbr-global/npc/esrik.lua
+++ b/data-otservbr-global/npc/esrik.lua
@@ -164,7 +164,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/evan.lua b/data-otservbr-global/npc/evan.lua
index dc6af215d73..85d12fd0d0c 100644
--- a/data-otservbr-global/npc/evan.lua
+++ b/data-otservbr-global/npc/evan.lua
@@ -61,7 +61,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ezean.lua b/data-otservbr-global/npc/ezean.lua
index 292a96987bf..c6bcdcbabf6 100644
--- a/data-otservbr-global/npc/ezean.lua
+++ b/data-otservbr-global/npc/ezean.lua
@@ -62,7 +62,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/fadil.lua b/data-otservbr-global/npc/fadil.lua
index 8d67619dc96..3c641d0d7df 100644
--- a/data-otservbr-global/npc/fadil.lua
+++ b/data-otservbr-global/npc/fadil.lua
@@ -87,7 +87,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/faloriel.lua b/data-otservbr-global/npc/faloriel.lua
index bcebb38758c..7d259c72ea3 100644
--- a/data-otservbr-global/npc/faloriel.lua
+++ b/data-otservbr-global/npc/faloriel.lua
@@ -113,7 +113,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/fayla.lua b/data-otservbr-global/npc/fayla.lua
index bad96511346..948f8ed6cc2 100644
--- a/data-otservbr-global/npc/fayla.lua
+++ b/data-otservbr-global/npc/fayla.lua
@@ -66,7 +66,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/feizuhl.lua b/data-otservbr-global/npc/feizuhl.lua
index e393f357601..5e8307a7bc0 100644
--- a/data-otservbr-global/npc/feizuhl.lua
+++ b/data-otservbr-global/npc/feizuhl.lua
@@ -164,7 +164,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/fenech.lua b/data-otservbr-global/npc/fenech.lua
index d0a7e80d55f..7152c0ef9c5 100644
--- a/data-otservbr-global/npc/fenech.lua
+++ b/data-otservbr-global/npc/fenech.lua
@@ -168,7 +168,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/fiona.lua b/data-otservbr-global/npc/fiona.lua
index 51111f61965..50e082004a6 100644
--- a/data-otservbr-global/npc/fiona.lua
+++ b/data-otservbr-global/npc/fiona.lua
@@ -153,7 +153,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/flint.lua b/data-otservbr-global/npc/flint.lua
index c3ced94a30e..0b50a00df1f 100644
--- a/data-otservbr-global/npc/flint.lua
+++ b/data-otservbr-global/npc/flint.lua
@@ -157,7 +157,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/florentine.lua b/data-otservbr-global/npc/florentine.lua
index bc21f320c9c..0a5d7b421c2 100644
--- a/data-otservbr-global/npc/florentine.lua
+++ b/data-otservbr-global/npc/florentine.lua
@@ -74,7 +74,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/frans.lua b/data-otservbr-global/npc/frans.lua
index e3583c002b3..8761a7d89d6 100644
--- a/data-otservbr-global/npc/frans.lua
+++ b/data-otservbr-global/npc/frans.lua
@@ -129,7 +129,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/frederik.lua b/data-otservbr-global/npc/frederik.lua
index 10e4735fe1e..9b33ccf9684 100644
--- a/data-otservbr-global/npc/frederik.lua
+++ b/data-otservbr-global/npc/frederik.lua
@@ -153,7 +153,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/frodo.lua b/data-otservbr-global/npc/frodo.lua
index ac5578018b2..d139f461cac 100644
--- a/data-otservbr-global/npc/frodo.lua
+++ b/data-otservbr-global/npc/frodo.lua
@@ -122,7 +122,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/fyodor.lua b/data-otservbr-global/npc/fyodor.lua
index 009495795b7..1dda09a4d65 100644
--- a/data-otservbr-global/npc/fyodor.lua
+++ b/data-otservbr-global/npc/fyodor.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gail.lua b/data-otservbr-global/npc/gail.lua
index 9a0ddf21359..80a9b54b3e5 100644
--- a/data-otservbr-global/npc/gail.lua
+++ b/data-otservbr-global/npc/gail.lua
@@ -167,7 +167,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/galuna.lua b/data-otservbr-global/npc/galuna.lua
index 817bb2f679a..491d76d3135 100644
--- a/data-otservbr-global/npc/galuna.lua
+++ b/data-otservbr-global/npc/galuna.lua
@@ -78,7 +78,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gamel.lua b/data-otservbr-global/npc/gamel.lua
index 3391aafc59a..96e9cb0540d 100644
--- a/data-otservbr-global/npc/gamel.lua
+++ b/data-otservbr-global/npc/gamel.lua
@@ -166,7 +166,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gamon.lua b/data-otservbr-global/npc/gamon.lua
index 5aa29b4c159..e858f43eb30 100644
--- a/data-otservbr-global/npc/gamon.lua
+++ b/data-otservbr-global/npc/gamon.lua
@@ -180,7 +180,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ghorza.lua b/data-otservbr-global/npc/ghorza.lua
index 9e4301ee5ab..17f752e7435 100644
--- a/data-otservbr-global/npc/ghorza.lua
+++ b/data-otservbr-global/npc/ghorza.lua
@@ -150,7 +150,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/giri.lua b/data-otservbr-global/npc/giri.lua
index 16e66addc9a..194706a2a02 100644
--- a/data-otservbr-global/npc/giri.lua
+++ b/data-otservbr-global/npc/giri.lua
@@ -128,7 +128,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gladys.lua b/data-otservbr-global/npc/gladys.lua
index 3715d695f06..d9911e3f55b 100644
--- a/data-otservbr-global/npc/gladys.lua
+++ b/data-otservbr-global/npc/gladys.lua
@@ -90,7 +90,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomailion.lua b/data-otservbr-global/npc/gnomailion.lua
index 6fcca35ded0..004000b9895 100644
--- a/data-otservbr-global/npc/gnomailion.lua
+++ b/data-otservbr-global/npc/gnomailion.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomally.lua b/data-otservbr-global/npc/gnomally.lua
index 5a5d764b17a..47b965fe0b0 100644
--- a/data-otservbr-global/npc/gnomally.lua
+++ b/data-otservbr-global/npc/gnomally.lua
@@ -37,7 +37,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomegica.lua b/data-otservbr-global/npc/gnomegica.lua
index 904642c0360..0805ca33ace 100644
--- a/data-otservbr-global/npc/gnomegica.lua
+++ b/data-otservbr-global/npc/gnomegica.lua
@@ -149,7 +149,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomejam.lua b/data-otservbr-global/npc/gnomejam.lua
index 312eed8d93f..a4eabd359a4 100644
--- a/data-otservbr-global/npc/gnomejam.lua
+++ b/data-otservbr-global/npc/gnomejam.lua
@@ -64,7 +64,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomerrow.lua b/data-otservbr-global/npc/gnomerrow.lua
index d6104f4bbe9..6195495adec 100644
--- a/data-otservbr-global/npc/gnomerrow.lua
+++ b/data-otservbr-global/npc/gnomerrow.lua
@@ -68,7 +68,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomette.lua b/data-otservbr-global/npc/gnomette.lua
index c9b6e452010..9254a8f5ff4 100644
--- a/data-otservbr-global/npc/gnomette.lua
+++ b/data-otservbr-global/npc/gnomette.lua
@@ -60,7 +60,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomfurry.lua b/data-otservbr-global/npc/gnomfurry.lua
index 8813c021df0..7fd6eb5eb2c 100644
--- a/data-otservbr-global/npc/gnomfurry.lua
+++ b/data-otservbr-global/npc/gnomfurry.lua
@@ -71,7 +71,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomincia.lua b/data-otservbr-global/npc/gnomincia.lua
index 18f275e1f20..cde112fc646 100644
--- a/data-otservbr-global/npc/gnomincia.lua
+++ b/data-otservbr-global/npc/gnomincia.lua
@@ -61,7 +61,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomission.lua b/data-otservbr-global/npc/gnomission.lua
index 41b77e5bba3..3a35ecc117d 100644
--- a/data-otservbr-global/npc/gnomission.lua
+++ b/data-otservbr-global/npc/gnomission.lua
@@ -235,7 +235,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gnomux.lua b/data-otservbr-global/npc/gnomux.lua
index 64875c15f0e..454bee2af1e 100644
--- a/data-otservbr-global/npc/gnomux.lua
+++ b/data-otservbr-global/npc/gnomux.lua
@@ -38,7 +38,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gorn.lua b/data-otservbr-global/npc/gorn.lua
index ed071402349..0d875652da9 100644
--- a/data-otservbr-global/npc/gorn.lua
+++ b/data-otservbr-global/npc/gorn.lua
@@ -161,7 +161,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/gree_dee.lua b/data-otservbr-global/npc/gree_dee.lua
index c729fc9c56f..9415ef79105 100644
--- a/data-otservbr-global/npc/gree_dee.lua
+++ b/data-otservbr-global/npc/gree_dee.lua
@@ -91,7 +91,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/grizzly_adams.lua b/data-otservbr-global/npc/grizzly_adams.lua
index 7e57aa3618d..b51e8ddf2ce 100644
--- a/data-otservbr-global/npc/grizzly_adams.lua
+++ b/data-otservbr-global/npc/grizzly_adams.lua
@@ -96,7 +96,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/h.l..lua b/data-otservbr-global/npc/h.l..lua
index 20ade396bb2..c698a572e1f 100644
--- a/data-otservbr-global/npc/h.l..lua
+++ b/data-otservbr-global/npc/h.l..lua
@@ -184,7 +184,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/haani.lua b/data-otservbr-global/npc/haani.lua
index 59ac6b43aa1..064b2ffe69e 100644
--- a/data-otservbr-global/npc/haani.lua
+++ b/data-otservbr-global/npc/haani.lua
@@ -163,7 +163,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/habdel.lua b/data-otservbr-global/npc/habdel.lua
index f1ddeebcac0..d9371bb7c6a 100644
--- a/data-otservbr-global/npc/habdel.lua
+++ b/data-otservbr-global/npc/habdel.lua
@@ -169,7 +169,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/hairycles.lua b/data-otservbr-global/npc/hairycles.lua
index 7a780e99780..7ffcb21433d 100644
--- a/data-otservbr-global/npc/hairycles.lua
+++ b/data-otservbr-global/npc/hairycles.lua
@@ -514,7 +514,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/halif.lua b/data-otservbr-global/npc/halif.lua
index cd0a3fe3d94..e2e55484d37 100644
--- a/data-otservbr-global/npc/halif.lua
+++ b/data-otservbr-global/npc/halif.lua
@@ -89,7 +89,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/hamish.lua b/data-otservbr-global/npc/hamish.lua
index b1ca1e915ee..b00d21393a6 100644
--- a/data-otservbr-global/npc/hamish.lua
+++ b/data-otservbr-global/npc/hamish.lua
@@ -214,7 +214,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/hanna.lua b/data-otservbr-global/npc/hanna.lua
index 2c2c5fc98e9..7fca4c908aa 100644
--- a/data-otservbr-global/npc/hanna.lua
+++ b/data-otservbr-global/npc/hanna.lua
@@ -204,7 +204,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/hardek.lua b/data-otservbr-global/npc/hardek.lua
index 8bbf623ee66..27f5ddc23a0 100644
--- a/data-otservbr-global/npc/hardek.lua
+++ b/data-otservbr-global/npc/hardek.lua
@@ -149,7 +149,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/harog.lua b/data-otservbr-global/npc/harog.lua
index 3a5a4b59c7f..421356ec62e 100644
--- a/data-otservbr-global/npc/harog.lua
+++ b/data-otservbr-global/npc/harog.lua
@@ -33,7 +33,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/haroun.lua b/data-otservbr-global/npc/haroun.lua
index a3d183eb879..33a4e1c2c72 100644
--- a/data-otservbr-global/npc/haroun.lua
+++ b/data-otservbr-global/npc/haroun.lua
@@ -142,7 +142,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/henricus.lua b/data-otservbr-global/npc/henricus.lua
index 415fc2a08eb..d6d7beda8f4 100644
--- a/data-otservbr-global/npc/henricus.lua
+++ b/data-otservbr-global/npc/henricus.lua
@@ -379,7 +379,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/herbert.lua b/data-otservbr-global/npc/herbert.lua
index 6d9fd578574..c8ccbd337c3 100644
--- a/data-otservbr-global/npc/herbert.lua
+++ b/data-otservbr-global/npc/herbert.lua
@@ -94,7 +94,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/hireling.lua b/data-otservbr-global/npc/hireling.lua
index 193b716ef04..145d846bd7e 100644
--- a/data-otservbr-global/npc/hireling.lua
+++ b/data-otservbr-global/npc/hireling.lua
@@ -366,7 +366,7 @@ function createHirelingType(HirelingName)
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/hofech.lua b/data-otservbr-global/npc/hofech.lua
index 1b6a6005f65..558e78018f3 100644
--- a/data-otservbr-global/npc/hofech.lua
+++ b/data-otservbr-global/npc/hofech.lua
@@ -125,7 +125,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/hyacinth.lua b/data-otservbr-global/npc/hyacinth.lua
index ffe64c5871a..cbf37f8e9c6 100644
--- a/data-otservbr-global/npc/hyacinth.lua
+++ b/data-otservbr-global/npc/hyacinth.lua
@@ -236,7 +236,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/imalas.lua b/data-otservbr-global/npc/imalas.lua
index 2748e44a451..67aaefe93bc 100644
--- a/data-otservbr-global/npc/imalas.lua
+++ b/data-otservbr-global/npc/imalas.lua
@@ -76,7 +76,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/imbuement_assistant.lua b/data-otservbr-global/npc/imbuement_assistant.lua
index 19b8ac95671..4db7b665fe5 100644
--- a/data-otservbr-global/npc/imbuement_assistant.lua
+++ b/data-otservbr-global/npc/imbuement_assistant.lua
@@ -441,7 +441,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/inkaef.lua b/data-otservbr-global/npc/inkaef.lua
index f7d5993f297..cd4eda5bfff 100644
--- a/data-otservbr-global/npc/inkaef.lua
+++ b/data-otservbr-global/npc/inkaef.lua
@@ -174,7 +174,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/irea.lua b/data-otservbr-global/npc/irea.lua
index 0689ac055d0..2e74ed85737 100644
--- a/data-otservbr-global/npc/irea.lua
+++ b/data-otservbr-global/npc/irea.lua
@@ -70,7 +70,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/iriana.lua b/data-otservbr-global/npc/iriana.lua
index 58580e757a4..a0300c247a7 100644
--- a/data-otservbr-global/npc/iriana.lua
+++ b/data-otservbr-global/npc/iriana.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/irmana.lua b/data-otservbr-global/npc/irmana.lua
index c542f20a90b..e106ef0a10c 100644
--- a/data-otservbr-global/npc/irmana.lua
+++ b/data-otservbr-global/npc/irmana.lua
@@ -221,7 +221,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ishina.lua b/data-otservbr-global/npc/ishina.lua
index 2f3e0e127c2..1fd61200c15 100644
--- a/data-otservbr-global/npc/ishina.lua
+++ b/data-otservbr-global/npc/ishina.lua
@@ -197,7 +197,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/isika.lua b/data-otservbr-global/npc/isika.lua
index 609955212f5..45f0bc43ed5 100644
--- a/data-otservbr-global/npc/isika.lua
+++ b/data-otservbr-global/npc/isika.lua
@@ -84,7 +84,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/iwan.lua b/data-otservbr-global/npc/iwan.lua
index 10945042ac0..2cc24843318 100644
--- a/data-otservbr-global/npc/iwan.lua
+++ b/data-otservbr-global/npc/iwan.lua
@@ -136,7 +136,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/iwar.lua b/data-otservbr-global/npc/iwar.lua
index 5082a43e2ed..d30d368bf5a 100644
--- a/data-otservbr-global/npc/iwar.lua
+++ b/data-otservbr-global/npc/iwar.lua
@@ -201,7 +201,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/jack_springer.lua b/data-otservbr-global/npc/jack_springer.lua
index 3208e2aeb63..73cd671a47d 100644
--- a/data-otservbr-global/npc/jack_springer.lua
+++ b/data-otservbr-global/npc/jack_springer.lua
@@ -111,7 +111,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/jakahr.lua b/data-otservbr-global/npc/jakahr.lua
index 6c35f332723..bf8be59ad4e 100644
--- a/data-otservbr-global/npc/jakahr.lua
+++ b/data-otservbr-global/npc/jakahr.lua
@@ -67,7 +67,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/james.lua b/data-otservbr-global/npc/james.lua
index 0efb74d88c4..478ca316432 100644
--- a/data-otservbr-global/npc/james.lua
+++ b/data-otservbr-global/npc/james.lua
@@ -65,7 +65,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/janz.lua b/data-otservbr-global/npc/janz.lua
index ac080f4e876..f0cf97fde09 100644
--- a/data-otservbr-global/npc/janz.lua
+++ b/data-otservbr-global/npc/janz.lua
@@ -156,7 +156,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/jessica.lua b/data-otservbr-global/npc/jessica.lua
index d9a59d11695..37ac18ed54a 100644
--- a/data-otservbr-global/npc/jessica.lua
+++ b/data-otservbr-global/npc/jessica.lua
@@ -161,7 +161,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/jezzara.lua b/data-otservbr-global/npc/jezzara.lua
index 4e32ee5f444..78b803f69e5 100644
--- a/data-otservbr-global/npc/jezzara.lua
+++ b/data-otservbr-global/npc/jezzara.lua
@@ -85,7 +85,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/john.lua b/data-otservbr-global/npc/john.lua
index b6d29e59920..19c6818b8b3 100644
--- a/data-otservbr-global/npc/john.lua
+++ b/data-otservbr-global/npc/john.lua
@@ -70,7 +70,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/john_bounac.lua b/data-otservbr-global/npc/john_bounac.lua
index d1a25e22459..1f528abffe6 100644
--- a/data-otservbr-global/npc/john_bounac.lua
+++ b/data-otservbr-global/npc/john_bounac.lua
@@ -66,7 +66,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/julian.lua b/data-otservbr-global/npc/julian.lua
index 737c0ed491b..9ce2ab0dc9b 100644
--- a/data-otservbr-global/npc/julian.lua
+++ b/data-otservbr-global/npc/julian.lua
@@ -66,7 +66,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/julius.lua b/data-otservbr-global/npc/julius.lua
index 081ac142d80..ac3c660a29b 100644
--- a/data-otservbr-global/npc/julius.lua
+++ b/data-otservbr-global/npc/julius.lua
@@ -262,7 +262,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/karl.lua b/data-otservbr-global/npc/karl.lua
index f2932cabb42..92d6ca95128 100644
--- a/data-otservbr-global/npc/karl.lua
+++ b/data-otservbr-global/npc/karl.lua
@@ -109,7 +109,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/khanna.lua b/data-otservbr-global/npc/khanna.lua
index 6634cccddd5..02fcee7b6d5 100644
--- a/data-otservbr-global/npc/khanna.lua
+++ b/data-otservbr-global/npc/khanna.lua
@@ -178,7 +178,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/kroox.lua b/data-otservbr-global/npc/kroox.lua
index 2c48309377c..020153a27bf 100644
--- a/data-otservbr-global/npc/kroox.lua
+++ b/data-otservbr-global/npc/kroox.lua
@@ -128,7 +128,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/lailene.lua b/data-otservbr-global/npc/lailene.lua
index 9716269138e..4542da2ee84 100644
--- a/data-otservbr-global/npc/lailene.lua
+++ b/data-otservbr-global/npc/lailene.lua
@@ -74,7 +74,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/larek.lua b/data-otservbr-global/npc/larek.lua
index 54374333064..910e0b403db 100644
--- a/data-otservbr-global/npc/larek.lua
+++ b/data-otservbr-global/npc/larek.lua
@@ -74,7 +74,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/larry.lua b/data-otservbr-global/npc/larry.lua
index 8dc7cb99690..25e973c0736 100644
--- a/data-otservbr-global/npc/larry.lua
+++ b/data-otservbr-global/npc/larry.lua
@@ -31,7 +31,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/lector.lua b/data-otservbr-global/npc/lector.lua
index db086b4c79e..98c41a9d72e 100644
--- a/data-otservbr-global/npc/lector.lua
+++ b/data-otservbr-global/npc/lector.lua
@@ -67,7 +67,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/lee_delle.lua b/data-otservbr-global/npc/lee_delle.lua
index e12f14d09ac..f53e4649c88 100644
--- a/data-otservbr-global/npc/lee_delle.lua
+++ b/data-otservbr-global/npc/lee_delle.lua
@@ -207,7 +207,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/legola.lua b/data-otservbr-global/npc/legola.lua
index 63e213a4c5f..ca2eafc3ac1 100644
--- a/data-otservbr-global/npc/legola.lua
+++ b/data-otservbr-global/npc/legola.lua
@@ -122,7 +122,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/liane.lua b/data-otservbr-global/npc/liane.lua
index 8c52d7a5620..b483de917ae 100644
--- a/data-otservbr-global/npc/liane.lua
+++ b/data-otservbr-global/npc/liane.lua
@@ -109,7 +109,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/lily.lua b/data-otservbr-global/npc/lily.lua
index 7fc6926f780..fad82e1db11 100644
--- a/data-otservbr-global/npc/lily.lua
+++ b/data-otservbr-global/npc/lily.lua
@@ -303,7 +303,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/livielle.lua b/data-otservbr-global/npc/livielle.lua
index c1882fd52e1..1741ce407ca 100644
--- a/data-otservbr-global/npc/livielle.lua
+++ b/data-otservbr-global/npc/livielle.lua
@@ -77,7 +77,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/lubo.lua b/data-otservbr-global/npc/lubo.lua
index 9d94120e6d4..97aea1169da 100644
--- a/data-otservbr-global/npc/lubo.lua
+++ b/data-otservbr-global/npc/lubo.lua
@@ -193,7 +193,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/luna.lua b/data-otservbr-global/npc/luna.lua
index b9ee36fbe96..fe55cce5775 100644
--- a/data-otservbr-global/npc/luna.lua
+++ b/data-otservbr-global/npc/luna.lua
@@ -102,7 +102,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/lurik.lua b/data-otservbr-global/npc/lurik.lua
index e9b0a413fe1..b9ea973f6ed 100644
--- a/data-otservbr-global/npc/lurik.lua
+++ b/data-otservbr-global/npc/lurik.lua
@@ -162,7 +162,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/lyonel.lua b/data-otservbr-global/npc/lyonel.lua
index 7ef86f4a77e..1111d8711b2 100644
--- a/data-otservbr-global/npc/lyonel.lua
+++ b/data-otservbr-global/npc/lyonel.lua
@@ -65,7 +65,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/malunga.lua b/data-otservbr-global/npc/malunga.lua
index c7ebeb451a0..721743b73ce 100644
--- a/data-otservbr-global/npc/malunga.lua
+++ b/data-otservbr-global/npc/malunga.lua
@@ -139,7 +139,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/maria.lua b/data-otservbr-global/npc/maria.lua
index 4da514e978a..7c63e11ac02 100644
--- a/data-otservbr-global/npc/maria.lua
+++ b/data-otservbr-global/npc/maria.lua
@@ -72,7 +72,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/maro.lua b/data-otservbr-global/npc/maro.lua
index d956306e87e..7ba549262f7 100644
--- a/data-otservbr-global/npc/maro.lua
+++ b/data-otservbr-global/npc/maro.lua
@@ -90,7 +90,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/maryza.lua b/data-otservbr-global/npc/maryza.lua
index 65dea8c1785..44901801fc4 100644
--- a/data-otservbr-global/npc/maryza.lua
+++ b/data-otservbr-global/npc/maryza.lua
@@ -105,7 +105,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/maun.lua b/data-otservbr-global/npc/maun.lua
index a3e00a17e82..9e57ca6b862 100644
--- a/data-otservbr-global/npc/maun.lua
+++ b/data-otservbr-global/npc/maun.lua
@@ -134,7 +134,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/mehkesh.lua b/data-otservbr-global/npc/mehkesh.lua
index 6b5fd588212..509b4cd8080 100644
--- a/data-otservbr-global/npc/mehkesh.lua
+++ b/data-otservbr-global/npc/mehkesh.lua
@@ -86,7 +86,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/melfar.lua b/data-otservbr-global/npc/melfar.lua
index 09654f76791..5decb928643 100644
--- a/data-otservbr-global/npc/melfar.lua
+++ b/data-otservbr-global/npc/melfar.lua
@@ -32,7 +32,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/memech.lua b/data-otservbr-global/npc/memech.lua
index 4cdf86985ac..f7b3f9f9498 100644
--- a/data-otservbr-global/npc/memech.lua
+++ b/data-otservbr-global/npc/memech.lua
@@ -148,7 +148,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/messenger_of_santa.lua b/data-otservbr-global/npc/messenger_of_santa.lua
index ef655ab11dd..e61b89218b5 100644
--- a/data-otservbr-global/npc/messenger_of_santa.lua
+++ b/data-otservbr-global/npc/messenger_of_santa.lua
@@ -68,7 +68,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/mirabell.lua b/data-otservbr-global/npc/mirabell.lua
index 3036e9cef91..5bb5070245a 100644
--- a/data-otservbr-global/npc/mirabell.lua
+++ b/data-otservbr-global/npc/mirabell.lua
@@ -141,7 +141,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/miraia.lua b/data-otservbr-global/npc/miraia.lua
index f59edc8658a..00101154766 100644
--- a/data-otservbr-global/npc/miraia.lua
+++ b/data-otservbr-global/npc/miraia.lua
@@ -212,7 +212,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/mordecai.lua b/data-otservbr-global/npc/mordecai.lua
index 36b3c5fe548..60063a423ba 100644
--- a/data-otservbr-global/npc/mordecai.lua
+++ b/data-otservbr-global/npc/mordecai.lua
@@ -159,7 +159,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/morpel.lua b/data-otservbr-global/npc/morpel.lua
index 8e68d1dea45..3f58c58ae93 100644
--- a/data-otservbr-global/npc/morpel.lua
+++ b/data-otservbr-global/npc/morpel.lua
@@ -139,7 +139,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/mortimer.lua b/data-otservbr-global/npc/mortimer.lua
index 026c5d5595d..79c8d734640 100644
--- a/data-otservbr-global/npc/mortimer.lua
+++ b/data-otservbr-global/npc/mortimer.lua
@@ -688,7 +688,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/mugluf.lua b/data-otservbr-global/npc/mugluf.lua
index 09ac5148c2f..3fe25c7fd79 100644
--- a/data-otservbr-global/npc/mugluf.lua
+++ b/data-otservbr-global/npc/mugluf.lua
@@ -64,7 +64,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/mugruu.lua b/data-otservbr-global/npc/mugruu.lua
index 5b55d8d10dc..7bf2e2efd08 100644
--- a/data-otservbr-global/npc/mugruu.lua
+++ b/data-otservbr-global/npc/mugruu.lua
@@ -85,7 +85,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nah_bob.lua b/data-otservbr-global/npc/nah_bob.lua
index 30d4a06e2b1..e63fffef7ba 100644
--- a/data-otservbr-global/npc/nah_bob.lua
+++ b/data-otservbr-global/npc/nah_bob.lua
@@ -141,7 +141,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nelliem.lua b/data-otservbr-global/npc/nelliem.lua
index bb5b4f3dcb6..fb5816563fe 100644
--- a/data-otservbr-global/npc/nelliem.lua
+++ b/data-otservbr-global/npc/nelliem.lua
@@ -76,7 +76,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nelly.lua b/data-otservbr-global/npc/nelly.lua
index c0e84b3d904..8c3b123c47a 100644
--- a/data-otservbr-global/npc/nelly.lua
+++ b/data-otservbr-global/npc/nelly.lua
@@ -165,7 +165,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nezil.lua b/data-otservbr-global/npc/nezil.lua
index 394c2fb13a9..5bb7cd4f5fb 100644
--- a/data-otservbr-global/npc/nezil.lua
+++ b/data-otservbr-global/npc/nezil.lua
@@ -87,7 +87,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nicholas.lua b/data-otservbr-global/npc/nicholas.lua
index f91807784a3..bb8c45a9fa2 100644
--- a/data-otservbr-global/npc/nicholas.lua
+++ b/data-otservbr-global/npc/nicholas.lua
@@ -157,7 +157,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nienna.lua b/data-otservbr-global/npc/nienna.lua
index 207b8ea356c..ab70992e7e2 100644
--- a/data-otservbr-global/npc/nienna.lua
+++ b/data-otservbr-global/npc/nienna.lua
@@ -82,7 +82,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ninos.lua b/data-otservbr-global/npc/ninos.lua
index 3bfc131736d..d55c55939d8 100644
--- a/data-otservbr-global/npc/ninos.lua
+++ b/data-otservbr-global/npc/ninos.lua
@@ -98,7 +98,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nipuna.lua b/data-otservbr-global/npc/nipuna.lua
index a3feb9a31ad..aa9d74cec52 100644
--- a/data-otservbr-global/npc/nipuna.lua
+++ b/data-otservbr-global/npc/nipuna.lua
@@ -169,7 +169,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/norbert.lua b/data-otservbr-global/npc/norbert.lua
index b543ef850e4..cd2fb6327c4 100644
--- a/data-otservbr-global/npc/norbert.lua
+++ b/data-otservbr-global/npc/norbert.lua
@@ -66,7 +66,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/norma.lua b/data-otservbr-global/npc/norma.lua
index 46919ab8b69..9842a07ebee 100644
--- a/data-otservbr-global/npc/norma.lua
+++ b/data-otservbr-global/npc/norma.lua
@@ -214,7 +214,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/nydala.lua b/data-otservbr-global/npc/nydala.lua
index 7d6ae03a0b5..b7db88f0baa 100644
--- a/data-otservbr-global/npc/nydala.lua
+++ b/data-otservbr-global/npc/nydala.lua
@@ -163,7 +163,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/obi.lua b/data-otservbr-global/npc/obi.lua
index bd8a675815c..d63995619da 100644
--- a/data-otservbr-global/npc/obi.lua
+++ b/data-otservbr-global/npc/obi.lua
@@ -156,7 +156,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/odemara.lua b/data-otservbr-global/npc/odemara.lua
index 544396e547a..bcfe94bf8eb 100644
--- a/data-otservbr-global/npc/odemara.lua
+++ b/data-otservbr-global/npc/odemara.lua
@@ -133,7 +133,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/oiriz.lua b/data-otservbr-global/npc/oiriz.lua
index a8529294420..3a5d3a6b411 100644
--- a/data-otservbr-global/npc/oiriz.lua
+++ b/data-otservbr-global/npc/oiriz.lua
@@ -126,7 +126,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/oldrak.lua b/data-otservbr-global/npc/oldrak.lua
index 4803575d9d6..ff5860fa322 100644
--- a/data-otservbr-global/npc/oldrak.lua
+++ b/data-otservbr-global/npc/oldrak.lua
@@ -32,7 +32,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/olrik.lua b/data-otservbr-global/npc/olrik.lua
index acc84db4584..42886e71318 100644
--- a/data-otservbr-global/npc/olrik.lua
+++ b/data-otservbr-global/npc/olrik.lua
@@ -100,7 +100,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/omur.lua b/data-otservbr-global/npc/omur.lua
index c13732b2e84..8d869c2eca0 100644
--- a/data-otservbr-global/npc/omur.lua
+++ b/data-otservbr-global/npc/omur.lua
@@ -68,7 +68,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/orockle.lua b/data-otservbr-global/npc/orockle.lua
index 96cc4203556..373a86e2ad2 100644
--- a/data-otservbr-global/npc/orockle.lua
+++ b/data-otservbr-global/npc/orockle.lua
@@ -88,7 +88,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/peggy.lua b/data-otservbr-global/npc/peggy.lua
index e97cfc63ed0..6c67820332a 100644
--- a/data-otservbr-global/npc/peggy.lua
+++ b/data-otservbr-global/npc/peggy.lua
@@ -156,7 +156,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/pemaret.lua b/data-otservbr-global/npc/pemaret.lua
index 79876e466ee..ab8ea5ecc62 100644
--- a/data-otservbr-global/npc/pemaret.lua
+++ b/data-otservbr-global/npc/pemaret.lua
@@ -120,7 +120,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/penny.lua b/data-otservbr-global/npc/penny.lua
index 97a5de4899f..cc20d497bf5 100644
--- a/data-otservbr-global/npc/penny.lua
+++ b/data-otservbr-global/npc/penny.lua
@@ -80,7 +80,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/perac.lua b/data-otservbr-global/npc/perac.lua
index 408d51daecc..1cc368953de 100644
--- a/data-otservbr-global/npc/perac.lua
+++ b/data-otservbr-global/npc/perac.lua
@@ -68,7 +68,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/perod.lua b/data-otservbr-global/npc/perod.lua
index a213716efa9..b0bc5e7a57d 100644
--- a/data-otservbr-global/npc/perod.lua
+++ b/data-otservbr-global/npc/perod.lua
@@ -159,7 +159,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/pompan.lua b/data-otservbr-global/npc/pompan.lua
index f84a7b48906..19fed2f7ed0 100644
--- a/data-otservbr-global/npc/pompan.lua
+++ b/data-otservbr-global/npc/pompan.lua
@@ -89,7 +89,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/pugwah.lua b/data-otservbr-global/npc/pugwah.lua
index 4a885648fe0..9e9007a7667 100644
--- a/data-otservbr-global/npc/pugwah.lua
+++ b/data-otservbr-global/npc/pugwah.lua
@@ -68,7 +68,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/quero.lua b/data-otservbr-global/npc/quero.lua
index 86fd8349a86..7932b8c065f 100644
--- a/data-otservbr-global/npc/quero.lua
+++ b/data-otservbr-global/npc/quero.lua
@@ -64,7 +64,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rabaz.lua b/data-otservbr-global/npc/rabaz.lua
index ea4ab74eba0..3e47da6a5ca 100644
--- a/data-otservbr-global/npc/rabaz.lua
+++ b/data-otservbr-global/npc/rabaz.lua
@@ -194,7 +194,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rachel.lua b/data-otservbr-global/npc/rachel.lua
index 6372c630bfd..3206c99864a 100644
--- a/data-otservbr-global/npc/rachel.lua
+++ b/data-otservbr-global/npc/rachel.lua
@@ -177,7 +177,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rafzan.lua b/data-otservbr-global/npc/rafzan.lua
index 4484e652c54..9ab44019f04 100644
--- a/data-otservbr-global/npc/rafzan.lua
+++ b/data-otservbr-global/npc/rafzan.lua
@@ -96,7 +96,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ramina.lua b/data-otservbr-global/npc/ramina.lua
index 2990e802d2f..b115ca4b6f9 100644
--- a/data-otservbr-global/npc/ramina.lua
+++ b/data-otservbr-global/npc/ramina.lua
@@ -73,7 +73,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rashid.lua b/data-otservbr-global/npc/rashid.lua
index ac7343722b8..7c719f0c655 100644
--- a/data-otservbr-global/npc/rashid.lua
+++ b/data-otservbr-global/npc/rashid.lua
@@ -439,7 +439,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rashid_custom.lua b/data-otservbr-global/npc/rashid_custom.lua
index b7b09cbaf41..421427ee795 100644
--- a/data-otservbr-global/npc/rashid_custom.lua
+++ b/data-otservbr-global/npc/rashid_custom.lua
@@ -441,7 +441,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ray.lua b/data-otservbr-global/npc/ray.lua
index 948b0e79f8b..aaae5d40c25 100644
--- a/data-otservbr-global/npc/ray.lua
+++ b/data-otservbr-global/npc/ray.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/red_lilly.lua b/data-otservbr-global/npc/red_lilly.lua
index d6356714954..eb91a4aa813 100644
--- a/data-otservbr-global/npc/red_lilly.lua
+++ b/data-otservbr-global/npc/red_lilly.lua
@@ -142,7 +142,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/redward.lua b/data-otservbr-global/npc/redward.lua
index d3abec89a24..78fb1c749fb 100644
--- a/data-otservbr-global/npc/redward.lua
+++ b/data-otservbr-global/npc/redward.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/richard.lua b/data-otservbr-global/npc/richard.lua
index f3998786dae..d38b6c93b0b 100644
--- a/data-otservbr-global/npc/richard.lua
+++ b/data-otservbr-global/npc/richard.lua
@@ -49,7 +49,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/robert.lua b/data-otservbr-global/npc/robert.lua
index 7b9c50d6a9c..794d1bcb122 100644
--- a/data-otservbr-global/npc/robert.lua
+++ b/data-otservbr-global/npc/robert.lua
@@ -164,7 +164,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rock_in_a_hard_place.lua b/data-otservbr-global/npc/rock_in_a_hard_place.lua
index c4850ad6c96..64ee5e08174 100644
--- a/data-otservbr-global/npc/rock_in_a_hard_place.lua
+++ b/data-otservbr-global/npc/rock_in_a_hard_place.lua
@@ -315,7 +315,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rodney.lua b/data-otservbr-global/npc/rodney.lua
index cdf8f949211..9adc859e493 100644
--- a/data-otservbr-global/npc/rodney.lua
+++ b/data-otservbr-global/npc/rodney.lua
@@ -67,7 +67,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/romella.lua b/data-otservbr-global/npc/romella.lua
index 03e3a4b596b..50caf76084e 100644
--- a/data-otservbr-global/npc/romella.lua
+++ b/data-otservbr-global/npc/romella.lua
@@ -128,7 +128,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/romir.lua b/data-otservbr-global/npc/romir.lua
index 4e950d46f5d..11ea038d266 100644
--- a/data-otservbr-global/npc/romir.lua
+++ b/data-otservbr-global/npc/romir.lua
@@ -157,7 +157,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rose.lua b/data-otservbr-global/npc/rose.lua
index 294a595a8ca..d8be4f8c59e 100644
--- a/data-otservbr-global/npc/rose.lua
+++ b/data-otservbr-global/npc/rose.lua
@@ -98,7 +98,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rowenna.lua b/data-otservbr-global/npc/rowenna.lua
index 36899e2eced..1286e52c5ff 100644
--- a/data-otservbr-global/npc/rowenna.lua
+++ b/data-otservbr-global/npc/rowenna.lua
@@ -113,7 +113,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/rudolph.lua b/data-otservbr-global/npc/rudolph.lua
index 57459be7222..ffbe381ddb2 100644
--- a/data-otservbr-global/npc/rudolph.lua
+++ b/data-otservbr-global/npc/rudolph.lua
@@ -74,7 +74,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/runtel_blackspark.lua b/data-otservbr-global/npc/runtel_blackspark.lua
index 82b86acaeed..0722946c735 100644
--- a/data-otservbr-global/npc/runtel_blackspark.lua
+++ b/data-otservbr-global/npc/runtel_blackspark.lua
@@ -105,7 +105,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/sam.lua b/data-otservbr-global/npc/sam.lua
index 225752f03ce..cd3a517c147 100644
--- a/data-otservbr-global/npc/sam.lua
+++ b/data-otservbr-global/npc/sam.lua
@@ -244,7 +244,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/sandra.lua b/data-otservbr-global/npc/sandra.lua
index 566e627a53f..69bc18a17b7 100644
--- a/data-otservbr-global/npc/sandra.lua
+++ b/data-otservbr-global/npc/sandra.lua
@@ -203,7 +203,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/sarina.lua b/data-otservbr-global/npc/sarina.lua
index bbb91887289..3429b5f6d35 100644
--- a/data-otservbr-global/npc/sarina.lua
+++ b/data-otservbr-global/npc/sarina.lua
@@ -126,7 +126,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/satsu.lua b/data-otservbr-global/npc/satsu.lua
index 964a55d5992..d925e5b5d37 100644
--- a/data-otservbr-global/npc/satsu.lua
+++ b/data-otservbr-global/npc/satsu.lua
@@ -70,7 +70,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/scott.lua b/data-otservbr-global/npc/scott.lua
index 09e52cf9074..8068ae2f6dd 100644
--- a/data-otservbr-global/npc/scott.lua
+++ b/data-otservbr-global/npc/scott.lua
@@ -69,7 +69,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/serafin.lua b/data-otservbr-global/npc/serafin.lua
index 95462c3182f..fe6a57ca249 100644
--- a/data-otservbr-global/npc/serafin.lua
+++ b/data-otservbr-global/npc/serafin.lua
@@ -102,7 +102,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/sessek.lua b/data-otservbr-global/npc/sessek.lua
index 6ef704d11df..ee7f56a2536 100644
--- a/data-otservbr-global/npc/sessek.lua
+++ b/data-otservbr-global/npc/sessek.lua
@@ -67,7 +67,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/shanar.lua b/data-otservbr-global/npc/shanar.lua
index 2a6e9d9f23b..157a27000ac 100644
--- a/data-otservbr-global/npc/shanar.lua
+++ b/data-otservbr-global/npc/shanar.lua
@@ -123,7 +123,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/sherry_mcronald.lua b/data-otservbr-global/npc/sherry_mcronald.lua
index 8cc27797e71..58afd1977e9 100644
--- a/data-otservbr-global/npc/sherry_mcronald.lua
+++ b/data-otservbr-global/npc/sherry_mcronald.lua
@@ -75,7 +75,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/shiantis.lua b/data-otservbr-global/npc/shiantis.lua
index 0408caf8522..08493c2cf2e 100644
--- a/data-otservbr-global/npc/shiantis.lua
+++ b/data-otservbr-global/npc/shiantis.lua
@@ -151,7 +151,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/shiriel.lua b/data-otservbr-global/npc/shiriel.lua
index 3019f8b6521..546bb26447b 100644
--- a/data-otservbr-global/npc/shiriel.lua
+++ b/data-otservbr-global/npc/shiriel.lua
@@ -150,7 +150,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/siflind.lua b/data-otservbr-global/npc/siflind.lua
index 4abd935ce0b..5ac37322855 100644
--- a/data-otservbr-global/npc/siflind.lua
+++ b/data-otservbr-global/npc/siflind.lua
@@ -283,7 +283,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/sigurd.lua b/data-otservbr-global/npc/sigurd.lua
index 146cec25b98..cca63a33e3e 100644
--- a/data-otservbr-global/npc/sigurd.lua
+++ b/data-otservbr-global/npc/sigurd.lua
@@ -147,7 +147,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/silas.lua b/data-otservbr-global/npc/silas.lua
index 7b0cd216c49..87271b1c8f3 100644
--- a/data-otservbr-global/npc/silas.lua
+++ b/data-otservbr-global/npc/silas.lua
@@ -85,7 +85,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/simon_the_beggar.lua b/data-otservbr-global/npc/simon_the_beggar.lua
index e7acdf99800..84cf524075b 100644
--- a/data-otservbr-global/npc/simon_the_beggar.lua
+++ b/data-otservbr-global/npc/simon_the_beggar.lua
@@ -32,7 +32,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/snake_eye.lua b/data-otservbr-global/npc/snake_eye.lua
index ef2bddd8c9f..4eade5af763 100644
--- a/data-otservbr-global/npc/snake_eye.lua
+++ b/data-otservbr-global/npc/snake_eye.lua
@@ -89,7 +89,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/soilance.lua b/data-otservbr-global/npc/soilance.lua
index 94cc241bc6f..4474f979744 100644
--- a/data-otservbr-global/npc/soilance.lua
+++ b/data-otservbr-global/npc/soilance.lua
@@ -62,7 +62,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/squeekquek.lua b/data-otservbr-global/npc/squeekquek.lua
index 6bd0691383d..5f6217f538b 100644
--- a/data-otservbr-global/npc/squeekquek.lua
+++ b/data-otservbr-global/npc/squeekquek.lua
@@ -37,7 +37,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/stan.lua b/data-otservbr-global/npc/stan.lua
index dfe354079eb..4769e9c0080 100644
--- a/data-otservbr-global/npc/stan.lua
+++ b/data-otservbr-global/npc/stan.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/sundara.lua b/data-otservbr-global/npc/sundara.lua
index b2bae1d8fbd..c1364240fa9 100644
--- a/data-otservbr-global/npc/sundara.lua
+++ b/data-otservbr-global/npc/sundara.lua
@@ -173,7 +173,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/swolt.lua b/data-otservbr-global/npc/swolt.lua
index e6b9ad7cff7..5d8a7b48830 100644
--- a/data-otservbr-global/npc/swolt.lua
+++ b/data-otservbr-global/npc/swolt.lua
@@ -93,7 +93,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/taegen.lua b/data-otservbr-global/npc/taegen.lua
index 0b3d7697ba5..5df29712232 100644
--- a/data-otservbr-global/npc/taegen.lua
+++ b/data-otservbr-global/npc/taegen.lua
@@ -92,7 +92,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/talila.lua b/data-otservbr-global/npc/talila.lua
index 3e96fc4ed39..c3d374ee1fb 100644
--- a/data-otservbr-global/npc/talila.lua
+++ b/data-otservbr-global/npc/talila.lua
@@ -216,7 +216,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/talphion.lua b/data-otservbr-global/npc/talphion.lua
index 0902aee6371..9a7ec7ae7e6 100644
--- a/data-otservbr-global/npc/talphion.lua
+++ b/data-otservbr-global/npc/talphion.lua
@@ -94,7 +94,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tamoril.lua b/data-otservbr-global/npc/tamoril.lua
index 164cc36a8c6..654355d9be5 100644
--- a/data-otservbr-global/npc/tamoril.lua
+++ b/data-otservbr-global/npc/tamoril.lua
@@ -113,7 +113,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tanaro.lua b/data-otservbr-global/npc/tanaro.lua
index 147e11522cf..bf43db15d79 100644
--- a/data-otservbr-global/npc/tanaro.lua
+++ b/data-otservbr-global/npc/tanaro.lua
@@ -74,7 +74,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tandros.lua b/data-otservbr-global/npc/tandros.lua
index 40c0216e8cf..e25ba65f2a3 100644
--- a/data-otservbr-global/npc/tandros.lua
+++ b/data-otservbr-global/npc/tandros.lua
@@ -160,7 +160,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tarun.lua b/data-otservbr-global/npc/tarun.lua
index e07b7b92346..31f56602f81 100644
--- a/data-otservbr-global/npc/tarun.lua
+++ b/data-otservbr-global/npc/tarun.lua
@@ -85,7 +85,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/telas.lua b/data-otservbr-global/npc/telas.lua
index 1e62a8eae91..6c0690fc5c8 100644
--- a/data-otservbr-global/npc/telas.lua
+++ b/data-otservbr-global/npc/telas.lua
@@ -137,7 +137,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tesha.lua b/data-otservbr-global/npc/tesha.lua
index 0dc4a253b30..95e31f97cb7 100644
--- a/data-otservbr-global/npc/tesha.lua
+++ b/data-otservbr-global/npc/tesha.lua
@@ -148,7 +148,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tezila.lua b/data-otservbr-global/npc/tezila.lua
index 853816e90eb..dab92c807f5 100644
--- a/data-otservbr-global/npc/tezila.lua
+++ b/data-otservbr-global/npc/tezila.lua
@@ -125,7 +125,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/the_librarian.lua b/data-otservbr-global/npc/the_librarian.lua
index 16d1226d297..45b786342de 100644
--- a/data-otservbr-global/npc/the_librarian.lua
+++ b/data-otservbr-global/npc/the_librarian.lua
@@ -109,7 +109,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/the_lootmonger.lua b/data-otservbr-global/npc/the_lootmonger.lua
index 8eb8e41b54e..e0c2b03da32 100644
--- a/data-otservbr-global/npc/the_lootmonger.lua
+++ b/data-otservbr-global/npc/the_lootmonger.lua
@@ -79,7 +79,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/thomas.lua b/data-otservbr-global/npc/thomas.lua
index 1f8f5b0d353..ed20c24b02e 100644
--- a/data-otservbr-global/npc/thomas.lua
+++ b/data-otservbr-global/npc/thomas.lua
@@ -75,7 +75,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/timur.lua b/data-otservbr-global/npc/timur.lua
index 18b225587a6..f2a23509601 100644
--- a/data-otservbr-global/npc/timur.lua
+++ b/data-otservbr-global/npc/timur.lua
@@ -100,7 +100,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/todd.lua b/data-otservbr-global/npc/todd.lua
index c3d3fea7065..25c8cb98813 100644
--- a/data-otservbr-global/npc/todd.lua
+++ b/data-otservbr-global/npc/todd.lua
@@ -97,7 +97,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tokel.lua b/data-otservbr-global/npc/tokel.lua
index 2602065da91..b70ce6ba5f7 100644
--- a/data-otservbr-global/npc/tokel.lua
+++ b/data-otservbr-global/npc/tokel.lua
@@ -64,7 +64,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tom.lua b/data-otservbr-global/npc/tom.lua
index 413d3eda230..c278a728d77 100644
--- a/data-otservbr-global/npc/tom.lua
+++ b/data-otservbr-global/npc/tom.lua
@@ -290,7 +290,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/topsy.lua b/data-otservbr-global/npc/topsy.lua
index b7b68e6a71e..395fd23cbeb 100644
--- a/data-otservbr-global/npc/topsy.lua
+++ b/data-otservbr-global/npc/topsy.lua
@@ -183,7 +183,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/tothdral.lua b/data-otservbr-global/npc/tothdral.lua
index c2b33e18db3..494115a1caf 100644
--- a/data-otservbr-global/npc/tothdral.lua
+++ b/data-otservbr-global/npc/tothdral.lua
@@ -69,7 +69,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/turvy.lua b/data-otservbr-global/npc/turvy.lua
index 889d4583b27..b579efb9c75 100644
--- a/data-otservbr-global/npc/turvy.lua
+++ b/data-otservbr-global/npc/turvy.lua
@@ -148,7 +148,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ukea.lua b/data-otservbr-global/npc/ukea.lua
index ce5d8086150..33ec0ef7a1b 100644
--- a/data-otservbr-global/npc/ukea.lua
+++ b/data-otservbr-global/npc/ukea.lua
@@ -161,7 +161,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ulrik.lua b/data-otservbr-global/npc/ulrik.lua
index 5a7d35c67e7..8a7cb33f11a 100644
--- a/data-otservbr-global/npc/ulrik.lua
+++ b/data-otservbr-global/npc/ulrik.lua
@@ -131,7 +131,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/urkalio.lua b/data-otservbr-global/npc/urkalio.lua
index 31330195c82..dbcbbc238b1 100644
--- a/data-otservbr-global/npc/urkalio.lua
+++ b/data-otservbr-global/npc/urkalio.lua
@@ -69,7 +69,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/ustan.lua b/data-otservbr-global/npc/ustan.lua
index bc18b39fdef..b7c037ae6e9 100644
--- a/data-otservbr-global/npc/ustan.lua
+++ b/data-otservbr-global/npc/ustan.lua
@@ -101,7 +101,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/uzgod.lua b/data-otservbr-global/npc/uzgod.lua
index 49f1f59f636..698ad8ea579 100644
--- a/data-otservbr-global/npc/uzgod.lua
+++ b/data-otservbr-global/npc/uzgod.lua
@@ -203,7 +203,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/valentina.lua b/data-otservbr-global/npc/valentina.lua
index 52d54447c8a..006495432fa 100644
--- a/data-otservbr-global/npc/valentina.lua
+++ b/data-otservbr-global/npc/valentina.lua
@@ -45,7 +45,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/valindara.lua b/data-otservbr-global/npc/valindara.lua
index 0a9efc5593e..69655358dfe 100644
--- a/data-otservbr-global/npc/valindara.lua
+++ b/data-otservbr-global/npc/valindara.lua
@@ -221,7 +221,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/velvet.lua b/data-otservbr-global/npc/velvet.lua
index f5a19f9c3e3..b8368a19349 100644
--- a/data-otservbr-global/npc/velvet.lua
+++ b/data-otservbr-global/npc/velvet.lua
@@ -83,7 +83,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/vera.lua b/data-otservbr-global/npc/vera.lua
index a4112e9466e..609ab307d91 100644
--- a/data-otservbr-global/npc/vera.lua
+++ b/data-otservbr-global/npc/vera.lua
@@ -159,7 +159,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/victor.lua b/data-otservbr-global/npc/victor.lua
index 81718da1382..e0a57424abe 100644
--- a/data-otservbr-global/npc/victor.lua
+++ b/data-otservbr-global/npc/victor.lua
@@ -60,7 +60,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/vincent.lua b/data-otservbr-global/npc/vincent.lua
index eb2dcec6956..58f933670f7 100644
--- a/data-otservbr-global/npc/vincent.lua
+++ b/data-otservbr-global/npc/vincent.lua
@@ -86,7 +86,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/wally.lua b/data-otservbr-global/npc/wally.lua
index 7ce470e14cd..6c86eee523d 100644
--- a/data-otservbr-global/npc/wally.lua
+++ b/data-otservbr-global/npc/wally.lua
@@ -63,7 +63,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/willard.lua b/data-otservbr-global/npc/willard.lua
index 75c6d1173bd..f35d20ad231 100644
--- a/data-otservbr-global/npc/willard.lua
+++ b/data-otservbr-global/npc/willard.lua
@@ -207,7 +207,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/willie.lua b/data-otservbr-global/npc/willie.lua
index 1f7197099af..d4936298ba9 100644
--- a/data-otservbr-global/npc/willie.lua
+++ b/data-otservbr-global/npc/willie.lua
@@ -38,7 +38,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/xed.lua b/data-otservbr-global/npc/xed.lua
index 2d76c2cfca8..c1eded467e3 100644
--- a/data-otservbr-global/npc/xed.lua
+++ b/data-otservbr-global/npc/xed.lua
@@ -68,7 +68,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/xelvar.lua b/data-otservbr-global/npc/xelvar.lua
index 9c93ff40724..9180dee6f3b 100644
--- a/data-otservbr-global/npc/xelvar.lua
+++ b/data-otservbr-global/npc/xelvar.lua
@@ -133,7 +133,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/xodet.lua b/data-otservbr-global/npc/xodet.lua
index 8b9c7bc453a..2d8832bd964 100644
--- a/data-otservbr-global/npc/xodet.lua
+++ b/data-otservbr-global/npc/xodet.lua
@@ -178,7 +178,7 @@ end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/yaman.lua b/data-otservbr-global/npc/yaman.lua
index 07d335fab70..3c66cd888e5 100644
--- a/data-otservbr-global/npc/yaman.lua
+++ b/data-otservbr-global/npc/yaman.lua
@@ -168,7 +168,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/yana.lua b/data-otservbr-global/npc/yana.lua
index 40032a3f4c4..d5d110d75f7 100644
--- a/data-otservbr-global/npc/yana.lua
+++ b/data-otservbr-global/npc/yana.lua
@@ -49,7 +49,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/yanni.lua b/data-otservbr-global/npc/yanni.lua
index 6f81f88f9c7..588e9483804 100644
--- a/data-otservbr-global/npc/yanni.lua
+++ b/data-otservbr-global/npc/yanni.lua
@@ -94,7 +94,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/yasir.lua b/data-otservbr-global/npc/yasir.lua
index d924cd5a31d..d576b611e53 100644
--- a/data-otservbr-global/npc/yasir.lua
+++ b/data-otservbr-global/npc/yasir.lua
@@ -653,7 +653,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/yoem.lua b/data-otservbr-global/npc/yoem.lua
index 885e3bbef52..0d1725580a4 100644
--- a/data-otservbr-global/npc/yoem.lua
+++ b/data-otservbr-global/npc/yoem.lua
@@ -167,7 +167,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/yonan.lua b/data-otservbr-global/npc/yonan.lua
index c0faddfda2f..44dbb8dd83c 100644
--- a/data-otservbr-global/npc/yonan.lua
+++ b/data-otservbr-global/npc/yonan.lua
@@ -97,7 +97,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/yulas.lua b/data-otservbr-global/npc/yulas.lua
index 194d10916c7..911c56b45cf 100644
--- a/data-otservbr-global/npc/yulas.lua
+++ b/data-otservbr-global/npc/yulas.lua
@@ -65,7 +65,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/zaidal.lua b/data-otservbr-global/npc/zaidal.lua
index 798989e2b32..ed119fed9db 100644
--- a/data-otservbr-global/npc/zaidal.lua
+++ b/data-otservbr-global/npc/zaidal.lua
@@ -69,7 +69,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/zethra.lua b/data-otservbr-global/npc/zethra.lua
index 850e5467f93..e3961fed94e 100644
--- a/data-otservbr-global/npc/zethra.lua
+++ b/data-otservbr-global/npc/zethra.lua
@@ -76,7 +76,7 @@ end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
diff --git a/data-otservbr-global/npc/zora.lua b/data-otservbr-global/npc/zora.lua
index 4c526769b4e..f9b3a458d52 100644
--- a/data-otservbr-global/npc/zora.lua
+++ b/data-otservbr-global/npc/zora.lua
@@ -126,7 +126,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/npc/zuma_magehide.lua b/data-otservbr-global/npc/zuma_magehide.lua
index 924959a513e..3633331a0bf 100644
--- a/data-otservbr-global/npc/zuma_magehide.lua
+++ b/data-otservbr-global/npc/zuma_magehide.lua
@@ -79,7 +79,7 @@ npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBac
end
-- On sell npc shop message
npcType.onSellItem = function(npc, player, itemId, subtype, amount, ignore, name, totalCost)
- player:sendTextMessage(MESSAGE_LOOK, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
+ player:sendTextMessage(MESSAGE_TRADE, string.format("Sold %ix %s for %i gold.", amount, name, totalCost))
end
-- On check npc shop message (look item)
npcType.onCheckItem = function(npc, player, clientId, subType) end
diff --git a/data-otservbr-global/scripts/actions/other/cask_kegs.lua b/data-otservbr-global/scripts/actions/other/cask_kegs.lua
deleted file mode 100644
index 872d30d613c..00000000000
--- a/data-otservbr-global/scripts/actions/other/cask_kegs.lua
+++ /dev/null
@@ -1,76 +0,0 @@
-local targetIdList = {
- --health potions casks
- [25879] = { itemId = 285, transform = 266, house = true }, -- Health Potion --
- [25880] = { itemId = 283, transform = 236, house = true }, -- Strong Health --
- [25881] = { itemId = 284, transform = 239, house = true }, -- Great Health --
- [25882] = { itemId = 284, transform = 7643, house = true }, -- Ultimate Health --
- [25883] = { itemId = 284, transform = 23375, house = true }, -- Supreme Health --
- --mana potions casks
- [25889] = { itemId = 285, transform = 268, house = true }, -- Mana Potion --
- [25890] = { itemId = 283, transform = 237, house = true }, -- Strong Mana --
- [25891] = { itemId = 284, transform = 238, house = true }, -- Great Mana --
- [25892] = { itemId = 284, transform = 23373, house = true }, -- Ultimate Mana --
- --spirit potions caks
- [25899] = { itemId = 284, transform = 7642, house = true }, -- Great Spirit --
- [25900] = { itemId = 284, transform = 23374, house = true }, --Ultimate Spirit --
-
- --health potions kegs
- [25903] = { itemId = 285, transform = 266 }, -- Health Potion --
- [25904] = { itemId = 283, transform = 236 }, -- Strong Health --
- [25905] = { itemId = 284, transform = 239 }, -- Great Health --
- [25906] = { itemId = 284, transform = 7643 }, -- Ultimate Health --
- [25907] = { itemId = 284, transform = 23375 }, -- Supreme Health --
-
- --mana potion kegs
- [25908] = { itemId = 285, transform = 268 }, -- Mana Potion --
- [25909] = { itemId = 283, transform = 237 }, -- Strong Mana --
- [25910] = { itemId = 284, transform = 238 }, -- Great Mana --
- [25911] = { itemId = 284, transform = 23373 }, -- Ultimate Mana --
-
- --spirit potions kegs
- [25913] = { itemId = 284, transform = 7642 }, -- Great Spirit --
- [25914] = { itemId = 284, transform = 23374 }, --Ultimate Spirit --
-}
-
-local flasks = Action()
-
-function flasks.onUse(player, item, fromPosition, target, toPosition, isHotkey)
- if not target then
- return false
- end
-
- local charges = target:getCharges()
- local itemCount = item:getCount()
- local recharged = itemCount
-
- if recharged > charges then
- recharged = charges
- end
-
- local targetId = targetIdList[target:getId()]
- if targetId and targetId.itemId == item:getId() and charges > 0 then
- -- Check is cask item is in house
- if targetId.house and not player:getTile():getHouse() then
- return false
- end
-
- charges = charges - recharged
- target:transform(target:getId(), charges)
- if charges == 0 then
- toPosition:sendMagicEffect(CONST_ME_POFF)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("No more charges left. Your keg has run dry.", charges))
- else
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Remaining %s charges.", charges))
- end
-
- player:addItem(targetId.transform, recharged)
- if itemCount >= recharged then
- item:transform(targetId.itemId, itemCount - recharged)
- end
- return true
- end
- return false
-end
-
-flasks:id(283, 284, 285)
-flasks:register()
diff --git a/data-otservbr-global/scripts/actions/other/jean_pierre_food.lua b/data-otservbr-global/scripts/actions/other/jean_pierre_food.lua
deleted file mode 100644
index 71627cfc61c..00000000000
--- a/data-otservbr-global/scripts/actions/other/jean_pierre_food.lua
+++ /dev/null
@@ -1,224 +0,0 @@
-local conditions = {
- CONDITION_POISON,
- CONDITION_FIRE,
- CONDITION_ENERGY,
- CONDITION_PARALYZE,
- CONDITION_DRUNK,
- CONDITION_DROWN,
- CONDITION_FREEZING,
- CONDITION_DAZZLED,
- CONDITION_CURSED,
- CONDITION_BLEEDING,
-}
-local condition_shield = Condition(CONDITION_ATTRIBUTES)
-condition_shield:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreDefense)
-condition_shield:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
-condition_shield:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
-condition_shield:setParameter(CONDITION_PARAM_SKILL_SHIELD, 10)
-condition_shield:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
-local condition_ml = Condition(CONDITION_ATTRIBUTES)
-condition_ml:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreMagic)
-condition_ml:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
-condition_ml:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
-condition_ml:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 5)
-condition_ml:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
-local condition_melee = Condition(CONDITION_ATTRIBUTES)
-condition_melee:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreMelee)
-condition_melee:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
-condition_melee:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
-condition_melee:setParameter(CONDITION_PARAM_SKILL_MELEE, 10)
-condition_melee:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
-local condition_dist = Condition(CONDITION_ATTRIBUTES)
-condition_dist:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreDistance)
-condition_dist:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
-condition_dist:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
-condition_dist:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 10)
-condition_dist:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
-local condition_f = Condition(CONDITION_ATTRIBUTES)
-condition_f:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreFishing)
-condition_f:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
-condition_f:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
-condition_f:setParameter(CONDITION_PARAM_SKILL_FISHING, 50)
-condition_f:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
-local condition_speed = Condition(CONDITION_HASTE)
-condition_speed:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
-condition_speed:setParameter(CONDITION_PARAM_SPEED, 729)
-local combat_i = Combat()
-combat_i:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
-combat_i:setParameter(COMBAT_PARAM_AGGRESSIVE, 0)
-local condition_i = Condition(CONDITION_INVISIBLE)
-condition_i:setParameter(CONDITION_PARAM_TICKS, 600000)
-combat_i:addCondition(condition_i)
-local itemIds = { [9079] = 0, [9080] = 1, [9081] = 2, [9082] = 3, [9083] = 4, [9084] = 5, [9085] = 6, [9086] = 7, [9087] = 8, [9088] = 9, [11584] = 10, [11586] = 11, [11587] = 12, [11588] = 13 }
-
-local jeanPierreFood = Action()
-
-function jeanPierreFood.onUse(player, item, frompos, item2, topos)
- local cid = player:getId()
- if player:getStorageValue(17110 + itemIds[item.itemid]) > os.time() then
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
- return true
- end
- player:setStorageValue(17110 + itemIds[item.itemid], os.time() + (15 * 60))
-
- if item.itemid == 9079 then
- item:remove(1)
- Creature(cid):addHealth(getCreatureMaxHealth(cid) - getCreatureHealth(cid))
- player:say("Gulp.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your health has been refilled.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9080 then
- item:remove(1)
- for i = 1, #conditions do
- doRemoveCondition(cid, conditions[i])
- end
- player:say("Chomp.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel better body condition.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9081 then
- item:remove(1)
- Creature(cid):addCondition(condition_shield)
- player:say("Chomp.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel less vulnerable.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9082 then
- item:remove(1)
- Creature(cid):addCondition(condition_ml)
- player:say("Chomp.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel smarter.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9083 then
- item:remove(1)
- player:say("Slurp.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You don't really know what this did to you, but suddenly you feel very happy.")
- player:getPosition():sendMagicEffect(CONST_ME_HEARTS)
- return true
- elseif item.itemid == 9084 then
- item:remove(1)
- Creature(cid):addCondition(condition_melee)
- player:say("Yum.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel stronger.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9085 then
- item:remove(1)
- Creature(cid):addCondition(condition_speed)
- player:say("Munch.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your speed has been increased.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9086 then
- item:remove(1)
- Creature(cid):addMana(Creature(cid):getMaxMana() - Creature(cid):getMana())
- player:say("Chomp.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your mana has been refilled.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9087 then
- item:remove(1)
- Creature(cid):addCondition(condition_dist)
- player:say("Mmmm.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel more focused.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 9088 then
- item:remove(1)
- Creature(cid):addCondition(condition_f)
- player:say("Smack.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You felt fishing inspiration.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 11584 then
- item:remove(1)
- player:setStorageValue(15287, os.time() + 86400)
- player:say("Yum.", TALKTYPE_MONSTER_SAY)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Underwater walking speed increased.")
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 11586 then
- if math.random(1, 5) == 5 then
- item:remove(1)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You take the last gulp from the large bowl. No leftovers!")
- else
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You take a gulp from the large bowl, but there's still some blackjack in it.")
- end
- Creature(cid):addHealth(getCreatureMaxHealth(cid) - getCreatureHealth(cid))
- player:say("Gulp.", TALKTYPE_MONSTER_SAY)
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 11587 then
- item:remove(1)
- local c = { condition_shield, condition_ml, condition_melee, condition_dist, condition_speed }
- local r = math.random(1, 4)
- if r == 1 then
- Creature(cid):addCondition(c[math.random(1, #c)])
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel stronger, but you have no idea what was increased.")
- elseif r == 2 then
- doSetCreatureLight(cid, 15, 154, 60 * 60 * 1000)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel enlightened.")
- elseif r == 3 then
- Creature(cid):addCondition(condition_i)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You became invisible.")
- elseif r == 4 then
- Creature(cid):addHealth(getCreatureMaxHealth(cid) - getCreatureHealth(cid))
- Creature(cid):addMana(Creature(cid):getMaxMana() - Creature(cid):getMana())
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your vitality has been restored.")
- end
- player:say("Smack.", TALKTYPE_MONSTER_SAY)
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- return true
- elseif item.itemid == 11588 then
- local ring = getPlayerSlotItem(cid, CONST_SLOT_RING)
- local r_t = {
- [3095] = 3092,
- [3096] = 3093,
- [6300] = 6299,
- [3099] = 3097,
- [3088] = 3051,
- [3089] = 3052,
- [3048] = 3048,
- [3087] = 3050,
- [16264] = 16114,
- [3100] = 3098,
- [12670] = 12669,
- [3086] = 3049,
- [3094] = 3091,
- [3090] = 3053,
- }
- if ring.itemid == 0 then
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "No ring equipped.")
- player:getPosition():sendMagicEffect(CONST_ME_POFF)
- return true
- end
-
- if r_t[ring.itemid] ~= nil then
- item:remove(1)
- if ring.itemid == r_t[ring.itemid] then
- r_m_am = 20
- else
- r_m_am = 1
- end
-
- for i = 1, 10 do
- doPlayerAddItem(cid, r_t[ring.itemid], r_m_am)
- end
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your ring has been multiplied.")
- player:say("Slurp!", TALKTYPE_MONSTER_SAY)
- return true
- else
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "This ring cannot be multiplied.")
- player:getPosition():sendMagicEffect(CONST_ME_POFF)
- return true
- end
- end
-end
-
-for index, value in pairs(itemIds) do
- jeanPierreFood:id(index)
-end
-
-jeanPierreFood:register()
diff --git a/data-otservbr-global/scripts/actions/other/string_of_mending.lua b/data-otservbr-global/scripts/actions/other/string_of_mending.lua
index f2159f2737d..7689c9b05df 100644
--- a/data-otservbr-global/scripts/actions/other/string_of_mending.lua
+++ b/data-otservbr-global/scripts/actions/other/string_of_mending.lua
@@ -1,46 +1,22 @@
-------------
--- Alternative to no-magic style.
--- Description here
-----
-
----- string of mending id "20208"-----
-local ITEMS = {
- [12737] = { -----Broken Ring Id "12737" Ring of ending "20182"
- { "ring of ending", 50.50 }, ----- 1.97 es la probabilidad de crear el item
- },
-}
-
local stringOfMending = Action()
----- onUse [opt]
--- @param cid Player ID
--- @param item Item ID
--- @param fromPosition Current Position
--- @param[opt] itemEx Item change
--- @param[opt] toPosition Nem position
-function stringOfMending.onUse(cid, item, fromPosition, itemEx, toPosition)
- local cadena = ITEMS[itemEx.itemid]
- if cadena == nil then
+function stringOfMending.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if not target or target.itemid ~= 12737 then
return false
end
- local iEx = Item(itemEx.uid)
- local random, chance = math.random() * 100, 0
-
- for i = 1, #cadena do
- chance = chance + cadena[i][2]
- if random <= chance then
- iEx:transform(cadena[i][1])
- iEx:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
- Item(item.uid):remove(1)
- return true
- end
+ local random = math.random(100)
+ if random <= 50 then
+ target:transform(20182) -- ring of ending
+ target:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
+ item:remove(1)
+ return true
end
- iEx:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT)
- Item(item.uid):remove(1)
- iEx:remove()
- doCreatureSay(cid, "50% chance, the item was broken.", TALKTYPE_MONSTER_SAY)
+ target:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT)
+ item:remove(1)
+ target:remove()
+ player:say("50% chance, the item was broken.", TALKTYPE_MONSTER_SAY)
return true
end
diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/scroll_of_ascension.lua b/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/scroll_of_ascension.lua
deleted file mode 100644
index 7eccfa18edb..00000000000
--- a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/scroll_of_ascension.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-local ferumbrasAscendantScroll = Action()
-function ferumbrasAscendantScroll.onUse(player, item, fromPosition, target, toPosition, isHotkey)
- local outfit = { lookType = 35 }
- if item.itemid == 22771 then
- doSetCreatureOutfit(player, outfit, 30 * 1000)
- item:transform(22772)
- item:decay()
- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Magical sparks whirl around the scroll as you read and then your appearance is changing.")
- return true
- elseif item.itemid == 22772 then
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You are tired of the last scroll reading, rest your eyes for a moment.")
- end
- return true
-end
-
-ferumbrasAscendantScroll:id(22771, 22772)
-ferumbrasAscendantScroll:register()
diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/final_lever.lua b/data-otservbr-global/scripts/actions/quests/heart_of_destruction/final_lever.lua
index fe1d83724f1..c2d74bbf885 100644
--- a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/final_lever.lua
+++ b/data-otservbr-global/scripts/actions/quests/heart_of_destruction/final_lever.lua
@@ -69,9 +69,10 @@ local function changeArea()
local creatures = tile:getCreatures()
if creatures and #creatures > 0 then
if theHungerKilled == false then
- for _, c in pairs(creatures) do
- if isMonster(c) then
- c:teleportTo({ x = 32244, y = 31369, z = 14 })
+ for _, creature in pairs(creatures) do
+ local monster = Monster(creature)
+ if monster then
+ monster:teleportTo({ x = 32244, y = 31369, z = 14 })
end
end
else
@@ -97,9 +98,10 @@ local function changeArea()
local creatures = tile:getCreatures()
if creatures and #creatures > 0 then
if theDestructionKilled == false then
- for _, c in pairs(creatures) do
- if isMonster(c) then
- c:teleportTo({ x = 32271, y = 31313, z = 14 })
+ for _, creature in pairs(creatures) do
+ local monster = Monster(creature)
+ if monster then
+ monster:teleportTo({ x = 32271, y = 31313, z = 14 })
end
end
else
@@ -125,9 +127,10 @@ local function changeArea()
local creatures = tile:getCreatures()
if creatures and #creatures > 0 then
if theRageKilled == false then
- for _, c in pairs(creatures) do
- if isMonster(c) then
- c:teleportTo({ x = 32299, y = 31369, z = 14 })
+ for _, creature in pairs(creatures) do
+ local monster = Monster(creature)
+ if monster then
+ monster:teleportTo({ x = 32299, y = 31369, z = 14 })
end
end
else
diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/sparks_lever.lua b/data-otservbr-global/scripts/actions/quests/heart_of_destruction/sparks_lever.lua
index 9a87b0eea72..8ef36379605 100644
--- a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/sparks_lever.lua
+++ b/data-otservbr-global/scripts/actions/quests/heart_of_destruction/sparks_lever.lua
@@ -120,11 +120,11 @@ function renewSparks()
if tile then
local creatures = tile:getCreatures()
if creatures and #creatures > 0 then
- for _, c in pairs(creatures) do
- local cPos = c:getPosition()
- if isMonster(c) and c:getName() == "Unstable Spark" then
- cPos:sendMagicEffect(3)
- c:remove()
+ for _, creature in pairs(creatures) do
+ local monster = Monster(creature)
+ if monster and monster:getName() == "Unstable Spark" then
+ monster:getPosition():sendMagicEffect(3)
+ monster:remove()
end
end
end
diff --git a/data-otservbr-global/scripts/actions/quests/mysterious_ornate/mysterious_metal_egg.lua b/data-otservbr-global/scripts/actions/quests/mysterious_ornate/mysterious_metal_egg.lua
index 0486d075dc8..cf26310169d 100644
--- a/data-otservbr-global/scripts/actions/quests/mysterious_ornate/mysterious_metal_egg.lua
+++ b/data-otservbr-global/scripts/actions/quests/mysterious_ornate/mysterious_metal_egg.lua
@@ -1,7 +1,7 @@
local mysterious = Action()
-function mysterious.onUse(cid, item, fromPosition, itemEx, toPosition)
- local p = { x = 33672, y = 31884, z = 5 } -- where to tp to 33672, 31884, 5
- doCreatureSay(cid, "This metal egg seems to be locked by a strange mechanism. The time for it to reveal its contents has not yet come.", TALKTYPE_MONSTER_SAY)
+
+function mysterious.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ player:say("This metal egg seems to be locked by a strange mechanism. The time for it to reveal its contents has not yet come.", TALKTYPE_MONSTER_SAY)
end
mysterious:id(19065, 22739)
diff --git a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/corpse.lua b/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/corpse.lua
index a3b4d32341f..d6699dc7fd6 100644
--- a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/corpse.lua
+++ b/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/corpse.lua
@@ -1,11 +1,13 @@
local rottinWoodCorpse = Action()
-function rottinWoodCorpse.onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey)
+
+function rottinWoodCorpse.onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item.itemid == 12189 then
- if (getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Mission03) == 5) and getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Corpse) < 4 then
- doCreatureSay(cid, "You take no more gold than you actually need and release the merchant who makes away the very second you remove the ropes.", TALKTYPE_MONSTER_SAY)
- doPlayerAddItem(cid, 3031, 100)
- doRemoveItem(item.uid, 1)
- setPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Corpse, getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Corpse) + 1)
+ local storageRottinWoodAndMariedCorpse = player:getStorageValue(Storage.RottinWoodAndMaried.Corpse)
+ if player:getStorageValue(Storage.RottinWoodAndMaried.Mission03) == 5 and storageRottinWoodAndMariedCorpse < 4 then
+ player:say("You take no more gold than you actually need and release the merchant who makes away the very second you remove the ropes.", TALKTYPE_MONSTER_SAY)
+ player:addItem(3031, 1)
+ player:setStorageValue(Storage.RottinWoodAndMaried.Corpse, storageRottinWoodAndMariedCorpse + 1)
+ item:remove(1)
end
end
return true
diff --git a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua b/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua
index 54703c2a30d..4d324bb7cd2 100644
--- a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua
+++ b/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua
@@ -1,15 +1,17 @@
function removeMonster()
doRemoveItem(getTileItemById({ x = 32662, y = 32190, z = 7 }, 2768).uid, 1)
- doSendMagicEffect({ x = 32662, y = 32190, z = 7 }, 45)
- TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7, stackpos = 253 }
- BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7, stackpos = 253 }
+ Position(32662, 32190, 7):sendMagicEffect(CONST_ME_STONES)
+ local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 }
+ local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 }
+
for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do
for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do
- creature = getThingfromPos({ x = Px, y = Py, z = 7, stackpos = 253 })
- if isMonster(creature.uid) then
- if getCreatureName(creature.uid) == "Travelling Merchant" then
- --doRemoveCreature(creature.uid)
- doSendMagicEffect({ x = Px, y = Py, z = 7 }, 45)
+ local tile = Tile(Position({ x = Px, y = Py, z = 7 }))
+ if tile then
+ local monster = tile:getTopCreature()
+ if monster and monster:isMonster() and monster:getName() == "Travelling Merchant" then
+ -- monster:remove()
+ monster:getPosition():sendMagicEffect(CONST_ME_STONES)
--setPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Trap, -1)
end
end
@@ -19,8 +21,8 @@ function removeMonster()
end
function removeTrap()
- TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7, stackpos = 253 }
- BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7, stackpos = 253 }
+ local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7, stackpos = 253 }
+ local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7, stackpos = 253 }
for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do
for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do
local trap = getTileItemById({ x = Px, y = Py, z = 7 }, 12187)
@@ -48,7 +50,7 @@ function rottinWoodtrap.onUse(cid, item, fromPosition, itemEx, toPosition, isHot
doRemoveItem(item.uid, 1)
Game.createItem(12187, 1, toPosition)
doTeleportThing(cid, { x = 32660, y = 32193, z = 7 })
- doSendMagicEffect(getCreaturePosition(cid), 45)
+ Player(cid):getPosition():sendMagicEffect(CONST_ME_STONES)
Game.createItem(2768, 1, { x = 32662, y = 32190, z = 7 }) -- small fir tree
----------------------- SUMMON MERCHANT -----------------------------
doSummonCreature("Travelling Merchant", { x = 32656, y = 32182, z = 7 })
diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_death.lua b/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_death.lua
index 1b18872fedd..5713ea3d54c 100644
--- a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_death.lua
+++ b/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_death.lua
@@ -9,10 +9,11 @@ local function setStorage()
if tile then
local creatures = tile:getCreatures()
if creatures and #creatures > 0 then
- for _, c in pairs(creatures) do
- if isPlayer(c) then
- if c:getStorageValue(14322) < 1 then
- c:setStorageValue(14322, 1) -- Access to boss Anomaly
+ for _, creature in pairs(creatures) do
+ local player = Player(creature)
+ if player then
+ if player:getStorageValue(14322) < 1 then
+ player:setStorageValue(14322, 1) -- Access to boss Anomaly
end
end
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/movements/others/closing_door.lua b/data-otservbr-global/scripts/movements/others/closing_door.lua
deleted file mode 100644
index 448d208b20f..00000000000
--- a/data-otservbr-global/scripts/movements/others/closing_door.lua
+++ /dev/null
@@ -1,125 +0,0 @@
--- Level and quests closing door (onStepIn).
--- This prevents a player who has not yet done the quest, from crossing the player who has already done so, skipping the entire quest and going straight to the final reward.
-local closingDoor = MoveEvent()
-
-local doorIds = {}
-for index, value in ipairs(QuestDoorTable) do
- if not table.contains(doorIds, value.openDoor) then
- table.insert(doorIds, value.openDoor)
- end
-end
-for index, value in ipairs(LevelDoorTable) do
- if not table.contains(doorIds, value.openDoor) then
- table.insert(doorIds, value.openDoor)
- end
-end
-local skipActionIds = {
- 12107,
-}
-
-function closingDoor.onStepIn(creature, item, position, fromPosition)
- local player = creature:getPlayer()
- if not player then
- return
- end
-
- for index, value in ipairs(QuestDoorTable) do
- if value.openDoor == item.itemid then
- if player:getStorageValue(item.actionid) ~= -1 or table.contains(skipActionIds, item.actionid) then
- return true
- else
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The door seems to be sealed against unwanted intruders.")
- player:teleportTo(fromPosition, true)
- return false
- end
- end
- end
- for index, value in ipairs(LevelDoorTable) do
- if value.openDoor == item.itemid then
- if item.actionid > 0 and player:getLevel() >= item.actionid - 1000 then
- return true
- else
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.")
- player:teleportTo(fromPosition, true)
- return false
- end
- end
- end
- return true
-end
-
-for index, value in ipairs(doorIds) do
- closingDoor:id(value)
-end
-
-closingDoor:register()
-
--- Level and quests closing door (onStepOut).
--- This closes the door after the player passes through it.
-local closingDoor = MoveEvent()
-
-local doorIds = {}
-for index, value in ipairs(QuestDoorTable) do
- if not table.contains(doorIds, value.openDoor) then
- table.insert(doorIds, value.openDoor)
- end
-end
-for index, value in ipairs(LevelDoorTable) do
- if not table.contains(doorIds, value.openDoor) then
- table.insert(doorIds, value.openDoor)
- end
-end
-
-function closingDoor.onStepOut(creature, item, position, fromPosition)
- local player = creature:getPlayer()
- if not player then
- return
- end
-
- local tile = Tile(position)
- if tile:getCreatureCount() > 0 then
- return true
- end
-
- local newPosition = { x = position.x + 1, y = position.y, z = position.z }
- local query = Tile(newPosition):queryAdd(creature)
- if query ~= RETURNVALUE_NOERROR or query == RETURNVALUE_NOTENOUGHROOM then
- newPosition.x = newPosition.x - 1
- newPosition.y = newPosition.y + 1
- query = Tile(newPosition):queryAdd(creature)
- end
-
- if query == RETURNVALUE_NOERROR or query ~= RETURNVALUE_NOTENOUGHROOM then
- position:relocateTo(newPosition)
- end
-
- local i, tileItem, tileCount = 1, true, tile:getThingCount()
- while tileItem and i < tileCount do
- tileItem = tile:getThing(i)
- if tileItem and tileItem:getUniqueId() ~= item.uid and tileItem:getType():isMovable() then
- tileItem:remove()
- else
- i = i + 1
- end
- end
-
- for index, value in ipairs(LevelDoorTable) do
- if value.openDoor == item.itemid then
- item:transform(value.closedDoor)
- item:getPosition():sendSingleSoundEffect(SOUND_EFFECT_TYPE_ACTION_CLOSE_DOOR)
- end
- end
- for index, value in ipairs(QuestDoorTable) do
- if value.openDoor == item.itemid then
- item:transform(value.closedDoor)
- item:getPosition():sendSingleSoundEffect(SOUND_EFFECT_TYPE_ACTION_CLOSE_DOOR)
- end
- end
- return true
-end
-
-for index, value in ipairs(doorIds) do
- closingDoor:id(value)
-end
-
-closingDoor:register()
diff --git a/data-otservbr-global/scripts/movements/others/drowning.lua b/data-otservbr-global/scripts/movements/others/drowning.lua
deleted file mode 100644
index 6f4fbd7efa6..00000000000
--- a/data-otservbr-global/scripts/movements/others/drowning.lua
+++ /dev/null
@@ -1,36 +0,0 @@
-local condition = Condition(CONDITION_DROWN)
-condition:setParameter(CONDITION_PARAM_PERIODICDAMAGE, -20)
-condition:setParameter(CONDITION_PARAM_TICKS, -1)
-condition:setParameter(CONDITION_PARAM_TICKINTERVAL, 2000)
-
-local drowning = MoveEvent()
-drowning:type("stepin")
-
-function drowning.onStepIn(player, item, position, fromPosition)
- if player:isPlayer() then
- local headItem = player:getSlotItem(CONST_SLOT_HEAD)
- if headItem and table.contains({ 5460, 11585, 13995 }, headItem.itemid) then
- return true
- elseif math.random(1, 10) == 1 then
- position:sendMagicEffect(CONST_ME_BUBBLES)
- end
- player:addCondition(condition)
- end
- return true
-end
-
-drowning:id(5404, 5405, 5406, 5407, 5408, 5409, 5743, 5764, 8755, 8756, 8757, 9291)
-drowning:register()
-
-drowning = MoveEvent()
-drowning:type("stepout")
-
-function drowning.onStepOut(creature, item, position, fromPosition)
- if creature:isPlayer() then
- creature:removeCondition(CONDITION_DROWN)
- end
- return true
-end
-
-drowning:id(5404, 5405, 5406, 5407, 5408, 5409, 5743, 5764, 8755, 8756, 8757, 9291)
-drowning:register()
diff --git a/data-otservbr-global/scripts/movements/others/trap.lua b/data-otservbr-global/scripts/movements/others/trap.lua
index 155209b7245..09fa89bfc2d 100644
--- a/data-otservbr-global/scripts/movements/others/trap.lua
+++ b/data-otservbr-global/scripts/movements/others/trap.lua
@@ -14,11 +14,16 @@ function trap.onStepIn(creature, item, position, fromPosition)
return true
end
- if Tile(position):hasFlag(TILESTATE_PROTECTIONZONE) then
+ local tile = Tile(position)
+ if not tile then
+ return true
+ end
+
+ if tile:hasFlag(TILESTATE_PROTECTIONZONE) then
return true
end
- if Tile(position):getItemCountById(3482) > 1 then
+ if tile:getItemCountById(3482) > 1 then
return true
end
@@ -30,7 +35,7 @@ function trap.onStepIn(creature, item, position, fromPosition)
item:transform(trap.transformTo)
end
- if item.itemid == 12368 and getCreatureName(creature.uid) == "Starving Wolf" then
+ if item.itemid == 12368 and creature:getName() == "Starving Wolf" then
position:sendMagicEffect(CONST_ME_STUN)
creature:remove()
Game.createItem(12369, 1, position)
diff --git a/data-otservbr-global/scripts/spells/monster/eruption_of_destruction_explosion.lua b/data-otservbr-global/scripts/spells/monster/eruption_of_destruction_explosion.lua
index 0f8a01f2102..fbbe4922f14 100644
--- a/data-otservbr-global/scripts/spells/monster/eruption_of_destruction_explosion.lua
+++ b/data-otservbr-global/scripts/spells/monster/eruption_of_destruction_explosion.lua
@@ -44,16 +44,17 @@ function onTargetTile(creature, pos)
end
end
if #creatureTable ~= nil and #creatureTable > 0 then
+ local min = 4000
+ local max = 6000
for r = 1, #creatureTable do
if creatureTable[r] ~= creature then
- local min = 4000
- local max = 6000
- local player = Player(creatureTable[r])
-
- if isPlayer(creatureTable[r]) == true and table.contains(vocation, player:getVocation():getBaseId()) then
- doTargetCombatHealth(creature, creatureTable[r], COMBAT_FIREDAMAGE, -min, -max, CONST_ME_NONE)
- elseif isMonster(creatureTable[r]) == true then
- doTargetCombatHealth(creature, creatureTable[r], COMBAT_FIREDAMAGE, -min, -max, CONST_ME_NONE)
+ local creatureInTable = Creature(creatureTable[r])
+ if creatureInTable then
+ if creatureInTable:isPlayer() == true and table.contains(vocation, creatureInTable:getVocation():getBaseId()) then
+ doTargetCombatHealth(creature, creatureTable[r], COMBAT_FIREDAMAGE, -min, -max, CONST_ME_NONE)
+ elseif creatureInTable:isMonster() == true then
+ doTargetCombatHealth(creature, creatureTable[r], COMBAT_FIREDAMAGE, -min, -max, CONST_ME_NONE)
+ end
end
end
end
diff --git a/data-otservbr-global/scripts/spells/monster/gaz'haragoth_death.lua b/data-otservbr-global/scripts/spells/monster/gaz'haragoth_death.lua
index c00b15b6038..ea42a9645fd 100644
--- a/data-otservbr-global/scripts/spells/monster/gaz'haragoth_death.lua
+++ b/data-otservbr-global/scripts/spells/monster/gaz'haragoth_death.lua
@@ -44,16 +44,17 @@ function onTargetTile(creature, pos)
end
end
if #creatureTable ~= nil and #creatureTable > 0 then
+ local min = 30000
+ local max = 30000
for r = 1, #creatureTable do
if creatureTable[r] ~= creature then
- local min = 30000
- local max = 30000
- local player = Player(creatureTable[r])
-
- if isPlayer(creatureTable[r]) == true and table.contains(vocation, player:getVocation():getBaseId()) then
- doTargetCombatHealth(creature, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE)
- elseif isMonster(creatureTable[r]) == true then
- doTargetCombatHealth(creature, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE)
+ local creatureInTable = Creature(creatureTable[r])
+ if creatureInTable then
+ if creatureInTable:isPlayer() and table.contains(vocation, creatureInTable:getVocation():getBaseId()) then
+ doTargetCombatHealth(creature, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE)
+ elseif creatureInTable:isMonster() then
+ doTargetCombatHealth(creature, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE)
+ end
end
end
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/global.lua b/data/global.lua
index d545ced7dd7..9ea4fd128a9 100644
--- a/data/global.lua
+++ b/data/global.lua
@@ -77,6 +77,7 @@ SCARLETT_MAY_DIE = 0
ropeSpots = { 386, 421, 386, 7762, 12202, 12936, 14238, 17238, 23363, 21965, 21966, 21967, 21968 }
specialRopeSpots = { 12935 }
+swimmingTiles = { 629, 630, 631, 632, 633, 634, 4809, 4810, 4811, 4812, 4813, 4814 }
-- Global tables for systems
if not _G.GlobalBosses then
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/data/libs/compat/compat.lua b/data/libs/compat/compat.lua
index ca2c88efe1e..061d1dbe47e 100644
--- a/data/libs/compat/compat.lua
+++ b/data/libs/compat/compat.lua
@@ -7,12 +7,6 @@ result.getDataLong = result.getNumber
result.getDataString = result.getString
result.getDataStream = result.getStream
-STACKPOS_GROUND = 0
-STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE = 1
-STACKPOS_SECOND_ITEM_ABOVE_GROUNDTILE = 2
-STACKPOS_THIRD_ITEM_ABOVE_GROUNDTILE = 3
-STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4
-STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5
STACKPOS_TOP_CREATURE = 253
STACKPOS_TOP_FIELD = 254
STACKPOS_TOP_MOVABLE_ITEM_OR_CREATURE = 255
@@ -21,9 +15,6 @@ THING_TYPE_PLAYER = CREATURETYPE_PLAYER + 1
THING_TYPE_MONSTER = CREATURETYPE_MONSTER + 1
THING_TYPE_NPC = CREATURETYPE_NPC + 1
-COMBAT_POISONDAMAGE = COMBAT_EARTHDAMAGE
-CONDITION_EXHAUST = CONDITION_EXHAUST_WEAPON
-
function pushThing(thing)
local t = { uid = 0, itemid = 0, type = 0, actionid = 0 }
if thing then
@@ -62,7 +53,7 @@ Combat.setCondition = function(...)
end
setCombatCondition = function(...)
- logger.warn("[setCombatCondition] - Function was renamed to addCombatCondition and will be removed in the future")
+ logger.warn("[setCombatCondition] - Function was renamed to Combat.addCondition and will be removed in the future")
Combat.addCondition(...)
end
@@ -73,73 +64,121 @@ addDamageCondition = Condition.addDamage
addOutfitCondition = Condition.setOutfit
function doCombat(cid, combat, var)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'doCombat(cid, combat, var)' is outdated. Please use the new format 'combat:execute(cid, var)'. Update needed at: Line {}, Source: {}.", line, source)
return combat:execute(cid, var)
end
function isCreature(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'isCreature(cid)' is outdated. Please use the new format 'Creature(cid)'. Update needed at: Line {}, Source: {}.", line, source)
return Creature(cid) ~= nil
end
function isPlayer(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'isPlayer(cid)' is outdated. Please use the new format 'Player(cid)'. Update needed at: Line {}, Source: {}.", line, source)
return Player(cid) ~= nil
end
function isMonster(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'isMonster(cid)' is outdated. Please use the new format 'Monster(cid)'. Update needed at: Line {}, Source: {}.", line, source)
return Monster(cid) ~= nil
end
function isSummon(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'isSummon(cid)' is outdated. Please use the new format 'c:getMaster()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
return Creature(cid):getMaster() ~= nil
end
function isNpc(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'isNpc(cid)' is outdated. Please use the new format 'Npc(cid)'. Update needed at: Line {}, Source: {}.", line, source)
return Npc(cid) ~= nil
end
function isItem(uid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'isItem(uid)' is outdated. Please use the new format 'Item(uid)'. Update needed at: Line {}, Source: {}.", line, source)
return Item(uid) ~= nil
end
function isContainer(uid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'isContainer(uid)' is outdated. Please use the new format 'Container(uid)'. Update needed at: Line {}, Source: {}.", line, source)
return Container(uid) ~= nil
end
function getCreatureName(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureName(cid)' is outdated. Please use the new format 'c:getName()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:getName() or false
end
function getCreatureHealth(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureHealth(cid)' is outdated. Please use the new format 'c:getHealth()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:getHealth() or false
end
function getCreatureMaxHealth(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureMaxHealth(cid)' is outdated. Please use the new format 'c:getMaxHealth()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:getMaxHealth() or false
end
function getCreaturePosition(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreaturePosition(cid)' is outdated. Please use the new format 'c:getPosition()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:getPosition() or false
end
function getCreatureOutfit(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureOutfit(cid)' is outdated. Please use the new format 'c:getOutfit()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:getOutfit() or false
end
function getCreatureSpeed(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureSpeed(cid)' is outdated. Please use the new format 'c:getSpeed()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:getSpeed() or false
end
function getCreatureBaseSpeed(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureBaseSpeed(cid)' is outdated. Please use the new format 'c:getBaseSpeed()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:getBaseSpeed() or false
end
function getCreatureTarget(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureTarget(cid)' is outdated. Please use the new format 'c:getTarget():getId()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
if c then
local target = c:getTarget()
@@ -149,6 +188,9 @@ function getCreatureTarget(cid)
end
function getCreatureMaster(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'getCreatureMaster(cid)' is outdated. Please use the new format 'c:getMaster():getId()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
if c then
local master = c:getMaster()
@@ -159,7 +201,7 @@ end
function getCreatureSummons(cid)
local c = Creature(cid)
- if c == nil then
+ if not c then
return false
end
@@ -173,16 +215,25 @@ end
getCreaturePos = getCreaturePosition
function doCreatureAddHealth(cid, health)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'doCreatureAddHealth(cid, health)' is outdated. Please use the new format 'c:addHealth(health)', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:addHealth(health) or false
end
function doRemoveCreature(cid)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'doRemoveCreature(cid)' is outdated. Please use the new format 'c:remove()', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:remove() or false
end
function doCreatureSetLookDir(cid, direction)
+ local line = debug.getinfo(2).currentline
+ local source = debug.getinfo(2).source:match("@?(.*)")
+ logger.warn("Deprecation Warning: The function 'doCreatureSetLookDir(cid, direction)' is outdated. Please use the new format 'c:setDirection(direction)', where 'c' refers to a Creature (player or monster). Update needed at: Line {}, Source: {}.", line, source)
local c = Creature(cid)
return c and c:setDirection(direction) or false
end
@@ -560,7 +611,7 @@ function getPlayerGUIDByName(name)
local resultId = db.storeQuery("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name))
if resultId ~= false then
local guid = Result.getNumber(resultId, "id")
- result.free(resultId)
+ Result.free(resultId)
return guid
end
return 0
@@ -575,7 +626,7 @@ function getAccountNumberByPlayerName(name)
local resultId = db.storeQuery("SELECT `account_id` FROM `players` WHERE `name` = " .. db.escapeString(name))
if resultId ~= false then
local accountId = Result.getNumber(resultId, "account_id")
- result.free(resultId)
+ Result.free(resultId)
return accountId
end
return 0
@@ -1010,7 +1061,7 @@ function getGuildId(guildName)
end
local guildId = Result.getNumber(resultId, "id")
- result.free(resultId)
+ Result.free(resultId)
return guildId
end
diff --git a/data/modules/scripts/gamestore/init.lua b/data/modules/scripts/gamestore/init.lua
index e12a96ffa7f..4fa9daea28b 100644
--- a/data/modules/scripts/gamestore/init.lua
+++ b/data/modules/scripts/gamestore/init.lua
@@ -1631,20 +1631,22 @@ function GameStore.processHouseRelatedPurchase(player, offer)
local inbox = player:getStoreInbox()
if inbox then
for _, itemId in ipairs(itemIds) do
- local decoKit = inbox:addItem(ITEM_DECORATION_KIT, 1)
- if decoKit then
- decoKit:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "You bought this item in the Store.\nUnwrap it in your own house to create a <" .. ItemType(itemId):getName() .. ">.")
- decoKit:setCustomAttribute("unWrapId", itemId)
- if isCaskItem(itemId) then
- decoKit:setAttribute(ITEM_ATTRIBUTE_DATE, offer.count)
- end
+ for i = 1, offer.count do
+ local decoKit = inbox:addItem(ITEM_DECORATION_KIT, 1)
+ if decoKit then
+ decoKit:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "You bought this item in the Store.\nUnwrap it in your own house to create a <" .. ItemType(itemId):getName() .. ">.")
+ decoKit:setCustomAttribute("unWrapId", itemId)
+ if isCaskItem(itemId) then
+ decoKit:setAttribute(ITEM_ATTRIBUTE_DATE, offer.count)
+ end
- if offer.movable ~= true then
- decoKit:setAttribute(ITEM_ATTRIBUTE_STORE, systemTime())
+ if offer.movable ~= true then
+ decoKit:setAttribute(ITEM_ATTRIBUTE_STORE, systemTime())
+ end
end
end
+ player:sendUpdateContainer(inbox)
end
- player:sendUpdateContainer(inbox)
end
end
diff --git a/data/scripts/actions/items/banana_chocolate_shake.lua b/data/scripts/actions/items/banana_chocolate_shake.lua
new file mode 100644
index 00000000000..083b4f965da
--- /dev/null
+++ b/data/scripts/actions/items/banana_chocolate_shake.lua
@@ -0,0 +1,18 @@
+local bananaChocolateShake = Action()
+
+function bananaChocolateShake.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You don't really know what this did to you, but suddenly you feel very happy.")
+ player:say("Slurp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_HEARTS)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+bananaChocolateShake:id(9083)
+bananaChocolateShake:register()
diff --git a/data/scripts/actions/items/blessed_steak.lua b/data/scripts/actions/items/blessed_steak.lua
new file mode 100644
index 00000000000..32b2d12162e
--- /dev/null
+++ b/data/scripts/actions/items/blessed_steak.lua
@@ -0,0 +1,19 @@
+local blessedSteak = Action()
+
+function blessedSteak.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addMana(player:getMaxMana())
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your mana has been refilled.")
+ player:say("Chomp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+blessedSteak:id(9086)
+blessedSteak:register()
diff --git a/data/scripts/actions/items/carrot_cake.lua b/data/scripts/actions/items/carrot_cake.lua
new file mode 100644
index 00000000000..28432188685
--- /dev/null
+++ b/data/scripts/actions/items/carrot_cake.lua
@@ -0,0 +1,26 @@
+local distanceCondition = Condition(CONDITION_ATTRIBUTES)
+distanceCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreDistance)
+distanceCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+distanceCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+distanceCondition:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 10)
+distanceCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local carrotCake = Action()
+
+function carrotCake.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addCondition(distanceCondition)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel more focused.")
+ player:say("Mmmm.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+carrotCake:id(9087)
+carrotCake:register()
diff --git a/data/scripts/actions/items/cask_and_kegs.lua b/data/scripts/actions/items/cask_and_kegs.lua
new file mode 100644
index 00000000000..1180257ed18
--- /dev/null
+++ b/data/scripts/actions/items/cask_and_kegs.lua
@@ -0,0 +1,61 @@
+local targetIdList = {
+ [25879] = { itemId = 285, transform = 266 },
+ [25880] = { itemId = 283, transform = 236 },
+ [25881] = { itemId = 284, transform = 239 },
+ [25882] = { itemId = 284, transform = 7643 },
+ [25883] = { itemId = 284, transform = 23375 },
+ [25889] = { itemId = 285, transform = 268 },
+ [25890] = { itemId = 283, transform = 237 },
+ [25891] = { itemId = 284, transform = 238 },
+ [25892] = { itemId = 284, transform = 23373 },
+ [25899] = { itemId = 284, transform = 7642 },
+ [25900] = { itemId = 284, transform = 23374 },
+ [25903] = { itemId = 285, transform = 266 },
+ [25904] = { itemId = 283, transform = 236 },
+ [25905] = { itemId = 284, transform = 239 },
+ [25906] = { itemId = 284, transform = 7643 },
+ [25907] = { itemId = 284, transform = 23375 },
+ [25908] = { itemId = 285, transform = 268 },
+ [25909] = { itemId = 283, transform = 237 },
+ [25910] = { itemId = 284, transform = 238 },
+ [25911] = { itemId = 284, transform = 23373 },
+ [25913] = { itemId = 284, transform = 7642 },
+ [25914] = { itemId = 284, transform = 23374 },
+}
+
+local flasks = Action()
+
+function flasks.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if not target or not target:getItem() then
+ return false
+ end
+
+ local charges = target:getCharges()
+ local itemCount = item:getCount()
+ if itemCount > charges then
+ itemCount = charges
+ end
+
+ local targetId = targetIdList[target:getId()]
+ if targetId and item:getId() == targetId.itemId and charges > 0 then
+ local potMath = item:getCount() - itemCount
+ local parent = item:getParent()
+ if not (parent:isContainer() and parent:addItem(item:getId(), potMath)) then
+ player:addItem(item:getId(), potMath, true)
+ end
+
+ item:transform(targetId.transform, itemCount)
+ charges = charges - itemCount
+ target:transform(target:getId(), charges)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Remaining %s charges.", charges))
+
+ if charges == 0 then
+ target:remove()
+ end
+ return true
+ end
+ return false
+end
+
+flasks:id(283, 284, 285)
+flasks:register()
diff --git a/data/scripts/actions/items/coconut_shrimp_bake.lua b/data/scripts/actions/items/coconut_shrimp_bake.lua
new file mode 100644
index 00000000000..bc7ba97ddd3
--- /dev/null
+++ b/data/scripts/actions/items/coconut_shrimp_bake.lua
@@ -0,0 +1,31 @@
+local coconutShrimpBake = Action()
+
+function coconutShrimpBake.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ local headItem = player:getSlotItem(CONST_SLOT_HEAD)
+ if not headItem then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You should only eat this dish when wearing a helmet of the deep or a depth galea and walking underwater.")
+ return true
+ end
+
+ local acceptableHelmets = { 5460, 11585, 13995 }
+ if not table.contains(acceptableHelmets, headItem:getId()) then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You should only eat this dish when wearing a helmet of the deep or a depth galea and walking underwater.")
+ return true
+ end
+
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your underwater walking speed while wearing a " .. headItem:getName() .. " has increased for twenty-four hours.")
+ player:say("Yum.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ player:setExhaustion("coconut-shrimp-bake", 24 * 60 * 60)
+ item:remove(1)
+ return true
+end
+
+coconutShrimpBake:id(11584)
+coconutShrimpBake:register()
diff --git a/data/scripts/actions/items/demonic_candy_ball.lua b/data/scripts/actions/items/demonic_candy_ball.lua
new file mode 100644
index 00000000000..c2e44c1efb1
--- /dev/null
+++ b/data/scripts/actions/items/demonic_candy_ball.lua
@@ -0,0 +1,72 @@
+local defenseCondition = Condition(CONDITION_ATTRIBUTES)
+defenseCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreDefense)
+defenseCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+defenseCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+defenseCondition:setParameter(CONDITION_PARAM_SKILL_SHIELD, 10)
+defenseCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local magicLevelCondition = Condition(CONDITION_ATTRIBUTES)
+magicLevelCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreMagicLevel)
+magicLevelCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+magicLevelCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+magicLevelCondition:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 5)
+magicLevelCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local meleeCondition = Condition(CONDITION_ATTRIBUTES)
+meleeCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreMelee)
+meleeCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+meleeCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+meleeCondition:setParameter(CONDITION_PARAM_SKILL_MELEE, 10)
+meleeCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local distanceCondition = Condition(CONDITION_ATTRIBUTES)
+distanceCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreDistance)
+distanceCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+distanceCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+distanceCondition:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 10)
+distanceCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local speedCondition = Condition(CONDITION_HASTE)
+speedCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+speedCondition:setParameter(CONDITION_PARAM_SPEED, 729)
+
+local lightCondition = Condition(CONDITION_LIGHT)
+lightCondition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 15)
+lightCondition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 154)
+lightCondition:setTicks(60 * 60 * 1000)
+
+local demonicCandyBall = Action()
+
+function demonicCandyBall.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ local availableConditions = { defenseCondition, magicLevelCondition, meleeCondition, distanceCondition, speedCondition }
+ local randomConditionIndex = math.random(1, 4)
+
+ if randomConditionIndex == 1 then
+ player:addCondition(availableConditions[math.random(1, #availableConditions)])
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel stronger, but you have no idea what was increased.")
+ elseif randomConditionIndex == 2 then
+ player:addCondition(lightCondition)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel enlightened.")
+ elseif randomConditionIndex == 3 then
+ player:addCondition(condition_i)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You became invisible.")
+ elseif randomConditionIndex == 4 then
+ player:addHealth(player:getMaxHealth())
+ player:addMana(player:getMaxMana())
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your vitality has been restored.")
+ end
+
+ player:say("Smack.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+demonicCandyBall:id(11587)
+demonicCandyBall:register()
diff --git a/data/scripts/actions/items/filled_jalapeno_peppers.lua b/data/scripts/actions/items/filled_jalapeno_peppers.lua
new file mode 100644
index 00000000000..57df8d6b191
--- /dev/null
+++ b/data/scripts/actions/items/filled_jalapeno_peppers.lua
@@ -0,0 +1,23 @@
+local speedCondition = Condition(CONDITION_HASTE)
+speedCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+speedCondition:setParameter(CONDITION_PARAM_SPEED, 729)
+
+local filledJalapenoPeppers = Action()
+
+function filledJalapenoPeppers.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addCondition(speedCondition)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your speed has been increased.")
+ player:say("Munch.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+filledJalapenoPeppers:id(9085)
+filledJalapenoPeppers:register()
diff --git a/data/scripts/actions/items/hireling_foods.lua b/data/scripts/actions/items/hireling_foods.lua
index 6b86c8d242a..30783fde9c8 100644
--- a/data/scripts/actions/items/hireling_foods.lua
+++ b/data/scripts/actions/items/hireling_foods.lua
@@ -42,7 +42,7 @@ function hirelingFoods.onUse(player, item, fromPosition, target, toPosition, isH
return true
end
- if player:hasExhaustion("hireling-foods-cooldown") then
+ if player:hasExhaustion("special-foods-cooldown") then
player:sendCancelMessage("You're still too full to eat any gourmet dishes for a while.")
return true
end
@@ -56,7 +56,7 @@ function hirelingFoods.onUse(player, item, fromPosition, target, toPosition, isH
end
player:say(dish.message, TALKTYPE_MONSTER_SAY)
- player:setExhaustion("hireling-foods-cooldown", 10 * 60)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
item:remove(1)
return true
diff --git a/data/scripts/actions/items/hydra_tongue_salad.lua b/data/scripts/actions/items/hydra_tongue_salad.lua
new file mode 100644
index 00000000000..4c8cad3258a
--- /dev/null
+++ b/data/scripts/actions/items/hydra_tongue_salad.lua
@@ -0,0 +1,35 @@
+local conditionsToRemove = {
+ CONDITION_POISON,
+ CONDITION_FIRE,
+ CONDITION_ENERGY,
+ CONDITION_PARALYZE,
+ CONDITION_DRUNK,
+ CONDITION_DROWN,
+ CONDITION_FREEZING,
+ CONDITION_DAZZLED,
+ CONDITION_CURSED,
+ CONDITION_BLEEDING,
+}
+
+local hydraTongueSalad = Action()
+
+function hydraTongueSalad.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ for _, conditionType in ipairs(conditionsToRemove) do
+ player:removeCondition(conditionType)
+ end
+
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel better body condition.")
+ player:say("Chomp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+hydraTongueSalad:id(9080)
+hydraTongueSalad:register()
diff --git a/data/scripts/actions/items/northern_fishburger.lua b/data/scripts/actions/items/northern_fishburger.lua
new file mode 100644
index 00000000000..3648ba102b3
--- /dev/null
+++ b/data/scripts/actions/items/northern_fishburger.lua
@@ -0,0 +1,26 @@
+local fishingCondition = Condition(CONDITION_ATTRIBUTES)
+fishingCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreFishing)
+fishingCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+fishingCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+fishingCondition:setParameter(CONDITION_PARAM_SKILL_FISHING, 50)
+fishingCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local northernFishburger = Action()
+
+function northernFishburger.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addCondition(fishingCondition)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You felt fishing inspiration.")
+ player:say("Smack.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+northernFishburger:id(9088)
+northernFishburger:register()
diff --git a/data/scripts/actions/items/pot_of_blackjack.lua b/data/scripts/actions/items/pot_of_blackjack.lua
new file mode 100644
index 00000000000..fd4cc52b920
--- /dev/null
+++ b/data/scripts/actions/items/pot_of_blackjack.lua
@@ -0,0 +1,35 @@
+local potOfBlackjack = Action()
+
+function potOfBlackjack.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ local remainingGulps = player:kv():get("pot-of-blackjack") or math.random(2, 4)
+
+ if remainingGulps > 0 then
+ remainingGulps = remainingGulps - 1
+ player:kv():set("pot-of-blackjack", remainingGulps)
+
+ local message
+ if remainingGulps > 0 then
+ message = "You take a gulp from the large bowl, but there's still some blackjack in it."
+ else
+ message = "You take the last gulp from the large bowl. No leftovers!"
+ end
+
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, message)
+ end
+
+ player:addHealth(5000)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You take a gulp from the large bowl.")
+ player:say("Gulp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+potOfBlackjack:id(11586)
+potOfBlackjack:register()
diff --git a/data/scripts/actions/items/potions.lua b/data/scripts/actions/items/potions.lua
index 55bf20e0e18..02e92349363 100644
--- a/data/scripts/actions/items/potions.lua
+++ b/data/scripts/actions/items/potions.lua
@@ -1,19 +1,19 @@
local berserk = Condition(CONDITION_ATTRIBUTES)
berserk:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
-berserk:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreMelee)
+berserk:setParameter(CONDITION_PARAM_SUBID, JeanPierreMelee)
berserk:setParameter(CONDITION_PARAM_SKILL_MELEE, 5)
berserk:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
berserk:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local mastermind = Condition(CONDITION_ATTRIBUTES)
mastermind:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
-mastermind:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreMagic)
+mastermind:setParameter(CONDITION_PARAM_SUBID, JeanPierreMagicLevel)
mastermind:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 3)
mastermind:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local bullseye = Condition(CONDITION_ATTRIBUTES)
bullseye:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
-bullseye:setParameter(CONDITION_PARAM_SUBID, AttrSubId_JeanPierreDistance)
+bullseye:setParameter(CONDITION_PARAM_SUBID, JeanPierreDistance)
bullseye:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 5)
bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
bullseye:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
diff --git a/data/scripts/actions/items/roasted_dragon_wings.lua b/data/scripts/actions/items/roasted_dragon_wings.lua
new file mode 100644
index 00000000000..719c7fa0e20
--- /dev/null
+++ b/data/scripts/actions/items/roasted_dragon_wings.lua
@@ -0,0 +1,26 @@
+local defenseCondition = Condition(CONDITION_ATTRIBUTES)
+defenseCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreDefense)
+defenseCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+defenseCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+defenseCondition:setParameter(CONDITION_PARAM_SKILL_SHIELD, 10)
+defenseCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local roastedDragonWings = Action()
+
+function roastedDragonWings.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addCondition(defenseCondition)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel less vulnerable.")
+ player:say("Chomp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+roastedDragonWings:id(9081)
+roastedDragonWings:register()
diff --git a/data/scripts/actions/items/rotworm_stew.lua b/data/scripts/actions/items/rotworm_stew.lua
new file mode 100644
index 00000000000..7b965da5857
--- /dev/null
+++ b/data/scripts/actions/items/rotworm_stew.lua
@@ -0,0 +1,19 @@
+local rotwormStew = Action()
+
+function rotwormStew.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addHealth(player:getMaxHealth())
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your health has been refilled.")
+ player:say("Gulp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+rotwormStew:id(9079)
+rotwormStew:register()
diff --git a/data/scripts/actions/items/scroll_of_ascension.lua b/data/scripts/actions/items/scroll_of_ascension.lua
new file mode 100644
index 00000000000..b763460c09b
--- /dev/null
+++ b/data/scripts/actions/items/scroll_of_ascension.lua
@@ -0,0 +1,27 @@
+local scrollOfAscension = Action()
+
+function scrollOfAscension.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("scroll-of-ascension") then
+ return true
+ end
+
+ local playerTile = Tile(player:getPosition())
+ if playerTile and playerTile:getGround() and table.contains(swimmingTiles, playerTile:getGround():getId()) then
+ player:say("The scroll could get wet, step out of the water first.", TALKTYPE_MONSTER_SAY)
+ return true
+ end
+
+ if math.random(10) > 1 then
+ player:setMonsterOutfit("Demon", 30 * 10 * 1000)
+ else
+ player:setMonsterOutfit("Ferumbras", 30 * 10 * 1000)
+ end
+
+ player:setExhaustion("scroll-of-ascension", 60 * 60)
+ player:say("Magical sparks whirl around the scroll as you read it and then your appearance is changing.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ return true
+end
+
+scrollOfAscension:id(22771)
+scrollOfAscension:register()
diff --git a/data/scripts/actions/items/sweet_mangonaise_elixir.lua b/data/scripts/actions/items/sweet_mangonaise_elixir.lua
new file mode 100644
index 00000000000..fc5d1f33272
--- /dev/null
+++ b/data/scripts/actions/items/sweet_mangonaise_elixir.lua
@@ -0,0 +1,53 @@
+local ringMultiplicationTable = {
+ [3048] = 3048,
+ [3049] = 3086,
+ [3050] = 3087,
+ [3051] = 3088,
+ [3052] = 3089,
+ [3053] = 3090,
+ [3091] = 3094,
+ [3092] = 3095,
+ [3093] = 3096,
+ [3097] = 3099,
+ [3098] = 3100,
+ [6299] = 6300,
+ [12669] = 12670,
+ [16114] = 16264,
+}
+
+local sweetMangonaiseElixir = Action()
+
+function sweetMangonaiseElixir.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ local playerRing = player:getSlotItem(CONST_SLOT_RING)
+ if not playerRing or not table.contains(ringMultiplicationTable, playerRing:getId()) then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "No ring equipped.")
+ player:getPosition():sendMagicEffect(CONST_ME_POFF)
+ return true
+ end
+
+ local ringId = ringMultiplicationTable[playerRing:getId()]
+ if not ringId then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "This ring cannot be multiplied.")
+ player:getPosition():sendMagicEffect(CONST_ME_POFF)
+ return false
+ end
+
+ for i = 1, 10 do
+ player:addItem(ringId)
+ end
+
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your ring has been multiplied.")
+ player:say("Slurp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+sweetMangonaiseElixir:id(11588)
+sweetMangonaiseElixir:register()
diff --git a/data/scripts/actions/items/tropical_fried_terrorbird.lua b/data/scripts/actions/items/tropical_fried_terrorbird.lua
new file mode 100644
index 00000000000..342ba545a25
--- /dev/null
+++ b/data/scripts/actions/items/tropical_fried_terrorbird.lua
@@ -0,0 +1,26 @@
+local magicLevelCondition = Condition(CONDITION_ATTRIBUTES)
+magicLevelCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreMagicLevel)
+magicLevelCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+magicLevelCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+magicLevelCondition:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 5)
+magicLevelCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local tropicalFriedTerrorbird = Action()
+
+function tropicalFriedTerrorbird.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addCondition(magicLevelCondition)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel smarter.")
+ player:say("Chomp.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+tropicalFriedTerrorbird:id(9082)
+tropicalFriedTerrorbird:register()
diff --git a/data/scripts/actions/items/veggie_casserole.lua b/data/scripts/actions/items/veggie_casserole.lua
new file mode 100644
index 00000000000..d0ef6c99a78
--- /dev/null
+++ b/data/scripts/actions/items/veggie_casserole.lua
@@ -0,0 +1,26 @@
+local meleeCondition = Condition(CONDITION_ATTRIBUTES)
+meleeCondition:setParameter(CONDITION_PARAM_SUBID, JeanPierreMelee)
+meleeCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
+meleeCondition:setParameter(CONDITION_PARAM_TICKS, 60 * 60 * 1000)
+meleeCondition:setParameter(CONDITION_PARAM_SKILL_MELEE, 10)
+meleeCondition:setParameter(CONDITION_PARAM_FORCEUPDATE, true)
+
+local veggieCasserole = Action()
+
+function veggieCasserole.onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if player:hasExhaustion("special-foods-cooldown") then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to wait before using it again.")
+ return true
+ end
+
+ player:addCondition(meleeCondition)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You feel stronger.")
+ player:say("Yum.", TALKTYPE_MONSTER_SAY)
+ player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
+ player:setExhaustion("special-foods-cooldown", 10 * 60)
+ item:remove(1)
+ return true
+end
+
+veggieCasserole:id(9084)
+veggieCasserole:register()
diff --git a/data/scripts/movements/claw_of_the_noxious_spawn.lua b/data/scripts/movements/claw_of_the_noxious_spawn.lua
index 77e0e60877c..8abef020ad9 100644
--- a/data/scripts/movements/claw_of_the_noxious_spawn.lua
+++ b/data/scripts/movements/claw_of_the_noxious_spawn.lua
@@ -3,8 +3,8 @@ local clawOfTheNoxiousSpawn = MoveEvent()
function clawOfTheNoxiousSpawn.onEquip(player, item, slot, isCheck)
if not isCheck then
if not Tile(player:getPosition()):hasFlag(TILESTATE_PROTECTIONZONE) then
- doTargetCombat(0, player, COMBAT_PHYSICALDAMAGE, -150, -200, CONST_ME_DRAWBLOOD)
- player:sendTextMessage(MESSAGE_EVENT_ADVANCE, (math.boolean_random() and "It tightens around your wrist as you take it on." or "Ouch! The serpent claw stabbed you."))
+ doTargetCombatHealth(0, player, COMBAT_PHYSICALDAMAGE, -150, -200, CONST_ME_DRAWBLOOD)
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, (math.random(2) == 1 and "It tightens around your wrist as you take it on." or "Ouch! The serpent claw stabbed you."))
return true
end
end
diff --git a/data-canary/scripts/movements/closing_door.lua b/data/scripts/movements/closing_door.lua
similarity index 99%
rename from data-canary/scripts/movements/closing_door.lua
rename to data/scripts/movements/closing_door.lua
index a8d1f928c15..3a63407267e 100644
--- a/data-canary/scripts/movements/closing_door.lua
+++ b/data/scripts/movements/closing_door.lua
@@ -10,6 +10,7 @@ for index, value in ipairs(QuestDoorTable) do
table.insert(doorIds, value.openDoor)
end
end
+
for index, value in ipairs(LevelDoorTable) do
if not table.contains(doorIds, value.openDoor) then
table.insert(doorIds, value.openDoor)
@@ -33,6 +34,7 @@ function closingDoor.onStepIn(creature, item, position, fromPosition)
end
end
end
+
for index, value in ipairs(LevelDoorTable) do
if value.openDoor == item.itemid then
if item.actionid > 0 and player:getLevel() >= item.actionid - 1000 then
@@ -66,6 +68,7 @@ for index, value in ipairs(QuestDoorTable) do
table.insert(doorIds, value.openDoor)
end
end
+
for index, value in ipairs(LevelDoorTable) do
if not table.contains(doorIds, value.openDoor) then
table.insert(doorIds, value.openDoor)
@@ -79,12 +82,14 @@ function closingDoor.onStepOut(creature, item, position, fromPosition)
end
local tile = Tile(position)
+
if tile:getCreatureCount() > 0 then
return true
end
local newPosition = { x = position.x + 1, y = position.y, z = position.z }
local query = Tile(newPosition):queryAdd(creature)
+
if query ~= RETURNVALUE_NOERROR or query == RETURNVALUE_NOTENOUGHROOM then
newPosition.x = newPosition.x - 1
newPosition.y = newPosition.y + 1
@@ -96,6 +101,7 @@ function closingDoor.onStepOut(creature, item, position, fromPosition)
end
local i, tileItem, tileCount = 1, true, tile:getThingCount()
+
while tileItem and i < tileCount do
tileItem = tile:getThing(i)
if tileItem and tileItem:getUniqueId() ~= item.uid and tileItem:getType():isMovable() then
@@ -110,6 +116,7 @@ function closingDoor.onStepOut(creature, item, position, fromPosition)
item:transform(value.closedDoor)
end
end
+
for index, value in ipairs(QuestDoorTable) do
if value.openDoor == item.itemid then
item:transform(value.closedDoor)
diff --git a/data-canary/scripts/movements/drowning.lua b/data/scripts/movements/drowning.lua
similarity index 50%
rename from data-canary/scripts/movements/drowning.lua
rename to data/scripts/movements/drowning.lua
index 00266d57d1e..a32dcb216cb 100644
--- a/data-canary/scripts/movements/drowning.lua
+++ b/data/scripts/movements/drowning.lua
@@ -3,16 +3,31 @@ condition:setParameter(CONDITION_PARAM_PERIODICDAMAGE, -20)
condition:setParameter(CONDITION_PARAM_TICKS, -1)
condition:setParameter(CONDITION_PARAM_TICKINTERVAL, 2000)
+local conditionHaste = Condition(CONDITION_HASTE)
+conditionHaste:setTicks(-1)
+conditionHaste:setFormula(1.0, 300, 1.0, 300)
+
local drowning = MoveEvent()
drowning:type("stepin")
function drowning.onStepIn(creature, item, position, fromPosition)
- if creature:isPlayer() then
- if math.random(1, 10) == 1 then
- position:sendMagicEffect(CONST_ME_BUBBLES)
+ local player = creature:getPlayer()
+ if not player then
+ return false
+ end
+
+ local headItem = player:getSlotItem(CONST_SLOT_HEAD)
+ if headItem and table.contains({ 5460, 11585, 13995 }, headItem:getId()) then
+ if player:hasExhaustion("coconut-shrimp-bake") then
+ player:addCondition(conditionHaste)
end
- creature:addCondition(condition)
+
+ return true
+ elseif math.random(1, 10) == 1 then
+ position:sendMagicEffect(CONST_ME_BUBBLES)
end
+
+ player:addCondition(condition)
return true
end
@@ -23,9 +38,13 @@ drowning = MoveEvent()
drowning:type("stepout")
function drowning.onStepOut(creature, item, position, fromPosition)
- if creature:isPlayer() then
- creature:removeCondition(CONDITION_DROWN)
+ local player = creature:getPlayer()
+ if not player then
+ return false
end
+
+ player:removeCondition(CONDITION_DROWN)
+ player:removeCondition(CONDITION_HASTE)
return true
end
diff --git a/data-otservbr-global/scripts/movements/others/swimming.lua b/data/scripts/movements/swimming.lua
similarity index 70%
rename from data-otservbr-global/scripts/movements/others/swimming.lua
rename to data/scripts/movements/swimming.lua
index eee6858a1ce..d34d5036510 100644
--- a/data-otservbr-global/scripts/movements/others/swimming.lua
+++ b/data/scripts/movements/swimming.lua
@@ -18,31 +18,35 @@ local conditions = {
local swimming = MoveEvent()
function swimming.onStepIn(creature, item, position, fromPosition)
- if not creature:isPlayer() then
+ local player = creature:getPlayer()
+ if not player then
return false
end
+
for i = 1, #conditions do
- creature:removeCondition(conditions[i])
+ player:removeCondition(conditions[i])
end
- creature:addCondition(condition)
+
+ player:addCondition(condition)
return true
end
swimming:type("stepin")
-swimming:id(629, 630, 631, 632, 633, 634)
+swimming:id(unpack(swimmingTiles))
swimming:register()
swimming = MoveEvent()
function swimming.onStepOut(creature, item, position, fromPosition)
- if not creature:isPlayer() then
+ local player = creature:getPlayer()
+ if not player then
return false
end
- creature:removeCondition(CONDITION_OUTFIT)
+ player:removeCondition(CONDITION_OUTFIT)
return true
end
swimming:type("stepout")
-swimming:id(629, 630, 631, 632, 633, 634)
+swimming:id(unpack(swimmingTiles))
swimming:register()
diff --git a/data/scripts/talkactions/gm/spy.lua b/data/scripts/talkactions/gm/spy.lua
index 4466bc70d6d..7cd5c68ca56 100644
--- a/data/scripts/talkactions/gm/spy.lua
+++ b/data/scripts/talkactions/gm/spy.lua
@@ -1,4 +1,4 @@
-local function getItemsInContainer(cont, sep)
+local function getItemsInContainer(container, sep)
local text = ""
local tsep = ""
local count
@@ -6,9 +6,9 @@ local function getItemsInContainer(cont, sep)
tsep = tsep .. "-"
end
tsep = tsep .. ">"
- for i = 0, getContainerSize(cont.uid) - 1 do
- local item = getContainerItem(cont.uid, i)
- if not isContainer(item.uid) then
+ for slot = 0, container:getSize() - 1 do
+ local item = container:getItem(slot)
+ if not item:isContainer() then
if item.type > 0 then
count = "(" .. item.type .. "x)"
else
@@ -16,7 +16,7 @@ local function getItemsInContainer(cont, sep)
end
text = text .. "\n" .. tsep .. ItemType(item.itemid):getName() .. " " .. count
else
- if getContainerSize(item.uid) > 0 then
+ if item:getSize() > 0 then
text = text .. "\n" .. tsep .. ItemType(item.itemd):getName()
text = text .. getItemsInContainer(item, sep + 2)
else
@@ -42,12 +42,12 @@ function spy.onSay(player, words, param)
if target and target:isPlayer() then
local slotName = { "Helmet", "Amulet", "Backpack", "Armor", "Right Hand", "Left Hand", "Legs", "Boots", "Ring", "Arrow" }
- local text = "Equipments of " .. Creature(target):getName()
+ local text = "Equipments of " .. target:getName()
for i = 1, 10 do
text = text .. "\n\n"
local item = target:getSlotItem(i)
if item and item.itemid > 0 then
- if isContainer(item.uid) then
+ if item:isContainer() then
text = text .. slotName[i] .. ": " .. ItemType(item.itemid):getName() .. getItemsInContainer(item, 1)
else
local count
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/game/game.cpp b/src/game/game.cpp
index ddccb42dbcf..c17f16b1a17 100644
--- a/src/game/game.cpp
+++ b/src/game/game.cpp
@@ -5285,7 +5285,8 @@ void Game::playerSetManagedContainer(uint32_t playerId, ObjectCategory_t categor
}
std::shared_ptr container = thing->getContainer();
- if (!container || (container->getID() == ITEM_GOLD_POUCH && category != OBJECTCATEGORY_GOLD && !g_configManager().getBoolean(TOGGLE_GOLD_POUCH_ALLOW_ANYTHING, __FUNCTION__))) {
+ auto allowConfig = !g_configManager().getBoolean(TOGGLE_GOLD_POUCH_ALLOW_ANYTHING, __FUNCTION__) || !g_configManager().getBoolean(TOGGLE_GOLD_POUCH_QUICKLOOT_ONLY, __FUNCTION__);
+ if (!container || (container->getID() == ITEM_GOLD_POUCH && category != OBJECTCATEGORY_GOLD) && !allowConfig) {
player->sendCancelMessage(RETURNVALUE_NOTPOSSIBLE);
return;
}
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/lua/functions/core/game/global_functions.cpp b/src/lua/functions/core/game/global_functions.cpp
index 4c956dcb6d4..cbb133211f8 100644
--- a/src/lua/functions/core/game/global_functions.cpp
+++ b/src/lua/functions/core/game/global_functions.cpp
@@ -94,24 +94,6 @@ int GlobalFunctions::luaDoPlayerAddItem(lua_State* L) {
return 1;
}
-int GlobalFunctions::luaDoSetCreatureLight(lua_State* L) {
- // doSetCreatureLight(cid, lightLevel, lightColor, time)
- std::shared_ptr creature = getCreature(L, 1);
- if (!creature) {
- reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_FOUND));
- pushBoolean(L, false);
- return 1;
- }
-
- uint16_t level = getNumber(L, 2);
- uint16_t color = getNumber(L, 3);
- uint32_t time = getNumber(L, 4);
- std::shared_ptr condition = Condition::createCondition(CONDITIONID_COMBAT, CONDITION_LIGHT, time, level | (color << 8));
- creature->addCondition(condition);
- pushBoolean(L, true);
- return 1;
-}
-
int GlobalFunctions::luaIsValidUID(lua_State* L) {
// isValidUID(uid)
pushBoolean(L, getScriptEnv()->getThingByUID(getNumber(L, -1)) != nullptr);
diff --git a/src/lua/functions/core/game/global_functions.hpp b/src/lua/functions/core/game/global_functions.hpp
index 1b9f3fbe12f..cef752c6695 100644
--- a/src/lua/functions/core/game/global_functions.hpp
+++ b/src/lua/functions/core/game/global_functions.hpp
@@ -25,7 +25,6 @@ class GlobalFunctions final : LuaScriptInterface {
lua_register(L, "doAreaCombatMana", GlobalFunctions::luaDoAreaCombatMana);
lua_register(L, "doChallengeCreature", GlobalFunctions::luaDoChallengeCreature);
lua_register(L, "doPlayerAddItem", GlobalFunctions::luaDoPlayerAddItem);
- lua_register(L, "doSetCreatureLight", GlobalFunctions::luaDoSetCreatureLight);
lua_register(L, "doTargetCombatCondition", GlobalFunctions::luaDoTargetCombatCondition);
lua_register(L, "doTargetCombatDispel", GlobalFunctions::luaDoTargetCombatDispel);
lua_register(L, "doTargetCombatHealth", GlobalFunctions::luaDoTargetCombatHealth);
@@ -66,7 +65,6 @@ class GlobalFunctions final : LuaScriptInterface {
static int luaDoAreaCombatMana(lua_State* L);
static int luaDoChallengeCreature(lua_State* L);
static int luaDoPlayerAddItem(lua_State* L);
- static int luaDoSetCreatureLight(lua_State* L);
static int luaDoTargetCombatCondition(lua_State* L);
static int luaDoTargetCombatDispel(lua_State* L);
static int luaDoTargetCombatHealth(lua_State* L);
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