summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Old Mobs/Slime.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs/Old Mobs/Slime.h')
-rw-r--r--src/Mobs/Old Mobs/Slime.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/Mobs/Old Mobs/Slime.h b/src/Mobs/Old Mobs/Slime.h
new file mode 100644
index 000000000..f0b800f94
--- /dev/null
+++ b/src/Mobs/Old Mobs/Slime.h
@@ -0,0 +1,41 @@
+
+#pragma once
+
+#include "AggressiveMonster.h"
+
+
+
+
+
+class cSlime :
+ public cAggressiveMonster
+{
+ typedef cAggressiveMonster 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;
+ virtual void Attack(float a_Dt) override;
+ virtual void KilledBy(TakeDamageInfo & a_TDI) 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;
+} ;
+
+
+
+