2012-12-21 06:04:08 -05:00
|
|
|
|
2012-06-14 09:06:06 -04:00
|
|
|
#pragma once
|
|
|
|
|
2012-09-23 16:53:08 -04:00
|
|
|
#include "PassiveAggressiveMonster.h"
|
2012-06-14 09:06:06 -04:00
|
|
|
|
2012-12-21 06:04:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class cEnderman :
|
|
|
|
public cPassiveAggressiveMonster
|
2012-06-14 09:06:06 -04:00
|
|
|
{
|
2012-12-21 06:04:08 -05:00
|
|
|
typedef cPassiveAggressiveMonster super;
|
2016-01-17 09:09:25 -05:00
|
|
|
|
2012-06-14 09:06:06 -04:00
|
|
|
public:
|
2012-12-21 06:04:08 -05:00
|
|
|
cEnderman(void);
|
|
|
|
|
2014-07-22 18:36:13 -04:00
|
|
|
CLASS_PROTODEF(cEnderman)
|
2012-12-21 06:04:08 -05:00
|
|
|
|
2014-10-20 16:55:07 -04:00
|
|
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
|
2016-01-17 09:09:25 -05:00
|
|
|
virtual void CheckEventSeePlayer(cChunk & a_Chunk) override;
|
2014-08-01 17:05:40 -04:00
|
|
|
virtual void CheckEventLostPlayer(void) override;
|
2014-06-04 04:19:55 -04:00
|
|
|
virtual void EventLosePlayer(void) override;
|
2015-01-11 16:12:26 -05:00
|
|
|
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
|
2013-10-09 16:02:59 -04:00
|
|
|
|
|
|
|
bool IsScreaming(void) const {return m_bIsScreaming; }
|
2018-05-06 13:07:34 -04:00
|
|
|
BLOCKTYPE GetCarriedBlock(void) const {return m_CarriedBlock; }
|
|
|
|
NIBBLETYPE GetCarriedMeta(void) const {return m_CarriedMeta; }
|
2013-10-09 16:02:59 -04:00
|
|
|
|
2014-08-01 17:05:40 -04:00
|
|
|
/** Returns if the current sky light level is sufficient for the enderman to become aggravated */
|
|
|
|
bool CheckLight(void);
|
|
|
|
|
2013-10-09 16:02:59 -04:00
|
|
|
private:
|
|
|
|
|
|
|
|
bool m_bIsScreaming;
|
2018-05-06 13:07:34 -04:00
|
|
|
BLOCKTYPE m_CarriedBlock;
|
|
|
|
NIBBLETYPE m_CarriedMeta;
|
2013-10-09 16:02:59 -04:00
|
|
|
|
2012-12-21 06:04:08 -05:00
|
|
|
} ;
|