diff options
Diffstat (limited to 'src/Mobs/Old Mobs/Wither.h')
-rw-r--r-- | src/Mobs/Old Mobs/Wither.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/Mobs/Old Mobs/Wither.h b/src/Mobs/Old Mobs/Wither.h new file mode 100644 index 000000000..7d307c360 --- /dev/null +++ b/src/Mobs/Old Mobs/Wither.h @@ -0,0 +1,45 @@ + +#pragma once + +#include "AggressiveMonster.h" + + + + + +class cWither : + public cAggressiveMonster +{ + typedef cAggressiveMonster super; + +public: + cWither(void); + + CLASS_PROTODEF(cWither) + + unsigned int GetWitherInvulnerableTicks(void) const { return m_WitherInvulnerableTicks; } + + void SetWitherInvulnerableTicks(unsigned int a_Ticks) { m_WitherInvulnerableTicks = a_Ticks; } + + /** Returns whether the wither is invulnerable to arrows. */ + bool IsArmored(void) const; + + // cEntity /*override*/s + virtual bool Initialize(cWorld & a_World) /*override*/; + virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) /*override*/; + virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) /*override*/; + virtual void Tick(float a_Dt, cChunk & a_Chunk) /*override*/; + virtual void KilledBy(TakeDamageInfo & a_TDI) /*override*/; + + virtual bool IsUndead(void) /*override*/ { return true; } + +private: + + /** The number of ticks of invulnerability left after being initially created. Zero once invulnerability has expired. */ + unsigned int m_WitherInvulnerableTicks; + +} ; + + + + |