From c189a65d3cb097d75d35a5731db694b471b5c60d Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Mon, 18 Sep 2023 16:52:46 -0300 Subject: [PATCH 1/6] fix: house transfer owner only in startup --- data-otservbr-global/lib/compat/compat.lua | 2 +- data-otservbr-global/migrations/39.lua | 4 +- data-otservbr-global/migrations/40.lua | 3 + data/items/items.xml | 21 --- data/scripts/talkactions/god/house_owner.lua | 4 +- data/scripts/talkactions/god/remove_thing.lua | 12 +- data/scripts/talkactions/player/buy_house.lua | 7 +- .../talkactions/player/leave_house.lua | 8 +- schema.sql | 1 + src/canary_server.cpp | 1 + src/game/game.cpp | 36 +++++ src/game/game.hpp | 5 + src/io/iologindata.cpp | 3 +- src/io/iomapserialize.cpp | 22 ++- src/items/tile.cpp | 2 +- src/lua/functions/map/house_functions.cpp | 70 ++++++++- src/lua/functions/map/house_functions.hpp | 10 +- src/map/house/house.cpp | 139 +++++++++++++----- src/map/house/house.hpp | 25 +++- 19 files changed, 297 insertions(+), 78 deletions(-) create mode 100644 data-otservbr-global/migrations/40.lua 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/items/items.xml b/data/items/items.xml index 7c94318218c..1b56a9fda2b 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 @@ - @@ -12140,7 +12135,6 @@ - @@ -12149,14 +12143,12 @@ - - @@ -12165,7 +12157,6 @@ - @@ -12174,7 +12165,6 @@ - @@ -12185,7 +12175,6 @@ - @@ -12196,7 +12185,6 @@ - @@ -12205,7 +12193,6 @@ - @@ -12218,7 +12205,6 @@ - @@ -12228,7 +12214,6 @@ - @@ -20480,7 +20465,6 @@ - @@ -31380,7 +31364,6 @@ - @@ -32745,7 +32728,6 @@ - @@ -34725,7 +34707,6 @@ - @@ -38299,7 +38280,6 @@ - @@ -38706,7 +38686,6 @@ - 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/game/game.cpp b/src/game/game.cpp index 4b188c2dfa6..f200f20d3e7 100644 --- a/src/game/game.cpp +++ b/src/game/game.cpp @@ -9847,6 +9847,42 @@ const std::unique_ptr &Game::getIOWheel() const { return m_IOWheel; } +void Game::transferHouseItemsToDepot() { + 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..dac377a61c3 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,30 @@ 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 + if (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/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/map/house_functions.cpp b/src/lua/functions/map/house_functions.cpp index b94e44b8837..60bb0bedba8 100644 --- a/src/lua/functions/map/house_functions.cpp +++ b/src/lua/functions/map/house_functions.cpp @@ -107,12 +107,37 @@ 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) + auto house = getUserdata(L, 1); + if (house) { + if (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 +145,32 @@ int HouseFunctions::luaHouseSetOwnerGuid(lua_State* L) { return 1; } +int HouseFunctions::luaHouseHasItemOnTile(lua_State* L) { + // house:hasItemOnTile() + auto house = getUserdata(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 = getUserdata(L, 1); + if (!house) { + reportErrorFunc("House not found"); + lua_pushnil(L); + return 1; + } + + pushBoolean(L, house->hasNewOwnership()); + return 1; +} + int HouseFunctions::luaHouseStartTrade(lua_State* L) { // house:startTrade(player, tradePartner) const auto &house = getUserdataShared(L, 1); @@ -157,6 +208,13 @@ int HouseFunctions::luaHouseStartTrade(lua_State* L) { return 1; } + if (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..b9b8c8759ba 100644 --- a/src/map/house/house.cpp +++ b/src/map/house/house.cpp @@ -24,12 +24,62 @@ void House::addTile(std::shared_ptr tile) { updateDoorDescription(); } +void House::setNewOwnerGuid(int32_t newOwnerGuid, bool serverStartup) { + 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) { + 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(""); + } + + bool transferSuccess = false; + if (player) { + transferSuccess = transferToDepot(player); + } else { + transferSuccess = transferToDepot(); + } + + 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 +90,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 +237,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,13 +251,12 @@ 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; @@ -256,13 +275,52 @@ 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; + break; + } else if (item->isPickupable()) { + foundItem = true; + break; + } else { + if (const std::shared_ptr& container = item->getContainer()) { + foundItem = true; + 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); } @@ -392,6 +450,11 @@ std::shared_ptr HouseTransferItem::createHouseTransferItem(st void HouseTransferItem::onTradeEvent(TradeEvents_t event, std::shared_ptr owner) { if (event == ON_TRADE_TRANSFER) { if (house) { + owner->sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully bought the house. The ownership will be transferred upon server restart."); + auto oldOwner = g_game().getPlayerByGUID(house->getOwner()); + if (oldOwner) { + oldOwner->sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully sold your house. The ownership will be transferred upon server restart."); + } house->executeTransfer(static_self_cast(), owner); } @@ -408,7 +471,11 @@ bool House::executeTransfer(std::shared_ptr item, std::shared return false; } - setOwner(newOwner->getGUID()); + if (hasNewOwnerOnStartup) { + return false; + } + + setNewOwnerGuid(newOwner->getGUID(), false); 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; From d883526516190f3952fdc1df301bf4abf7536d54 Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Tue, 19 Sep 2023 23:07:56 -0300 Subject: [PATCH 2/6] fix: register decoration kits from dat --- src/items/items.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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); From 0351ebc98f602e536331eae1c84d5e9fedfc4d61 Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Tue, 19 Sep 2023 23:52:00 -0300 Subject: [PATCH 3/6] fix: convert all npcs to sell new construction kit --- .../actions/other/construction_kits.lua | 4 +- data-otservbr-global/npc/allen.lua | 16 ++-- data-otservbr-global/npc/asphota.lua | 2 +- data-otservbr-global/npc/borkas.lua | 24 +++--- data-otservbr-global/npc/cael.lua | 8 +- data-otservbr-global/npc/dorbin.lua | 76 ++++++++--------- data-otservbr-global/npc/eddy.lua | 68 +++++++-------- data-otservbr-global/npc/edvard.lua | 74 ++++++++-------- data-otservbr-global/npc/emael.lua | 2 +- data-otservbr-global/npc/emperor_kruzak.lua | 2 +- data-otservbr-global/npc/esrik.lua | 2 +- data-otservbr-global/npc/fayla.lua | 4 +- data-otservbr-global/npc/feizuhl.lua | 74 ++++++++-------- data-otservbr-global/npc/florentine.lua | 2 +- data-otservbr-global/npc/gamon.lua | 70 ++++++++-------- data-otservbr-global/npc/haani.lua | 74 ++++++++-------- data-otservbr-global/npc/hairycles.lua | 6 +- data-otservbr-global/npc/hireling.lua | 84 +++++++++---------- data-otservbr-global/npc/hofech.lua | 74 ++++++++-------- data-otservbr-global/npc/inkaef.lua | 72 ++++++++-------- data-otservbr-global/npc/iwar.lua | 74 ++++++++-------- data-otservbr-global/npc/janz.lua | 74 ++++++++-------- data-otservbr-global/npc/julian.lua | 4 +- data-otservbr-global/npc/king_tibianus.lua | 2 +- .../npc/messenger_of_santa.lua | 2 +- data-otservbr-global/npc/nicholas.lua | 76 ++++++++--------- data-otservbr-global/npc/nydala.lua | 76 ++++++++--------- data-otservbr-global/npc/peggy.lua | 74 ++++++++-------- data-otservbr-global/npc/queen_eloise.lua | 2 +- data-otservbr-global/npc/rose.lua | 2 +- data-otservbr-global/npc/shiantis.lua | 18 ++-- data-otservbr-global/npc/the_lootmonger.lua | 4 +- data-otservbr-global/npc/ukea.lua | 74 ++++++++-------- data-otservbr-global/npc/vera.lua | 74 ++++++++-------- data-otservbr-global/npc/walter_jaeger.lua | 2 +- data-otservbr-global/npc/yasir.lua | 4 +- data-otservbr-global/npc/yoem.lua | 74 ++++++++-------- data-otservbr-global/npc/yulas.lua | 8 +- data-otservbr-global/npc/zaidal.lua | 16 ++-- .../actions/other/construction_kits.lua | 4 +- data/modules/scripts/gamestore/init.lua | 2 +- src/lua/functions/core/game/lua_enums.cpp | 1 + 42 files changed, 705 insertions(+), 700 deletions(-) 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/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/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/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); } From db789f8e0237a7b7407dd325abd3a6a70d834cc6 Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Wed, 20 Sep 2023 16:02:39 -0300 Subject: [PATCH 4/6] fix: container on house and remover dustbin pickupable --- data/items/items.xml | 1 - src/map/house/house.cpp | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/data/items/items.xml b/data/items/items.xml index 1b56a9fda2b..4e19951cd1a 100644 --- a/data/items/items.xml +++ b/data/items/items.xml @@ -4651,7 +4651,6 @@ - diff --git a/src/map/house/house.cpp b/src/map/house/house.cpp index b9b8c8759ba..750071caa97 100644 --- a/src/map/house/house.cpp +++ b/src/map/house/house.cpp @@ -262,7 +262,7 @@ bool House::transferToDepot(std::shared_ptr player) const { 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()) { @@ -293,13 +293,16 @@ bool House::hasItemOnTile() const { 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 (const std::shared_ptr& container = item->getContainer()) { + 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; } } From af193d67388a892c5a3e2b4c936e5cba36df6633 Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Sat, 23 Sep 2023 16:12:59 -0300 Subject: [PATCH 5/6] feat: enable/disable transfer/leave on startup --- config.lua.dist | 6 +++ src/config/config_definitions.hpp | 1 + src/config/configmanager.cpp | 2 + src/game/game.cpp | 4 ++ src/io/iomapserialize.cpp | 3 +- .../functions/core/game/config_functions.cpp | 2 + src/lua/functions/map/house_functions.cpp | 24 ++++++--- src/map/house/house.cpp | 51 ++++++++++++------- 8 files changed, 67 insertions(+), 26 deletions(-) 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/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 f200f20d3e7..fa345bc8c39 100644 --- a/src/game/game.cpp +++ b/src/game/game.cpp @@ -9848,6 +9848,10 @@ const std::unique_ptr &Game::getIOWheel() const { } void Game::transferHouseItemsToDepot() { + if (!g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART)) { + return; + } + if (!transferHouseItemsToPlayer.empty()) { g_logger().info("Initializing house transfer items"); } diff --git a/src/io/iomapserialize.cpp b/src/io/iomapserialize.cpp index dac377a61c3..0abb8744bbe 100644 --- a/src/io/iomapserialize.cpp +++ b/src/io/iomapserialize.cpp @@ -271,7 +271,8 @@ bool IOMapSerialize::loadHouseInfo() { uint32_t owner = result->getNumber("owner"); int32_t newOwner = result->getNumber("new_owner"); // Transfer house owner - if (newOwner >= 0) { + 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); 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/map/house_functions.cpp b/src/lua/functions/map/house_functions.cpp index 60bb0bedba8..9999c7b2349 100644 --- a/src/lua/functions/map/house_functions.cpp +++ b/src/lua/functions/map/house_functions.cpp @@ -124,10 +124,11 @@ int HouseFunctions::luaHouseSetHouseOwner(lua_State* L) { } int HouseFunctions::luaHouseSetNewOwnerGuid(lua_State* L) { - // house:setNewOwnerGuid(guid) - auto house = getUserdata(L, 1); + // house:setNewOwnerGuid(guid[, updateDatabase = true]) + auto house = getUserdataShared(L, 1); if (house) { - if (house->hasNewOwnership()) { + 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."); @@ -137,7 +138,12 @@ int HouseFunctions::luaHouseSetNewOwnerGuid(lua_State* L) { } uint32_t guid = getNumber(L, 2, 0); - house->setNewOwnerGuid(guid, false); + if (isTransferOnRestart) { + house->setNewOwnerGuid(guid, false); + } else { + bool updateDatabase = getBoolean(L, 3, true); + house->setOwner(guid, updateDatabase); + } pushBoolean(L, true); } else { lua_pushnil(L); @@ -147,7 +153,7 @@ int HouseFunctions::luaHouseSetNewOwnerGuid(lua_State* L) { int HouseFunctions::luaHouseHasItemOnTile(lua_State* L) { // house:hasItemOnTile() - auto house = getUserdata(L, 1); + auto house = getUserdataShared(L, 1); if (!house) { reportErrorFunc("House not found"); lua_pushnil(L); @@ -160,14 +166,15 @@ int HouseFunctions::luaHouseHasItemOnTile(lua_State* L) { int HouseFunctions::luaHouseHasNewOwnership(lua_State* L) { // house:hasNewOwnership(guid) - auto house = getUserdata(L, 1); + auto house = getUserdataShared(L, 1); if (!house) { reportErrorFunc("House not found"); lua_pushnil(L); return 1; } - pushBoolean(L, house->hasNewOwnership()); + auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART); + pushBoolean(L, isTransferOnRestart && house->hasNewOwnership()); return 1; } @@ -208,7 +215,8 @@ int HouseFunctions::luaHouseStartTrade(lua_State* L) { return 1; } - if (house->hasNewOwnership()) { + 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); diff --git a/src/map/house/house.cpp b/src/map/house/house.cpp index 750071caa97..a623a3e523a 100644 --- a/src/map/house/house.cpp +++ b/src/map/house/house.cpp @@ -25,6 +25,12 @@ void House::addTile(std::shared_ptr tile) { } 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; @@ -36,6 +42,13 @@ void House::setNewOwnerGuid(int32_t newOwnerGuid, bool serverStartup) { } 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;) { @@ -64,13 +77,6 @@ bool House::tryTransferOwnership(std::shared_ptr player, bool serverStar door->setAccessList(""); } - bool transferSuccess = false; - if (player) { - transferSuccess = transferToDepot(player); - } else { - transferSuccess = transferToDepot(); - } - return transferSuccess; } @@ -259,6 +265,7 @@ bool House::transferToDepot(std::shared_ptr player) const { if (townId == 0 || !player) { return false; } + ItemList moveItemList; for (std::shared_ptr tile : houseTiles) { if (const TileItemVector* items = tile->getItemList()) { @@ -284,9 +291,9 @@ bool House::transferToDepot(std::shared_ptr player) const { bool House::hasItemOnTile() const { bool foundItem = false; - for (const std::shared_ptr& tile : houseTiles) { + for (const std::shared_ptr &tile : houseTiles) { if (const auto &items = tile->getItemList()) { - for (const std::shared_ptr& item : *items) { + for (const std::shared_ptr &item : *items) { if (!item) { continue; } @@ -300,7 +307,7 @@ bool House::hasItemOnTile() const { 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())) { + 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; @@ -436,7 +443,6 @@ void House::resetTransferItem() { transferItem = nullptr; transfer_container->resetParent(); transfer_container->removeThing(tmpItem, tmpItem->getItemCount()); - transfer_container = nullptr; } } @@ -453,10 +459,16 @@ std::shared_ptr HouseTransferItem::createHouseTransferItem(st void HouseTransferItem::onTradeEvent(TradeEvents_t event, std::shared_ptr owner) { if (event == ON_TRADE_TRANSFER) { if (house) { - owner->sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully bought the house. The ownership will be transferred upon server restart."); + 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, "You have successfully sold your house. The ownership will be transferred upon server restart."); + oldOwner->sendTextMessage(MESSAGE_EVENT_ADVANCE, soldMessage); } house->executeTransfer(static_self_cast(), owner); } @@ -474,11 +486,16 @@ bool House::executeTransfer(std::shared_ptr item, std::shared return false; } - if (hasNewOwnerOnStartup) { - return false; - } + auto isTransferOnRestart = g_configManager().getBoolean(TOGGLE_HOUSE_TRANSFER_ON_SERVER_RESTART); + if (isTransferOnRestart) { + if (hasNewOwnerOnStartup) { + return false; + } - setNewOwnerGuid(newOwner->getGUID(), false); + setNewOwnerGuid(newOwner->getGUID(), false); + } else { + setOwner(newOwner->getGUID()); + } transferItem = nullptr; return true; } From 768fb152c302363a824850154569a1b8ab6add00 Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Sat, 23 Sep 2023 16:16:19 -0300 Subject: [PATCH 6/6] fix: simplyfi logic --- src/lua/functions/map/house_functions.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/lua/functions/map/house_functions.cpp b/src/lua/functions/map/house_functions.cpp index 9999c7b2349..b012a367d72 100644 --- a/src/lua/functions/map/house_functions.cpp +++ b/src/lua/functions/map/house_functions.cpp @@ -138,12 +138,7 @@ int HouseFunctions::luaHouseSetNewOwnerGuid(lua_State* L) { } uint32_t guid = getNumber(L, 2, 0); - if (isTransferOnRestart) { - house->setNewOwnerGuid(guid, false); - } else { - bool updateDatabase = getBoolean(L, 3, true); - house->setOwner(guid, updateDatabase); - } + house->setNewOwnerGuid(guid, false); pushBoolean(L, true); } else { lua_pushnil(L);