diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-05-26 23:41:01 +0200 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-05-26 23:42:10 +0200 |
commit | b35aef2d924f03d85eb44a2465be5a745444eafd (patch) | |
tree | 5de5dc327397f9e970ce1bdfacf850a16da02241 /src/effectmanager.h | |
parent | b02081c00450d274c23b7198620ee7748756bd72 (diff) | |
download | mana-b35aef2d924f03d85eb44a2465be5a745444eafd.tar.gz mana-b35aef2d924f03d85eb44a2465be5a745444eafd.tar.bz2 mana-b35aef2d924f03d85eb44a2465be5a745444eafd.tar.xz mana-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/effectmanager.h')
-rw-r--r-- | src/effectmanager.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/effectmanager.h b/src/effectmanager.h index ef1e0f27..8302990e 100644 --- a/src/effectmanager.h +++ b/src/effectmanager.h @@ -42,15 +42,19 @@ class EffectManager /** * Triggers a effect with the id, at - * the specified being. + * the specified being, + * and with the given rotation in degree: + * 0° = Down, 90° = left, ... */ - bool trigger(int id, Being* being); + bool trigger(int id, Being* being, int rotation = 0); /** * Triggers a effect with the id, at - * the specified x and y coordinate. + * the specified x and y coordinate, + * and with the given rotation in degree: + * 0° = Down, 90° = left, ... */ - bool trigger(int id, int x, int y); + bool trigger(int id, int x, int y, int rotation = 0); private: std::list<EffectDescription> mEffects; |