diff options
Diffstat (limited to 'src/being')
-rw-r--r-- | src/being/being.cpp | 7 | ||||
-rw-r--r-- | src/being/being.h | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp index dd06c918d..5a4da79fc 100644 --- a/src/being/being.cpp +++ b/src/being/being.cpp @@ -1309,7 +1309,7 @@ std::string Being::getMoveAction() const std::string Being::getWeaponAttackAction(const ItemInfo *const weapon) const { if (!weapon) - return SpriteAction::ATTACK; + return getAttackAction(); if (mHorseId != 0) return weapon->getRideAttackAction(); @@ -1327,8 +1327,10 @@ std::string Being::getWeaponAttackAction(const ItemInfo *const weapon) const std::string Being::getAttackAction(const Attack *const attack1) const { if (!attack1) - return SpriteAction::ATTACK; + return getAttackAction(); + if (mHorseId != 0) + return attack1->mRideAction; if (mMap) { const unsigned char mask = mMap->getBlockMask(mX, mY); @@ -1356,6 +1358,7 @@ std::string Being::getAttackAction(const Attack *const attack1) const return SpriteAction::action; \ } +getSpriteAction(Attack, ATTACK) getSpriteAction(Dead, DEAD) getSpriteAction(Spawn, SPAWN) getSpriteAction(Cast, CAST) diff --git a/src/being/being.h b/src/being/being.h index 9c9fd6ade..a31f39be5 100644 --- a/src/being/being.h +++ b/src/being/being.h @@ -607,9 +607,13 @@ class Being notfinal : public ActorSprite, std::string getSpawnAction() const A_WARN_UNUSED; - std::string getWeaponAttackAction(const ItemInfo *const weapon) const; + std::string getWeaponAttackAction(const ItemInfo *const weapon) const + A_WARN_UNUSED; - std::string getAttackAction(const Attack *const attack) const; + std::string getAttackAction() const A_WARN_UNUSED; + + std::string getAttackAction(const Attack *const attack) const + A_WARN_UNUSED; /** * Whether or not this player is a GM. |