diff options
Diffstat (limited to 'src/game-server/monster.h')
-rw-r--r-- | src/game-server/monster.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/game-server/monster.h b/src/game-server/monster.h index 4949d4c..9854a7a 100644 --- a/src/game-server/monster.h +++ b/src/game-server/monster.h @@ -21,9 +21,13 @@ #ifndef MONSTER_H #define MONSTER_H +#include "game-server/abilitymanager.h" #include "game-server/being.h" + #include "common/defines.h" + #include "scripting/script.h" + #include "utils/string.h" #include <map> @@ -182,6 +186,9 @@ class MonsterClass double getVulnerability(Element element) const; + void addAbility(AbilityManager::AbilityInfo *info); + const std::set<AbilityManager::AbilityInfo *> &getAbilities() const; + void setUpdateCallback(Script *script) { script->assignCallback(mUpdateCallback); } @@ -201,6 +208,7 @@ class MonsterClass MonsterDrops mDrops; std::map<int, double> mAttributes; /**< Base attributes of the monster. */ + std::set<AbilityManager::AbilityInfo *> mAbilities; float mSpeed; /**< The monster class speed in tiles per second */ int mSize; int mExp; @@ -308,4 +316,15 @@ class MonsterComponent : public Component Timeout mDecayTimeout; }; +inline void MonsterClass::addAbility(AbilityManager::AbilityInfo *info) +{ + mAbilities.insert(info); +} + +inline const std::set<AbilityManager::AbilityInfo *> +&MonsterClass::getAbilities() const +{ + return mAbilities; +} + #endif // MONSTER_H |