diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-06-04 00:50:23 +0200 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-06-07 18:51:22 +0200 |
commit | afa134640b2e2c7c0f28a54c8691545848795dd9 (patch) | |
tree | b8c9f03debebc9a15de2a21f4d4a377247615c1d /src/being.cpp | |
parent | 9b1c970c70f30733d5d851b834a860365819409c (diff) | |
download | mana-afa134640b2e2c7c0f28a54c8691545848795dd9.tar.gz mana-afa134640b2e2c7c0f28a54c8691545848795dd9.tar.bz2 mana-afa134640b2e2c7c0f28a54c8691545848795dd9.tar.xz mana-afa134640b2e2c7c0f28a54c8691545848795dd9.zip |
Added hit effects on victims from monsters attacks.
Resolves: Mana-Mantis #336.
Reviewed-by: Jaxad0127.
Diffstat (limited to 'src/being.cpp')
-rw-r--r-- | src/being.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/being.cpp b/src/being.cpp index c9dd5b08..d9180bc9 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -309,7 +309,8 @@ void Being::setSpeech(const std::string &text, int time) } } -void Being::takeDamage(Being *attacker, int amount, AttackType type) +void Being::takeDamage(Being *attacker, int amount, + AttackType type, int attackId) { gcn::Font *font; std::string damage = amount ? toString(amount) : type == FLEE ? @@ -400,6 +401,15 @@ void Being::takeDamage(Being *attacker, int amount, AttackType type) else hitEffectId = attackerWeapon->getCriticalHitEffectId(); } + else if (attacker && attacker->getType() == MONSTER) + { + const Attack *attack = attacker->getInfo()->getAttack(attackId); + + if (type != CRITICAL) + hitEffectId = attack->mHitEffectId; + else + hitEffectId = attack->mCriticalHitEffectId; + } else { if (type != CRITICAL) |