diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-02-14 02:29:16 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-02-14 02:29:16 +0300 |
commit | 6db83b4ee1c20162a9dd31428cbc36ce7405352d (patch) | |
tree | 502c13b828500568dbc842469ae44522a1b2ca2c /src/resources | |
parent | 4e3b36697e96e30008aea877a625d1be1e920073 (diff) | |
download | mv-6db83b4ee1c20162a9dd31428cbc36ce7405352d.tar.gz mv-6db83b4ee1c20162a9dd31428cbc36ce7405352d.tar.bz2 mv-6db83b4ee1c20162a9dd31428cbc36ce7405352d.tar.xz mv-6db83b4ee1c20162a9dd31428cbc36ce7405352d.zip |
Dont check and modify floor item position if server support haveExtendedDropsPosition.
Also add for legacy servers support for maxFloorOffsetX/Y.
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/db/itemdb.cpp | 7 | ||||
-rw-r--r-- | src/resources/iteminfo.cpp | 3 | ||||
-rw-r--r-- | src/resources/iteminfo.h | 17 |
3 files changed, 20 insertions, 7 deletions
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; |