From 6db83b4ee1c20162a9dd31428cbc36ce7405352d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 14 Feb 2016 02:29:16 +0300 Subject: Dont check and modify floor item position if server support haveExtendedDropsPosition. Also add for legacy servers support for maxFloorOffsetX/Y. --- src/resources/db/itemdb.cpp | 7 ++++++- src/resources/iteminfo.cpp | 3 ++- src/resources/iteminfo.h | 17 ++++++++++++----- 3 files changed, 20 insertions(+), 7 deletions(-) (limited to 'src/resources') diff --git a/src/resources/db/itemdb.cpp b/src/resources/db/itemdb.cpp index d07301e88..e953aa433 100644 --- a/src/resources/db/itemdb.cpp +++ b/src/resources/db/itemdb.cpp @@ -320,6 +320,10 @@ void ItemDB::loadXmlFile(const std::string &fileName, int &tagNum) int pet = XML::getProperty(node, "pet", 0); const int maxFloorOffset = XML::getIntProperty( node, "maxFloorOffset", mapTileSize, 0, mapTileSize); + const int maxFloorOffsetX = XML::getIntProperty( + node, "maxFloorOffsetX", maxFloorOffset, 0, mapTileSize); + const int maxFloorOffsetY = XML::getIntProperty( + node, "maxFloorOffsetY", maxFloorOffset, 0, mapTileSize); std::string useButton = XML::langProperty(node, "useButton", ""); std::string useButton2 = XML::langProperty(node, "useButton2", ""); std::string colors = XML::getProperty(node, "colors", ""); @@ -500,7 +504,8 @@ void ItemDB::loadXmlFile(const std::string &fileName, int &tagNum) if (iconColors.empty() && inheritItemInfo) iconColors = inheritItemInfo->getIconColorsListName(); itemInfo->setIconColorsList(iconColors); - itemInfo->setMaxFloorOffset(maxFloorOffset); + itemInfo->setMaxFloorOffsetX(maxFloorOffsetX); + itemInfo->setMaxFloorOffsetY(maxFloorOffsetY); itemInfo->setPickupCursor(XML::getProperty( node, "pickupCursor", "pickup")); diff --git a/src/resources/iteminfo.cpp b/src/resources/iteminfo.cpp index 9fd4f2ba2..133242567 100644 --- a/src/resources/iteminfo.cpp +++ b/src/resources/iteminfo.cpp @@ -68,7 +68,8 @@ ItemInfo::ItemInfo() : mHitEffectId(-1), mCriticalHitEffectId(-1), mMissEffectId(-1), - maxFloorOffset(mapTileSize), + maxFloorOffsetX(mapTileSize), + maxFloorOffsetY(mapTileSize), mPickupCursor(Cursor::CURSOR_POINTER), mPet(0), mProtected(false) diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h index 2bf4e7980..c07136581 100644 --- a/src/resources/iteminfo.h +++ b/src/resources/iteminfo.h @@ -219,11 +219,17 @@ class ItemInfo final bool isRemoveSprites() const A_WARN_UNUSED { return mIsRemoveSprites; } - void setMaxFloorOffset(const int i) - { maxFloorOffset = i; } + void setMaxFloorOffsetX(const int i) + { maxFloorOffsetX = i; } - int getMaxFloorOffset() const A_WARN_UNUSED - { return maxFloorOffset; } + void setMaxFloorOffsetY(const int i) + { maxFloorOffsetY = i; } + + int getMaxFloorOffsetX() const A_WARN_UNUSED + { return maxFloorOffsetX; } + + int getMaxFloorOffsetY() const A_WARN_UNUSED + { return maxFloorOffsetY; } bool isRemoveItemId(int id) const A_WARN_UNUSED; @@ -360,7 +366,8 @@ class ItemInfo final int mHitEffectId; int mCriticalHitEffectId; int mMissEffectId; - int maxFloorOffset; + int maxFloorOffsetX; + int maxFloorOffsetY; Cursor::Cursor mPickupCursor; int mPet; bool mProtected; -- cgit v1.2.3-60-g2f50