summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-16 22:10:35 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-16 22:10:35 +0300
commit211132be950db3d94811e2cdf0a349d468b3a824 (patch)
tree1ff5df5a74c79a98ca155715222c94b30110432d
parent5f9e53cb962078bf2d13786157fbf31465d4e864 (diff)
downloadmv-211132be950db3d94811e2cdf0a349d468b3a824.tar.gz
mv-211132be950db3d94811e2cdf0a349d468b3a824.tar.bz2
mv-211132be950db3d94811e2cdf0a349d468b3a824.tar.xz
mv-211132be950db3d94811e2cdf0a349d468b3a824.zip
Add server feature haveEightDirections.
-rw-r--r--src/net/eathena/serverfeatures.cpp5
-rw-r--r--src/net/eathena/serverfeatures.h2
-rw-r--r--src/net/serverfeatures.h2
-rw-r--r--src/net/tmwa/serverfeatures.cpp5
-rw-r--r--src/net/tmwa/serverfeatures.h2
-rw-r--r--src/resources/db/itemdb.cpp7
6 files changed, 21 insertions, 2 deletions
diff --git a/src/net/eathena/serverfeatures.cpp b/src/net/eathena/serverfeatures.cpp
index b92a6f7b4..a35fb9655 100644
--- a/src/net/eathena/serverfeatures.cpp
+++ b/src/net/eathena/serverfeatures.cpp
@@ -122,4 +122,9 @@ bool ServerFeatures::haveEmailOnRegister() const
return false;
}
+bool ServerFeatures::haveEightDirections() const
+{
+ return true;
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/serverfeatures.h b/src/net/eathena/serverfeatures.h
index fc140a604..cd2ce89dd 100644
--- a/src/net/eathena/serverfeatures.h
+++ b/src/net/eathena/serverfeatures.h
@@ -69,6 +69,8 @@ class ServerFeatures final : public Net::ServerFeatures
bool haveMonsterAttackRange() const override final;
bool haveEmailOnRegister() const override final;
+
+ bool haveEightDirections() const override final;
};
} // namespace EAthena
diff --git a/src/net/serverfeatures.h b/src/net/serverfeatures.h
index d1a575692..d2029d7da 100644
--- a/src/net/serverfeatures.h
+++ b/src/net/serverfeatures.h
@@ -66,6 +66,8 @@ class ServerFeatures notfinal
virtual bool haveMonsterAttackRange() const = 0;
virtual bool haveEmailOnRegister() const = 0;
+
+ virtual bool haveEightDirections() const = 0;
};
} // namespace Net
diff --git a/src/net/tmwa/serverfeatures.cpp b/src/net/tmwa/serverfeatures.cpp
index 73791e6c8..912293b8f 100644
--- a/src/net/tmwa/serverfeatures.cpp
+++ b/src/net/tmwa/serverfeatures.cpp
@@ -124,4 +124,9 @@ bool ServerFeatures::haveEmailOnRegister() const
return serverVersion >= 7;
}
+bool ServerFeatures::haveEightDirections() const
+{
+ return false;
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/serverfeatures.h b/src/net/tmwa/serverfeatures.h
index 6c8776e8e..ab3f4617b 100644
--- a/src/net/tmwa/serverfeatures.h
+++ b/src/net/tmwa/serverfeatures.h
@@ -69,6 +69,8 @@ class ServerFeatures final : public Net::ServerFeatures
bool haveMonsterAttackRange() const override final;
bool haveEmailOnRegister() const override final;
+
+ bool haveEightDirections() const override final;
};
} // namespace TmwAthena
diff --git a/src/resources/db/itemdb.cpp b/src/resources/db/itemdb.cpp
index 7dfecb6ae..5f0b377b1 100644
--- a/src/resources/db/itemdb.cpp
+++ b/src/resources/db/itemdb.cpp
@@ -35,6 +35,9 @@
#include "resources/db/itemdbstat.h"
+#include "net/net.h"
+#include "net/serverfeatures.h"
+
#include "utils/delete2.h"
#include "utils/dtor.h"
@@ -672,7 +675,7 @@ static int parseDirectionName(const std::string &name)
int id = -1;
if (name == "down")
{
- if (serverVersion > 0)
+ if (Net::getServerFeatures()->haveEightDirections())
id = SpriteDirection::DOWN;
else
id = -2;
@@ -691,7 +694,7 @@ static int parseDirectionName(const std::string &name)
}
else if (name == "up")
{
- if (serverVersion > 0)
+ if (Net::getServerFeatures()->haveEightDirections())
id = SpriteDirection::UP;
else
id = -3;