diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-01-20 21:09:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-01-20 21:09:46 +0300 |
commit | 8f24400fc10658db9636e6cdd315504d75c71a5d (patch) | |
tree | f2f5a1094f6c48040b87238612d4042704846e40 /src/resources | |
parent | 1f2dd660dad937a3c1f2a2dfc07b756965e4ddae (diff) | |
download | manaplus-8f24400fc10658db9636e6cdd315504d75c71a5d.tar.gz manaplus-8f24400fc10658db9636e6cdd315504d75c71a5d.tar.bz2 manaplus-8f24400fc10658db9636e6cdd315504d75c71a5d.tar.xz manaplus-8f24400fc10658db9636e6cdd315504d75c71a5d.zip |
add attack action for pets.
New pets db attributes:
attackOffsetX
attackOffsetY
attaclDirectionType
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/beinginfo.cpp | 3 | ||||
-rw-r--r-- | src/resources/beinginfo.h | 21 | ||||
-rw-r--r-- | src/resources/db/petdb.cpp | 6 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/resources/beinginfo.cpp b/src/resources/beinginfo.cpp index 38c141d63..40ea7af1a 100644 --- a/src/resources/beinginfo.cpp +++ b/src/resources/beinginfo.cpp @@ -70,10 +70,13 @@ BeingInfo::BeingInfo() : mMoveOffsetY(0), mDeadOffsetX(0), mDeadOffsetY(0), + mAttackOffsetX(0), + mAttackOffsetY(0), mThinkTime(50), mDirectionType(1), mSitDirectionType(1), mDeadDirectionType(1), + mAttackDirectionType(1), mStaticMaxHP(false), mTargetSelection(true) { diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h index d862f1020..31725d218 100644 --- a/src/resources/beinginfo.h +++ b/src/resources/beinginfo.h @@ -284,6 +284,18 @@ class BeingInfo final int getDeadOffsetY() const A_WARN_UNUSED { return mDeadOffsetY; } + void setAttackOffsetX(const int n) + { mAttackOffsetX = n; } + + int getAttackOffsetX() const A_WARN_UNUSED + { return mAttackOffsetX; } + + void setAttackOffsetY(const int n) + { mAttackOffsetY = n; } + + int getAttackOffsetY() const A_WARN_UNUSED + { return mAttackOffsetY; } + void setThinkTime(const int n) { mThinkTime = n; } @@ -308,6 +320,12 @@ class BeingInfo final int getDeadDirectionType() const A_WARN_UNUSED { return mDeadDirectionType; } + void setAttackDirectionType(const int n) + { mAttackDirectionType = n; } + + int getAttackDirectionType() const A_WARN_UNUSED + { return mAttackDirectionType; } + void setColorsList(const std::string &name); std::string getColor(const int idx) const A_WARN_UNUSED; @@ -348,10 +366,13 @@ class BeingInfo final int mMoveOffsetY; int mDeadOffsetX; int mDeadOffsetY; + int mAttackOffsetX; + int mAttackOffsetY; int mThinkTime; int mDirectionType; int mSitDirectionType; int mDeadDirectionType; + int mAttackDirectionType; bool mStaticMaxHP; bool mTargetSelection; }; diff --git a/src/resources/db/petdb.cpp b/src/resources/db/petdb.cpp index c9f3bdbeb..7af3c5d09 100644 --- a/src/resources/db/petdb.cpp +++ b/src/resources/db/petdb.cpp @@ -132,6 +132,10 @@ void PETDB::loadXmlFile(const std::string &fileName) "deadOffsetX", 0)); currentInfo->setDeadOffsetY(XML::getProperty(petNode, "deadOffsetY", 1)); + currentInfo->setAttackOffsetX(XML::getProperty(petNode, + "attackOffsetX", currentInfo->getTargetOffsetX())); + currentInfo->setAttackOffsetY(XML::getProperty(petNode, + "attackOffsetY", currentInfo->getTargetOffsetY())); currentInfo->setThinkTime(XML::getProperty(petNode, "thinkTime", 500) / 10); @@ -142,6 +146,8 @@ void PETDB::loadXmlFile(const std::string &fileName) "sitDirectionType", 1)); currentInfo->setDeadDirectionType(XML::getProperty(petNode, "deadDirectionType", 1)); + currentInfo->setAttackDirectionType(XML::getProperty(petNode, + "attackDirectionType", 4)); SpriteDisplay display; for_each_xml_child_node(spriteNode, petNode) |