summaryrefslogtreecommitdiff
path: root/src/resources/beinginfo.h
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-05-26 23:41:01 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-05-26 23:42:10 +0200
commitb35aef2d924f03d85eb44a2465be5a745444eafd (patch)
tree5de5dc327397f9e970ce1bdfacf850a16da02241 /src/resources/beinginfo.h
parentb02081c00450d274c23b7198620ee7748756bd72 (diff)
downloadmana-client-b35aef2d924f03d85eb44a2465be5a745444eafd.tar.gz
mana-client-b35aef2d924f03d85eb44a2465be5a745444eafd.tar.bz2
mana-client-b35aef2d924f03d85eb44a2465be5a745444eafd.tar.xz
mana-client-b35aef2d924f03d85eb44a2465be5a745444eafd.zip
Added effects support in monsters attacks.
This is provided through the use of the 'effect-id' property of the <attack> tag. Note that the 'particle-effect' support has been removed as it was redundant, but can be kept for backward compatibility. Now, on both Manaserv and tA, only the attack id 1 is supported, i.e: <monster> ... <attack id="1" effect-id="11" action="attack" /> </monster> More to come with re-enabling of the attack type support. I had to fix a crash in the Being::takeDamage() function when there were no attacker (in Manaserv), and add rotation support to the effectManager to achieve this. Reviwed-by: Jaxad0127.
Diffstat (limited to 'src/resources/beinginfo.h')
-rw-r--r--src/resources/beinginfo.h23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h
index 52390976..b4529b2f 100644
--- a/src/resources/beinginfo.h
+++ b/src/resources/beinginfo.h
@@ -32,16 +32,16 @@
#include <vector>
struct Attack {
- std::string action;
- std::string particleEffect;
- std::string missileParticle;
+ std::string mAction;
+ int mEffectId;
+ std::string mMissileParticleFilename;
- Attack(std::string action, std::string particleEffect,
- std::string missileParticle)
+ Attack(std::string action, int effectId,
+ std::string missileParticleFilename)
{
- this->action = action;
- this->particleEffect = particleEffect;
- this->missileParticle = missileParticle;
+ mAction = action;
+ mEffectId = effectId;
+ mMissileParticleFilename = missileParticleFilename;
}
};
@@ -95,11 +95,10 @@ class BeingInfo
const std::string &getSound(SoundEvent event) const;
- void addAttack(int id, std::string action,
- const std::string &particleEffect,
- const std::string &missileParticle);
+ void addAttack(int id, std::string action, int effectId,
+ const std::string &missileParticleFilename);
- const Attack *getAttack(int type) const;
+ const Attack *getAttack(int id) const;
void setWalkMask(unsigned char mask)
{ mWalkMask = mask; }