diff options
Diffstat (limited to 'src/Mobs/Slime.h')
-rw-r--r-- | src/Mobs/Slime.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/Mobs/Slime.h b/src/Mobs/Slime.h new file mode 100644 index 000000000..e093a8109 --- /dev/null +++ b/src/Mobs/Slime.h @@ -0,0 +1,39 @@ + +#pragma once + +#include "Monster.h" + + + + + +class cSlime : + public cMonster +{ + typedef cMonster super; + +public: + /** Creates a slime of the specified size; size can be 1, 2 or 4, with 1 is the smallest and 4 is the tallest. */ + cSlime(int a_Size); + + CLASS_PROTODEF(cSlime) + + // cAggressiveMonster overrides: + virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override; + + int GetSize(void) const { return m_Size; } + + /** Returns the text describing the slime's size, as used by the client's resource subsystem for sounds. + Returns either "big" or "small". */ + const AString GetSizeName(int a_Size) const; + +protected: + + /** Size of the slime, with 1 being the smallest. + Vanilla uses sizes 1, 2 and 4 only. */ + int m_Size; +} ; + + + + |