summaryrefslogtreecommitdiff
path: root/src/being.cpp
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-06-04 00:50:23 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-06-07 18:51:22 +0200
commitafa134640b2e2c7c0f28a54c8691545848795dd9 (patch)
treeb8c9f03debebc9a15de2a21f4d4a377247615c1d /src/being.cpp
parent9b1c970c70f30733d5d851b834a860365819409c (diff)
downloadmana-client-afa134640b2e2c7c0f28a54c8691545848795dd9.tar.gz
mana-client-afa134640b2e2c7c0f28a54c8691545848795dd9.tar.bz2
mana-client-afa134640b2e2c7c0f28a54c8691545848795dd9.tar.xz
mana-client-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.cpp12
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)