diff --git a/config.lua.dist b/config.lua.dist
index 5d69ecd6fef..76508f6d7d7 100644
--- a/config.lua.dist
+++ b/config.lua.dist
@@ -253,6 +253,11 @@ deathLosePercent = -1
-- Houses
-- NOTE: set housePriceEachSQM to -1 to disable the ingame buy house functionality
-- NOTE: set houseBuyLevel to 0 to disable the min level purchase functionality.
+--[[ NOTE: The togglehouseTransferOnRestart setting controls whether house transfers/leave are true/false upon server restart.
+• When set to true, the transfers will only occur during a server restart.
+Setting this to false may pose risks; if a house is abandoned and contains a large number of items on the floor, those items will be transferred to the player's depot instantly.
+• This could potentially freeze the server due to the heavy operation. It's advised to keep this setting enabled (true) to minimize risks.
+]]
-- Periods: daily/weekly/monthly/yearly/never
-- Base: sqm,rent,sqm+rent
housePriceRentMultiplier = 0.0
@@ -263,6 +268,7 @@ houseOwnedByAccount = false
houseBuyLevel = 100
housePurchasedShowPrice = false
onlyInvitedCanMoveHouseItems = true
+togglehouseTransferOnRestart = true
-- Item Usage
timeBetweenActions = 200
diff --git a/data-canary/scripts/actions/other/construction_kits.lua b/data-canary/scripts/actions/other/construction_kits.lua
index 4002fe0316c..642fca7ef69 100644
--- a/data-canary/scripts/actions/other/construction_kits.lua
+++ b/data-canary/scripts/actions/other/construction_kits.lua
@@ -71,7 +71,9 @@ function constructionKits.onUse(player, item, fromPosition, target, toPosition,
elseif not Tile(fromPosition):getHouse() then
player:sendTextMessage(MESSAGE_FAILURE, "You may construct this only inside a house.")
else
- item:transform(kit)
+ item:transform(ITEM_DECORATION_KIT)
+ item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Unwrap it in your own house to create a <" .. ItemType(kit):getName() .. ">.")
+ item:setCustomAttribute("unWrapId", kit)
fromPosition:sendMagicEffect(CONST_ME_POFF)
player:addAchievementProgress("Interior Decorator", 1000)
end
diff --git a/data-otservbr-global/lib/compat/compat.lua b/data-otservbr-global/lib/compat/compat.lua
index 14e28d6e503..1de91b5ab8a 100644
--- a/data-otservbr-global/lib/compat/compat.lua
+++ b/data-otservbr-global/lib/compat/compat.lua
@@ -1231,7 +1231,7 @@ end
function setHouseOwner(id, guid)
local h = House(id)
- return h and h:setOwnerGuid(guid) or false
+ return h and h:setHouseOwner(guid) or false
end
function getHouseRent(id)
diff --git a/data-otservbr-global/migrations/39.lua b/data-otservbr-global/migrations/39.lua
index 86a6d8ffec1..dd287a63f00 100644
--- a/data-otservbr-global/migrations/39.lua
+++ b/data-otservbr-global/migrations/39.lua
@@ -1,3 +1,5 @@
function onUpdateDatabase()
- return false -- true = There are others migrations file | false = this is the last migration file
+ logger.info("Updating database to version 39 (house transfer ownership on startup)")
+ db.query("ALTER TABLE `houses` ADD `new_owner` int(11) NOT NULL DEFAULT '-1';")
+ return true
end
diff --git a/data-otservbr-global/migrations/40.lua b/data-otservbr-global/migrations/40.lua
new file mode 100644
index 00000000000..86a6d8ffec1
--- /dev/null
+++ b/data-otservbr-global/migrations/40.lua
@@ -0,0 +1,3 @@
+function onUpdateDatabase()
+ return false -- true = There are others migrations file | false = this is the last migration file
+end
diff --git a/data-otservbr-global/npc/allen.lua b/data-otservbr-global/npc/allen.lua
index 614e95b3132..a0e4bebe246 100644
--- a/data-otservbr-global/npc/allen.lua
+++ b/data-otservbr-global/npc/allen.lua
@@ -59,25 +59,25 @@ npcConfig.shop = {
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
}
diff --git a/data-otservbr-global/npc/asphota.lua b/data-otservbr-global/npc/asphota.lua
index 550cb36386b..29e6d9e5d3d 100644
--- a/data-otservbr-global/npc/asphota.lua
+++ b/data-otservbr-global/npc/asphota.lua
@@ -69,7 +69,7 @@ npcConfig.shop = {
{ itemName = "scroll", clientId = 2815, buy = 5 },
{ itemName = "scythe", clientId = 3453, buy = 50, sell = 10 },
{ itemName = "shovel", clientId = 3457, buy = 50, sell = 8 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "torch", clientId = 2920, buy = 2 },
{ itemName = "watch", clientId = 2906, buy = 20, sell = 6 },
{ itemName = "wooden hammer", clientId = 3459, sell = 15 },
diff --git a/data-otservbr-global/npc/borkas.lua b/data-otservbr-global/npc/borkas.lua
index 167506f484f..3a859f42dd3 100644
--- a/data-otservbr-global/npc/borkas.lua
+++ b/data-otservbr-global/npc/borkas.lua
@@ -49,22 +49,22 @@ end
npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "chest", clientId = 2472, buy = 10 },
{ itemName = "crate", clientId = 2471, buy = 10 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
}
-- On buy npc shop message
npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost)
diff --git a/data-otservbr-global/npc/cael.lua b/data-otservbr-global/npc/cael.lua
index f6dcbfe81fe..d713653b014 100644
--- a/data-otservbr-global/npc/cael.lua
+++ b/data-otservbr-global/npc/cael.lua
@@ -31,8 +31,8 @@ local tomes = Storage.Quest.U8_54.TheNewFrontier.TomeofKnowledge
npcConfig.shop = {
{ itemName = "didgeridoo", clientId = 2965, buy = 5000, storageKey = tomes, storageValue = 6 },
{ itemName = "war drum", clientId = 2966, buy = 1000, storageKey = tomes, storageValue = 6 },
- { itemName = "Dragon Statue Kit", clientId = 10216, buy = 2500, storageKey = tomes, storageValue = 11 },
- { itemName = "Dragon Throne Kit", clientId = 10288, buy = 5000, storageKey = tomes, storageValue = 12 },
+ { itemName = "Dragon Statue Kit", clientId = 10212, buy = 2500, storageKey = tomes, storageValue = 11 },
+ { itemName = "Dragon Throne Kit", clientId = 10286, buy = 5000, storageKey = tomes, storageValue = 12 },
}
-- On buy npc shop message
npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost)
@@ -317,7 +317,7 @@ local function creatureSayCallback(npc, creature, type, message)
end
elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 65 then
if player:removeItem(10289, 1) then
- player:addItem(10216, 1)
+ player:addItem(10212, 1)
npcHandler:say("Let's put this little lantern here.. there you go. I wrap it up for you, just unwrap it in your house again!", npc, creature)
npcHandler:setTopic(playerId, 0)
else
@@ -331,7 +331,7 @@ local function creatureSayCallback(npc, creature, type, message)
end
elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 66 then
if player:removeItem(5911, 1) then
- player:addItem(10288, 1)
+ player:addItem(10286, 1)
npcHandler:say("Let's put this cloth over the seat.. there you go. I wrap it up for you, just unwrap it in your house again!", npc, creature)
npcHandler:setTopic(playerId, 0)
else
diff --git a/data-otservbr-global/npc/dorbin.lua b/data-otservbr-global/npc/dorbin.lua
index 5e596eba07c..c325f169d05 100644
--- a/data-otservbr-global/npc/dorbin.lua
+++ b/data-otservbr-global/npc/dorbin.lua
@@ -54,68 +54,68 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
- { itemName = "crystal table kit", clientId = 9061, buy = 150 },
+ { itemName = "crystal table kit", clientId = 9062, buy = 150 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -124,28 +124,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/eddy.lua b/data-otservbr-global/npc/eddy.lua
index 2502f56ae02..fc785d409dc 100644
--- a/data-otservbr-global/npc/eddy.lua
+++ b/data-otservbr-global/npc/eddy.lua
@@ -65,67 +65,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -134,25 +134,25 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/edvard.lua b/data-otservbr-global/npc/edvard.lua
index 7fc29d3dbf5..6f3684bfe1b 100644
--- a/data-otservbr-global/npc/edvard.lua
+++ b/data-otservbr-global/npc/edvard.lua
@@ -64,67 +64,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2797, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2979, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -133,28 +133,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/emael.lua b/data-otservbr-global/npc/emael.lua
index a7de2721fb2..891f7262b1d 100644
--- a/data-otservbr-global/npc/emael.lua
+++ b/data-otservbr-global/npc/emael.lua
@@ -69,7 +69,7 @@ local function creatureSayCallback(npc, creature, type, message)
npcHandler:say("Ah, I see you killed a lot of dangerous creatures. Here's your podium of vigour!", npc, creature)
local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
if inbox then
- local decoKit = inbox:addItem(23398, 1)
+ local decoKit = inbox:addItem(ITEM_DECORATION_KIT, 1)
if decoKit then
decoKit:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Unwrap it in your own house to create a <" .. ItemType(38707):getName() .. ">.")
decoKit:setCustomAttribute("unWrapId", 38707)
diff --git a/data-otservbr-global/npc/emperor_kruzak.lua b/data-otservbr-global/npc/emperor_kruzak.lua
index 53ce265ffab..4f1a4803bb3 100644
--- a/data-otservbr-global/npc/emperor_kruzak.lua
+++ b/data-otservbr-global/npc/emperor_kruzak.lua
@@ -82,7 +82,7 @@ local function creatureSayCallback(npc, creature, type, message)
if player:getMoney() + player:getBankBalance() >= 500000000 then
local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
if inbox then
- local decoKit = inbox:addItem(23398, 1)
+ local decoKit = inbox:addItem(ITEM_DECORATION_KIT, 1)
local decoItemName = ItemType(31510):getName()
decoKit:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "You bought this item in the Store.\nUnwrap it in your own house to create a " .. decoItemName .. ".")
decoKit:setActionId(36345)
diff --git a/data-otservbr-global/npc/esrik.lua b/data-otservbr-global/npc/esrik.lua
index b585a505aa8..068a7f43080 100644
--- a/data-otservbr-global/npc/esrik.lua
+++ b/data-otservbr-global/npc/esrik.lua
@@ -127,7 +127,7 @@ npcConfig.shop = {
{ itemName = "lasting exercise club", clientId = 35287, buy = 7560000, count = 14400 },
{ itemName = "lasting exercise sword", clientId = 35285, buy = 7560000, count = 14400 },
-- 3 tomes
- { itemName = "lizard weapon rack kit", clientId = 10209, buy = 500, storageKey = tomes, storageValue = 3 },
+ { itemName = "lizard weapon rack kit", clientId = 10210, buy = 500, storageKey = tomes, storageValue = 3 },
-- 9 tomes
{ itemName = "broken halberd", clientId = 10418, sell = 100, storageKey = tomes, storageValue = 9 },
{ itemName = "spiked iron ball", clientId = 10408, sell = 100, storageKey = tomes, storageValue = 9 },
diff --git a/data-otservbr-global/npc/fayla.lua b/data-otservbr-global/npc/fayla.lua
index a792b3fb76e..d172d95b8c3 100644
--- a/data-otservbr-global/npc/fayla.lua
+++ b/data-otservbr-global/npc/fayla.lua
@@ -54,10 +54,10 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "drum", clientId = 14253, buy = 140 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "lute", clientId = 2950, buy = 195 },
{ itemName = "lyre", clientId = 2949, buy = 120 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "simple fanfare", clientId = 2954, buy = 150 },
}
-- On buy npc shop message
diff --git a/data-otservbr-global/npc/feizuhl.lua b/data-otservbr-global/npc/feizuhl.lua
index 983c03a1dd8..29a08d038bb 100644
--- a/data-otservbr-global/npc/feizuhl.lua
+++ b/data-otservbr-global/npc/feizuhl.lua
@@ -62,67 +62,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -131,28 +131,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/florentine.lua b/data-otservbr-global/npc/florentine.lua
index 19526578aee..9f898a0f1d7 100644
--- a/data-otservbr-global/npc/florentine.lua
+++ b/data-otservbr-global/npc/florentine.lua
@@ -65,7 +65,7 @@ npcConfig.shop = {
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2803, buy = 8 },
+ { itemName = "indoor plant kit", clientId = 2029, buy = 8 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
}
-- On buy npc shop message
diff --git a/data-otservbr-global/npc/gamon.lua b/data-otservbr-global/npc/gamon.lua
index 7db22eea054..d86ec3d3fd7 100644
--- a/data-otservbr-global/npc/gamon.lua
+++ b/data-otservbr-global/npc/gamon.lua
@@ -81,67 +81,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "kit", clientId = 2794, buy = 10 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "kit", clientId = 2483, buy = 10 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "piece of royal satin", clientId = 8762, buy = 200 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -150,25 +150,25 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
{ itemName = "wall mirror", clientId = 2632, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/haani.lua b/data-otservbr-global/npc/haani.lua
index 638fee26b28..0f6a79e4629 100644
--- a/data-otservbr-global/npc/haani.lua
+++ b/data-otservbr-global/npc/haani.lua
@@ -54,68 +54,68 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
{ itemName = "large used amphora kit", clientId = 23460, buy = 40 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -124,34 +124,34 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "used globe kit", clientId = 23457, buy = 40 },
{ itemName = "used red chair kit", clientId = 23456, buy = 30 },
{ itemName = "used rocking horse kit", clientId = 23459, buy = 20 },
{ itemName = "used telescope kit", clientId = 23458, buy = 60 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror edged", clientId = 2635, buy = 40 },
{ itemName = "wall mirror oval", clientId = 2638, buy = 40 },
{ itemName = "wall mirror round", clientId = 2632, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/hairycles.lua b/data-otservbr-global/npc/hairycles.lua
index d0a6ccecdcd..5f0d8af6bd7 100644
--- a/data-otservbr-global/npc/hairycles.lua
+++ b/data-otservbr-global/npc/hairycles.lua
@@ -504,9 +504,9 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "banana", clientId = 3587, buy = 2 },
- { itemName = "monkey statue 'hear' kit", clientId = 5087, buy = 65 },
- { itemName = "monkey statue 'see' kit", clientId = 5086, buy = 65 },
- { itemName = "monkey statue 'speak' kit", clientId = 5088, buy = 65 },
+ { itemName = "monkey statue 'hear' kit", clientId = 5055, buy = 65 },
+ { itemName = "monkey statue 'see' kit", clientId = 5046, buy = 65 },
+ { itemName = "monkey statue 'speak' kit", clientId = 5056, buy = 65 },
}
-- On buy npc shop message
npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost)
diff --git a/data-otservbr-global/npc/hireling.lua b/data-otservbr-global/npc/hireling.lua
index c96c8330e05..5620d6277f9 100644
--- a/data-otservbr-global/npc/hireling.lua
+++ b/data-otservbr-global/npc/hireling.lua
@@ -32,18 +32,18 @@ function createHirelingType(HirelingName)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
{ itemName = "animate dead rune", clientId = 3203, buy = 377 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
{ itemName = "arrow", clientId = 3447, buy = 2 },
{ itemName = "avalanche rune", clientId = 3161, buy = 57 },
{ itemName = "axe", clientId = 3274, sell = 7 },
- { itemName = "bamboo drawer kit", clientId = 2795, buy = 20 },
- { itemName = "bamboo table kit", clientId = 2788, buy = 25 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
+ { itemName = "bamboo drawer kit", clientId = 2465, buy = 20 },
+ { itemName = "bamboo table kit", clientId = 2350, buy = 25 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
{ itemName = "basket", clientId = 2855, buy = 6 },
{ itemName = "battle axe", clientId = 3266, sell = 80 },
{ itemName = "battle hammer", clientId = 3305, sell = 120 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blank rune", clientId = 3147, buy = 10 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
@@ -52,7 +52,7 @@ function createHirelingType(HirelingName)
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
{ itemName = "bolt", clientId = 3446, buy = 4 },
{ itemName = "bone sword", clientId = 3338, sell = 20 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "bottle", clientId = 2875, buy = 3 },
{ itemName = "bow", clientId = 3350, sell = 100 },
{ itemName = "box", clientId = 2469, buy = 10 },
@@ -71,12 +71,12 @@ function createHirelingType(HirelingName)
{ itemName = "chain helmet", clientId = 3352, sell = 17 },
{ itemName = "chain legs", clientId = 3558, sell = 25 },
{ itemName = "chameleon rune", clientId = 3178, buy = 210 },
- { itemName = "chest of drawers", clientId = 2789, buy = 18 },
+ { itemName = "chest of drawers", clientId = 2433, buy = 18 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
{ itemName = "closed trap", clientId = 3481, sell = 75 },
{ itemName = "club", clientId = 3270, sell = 1 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "coat", clientId = 3562, sell = 1 },
{ itemName = "convince creature rune", clientId = 3177, buy = 80 },
{ itemName = "cookie", clientId = 3598, buy = 2 },
@@ -93,7 +93,7 @@ function createHirelingType(HirelingName)
{ itemName = "diamond arrow", clientId = 35901, buy = 100 },
{ itemName = "disintegrate rune", clientId = 3197, buy = 26 },
{ itemName = "doublet", clientId = 3379, sell = 3 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "drill bolt", clientId = 16142, buy = 12 },
{ itemName = "dwarven shield", clientId = 3425, sell = 100 },
{ itemName = "earth arrow", clientId = 774, buy = 5 },
@@ -122,8 +122,8 @@ function createHirelingType(HirelingName)
{ itemName = "flaming arrow", clientId = 763, buy = 5 },
{ itemName = "flash arrow", clientId = 761, buy = 5 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe", clientId = 2797, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe", clientId = 2979, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
{ itemName = "goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "great fireball rune", clientId = 3191, buy = 57 },
@@ -131,7 +131,7 @@ function createHirelingType(HirelingName)
{ itemName = "great mana potion", clientId = 238, buy = 144 },
{ itemName = "great spirit potion", clientId = 7642, buy = 228 },
{ itemName = "green balloons", clientId = 6577, buy = 500 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
@@ -141,49 +141,49 @@ function createHirelingType(HirelingName)
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
{ itemName = "hand axe", clientId = 3268, sell = 4 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "health potion", clientId = 266, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "heavy magic missile rune", clientId = 3198, buy = 12 },
{ itemName = "holy missile rune", clientId = 3182, buy = 16 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
{ itemName = "icicle rune", clientId = 3158, buy = 30 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
{ itemName = "intense healing rune", clientId = 3152, buy = 95 },
{ itemName = "iron helmet", clientId = 3353, sell = 150 },
- { itemName = "ivory chair kit", clientId = 2781, buy = 25 },
+ { itemName = "ivory chair kit", clientId = 2422, buy = 25 },
{ itemName = "jacket", clientId = 3561, sell = 1 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
{ itemName = "label", clientId = 3507, buy = 1 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "large trunk", clientId = 2794, buy = 10 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "large trunk", clientId = 2483, buy = 10 },
{ itemName = "leather armor", clientId = 3361, sell = 12 },
{ itemName = "leather boots", clientId = 3552, sell = 2 },
{ itemName = "leather helmet", clientId = 3355, sell = 4 },
{ itemName = "leather legs", clientId = 3559, sell = 9 },
{ itemName = "letter", clientId = 3505, buy = 8 },
{ itemName = "light magic missile rune", clientId = 3174, buy = 4 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
{ itemName = "longsword", clientId = 3285, sell = 51 },
{ itemName = "mace", clientId = 3286, sell = 30 },
{ itemName = "machete", clientId = 3308, sell = 6 },
{ itemName = "magic wall rune", clientId = 3180, buy = 116 },
{ itemName = "mana potion", clientId = 268, buy = 56 },
{ itemName = "meat", clientId = 3577, buy = 5 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "moonlight rod", clientId = 3070, buy = 1245 },
{ itemName = "morning star", clientId = 3282, sell = 100 },
{ itemName = "necrotic rod", clientId = 3069, buy = 4999 },
{ itemName = "northwind rod", clientId = 8083, buy = 7500 },
{ itemName = "onyx arrow", clientId = 7365, buy = 7 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
{ itemName = "paralyse rune", clientId = 3165, buy = 700 },
{ itemName = "parcel", clientId = 3503, buy = 15 },
{ itemName = "party hat", clientId = 6578, buy = 800 },
{ itemName = "party trumpet", clientId = 6572, buy = 500 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "pick", clientId = 3456, sell = 15 },
{ itemName = "piercing bolt", clientId = 7363, buy = 5 },
{ itemName = "plate armor", clientId = 3357, sell = 400 },
@@ -199,13 +199,13 @@ function createHirelingType(HirelingName)
{ itemName = "quiver", clientId = 35562, buy = 400 },
{ itemName = "rapier", clientId = 3272, sell = 5 },
{ itemName = "red balloons", clientId = 6575, buy = 500 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red quiver", clientId = 35849, buy = 400 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking horse", clientId = 2800, buy = 30 },
+ { itemName = "rocking horse", clientId = 2998, buy = 30 },
{ itemName = "rope", clientId = 3003, sell = 15 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
@@ -227,14 +227,14 @@ function createHirelingType(HirelingName)
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small round table", clientId = 2783, buy = 25 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small round table", clientId = 2316, buy = 25 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small trunk", clientId = 2426, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
{ itemName = "snakebite rod", clientId = 3066, buy = 500 },
{ itemName = "sniper arrow", clientId = 7364, buy = 5 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
{ itemName = "soldier helmet", clientId = 3375, sell = 16 },
{ itemName = "soulfire rune", clientId = 3195, buy = 46 },
{ itemName = "spear", clientId = 3277, sell = 3 },
@@ -242,12 +242,12 @@ function createHirelingType(HirelingName)
{ itemName = "spellwand", clientId = 651, sell = 299 },
{ itemName = "spike sword", clientId = 3271, sell = 240 },
{ itemName = "springsprout rod", clientId = 8084, buy = 15468 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "stalagmite rune", clientId = 3179, buy = 12 },
{ itemName = "steel helmet", clientId = 3351, sell = 293 },
{ itemName = "steel shield", clientId = 3409, sell = 80 },
{ itemName = "stone shower rune", clientId = 3175, buy = 37 },
- { itemName = "stone table kit", clientId = 2786, buy = 30 },
+ { itemName = "stone table kit", clientId = 2347, buy = 30 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
{ itemName = "strong health potion", clientId = 236, buy = 115 },
@@ -259,9 +259,9 @@ function createHirelingType(HirelingName)
{ itemName = "sudden death rune", clientId = 3155, buy = 135 },
{ itemName = "supreme health potion", clientId = 23375, buy = 625 },
{ itemName = "sword", clientId = 3264, sell = 25 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
{ itemName = "tarsal arrow", clientId = 14251, buy = 6 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "terra rod", clientId = 3065, buy = 10000 },
{ itemName = "thick trunk", clientId = 2352, buy = 20 },
{ itemName = "throwing knife", clientId = 3298, sell = 2 },
@@ -270,9 +270,9 @@ function createHirelingType(HirelingName)
{ itemName = "torch", clientId = 2920, buy = 2 },
{ itemName = "treasure chest", clientId = 2478, buy = 1245 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "tusk chair kit", clientId = 2780, buy = 25 },
- { itemName = "tusk table kit", clientId = 2787, buy = 25 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "tusk chair kit", clientId = 2418, buy = 25 },
+ { itemName = "tusk table kit", clientId = 2348, buy = 25 },
{ itemName = "two handed sword", clientId = 3265, sell = 456 },
{ itemName = "ultimate healing rune", clientId = 3160, buy = 175 },
{ itemName = "ultimate health potion", clientId = 7643, buy = 381 },
@@ -280,9 +280,9 @@ function createHirelingType(HirelingName)
{ itemName = "ultimate spirit potion", clientId = 23374, buy = 443 },
{ itemName = "underworld rod", clientId = 8082, buy = 19666 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe", clientId = 18017, buy = 50 },
{ itemName = "vial", clientId = 2874, sell = 5 },
{ itemName = "viking helmet", clientId = 3367, sell = 66 },
{ itemName = "viking shield", clientId = 3431, sell = 85 },
@@ -299,10 +299,10 @@ function createHirelingType(HirelingName)
{ itemName = "war hammer", clientId = 3279, sell = 595 },
{ itemName = "watch", clientId = 2906, sell = 6 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
{ itemName = "wild growth rune", clientId = 3156, buy = 160 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "wooden shield", clientId = 3412, sell = 5 },
{ itemName = "worm", clientId = 3492, buy = 1 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
diff --git a/data-otservbr-global/npc/hofech.lua b/data-otservbr-global/npc/hofech.lua
index b462a8d3f96..724a5ed5715 100644
--- a/data-otservbr-global/npc/hofech.lua
+++ b/data-otservbr-global/npc/hofech.lua
@@ -24,65 +24,65 @@ npcConfig.flags = {
}
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
{ itemName = "goldfish bowl", clientId = 5928, buy = 50 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -91,28 +91,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2632, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/inkaef.lua b/data-otservbr-global/npc/inkaef.lua
index 0eb80c87490..645bba3bb5e 100644
--- a/data-otservbr-global/npc/inkaef.lua
+++ b/data-otservbr-global/npc/inkaef.lua
@@ -94,49 +94,49 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
- { itemName = "armor rack", clientId = 6114, buy = 90 },
- { itemName = "barrel", clientId = 2793, buy = 12 },
- { itemName = "big table", clientId = 2785, buy = 30 },
- { itemName = "birdcage", clientId = 2796, buy = 50 },
- { itemName = "bookcase", clientId = 6372, buy = 70 },
+ { itemName = "armor rack", clientId = 6111, buy = 90 },
+ { itemName = "barrel", clientId = 2523, buy = 12 },
+ { itemName = "big table", clientId = 2314, buy = 30 },
+ { itemName = "birdcage", clientId = 2976, buy = 50 },
+ { itemName = "bookcase", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chest of drawers", clientId = 2789, buy = 18 },
- { itemName = "chimney", clientId = 7864, buy = 200 },
+ { itemName = "chest of drawers", clientId = 2433, buy = 18 },
+ { itemName = "chimney", clientId = 7860, buy = 200 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "dresser", clientId = 2790, buy = 25 },
+ { itemName = "dresser", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe", clientId = 2797, buy = 50 },
- { itemName = "goblin statue", clientId = 2804, buy = 50 },
+ { itemName = "globe", clientId = 2979, buy = 50 },
+ { itemName = "goblin statue", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair", clientId = 2775, buy = 40 },
+ { itemName = "green cushioned chair", clientId = 2374, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
- { itemName = "harp", clientId = 2808, buy = 50 },
+ { itemName = "harp", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant", clientId = 2811, buy = 8 },
- { itemName = "knight statue", clientId = 2802, buy = 50 },
- { itemName = "large amphora", clientId = 2805, buy = 50 },
- { itemName = "large trunk", clientId = 2794, buy = 10 },
- { itemName = "locker", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant", clientId = 2982, buy = 8 },
+ { itemName = "knight statue", clientId = 2025, buy = 50 },
+ { itemName = "large amphora", clientId = 2904, buy = 50 },
+ { itemName = "large trunk", clientId = 2483, buy = 10 },
+ { itemName = "locker", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock", clientId = 2801, buy = 75 },
- { itemName = "piano", clientId = 2807, buy = 200 },
+ { itemName = "oven", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock", clientId = 2445, buy = 75 },
+ { itemName = "piano", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair", clientId = 2374, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair", clientId = 2778, buy = 25 },
- { itemName = "rocking horse", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
@@ -146,25 +146,25 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small round table", clientId = 2783, buy = 25 },
- { itemName = "small table", clientId = 2782, buy = 20 },
+ { itemName = "small round table", clientId = 2316, buy = 25 },
+ { itemName = "small table", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair", clientId = 2779, buy = 55 },
- { itemName = "square table", clientId = 2784, buy = 25 },
- { itemName = "table lamp", clientId = 2798, buy = 35 },
- { itemName = "telescope", clientId = 2799, buy = 70 },
+ { itemName = "sofa chair", clientId = 2366, buy = 55 },
+ { itemName = "square table", clientId = 2315, buy = 25 },
+ { itemName = "table lamp", clientId = 2934, buy = 35 },
+ { itemName = "telescope", clientId = 3485, buy = 70 },
{ itemName = "treasure quest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough", clientId = 2792, buy = 7 },
- { itemName = "venorean cabinet", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe", clientId = 17975, buy = 50 },
+ { itemName = "trough", clientId = 2524, buy = 7 },
+ { itemName = "venorean cabinet", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2974, buy = 40 },
- { itemName = "weapon rack", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair", clientId = 2360, buy = 15 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
{ itemName = "yellow tapestry", clientId = 2650, buy = 25 },
}
diff --git a/data-otservbr-global/npc/iwar.lua b/data-otservbr-global/npc/iwar.lua
index 8572792d298..70a2a66f16e 100644
--- a/data-otservbr-global/npc/iwar.lua
+++ b/data-otservbr-global/npc/iwar.lua
@@ -99,67 +99,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -168,28 +168,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/janz.lua b/data-otservbr-global/npc/janz.lua
index fc2cc65910a..906e5235f1b 100644
--- a/data-otservbr-global/npc/janz.lua
+++ b/data-otservbr-global/npc/janz.lua
@@ -54,67 +54,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -123,28 +123,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/julian.lua b/data-otservbr-global/npc/julian.lua
index eeec5740f7a..628f4711a1e 100644
--- a/data-otservbr-global/npc/julian.lua
+++ b/data-otservbr-global/npc/julian.lua
@@ -54,10 +54,10 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "drum", clientId = 14253, buy = 140 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "lute", clientId = 2950, buy = 195 },
{ itemName = "lyre", clientId = 2949, buy = 120 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "simple fanfare", clientId = 2954, buy = 150 },
}
-- On buy npc shop message
diff --git a/data-otservbr-global/npc/king_tibianus.lua b/data-otservbr-global/npc/king_tibianus.lua
index a8a24facf67..1f18aff7d85 100644
--- a/data-otservbr-global/npc/king_tibianus.lua
+++ b/data-otservbr-global/npc/king_tibianus.lua
@@ -87,7 +87,7 @@ local function creatureSayCallback(npc, creature, type, message)
if player:getMoney() + player:getBankBalance() >= 500000000 then
local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
if inbox then
- local decoKit = inbox:addItem(23398, 1)
+ local decoKit = inbox:addItem(ITEM_DECORATION_KIT, 1)
local decoItemName = ItemType(31510):getName()
decoKit:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Unwrap it in your own house to create a " .. decoItemName .. ".")
decoKit:setCustomAttribute("unWrapId", 31510)
diff --git a/data-otservbr-global/npc/messenger_of_santa.lua b/data-otservbr-global/npc/messenger_of_santa.lua
index 6629b76c57e..89cb7645b67 100644
--- a/data-otservbr-global/npc/messenger_of_santa.lua
+++ b/data-otservbr-global/npc/messenger_of_santa.lua
@@ -56,7 +56,7 @@ npcConfig.shop = {
{ itemName = "christmas garland", clientId = 6502, buy = 25 },
{ itemName = "christmas present green", clientId = 6509, buy = 20 },
{ itemName = "christmas present red", clientId = 6505, buy = 20 },
- { itemName = "christmas tree package", clientId = 10207, buy = 50 },
+ { itemName = "christmas tree package", clientId = 10208, buy = 50 },
{ itemName = "christmas wreath", clientId = 6501, buy = 45 },
{ itemName = "green christmas bundle", clientId = 6508, buy = 80 },
{ itemName = "red christmas bundle", clientId = 6506, buy = 70 },
diff --git a/data-otservbr-global/npc/nicholas.lua b/data-otservbr-global/npc/nicholas.lua
index 2a813bcd6e3..d252e16be2f 100644
--- a/data-otservbr-global/npc/nicholas.lua
+++ b/data-otservbr-global/npc/nicholas.lua
@@ -54,68 +54,68 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
- { itemName = "crystal table kit", clientId = 9061, buy = 150 },
+ { itemName = "crystal table kit", clientId = 9062, buy = 150 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -124,28 +124,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/nydala.lua b/data-otservbr-global/npc/nydala.lua
index 5991d5e0a86..1ef6b0f11bd 100644
--- a/data-otservbr-global/npc/nydala.lua
+++ b/data-otservbr-global/npc/nydala.lua
@@ -60,68 +60,68 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
- { itemName = "crystal table kit", clientId = 9061, buy = 150 },
+ { itemName = "crystal table kit", clientId = 9062, buy = 150 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -130,28 +130,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/peggy.lua b/data-otservbr-global/npc/peggy.lua
index f4e44a41efa..7a0abcff7b5 100644
--- a/data-otservbr-global/npc/peggy.lua
+++ b/data-otservbr-global/npc/peggy.lua
@@ -54,67 +54,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -123,28 +123,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/queen_eloise.lua b/data-otservbr-global/npc/queen_eloise.lua
index c44617b10dd..1b65408cc74 100644
--- a/data-otservbr-global/npc/queen_eloise.lua
+++ b/data-otservbr-global/npc/queen_eloise.lua
@@ -77,7 +77,7 @@ local function creatureSayCallback(npc, creature, type, message)
if player:getMoney() + player:getBankBalance() >= 500000000 then
local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
if inbox then
- local decoKit = inbox:addItem(23398, 1)
+ local decoKit = inbox:addItem(ITEM_DECORATION_KIT, 1)
local decoItemName = ItemType(31510):getName()
decoKit:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "You bought this item in the Store.\nUnwrap it in your own house to create a " .. decoItemName .. ".")
decoKit:setActionId(36345)
diff --git a/data-otservbr-global/npc/rose.lua b/data-otservbr-global/npc/rose.lua
index b8227b34f88..5ecc72eb7af 100644
--- a/data-otservbr-global/npc/rose.lua
+++ b/data-otservbr-global/npc/rose.lua
@@ -89,7 +89,7 @@ npcConfig.shop = {
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
}
-- On buy npc shop message
diff --git a/data-otservbr-global/npc/shiantis.lua b/data-otservbr-global/npc/shiantis.lua
index 4551f83083f..ac3290a6fed 100644
--- a/data-otservbr-global/npc/shiantis.lua
+++ b/data-otservbr-global/npc/shiantis.lua
@@ -92,7 +92,7 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "basket", clientId = 2855, buy = 6 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "black book", clientId = 2838, buy = 15 },
{ itemName = "blue book", clientId = 2844, sell = 20 },
{ itemName = "bottle", clientId = 2875, buy = 3 },
@@ -100,16 +100,16 @@ npcConfig.shop = {
{ itemName = "bucket", clientId = 2873, buy = 4 },
{ itemName = "candelabrum", clientId = 2911, buy = 8 },
{ itemName = "candlestick", clientId = 2917, buy = 2 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
{ itemName = "closed trap", clientId = 3481, buy = 280, sell = 75 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "crowbar", clientId = 3304, buy = 260, sell = 50 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
{ itemName = "document", clientId = 2834, buy = 12 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "fishing rod", clientId = 3483, buy = 150, sell = 40 },
{ itemName = "gemmed book", clientId = 2842, sell = 100 },
- { itemName = "globe kit", clientId = 2797, buy = 50 },
+ { itemName = "globe kit", clientId = 2979, buy = 50 },
{ itemName = "green book", clientId = 2846, sell = 15 },
{ itemName = "greeting card", clientId = 6386, buy = 30 },
{ itemName = "grey small book", clientId = 2839, buy = 15 },
@@ -118,9 +118,9 @@ npcConfig.shop = {
{ itemName = "machete", clientId = 3308, buy = 35, sell = 6 },
{ itemName = "net", clientId = 31489, buy = 50 },
{ itemName = "orange book", clientId = 2843, sell = 30 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
{ itemName = "parchment", clientId = 2817, buy = 8 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
{ itemName = "pick", clientId = 3456, sell = 15 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
@@ -128,13 +128,13 @@ npcConfig.shop = {
{ itemName = "present", clientId = 2856, buy = 10 },
{ itemName = "red backpack", clientId = 2867, buy = 20 },
{ itemName = "red bag", clientId = 2859, buy = 5 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "rope", clientId = 3003, buy = 50, sell = 15 },
{ itemName = "scroll", clientId = 2815, buy = 5 },
{ itemName = "scythe", clientId = 3453, buy = 50, sell = 10 },
{ itemName = "shovel", clientId = 3457, buy = 50, sell = 8 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "torch", clientId = 2920, buy = 2 },
{ itemName = "valentine's card", clientId = 6538, buy = 30 },
{ itemName = "vial", clientId = 2874, sell = 5 },
diff --git a/data-otservbr-global/npc/the_lootmonger.lua b/data-otservbr-global/npc/the_lootmonger.lua
index 666743b0532..bfeea87da97 100644
--- a/data-otservbr-global/npc/the_lootmonger.lua
+++ b/data-otservbr-global/npc/the_lootmonger.lua
@@ -622,7 +622,7 @@ npcConfig.shop = {
{ itemName = "head", clientId = 33937, sell = 3200 },
{ itemName = "head", clientId = 33932, sell = 3500 },
{ itemName = "headchopper", clientId = 7380, sell = 6000 },
- { itemName = "headpecker beak", clientId = 39387, sell = 2800 },
+ { itemName = "headpecker beak", clientId = 39387, sell = 2998 },
{ itemName = "headpecker feather", clientId = 39388, sell = 1300 },
{ itemName = "heat core", clientId = 21167, sell = 10000 },
{ itemName = "heaven blossom", clientId = 3657, sell = 50 },
@@ -769,7 +769,7 @@ npcConfig.shop = {
{ itemName = "mantassin tail", clientId = 11489, sell = 280 },
{ itemName = "manticore ear", clientId = 31440, sell = 310 },
{ itemName = "manticore tail", clientId = 31439, sell = 220 },
- { itemName = "mantosaurus jaw", clientId = 39386, sell = 2800 },
+ { itemName = "mantosaurus jaw", clientId = 39386, sell = 2998 },
{ itemName = "marlin trophy", clientId = 902, sell = 5000 },
{ itemName = "marsh stalker beak", clientId = 17461, sell = 65 },
{ itemName = "marsh stalker feather", clientId = 17462, sell = 50 },
diff --git a/data-otservbr-global/npc/ukea.lua b/data-otservbr-global/npc/ukea.lua
index 222d26ba4e3..95e5f9f5cee 100644
--- a/data-otservbr-global/npc/ukea.lua
+++ b/data-otservbr-global/npc/ukea.lua
@@ -59,67 +59,67 @@ npcHandler:setMessage(MESSAGE_FAREWELL, "Good bye!")
npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -128,28 +128,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/vera.lua b/data-otservbr-global/npc/vera.lua
index a9aad92fc80..561058d7e17 100644
--- a/data-otservbr-global/npc/vera.lua
+++ b/data-otservbr-global/npc/vera.lua
@@ -59,65 +59,65 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -126,28 +126,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2632, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/walter_jaeger.lua b/data-otservbr-global/npc/walter_jaeger.lua
index 340aaae1eb6..465b23badb9 100644
--- a/data-otservbr-global/npc/walter_jaeger.lua
+++ b/data-otservbr-global/npc/walter_jaeger.lua
@@ -283,7 +283,7 @@ local function processItemInboxPurchase(player, name, id)
local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
if inbox then
- local decoKit = inbox:addItem(23398, 1)
+ local decoKit = inbox:addItem(ITEM_DECORATION_KIT, 1)
if decoKit then
decoKit:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "You bought this item with the Walter Jaeger.\nUnwrap it in your own house to create a <" .. name .. ">.")
decoKit:setCustomAttribute("unWrapId", id)
diff --git a/data-otservbr-global/npc/yasir.lua b/data-otservbr-global/npc/yasir.lua
index f6e4dd13a1b..dabc0b03c43 100644
--- a/data-otservbr-global/npc/yasir.lua
+++ b/data-otservbr-global/npc/yasir.lua
@@ -302,7 +302,7 @@ npcConfig.shop = {
{ itemName = "hazardous heart", clientId = 34140, sell = 5000 },
{ itemName = "hazardous robe", clientId = 34147, sell = 3000 },
{ itemName = "head", clientId = 33937, sell = 3500 },
- { itemName = "headpecker beak", clientId = 39387, sell = 2800 },
+ { itemName = "headpecker beak", clientId = 39387, sell = 2998 },
{ itemName = "headpecker feather", clientId = 39388, sell = 1300 },
{ itemName = "heaven blossom", clientId = 3657, sell = 50 },
{ itemName = "hellhound slobber", clientId = 9637, sell = 500 },
@@ -377,7 +377,7 @@ npcConfig.shop = {
{ itemName = "mantassin tail", clientId = 11489, sell = 280 },
{ itemName = "manticore ear", clientId = 31440, sell = 310 },
{ itemName = "manticore tail", clientId = 31439, sell = 220 },
- { itemName = "mantosaurus jaw", clientId = 39386, sell = 2800 },
+ { itemName = "mantosaurus jaw", clientId = 39386, sell = 2998 },
{ itemName = "marsh stalker beak", clientId = 17461, sell = 65 },
{ itemName = "marsh stalker feather", clientId = 17462, sell = 50 },
{ itemName = "maxxenius head", clientId = 29942, sell = 500000 },
diff --git a/data-otservbr-global/npc/yoem.lua b/data-otservbr-global/npc/yoem.lua
index cab2685e308..9c24d5a86d8 100644
--- a/data-otservbr-global/npc/yoem.lua
+++ b/data-otservbr-global/npc/yoem.lua
@@ -65,67 +65,67 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
{ itemName = "amphora", clientId = 2893, buy = 4 },
- { itemName = "armor rack kit", clientId = 6114, buy = 90 },
- { itemName = "barrel kit", clientId = 2793, buy = 12 },
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "birdcage kit", clientId = 2796, buy = 50 },
+ { itemName = "armor rack kit", clientId = 6111, buy = 90 },
+ { itemName = "barrel kit", clientId = 2523, buy = 12 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "birdcage kit", clientId = 2976, buy = 50 },
{ itemName = "blue footboard", clientId = 32482, buy = 40 },
{ itemName = "blue headboard", clientId = 32473, buy = 40 },
{ itemName = "blue pillow", clientId = 2394, buy = 25 },
{ itemName = "blue tapestry", clientId = 2659, buy = 25 },
- { itemName = "bookcase kit", clientId = 6372, buy = 70 },
+ { itemName = "bookcase kit", clientId = 6370, buy = 70 },
{ itemName = "box", clientId = 2469, buy = 10 },
{ itemName = "canopy footboard", clientId = 32490, buy = 40 },
{ itemName = "canopy headboard", clientId = 32481, buy = 40 },
{ itemName = "chest", clientId = 2472, buy = 10 },
- { itemName = "chimney kit", clientId = 7864, buy = 200 },
- { itemName = "coal basin kit", clientId = 2806, buy = 25 },
+ { itemName = "chimney kit", clientId = 7860, buy = 200 },
+ { itemName = "coal basin kit", clientId = 3513, buy = 25 },
{ itemName = "cot footboard", clientId = 32486, buy = 40 },
{ itemName = "cot headboard", clientId = 32477, buy = 40 },
{ itemName = "crate", clientId = 2471, buy = 10 },
{ itemName = "cuckoo clock", clientId = 2664, buy = 40 },
- { itemName = "drawer kit", clientId = 2789, buy = 18 },
- { itemName = "dresser kit", clientId = 2790, buy = 25 },
+ { itemName = "drawer kit", clientId = 2433, buy = 18 },
+ { itemName = "dresser kit", clientId = 2441, buy = 25 },
{ itemName = "empty goldfish bowl", clientId = 5928, buy = 50 },
{ itemName = "flower bowl", clientId = 2983, buy = 6 },
- { itemName = "globe kit", clientId = 2800, buy = 50 },
- { itemName = "goblin statue kit", clientId = 2804, buy = 50 },
+ { itemName = "globe kit", clientId = 2998, buy = 50 },
+ { itemName = "goblin statue kit", clientId = 2030, buy = 50 },
{ itemName = "god flowers", clientId = 2981, buy = 5 },
- { itemName = "green cushioned chair kit", clientId = 2776, buy = 40 },
+ { itemName = "green cushioned chair kit", clientId = 2378, buy = 40 },
{ itemName = "green footboard", clientId = 32483, buy = 40 },
{ itemName = "green headboard", clientId = 32474, buy = 40 },
{ itemName = "green pillow", clientId = 2396, buy = 25 },
{ itemName = "green tapestry", clientId = 2647, buy = 25 },
{ itemName = "hammock foot section", clientId = 32487, buy = 40 },
{ itemName = "hammock head section", clientId = 32478, buy = 40 },
- { itemName = "harp kit", clientId = 2808, buy = 50 },
+ { itemName = "harp kit", clientId = 2963, buy = 50 },
{ itemName = "heart pillow", clientId = 2393, buy = 30 },
{ itemName = "honey flower", clientId = 2984, buy = 5 },
- { itemName = "indoor plant kit", clientId = 2811, buy = 8 },
- { itemName = "knight statue kit", clientId = 2802, buy = 50 },
- { itemName = "large amphora kit", clientId = 2805, buy = 50 },
- { itemName = "locker kit", clientId = 2791, buy = 30 },
- { itemName = "minotaur statue kit", clientId = 2803, buy = 50 },
+ { itemName = "indoor plant kit", clientId = 2982, buy = 8 },
+ { itemName = "knight statue kit", clientId = 2025, buy = 50 },
+ { itemName = "large amphora kit", clientId = 2904, buy = 50 },
+ { itemName = "locker kit", clientId = 2449, buy = 30 },
+ { itemName = "minotaur statue kit", clientId = 2029, buy = 50 },
{ itemName = "orange tapestry", clientId = 2653, buy = 25 },
- { itemName = "oven kit", clientId = 6371, buy = 80 },
- { itemName = "pendulum clock kit", clientId = 2801, buy = 75 },
- { itemName = "piano kit", clientId = 2807, buy = 200 },
+ { itemName = "oven kit", clientId = 6355, buy = 80 },
+ { itemName = "pendulum clock kit", clientId = 2445, buy = 75 },
+ { itemName = "piano kit", clientId = 2959, buy = 200 },
{ itemName = "picture", clientId = 2639, buy = 50 },
{ itemName = "picture", clientId = 2640, buy = 50 },
{ itemName = "picture", clientId = 2641, buy = 50 },
{ itemName = "potted flower", clientId = 2985, buy = 5 },
{ itemName = "purple tapestry", clientId = 2644, buy = 25 },
- { itemName = "red cushioned chair kit", clientId = 2775, buy = 40 },
+ { itemName = "red cushioned chair kit", clientId = 2374, buy = 40 },
{ itemName = "red footboard", clientId = 32484, buy = 40 },
{ itemName = "red headboard", clientId = 32475, buy = 40 },
{ itemName = "red pillow", clientId = 2395, buy = 25 },
{ itemName = "red tapestry", clientId = 2656, buy = 25 },
- { itemName = "rocking chair kit", clientId = 2778, buy = 25 },
- { itemName = "rocking horse kit", clientId = 2800, buy = 30 },
+ { itemName = "rocking chair kit", clientId = 2382, buy = 25 },
+ { itemName = "rocking horse kit", clientId = 2998, buy = 30 },
{ itemName = "round blue pillow", clientId = 2398, buy = 25 },
{ itemName = "round purple pillow", clientId = 2400, buy = 25 },
{ itemName = "round red pillow", clientId = 2399, buy = 25 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
{ itemName = "round turquoise pillow", clientId = 2401, buy = 25 },
{ itemName = "simple footboard", clientId = 32488, buy = 40 },
{ itemName = "simple headboard", clientId = 32479, buy = 40 },
@@ -134,28 +134,28 @@ npcConfig.shop = {
{ itemName = "small orange pillow", clientId = 2390, buy = 20 },
{ itemName = "small purple pillow", clientId = 2386, buy = 20 },
{ itemName = "small red pillow", clientId = 2388, buy = 20 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
{ itemName = "small turquoise pillow", clientId = 2391, buy = 20 },
{ itemName = "small white pillow", clientId = 2392, buy = 20 },
- { itemName = "sofa chair kit", clientId = 2779, buy = 55 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "sofa chair kit", clientId = 2366, buy = 55 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "straw mat foot section", clientId = 32489, buy = 40 },
{ itemName = "straw mat head section", clientId = 32480, buy = 40 },
- { itemName = "table lamp kit", clientId = 2798, buy = 35 },
- { itemName = "telescope kit", clientId = 2799, buy = 70 },
+ { itemName = "table lamp kit", clientId = 2934, buy = 35 },
+ { itemName = "telescope kit", clientId = 3485, buy = 70 },
{ itemName = "treasure chest", clientId = 2478, buy = 1000 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
- { itemName = "trough kit", clientId = 2792, buy = 7 },
- { itemName = "trunk kit", clientId = 2794, buy = 10 },
+ { itemName = "trough kit", clientId = 2524, buy = 7 },
+ { itemName = "trunk kit", clientId = 2483, buy = 10 },
{ itemName = "vase", clientId = 2876, buy = 3 },
- { itemName = "venorean cabinet kit", clientId = 17974, buy = 90 },
- { itemName = "venorean drawer kit", clientId = 17977, buy = 40 },
- { itemName = "venorean wardrobe kit", clientId = 17975, buy = 50 },
+ { itemName = "venorean cabinet kit", clientId = 18015, buy = 90 },
+ { itemName = "venorean drawer kit", clientId = 18019, buy = 40 },
+ { itemName = "venorean wardrobe kit", clientId = 18017, buy = 50 },
{ itemName = "wall mirror", clientId = 2638, buy = 40 },
{ itemName = "water pipe", clientId = 2980, buy = 40 },
- { itemName = "weapon rack kit", clientId = 6115, buy = 90 },
+ { itemName = "weapon rack kit", clientId = 6109, buy = 90 },
{ itemName = "white tapestry", clientId = 2667, buy = 25 },
- { itemName = "wooden chair kit", clientId = 2777, buy = 15 },
+ { itemName = "wooden chair kit", clientId = 2360, buy = 15 },
{ itemName = "yellow footboard", clientId = 32485, buy = 40 },
{ itemName = "yellow headboard", clientId = 32476, buy = 40 },
{ itemName = "yellow pillow", clientId = 900, buy = 25 },
diff --git a/data-otservbr-global/npc/yulas.lua b/data-otservbr-global/npc/yulas.lua
index 12d8b107034..118c81d1dc4 100644
--- a/data-otservbr-global/npc/yulas.lua
+++ b/data-otservbr-global/npc/yulas.lua
@@ -53,10 +53,10 @@ end
npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
- { itemName = "big table kit", clientId = 2785, buy = 30 },
- { itemName = "round table kit", clientId = 2783, buy = 25 },
- { itemName = "small table kit", clientId = 2782, buy = 20 },
- { itemName = "square table kit", clientId = 2784, buy = 25 },
+ { itemName = "big table kit", clientId = 2314, buy = 30 },
+ { itemName = "round table kit", clientId = 2316, buy = 25 },
+ { itemName = "small table kit", clientId = 2319, buy = 20 },
+ { itemName = "square table kit", clientId = 2315, buy = 25 },
{ itemName = "trophy stand", clientId = 872, buy = 50 },
}
-- On buy npc shop message
diff --git a/data-otservbr-global/npc/zaidal.lua b/data-otservbr-global/npc/zaidal.lua
index 03cb6263036..f12b2769ddc 100644
--- a/data-otservbr-global/npc/zaidal.lua
+++ b/data-otservbr-global/npc/zaidal.lua
@@ -53,15 +53,15 @@ end
npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)
npcConfig.shop = {
- { itemName = "bamboo drawer kit", clientId = 2795, buy = 20 },
- { itemName = "bamboo table kit", clientId = 2788, buy = 25 },
- { itemName = "ivory chair kit", clientId = 2781, buy = 25 },
- { itemName = "stone table kit", clientId = 2786, buy = 30 },
- { itemName = "trunk chair kit", clientId = 2809, buy = 20 },
- { itemName = "trunk table kit", clientId = 2810, buy = 20 },
+ { itemName = "bamboo drawer kit", clientId = 2465, buy = 20 },
+ { itemName = "bamboo table kit", clientId = 2350, buy = 25 },
+ { itemName = "ivory chair kit", clientId = 2422, buy = 25 },
+ { itemName = "stone table kit", clientId = 2347, buy = 30 },
+ { itemName = "trunk chair kit", clientId = 2426, buy = 20 },
+ { itemName = "trunk table kit", clientId = 2352, buy = 20 },
{ itemName = "tusk", clientId = 3044, sell = 100 },
- { itemName = "tusk chair kit", clientId = 2780, buy = 25 },
- { itemName = "tusk table kit", clientId = 2787, buy = 25 },
+ { itemName = "tusk chair kit", clientId = 2418, buy = 25 },
+ { itemName = "tusk table kit", clientId = 2348, buy = 25 },
}
-- On buy npc shop message
npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost)
diff --git a/data-otservbr-global/scripts/actions/other/construction_kits.lua b/data-otservbr-global/scripts/actions/other/construction_kits.lua
index 61fda24476f..801e9e57989 100644
--- a/data-otservbr-global/scripts/actions/other/construction_kits.lua
+++ b/data-otservbr-global/scripts/actions/other/construction_kits.lua
@@ -126,7 +126,9 @@ function constructionKit.onUse(player, item, fromPosition, target, toPosition, i
elseif not fromPosition:getTile():getHouse() then
player:sendTextMessage(MESSAGE_FAILURE, "You may construct this only inside a house.")
else
- item:transform(kit)
+ item:transform(ITEM_DECORATION_KIT)
+ item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Unwrap it in your own house to create a <" .. ItemType(kit):getName() .. ">.")
+ item:setCustomAttribute("unWrapId", kit)
fromPosition:sendMagicEffect(CONST_ME_POFF)
player:addAchievementProgress("Interior Decorator", 1000)
end
diff --git a/data/items/items.xml b/data/items/items.xml
index 7c94318218c..4e19951cd1a 100644
--- a/data/items/items.xml
+++ b/data/items/items.xml
@@ -1037,7 +1037,6 @@
-
-
-
@@ -1054,7 +1053,6 @@
-
-
@@ -1678,7 +1676,6 @@
-
-
@@ -2354,7 +2351,6 @@
-
-
@@ -2473,7 +2469,6 @@
-
-
-
@@ -4656,7 +4651,6 @@
-
-
-
@@ -12140,7 +12134,6 @@
-
-
@@ -12149,14 +12142,12 @@
-
-
-
@@ -12165,7 +12156,6 @@
-
@@ -12174,7 +12164,6 @@
-
@@ -12185,7 +12174,6 @@
-
-
-
@@ -12196,7 +12184,6 @@
-
-
@@ -12205,7 +12192,6 @@
-
@@ -12218,7 +12204,6 @@
-
-
@@ -12228,7 +12213,6 @@
-
-
@@ -20480,7 +20464,6 @@
-
-
@@ -31380,7 +31363,6 @@
-
@@ -32745,7 +32727,6 @@
-
@@ -34725,7 +34706,6 @@
-
-
@@ -38299,7 +38279,6 @@
-
-
@@ -38706,7 +38685,6 @@
-
-
diff --git a/data/modules/scripts/gamestore/init.lua b/data/modules/scripts/gamestore/init.lua
index 20b3cf74803..23c2669fe01 100644
--- a/data/modules/scripts/gamestore/init.lua
+++ b/data/modules/scripts/gamestore/init.lua
@@ -1639,7 +1639,7 @@ function GameStore.processHouseRelatedPurchase(player, offer)
end
if inbox then
for _, itemId in ipairs(itemIds) do
- local decoKit = inbox:addItem(23398, 1)
+ 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)
diff --git a/data/scripts/talkactions/god/house_owner.lua b/data/scripts/talkactions/god/house_owner.lua
index 3af95895010..9ac3f7a9678 100644
--- a/data/scripts/talkactions/god/house_owner.lua
+++ b/data/scripts/talkactions/god/house_owner.lua
@@ -12,7 +12,7 @@ function houseOwner.onSay(player, words, param)
end
if param == "" or param == "none" then
- house:setOwnerGuid(0)
+ house:setHouseOwner(0)
return true
end
@@ -22,7 +22,7 @@ function houseOwner.onSay(player, words, param)
return true
end
- house:setOwnerGuid(targetPlayer:getGuid())
+ house:setHouseOwner(targetPlayer:getGuid())
return true
end
diff --git a/data/scripts/talkactions/god/remove_thing.lua b/data/scripts/talkactions/god/remove_thing.lua
index f8ded5ded20..60a3e225ce8 100644
--- a/data/scripts/talkactions/god/remove_thing.lua
+++ b/data/scripts/talkactions/god/remove_thing.lua
@@ -26,7 +26,17 @@ function removeThing.onSay(player, words, param)
player:sendCancelMessage("You may not remove a ground tile.")
return true
end
- thing:remove(tonumber(param) or -1)
+ if param == "all" then
+ local items = tile:getItems()
+ if items then
+ for i = 1, #items do
+ local item = items[i]
+ item:remove()
+ end
+ end
+ else
+ thing:remove(tonumber(param) or -1)
+ end
end
position:sendMagicEffect(CONST_ME_MAGIC_RED)
diff --git a/data/scripts/talkactions/player/buy_house.lua b/data/scripts/talkactions/player/buy_house.lua
index f1293164dbb..0d32e233d87 100644
--- a/data/scripts/talkactions/player/buy_house.lua
+++ b/data/scripts/talkactions/player/buy_house.lua
@@ -40,13 +40,18 @@ function buyHouse.onSay(player, words, param)
return false
end
+ if house:hasItemOnTile() then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot buy this house, as there are items inside it. Please, contact an administrator.")
+ return false
+ end
+
local price = house:getPrice()
if not player:removeMoneyBank(price) then
player:sendCancelMessage("You do not have enough money.")
return false
end
- house:setOwnerGuid(player:getGuid())
+ house:setHouseOwner(player:getGuid())
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully bought this house, be sure to have the money for the rent in the bank.")
return false
end
diff --git a/data/scripts/talkactions/player/leave_house.lua b/data/scripts/talkactions/player/leave_house.lua
index e575283af48..694dbdb2f5b 100644
--- a/data/scripts/talkactions/player/leave_house.lua
+++ b/data/scripts/talkactions/player/leave_house.lua
@@ -16,6 +16,12 @@ function leaveHouse.onSay(player, words, param)
return false
end
+ if house:hasNewOwnership() then
+ player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot leave this house. Ownership is already scheduled to be transferred upon the next server restart.")
+ playerPosition:sendMagicEffect(CONST_ME_POFF)
+ return false
+ end
+
-- Move hireling back to lamp
local tiles = house:getTiles()
if tiles then
@@ -30,7 +36,7 @@ function leaveHouse.onSay(player, words, param)
end
end
- house:setOwnerGuid(0)
+ house:setNewOwnerGuid(0)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully left your house.")
playerPosition:sendMagicEffect(CONST_ME_POFF)
return false
diff --git a/schema.sql b/schema.sql
index d4a69c8c830..c5f1779ec2d 100644
--- a/schema.sql
+++ b/schema.sql
@@ -404,6 +404,7 @@ CREATE TABLE IF NOT EXISTS `guild_membership` (
CREATE TABLE IF NOT EXISTS `houses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`owner` int(11) NOT NULL,
+ `new_owner` int(11) NOT NULL DEFAULT '-1',
`paid` int(10) UNSIGNED NOT NULL DEFAULT '0',
`warnings` int(11) NOT NULL DEFAULT '0',
`name` varchar(255) NOT NULL,
diff --git a/src/canary_server.cpp b/src/canary_server.cpp
index 7a36d6fb924..204797b4a94 100644
--- a/src/canary_server.cpp
+++ b/src/canary_server.cpp
@@ -69,6 +69,7 @@ int CanaryServer::run() {
g_game().setGameState(GAME_STATE_INIT);
setupHousesRent();
+ g_game().transferHouseItemsToDepot();
IOMarket::checkExpiredOffers();
IOMarket::getInstance().updateStatistics();
diff --git a/src/config/config_definitions.hpp b/src/config/config_definitions.hpp
index 020e8579664..6a785280e56 100644
--- a/src/config/config_definitions.hpp
+++ b/src/config/config_definitions.hpp
@@ -89,6 +89,7 @@ enum booleanConfig_t {
REWARD_CHEST_COLLECT_ENABLED,
TOGGLE_MOUNT_IN_PZ,
+ TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART,
LAST_BOOLEAN_CONFIG
};
diff --git a/src/config/configmanager.cpp b/src/config/configmanager.cpp
index 7776bb519c2..940ea29eb51 100644
--- a/src/config/configmanager.cpp
+++ b/src/config/configmanager.cpp
@@ -391,6 +391,8 @@ bool ConfigManager::load() {
boolean[TOGGLE_MOUNT_IN_PZ] = getGlobalBoolean(L, "toggleMountInProtectionZone", false);
+ boolean[TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART] = getGlobalBoolean(L, "togglehouseTransferOnRestart", false);
+
loaded = true;
lua_close(L);
return true;
diff --git a/src/game/game.cpp b/src/game/game.cpp
index 4b188c2dfa6..fa345bc8c39 100644
--- a/src/game/game.cpp
+++ b/src/game/game.cpp
@@ -9847,6 +9847,46 @@ const std::unique_ptr &Game::getIOWheel() const {
return m_IOWheel;
}
+void Game::transferHouseItemsToDepot() {
+ if (!g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART)) {
+ return;
+ }
+
+ if (!transferHouseItemsToPlayer.empty()) {
+ g_logger().info("Initializing house transfer items");
+ }
+
+ uint16_t transferSuccess = 0;
+ for (const auto &[houseId, playerGuid] : transferHouseItemsToPlayer) {
+ auto house = map.houses.getHouse(houseId);
+ if (house) {
+ auto offlinePlayer = std::make_shared(nullptr);
+ if (!IOLoginData::loadPlayerById(offlinePlayer, playerGuid)) {
+ continue;
+ }
+
+ if (!offlinePlayer) {
+ continue;
+ }
+
+ g_logger().info("Tranfering items to the inbox from player '{}'", offlinePlayer->getName());
+ if (house->tryTransferOwnership(offlinePlayer, true)) {
+ transferSuccess++;
+ house->setNewOwnerGuid(-1, true);
+ }
+ }
+ }
+ if (transferSuccess > 0) {
+ g_logger().info("Finished house transfer items from '{}' players", transferSuccess);
+ transferHouseItemsToPlayer.clear();
+ Map::save();
+ }
+}
+
+void Game::setTransferPlayerHouseItems(uint32_t houseId, uint32_t playerId) {
+ transferHouseItemsToPlayer[houseId] = playerId;
+}
+
template
phmap::parallel_flat_hash_set setDifference(const phmap::parallel_flat_hash_set &setA, const phmap::parallel_flat_hash_set &setB) {
phmap::parallel_flat_hash_set setResult;
diff --git a/src/game/game.hpp b/src/game/game.hpp
index 2db44312746..583862ccee4 100644
--- a/src/game/game.hpp
+++ b/src/game/game.hpp
@@ -654,6 +654,9 @@ class Game {
std::unique_ptr &getIOWheel();
const std::unique_ptr &getIOWheel() const;
+ void setTransferPlayerHouseItems(uint32_t houseId, uint32_t playerId);
+ void transferHouseItemsToDepot();
+
private:
std::map forgeMonsterEventIds;
std::set fiendishMonsters;
@@ -783,6 +786,8 @@ class Game {
std::map> teamFinderMap; // [leaderGUID] = TeamFinder*
+ std::map transferHouseItemsToPlayer;
+
// list of items that are in trading state, mapped to the player
std::map, uint32_t> tradeItems;
diff --git a/src/io/iologindata.cpp b/src/io/iologindata.cpp
index db32e581ec2..307d41a9cb3 100644
--- a/src/io/iologindata.cpp
+++ b/src/io/iologindata.cpp
@@ -101,7 +101,8 @@ bool IOLoginData::loadPlayerByName(std::shared_ptr player, const std::st
bool IOLoginData::loadPlayer(std::shared_ptr player, DBResult_ptr result, bool disable /* = false*/) {
if (!result || !player) {
- g_logger().warn("[IOLoginData::loadPlayer] - Player or Resultnullptr: {}", __FUNCTION__);
+ std::string nullptrType = !result ? "Result" : "Player";
+ g_logger().warn("[{}] - {} is nullptr", __FUNCTION__, nullptrType);
return false;
}
diff --git a/src/io/iomapserialize.cpp b/src/io/iomapserialize.cpp
index efde02c390f..0abb8744bbe 100644
--- a/src/io/iomapserialize.cpp
+++ b/src/io/iomapserialize.cpp
@@ -10,6 +10,7 @@
#include "pch.hpp"
#include "io/iomapserialize.hpp"
+#include "io/iologindata.hpp"
#include "game/game.hpp"
#include "items/bed.hpp"
@@ -258,15 +259,31 @@ void IOMapSerialize::saveTile(PropWriteStream &stream, std::shared_ptr til
bool IOMapSerialize::loadHouseInfo() {
Database &db = Database::getInstance();
- DBResult_ptr result = db.storeQuery("SELECT `id`, `owner`, `paid`, `warnings` FROM `houses`");
+ DBResult_ptr result = db.storeQuery("SELECT `id`, `owner`, `new_owner`, `paid`, `warnings` FROM `houses`");
if (!result) {
return false;
}
do {
- const auto &house = g_game().map.houses.getHouse(result->getNumber("id"));
+ auto houseId = result->getNumber("id");
+ const auto &house = g_game().map.houses.getHouse(houseId);
if (house) {
- house->setOwner(result->getNumber("owner"), false);
+ uint32_t owner = result->getNumber("owner");
+ int32_t newOwner = result->getNumber("new_owner");
+ // Transfer house owner
+ auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
+ if (isTransferOnRestart && newOwner >= 0) {
+ g_game().setTransferPlayerHouseItems(houseId, owner);
+ if (newOwner == 0) {
+ g_logger().debug("Removing house id '{}' owner", houseId);
+ house->setOwner(0);
+ } else {
+ g_logger().debug("Setting house id '{}' owner to player GUID '{}'", houseId, newOwner);
+ house->setOwner(newOwner);
+ }
+ } else {
+ house->setOwner(owner, false);
+ }
house->setPaidUntil(result->getNumber("paid"));
house->setPayRentWarnings(result->getNumber("warnings"));
}
diff --git a/src/items/items.cpp b/src/items/items.cpp
index 986f2b2728d..ca8e20e5b30 100644
--- a/src/items/items.cpp
+++ b/src/items/items.cpp
@@ -162,6 +162,10 @@ void Items::loadFromProtobuf() {
iType.pickupable = object.flags().take();
iType.rotatable = object.flags().rotate();
iType.wrapContainer = object.flags().wrap() || object.flags().unwrap();
+ if (iType.wrapContainer) {
+ iType.wrapableTo = ITEM_DECORATION_KIT;
+ iType.wrapable = true;
+ }
iType.multiUse = object.flags().multiuse();
iType.moveable = object.flags().unmove() == false;
iType.canReadText = (object.flags().has_lenshelp() && object.flags().lenshelp().id() == 1112) || (object.flags().has_write() && object.flags().write().max_text_length() != 0) || (object.flags().has_write_once() && object.flags().write_once().max_text_length_once() != 0);
diff --git a/src/items/tile.cpp b/src/items/tile.cpp
index 17c082a6886..2cb572928db 100644
--- a/src/items/tile.cpp
+++ b/src/items/tile.cpp
@@ -747,7 +747,7 @@ ReturnValue Tile::queryAdd(int32_t, const std::shared_ptr &thing, uint32_
if (ground) {
const ItemType &iiType = Item::items[ground->getID()];
if (iiType.blockSolid) {
- if (!iiType.pickupable || item->isMagicField() || item->isBlocking()) {
+ if (!iiType.pickupable && iiType.type != ITEM_TYPE_TRASHHOLDER || item->isMagicField() || item->isBlocking()) {
if (!item->isPickupable() && !item->isCarpet()) {
return RETURNVALUE_NOTENOUGHROOM;
}
diff --git a/src/lua/functions/core/game/config_functions.cpp b/src/lua/functions/core/game/config_functions.cpp
index 153844dd55a..a64f1d91b66 100644
--- a/src/lua/functions/core/game/config_functions.cpp
+++ b/src/lua/functions/core/game/config_functions.cpp
@@ -249,6 +249,8 @@ void ConfigFunctions::init(lua_State* L) {
registerEnumIn(L, "configKeys", VIP_AUTOLOOT_VIP_ONLY);
registerEnumIn(L, "configKeys", VIP_STAY_ONLINE);
registerEnumIn(L, "configKeys", VIP_FAMILIAR_TIME_COOLDOWN_REDUCTION);
+
+ registerEnumIn(L, "configKeys", TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
#undef registerEnumIn
}
diff --git a/src/lua/functions/core/game/lua_enums.cpp b/src/lua/functions/core/game/lua_enums.cpp
index 8a28b06553d..15c20555a25 100644
--- a/src/lua/functions/core/game/lua_enums.cpp
+++ b/src/lua/functions/core/game/lua_enums.cpp
@@ -883,6 +883,7 @@ void LuaEnums::initItemIdEnums(lua_State* L) {
registerEnum(L, ITEM_FORGE_SLIVER);
registerEnum(L, ITEM_FORGE_CORE);
registerEnum(L, ITEM_PRIMAL_POD);
+ registerEnum(L, ITEM_DECORATION_KIT);
registerEnum(L, ItemID_t::HIRELING_LAMP);
}
diff --git a/src/lua/functions/map/house_functions.cpp b/src/lua/functions/map/house_functions.cpp
index b94e44b8837..b012a367d72 100644
--- a/src/lua/functions/map/house_functions.cpp
+++ b/src/lua/functions/map/house_functions.cpp
@@ -107,12 +107,38 @@ int HouseFunctions::luaHouseGetOwnerGuid(lua_State* L) {
return 1;
}
-int HouseFunctions::luaHouseSetOwnerGuid(lua_State* L) {
- // house:setOwnerGuid(guid[, updateDatabase = true])
- if (const auto &house = getUserdataShared(L, 1)) {
- uint32_t guid = getNumber(L, 2);
- bool updateDatabase = getBoolean(L, 3, true);
- house->setOwner(guid, updateDatabase);
+int HouseFunctions::luaHouseSetHouseOwner(lua_State* L) {
+ // house:setHouseOwner(guid[, updateDatabase = true])
+ const auto &house = getUserdataShared(L, 1);
+ if (!house) {
+ reportErrorFunc("House not found");
+ lua_pushnil(L);
+ return 1;
+ }
+
+ uint32_t guid = getNumber(L, 2);
+ bool updateDatabase = getBoolean(L, 3, true);
+ house->setOwner(guid, updateDatabase);
+ pushBoolean(L, true);
+ return 1;
+}
+
+int HouseFunctions::luaHouseSetNewOwnerGuid(lua_State* L) {
+ // house:setNewOwnerGuid(guid[, updateDatabase = true])
+ auto house = getUserdataShared(L, 1);
+ if (house) {
+ auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
+ if (isTransferOnRestart && house->hasNewOwnership()) {
+ const auto player = g_game().getPlayerByGUID(house->getOwner());
+ if (player) {
+ player->sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot leave this house. Ownership is already scheduled to be transferred upon the next server restart.");
+ }
+ lua_pushnil(L);
+ return 1;
+ }
+
+ uint32_t guid = getNumber(L, 2, 0);
+ house->setNewOwnerGuid(guid, false);
pushBoolean(L, true);
} else {
lua_pushnil(L);
@@ -120,6 +146,33 @@ int HouseFunctions::luaHouseSetOwnerGuid(lua_State* L) {
return 1;
}
+int HouseFunctions::luaHouseHasItemOnTile(lua_State* L) {
+ // house:hasItemOnTile()
+ auto house = getUserdataShared(L, 1);
+ if (!house) {
+ reportErrorFunc("House not found");
+ lua_pushnil(L);
+ return 1;
+ }
+
+ pushBoolean(L, house->hasItemOnTile());
+ return 1;
+}
+
+int HouseFunctions::luaHouseHasNewOwnership(lua_State* L) {
+ // house:hasNewOwnership(guid)
+ auto house = getUserdataShared(L, 1);
+ if (!house) {
+ reportErrorFunc("House not found");
+ lua_pushnil(L);
+ return 1;
+ }
+
+ auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
+ pushBoolean(L, isTransferOnRestart && house->hasNewOwnership());
+ return 1;
+}
+
int HouseFunctions::luaHouseStartTrade(lua_State* L) {
// house:startTrade(player, tradePartner)
const auto &house = getUserdataShared(L, 1);
@@ -157,6 +210,14 @@ int HouseFunctions::luaHouseStartTrade(lua_State* L) {
return 1;
}
+ auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
+ if (isTransferOnRestart && house->hasNewOwnership()) {
+ tradePartner->sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot buy this house. Ownership is already scheduled to be transferred upon the next server restart.");
+ player->sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot sell this house. Ownership is already scheduled to be transferred upon the next server restart.");
+ lua_pushnumber(L, RETURNVALUE_YOUCANNOTTRADETHISHOUSE);
+ return 1;
+ }
+
transferItem->getParent()->setParent(player);
if (!g_game().internalStartTrade(player, tradePartner, transferItem)) {
house->resetTransferItem();
diff --git a/src/lua/functions/map/house_functions.hpp b/src/lua/functions/map/house_functions.hpp
index c9ce1cf2da7..b5419ad5e13 100644
--- a/src/lua/functions/map/house_functions.hpp
+++ b/src/lua/functions/map/house_functions.hpp
@@ -25,7 +25,10 @@ class HouseFunctions final : LuaScriptInterface {
registerMethod(L, "House", "getPrice", HouseFunctions::luaHouseGetPrice);
registerMethod(L, "House", "getOwnerGuid", HouseFunctions::luaHouseGetOwnerGuid);
- registerMethod(L, "House", "setOwnerGuid", HouseFunctions::luaHouseSetOwnerGuid);
+ registerMethod(L, "House", "setHouseOwner", HouseFunctions::luaHouseSetHouseOwner);
+ registerMethod(L, "House", "setNewOwnerGuid", HouseFunctions::luaHouseSetNewOwnerGuid);
+ registerMethod(L, "House", "hasItemOnTile", HouseFunctions::luaHouseHasItemOnTile);
+ registerMethod(L, "House", "hasNewOwnership", HouseFunctions::luaHouseHasNewOwnership);
registerMethod(L, "House", "startTrade", HouseFunctions::luaHouseStartTrade);
registerMethod(L, "House", "getBeds", HouseFunctions::luaHouseGetBeds);
@@ -58,7 +61,10 @@ class HouseFunctions final : LuaScriptInterface {
static int luaHouseGetPrice(lua_State* L);
static int luaHouseGetOwnerGuid(lua_State* L);
- static int luaHouseSetOwnerGuid(lua_State* L);
+ static int luaHouseSetHouseOwner(lua_State* L);
+ static int luaHouseSetNewOwnerGuid(lua_State* L);
+ static int luaHouseHasItemOnTile(lua_State* L);
+ static int luaHouseHasNewOwnership(lua_State* L);
static int luaHouseStartTrade(lua_State* L);
static int luaHouseGetBeds(lua_State* L);
diff --git a/src/map/house/house.cpp b/src/map/house/house.cpp
index dadc0de2608..a623a3e523a 100644
--- a/src/map/house/house.cpp
+++ b/src/map/house/house.cpp
@@ -24,12 +24,68 @@ void House::addTile(std::shared_ptr tile) {
updateDoorDescription();
}
+void House::setNewOwnerGuid(int32_t newOwnerGuid, bool serverStartup) {
+ auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
+ if (!isTransferOnRestart) {
+ setOwner(newOwnerGuid, true);
+ return;
+ }
+
+ std::ostringstream query;
+ query << "UPDATE `houses` SET `new_owner` = " << newOwnerGuid << " WHERE `id` = " << id;
+
+ Database &db = Database::getInstance();
+ db.executeQuery(query.str());
+ if (!serverStartup) {
+ setNewOwnership();
+ }
+}
+
+bool House::tryTransferOwnership(std::shared_ptr player, bool serverStartup) {
+ bool transferSuccess = false;
+ if (player) {
+ transferSuccess = transferToDepot(player);
+ } else {
+ transferSuccess = transferToDepot();
+ }
+
+ for (auto tile : houseTiles) {
+ if (const CreatureVector* creatures = tile->getCreatures()) {
+ for (int32_t i = creatures->size(); --i >= 0;) {
+ const auto creature = (*creatures)[i];
+ kickPlayer(nullptr, creature->getPlayer());
+ }
+ }
+ }
+
+ // Remove players from beds
+ for (auto bed : bedsList) {
+ if (bed->getSleeper() != 0) {
+ bed->wakeUp(nullptr);
+ }
+ }
+
+ // Clean access lists
+ if (!serverStartup) {
+ owner = 0;
+ ownerAccountId = 0;
+ }
+ setAccessList(SUBOWNER_LIST, "");
+ setAccessList(GUEST_LIST, "");
+
+ for (auto door : doorList) {
+ door->setAccessList("");
+ }
+
+ return transferSuccess;
+}
+
void House::setOwner(uint32_t guid, bool updateDatabase /* = true*/, std::shared_ptr player /* = nullptr*/) {
if (updateDatabase && owner != guid) {
Database &db = Database::getInstance();
std::ostringstream query;
- query << "UPDATE `houses` SET `owner` = " << guid << ", `bid` = 0, `bid_end` = 0, `last_bid` = 0, `highest_bidder` = 0 WHERE `id` = " << id;
+ query << "UPDATE `houses` SET `owner` = " << guid << ", `new_owner` = -1, `bid` = 0, `bid_end` = 0, `last_bid` = 0, `highest_bidder` = 0 WHERE `id` = " << id;
db.executeQuery(query.str());
}
@@ -40,37 +96,7 @@ void House::setOwner(uint32_t guid, bool updateDatabase /* = true*/, std::shared
isLoaded = true;
if (owner != 0) {
- // Send items to depot
- if (player) {
- transferToDepot(player);
- } else {
- transferToDepot();
- }
-
- for (std::shared_ptr tile : houseTiles) {
- if (const CreatureVector* creatures = tile->getCreatures()) {
- for (int32_t i = creatures->size(); --i >= 0;) {
- kickPlayer(nullptr, (*creatures)[i]->getPlayer());
- }
- }
- }
-
- // Remove players from beds
- for (std::shared_ptr bed : bedsList) {
- if (bed->getSleeper() != 0) {
- bed->wakeUp(nullptr);
- }
- }
-
- // clean access lists
- owner = 0;
- ownerAccountId = 0;
- setAccessList(SUBOWNER_LIST, "");
- setAccessList(GUEST_LIST, "");
-
- for (std::shared_ptr door : doorList) {
- door->setAccessList("");
- }
+ tryTransferOwnership(player, false);
} else {
std::string strRentPeriod = asLowerCaseString(g_configManager().getString(HOUSE_RENT_PERIOD));
time_t currentTime = time(nullptr);
@@ -217,7 +243,7 @@ void House::setAccessList(uint32_t listId, const std::string &textlist) {
}
bool House::transferToDepot() const {
- if (townId == 0 || owner == 0) {
+ if (townId == 0) {
return false;
}
@@ -231,19 +257,19 @@ bool House::transferToDepot() const {
}
transferToDepot(tmpPlayer);
- IOLoginData::savePlayer(tmpPlayer);
}
return true;
}
bool House::transferToDepot(std::shared_ptr player) const {
- if (townId == 0 || owner == 0) {
+ if (townId == 0 || !player) {
return false;
}
+
ItemList moveItemList;
for (std::shared_ptr tile : houseTiles) {
if (const TileItemVector* items = tile->getItemList()) {
- for (auto &item : *items) {
+ for (const std::shared_ptr
- &item : *items) {
if (item->isWrapable()) {
handleWrapableItem(moveItemList, item, player, tile);
} else if (item->isPickupable()) {
@@ -256,13 +282,55 @@ bool House::transferToDepot(std::shared_ptr player) const {
}
for (std::shared_ptr
- item : moveItemList) {
+ g_logger().debug("[{}] moving item '{}' to depot", __FUNCTION__, item->getName());
g_game().internalMoveItem(item->getParent(), player->getInbox(), INDEX_WHEREEVER, item, item->getItemCount(), nullptr, FLAG_NOLIMIT);
}
+ IOLoginData::savePlayer(player);
return true;
}
+bool House::hasItemOnTile() const {
+ bool foundItem = false;
+ for (const std::shared_ptr &tile : houseTiles) {
+ if (const auto &items = tile->getItemList()) {
+ for (const std::shared_ptr
- &item : *items) {
+ if (!item) {
+ continue;
+ }
+
+ if (item->isWrapable()) {
+ foundItem = true;
+ g_logger().error("It is not possible to purchase a house with wrap item inside: id '{}', name '{}'", item->getID(), item->getName());
+ break;
+ } else if (item->isPickupable()) {
+ foundItem = true;
+ g_logger().error("It is not possible to purchase a house with pickupable item inside: id '{}', name '{}'", item->getID(), item->getName());
+ break;
+ } else {
+ if (item->getContainer() && (item->isPickupable() || item->isWrapable())) {
+ foundItem = true;
+ g_logger().error("It is not possible to purchase a house with container item inside: id '{}', name '{}'", item->getID(), item->getName());
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ return foundItem;
+}
+
+bool House::hasNewOwnership() const {
+ return hasNewOwnerOnStartup;
+}
+
+void House::setNewOwnership() {
+ hasNewOwnerOnStartup = true;
+}
+
void House::handleWrapableItem(ItemList &moveItemList, std::shared_ptr
- item, std::shared_ptr player, std::shared_ptr houseTile) const {
if (item->isWrapContainer()) {
+ g_logger().debug("[{}] found wrapable item '{}'", __FUNCTION__, item->getName());
handleContainer(moveItemList, item);
}
@@ -375,7 +443,6 @@ void House::resetTransferItem() {
transferItem = nullptr;
transfer_container->resetParent();
transfer_container->removeThing(tmpItem, tmpItem->getItemCount());
- transfer_container = nullptr;
}
}
@@ -392,6 +459,17 @@ std::shared_ptr HouseTransferItem::createHouseTransferItem(st
void HouseTransferItem::onTradeEvent(TradeEvents_t event, std::shared_ptr owner) {
if (event == ON_TRADE_TRANSFER) {
if (house) {
+ auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
+ auto ownershipTransferMessage = " The ownership will be transferred upon server restart.";
+ auto boughtMessage = fmt::format("You have successfully bought the house.{}", isTransferOnRestart ? ownershipTransferMessage : "");
+ auto soldMessage = fmt::format("You have successfully sold your house.{}", isTransferOnRestart ? ownershipTransferMessage : "");
+
+ owner->sendTextMessage(MESSAGE_EVENT_ADVANCE, boughtMessage);
+
+ auto oldOwner = g_game().getPlayerByGUID(house->getOwner());
+ if (oldOwner) {
+ oldOwner->sendTextMessage(MESSAGE_EVENT_ADVANCE, soldMessage);
+ }
house->executeTransfer(static_self_cast(), owner);
}
@@ -408,7 +486,16 @@ bool House::executeTransfer(std::shared_ptr item, std::shared
return false;
}
- setOwner(newOwner->getGUID());
+ auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART);
+ if (isTransferOnRestart) {
+ if (hasNewOwnerOnStartup) {
+ return false;
+ }
+
+ setNewOwnerGuid(newOwner->getGUID(), false);
+ } else {
+ setOwner(newOwner->getGUID());
+ }
transferItem = nullptr;
return true;
}
diff --git a/src/map/house/house.hpp b/src/map/house/house.hpp
index a56a172c5b4..845693e303e 100644
--- a/src/map/house/house.hpp
+++ b/src/map/house/house.hpp
@@ -130,6 +130,22 @@ class House : public SharedObject {
return houseName;
}
+ /**
+ * @brief Set the new owner's GUID for the house.
+ *
+ * This function updates the new owner's GUID in the database.
+ * It also sets the `hasNewOwnerOnStartup` flag if the given guid is positive.
+ *
+ * @param guid The new owner's GUID. Default value is 0.
+ * @param serverStartup If set to false, further changes to ownership will be blocked.
+ *
+ * @note The guid "0" is used when the player uses the "leavehouse" command,
+ * indicating that the house is not being transferred to anyone.
+ * @note The guid "-1" represents the default value and will not execute any actions.
+ * @note The actual transfer of ownership will occur upon server restart if `serverStartup` is set to false.
+ */
+ void setNewOwnerGuid(int32_t newOwnerGuid, bool serverStartup);
+ bool tryTransferOwnership(std::shared_ptr player, bool serverStartup);
void setOwner(uint32_t guid, bool updateDatabase = true, std::shared_ptr player = nullptr);
uint32_t getOwner() const {
return owner;
@@ -207,9 +223,14 @@ class House : public SharedObject {
return maxBeds;
}
+ bool transferToDepot(std::shared_ptr player) const;
+
+ bool hasItemOnTile() const;
+ bool hasNewOwnership() const;
+ void setNewOwnership();
+
private:
bool transferToDepot() const;
- bool transferToDepot(std::shared_ptr player) const;
AccessList guestList;
AccessList subOwnerList;
@@ -223,6 +244,8 @@ class House : public SharedObject {
std::string houseName;
std::string ownerName;
+ bool hasNewOwnerOnStartup = false;
+
std::shared_ptr transferItem = nullptr;
time_t paidUntil = 0;