25 virtual bool Attack(std::chrono::milliseconds a_Dt)
override;
29 virtual void Tick(std::chrono::milliseconds a_Dt,
cChunk & a_Chunk)
override;
#define CLASS_PROTODEF(classname)
This class bridges a vector of cItem for safe access via Lua.
cAggressiveMonster(const AString &a_ConfigName, eMonsterType a_MobType, const AString &a_SoundHurt, const AString &a_SoundDeath, const AString &a_SoundAmbient, float a_Width, float a_Height)
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk &a_Chunk) override
virtual bool Attack(std::chrono::milliseconds a_Dt) override
Try to perform attack returns true if attack was deemed successful (hit player, fired projectile,...
bool IsCharging(void) const
virtual bool IsNetherNative(void) override
Returns whether this mob spawns in the Nether in Vanilla.
int m_FlightCooldown
Number of ticks until the ghast tries to fly to another position.
virtual bool DoTakeDamage(TakeDamageInfo &a_TDI) override
Makes this entity take damage specified in the a_TDI.
virtual void GetDrops(cItems &a_Drops, cEntity *a_Killer=nullptr) override
Returns the list of drops for this pawn when it is killed.
int m_TicksUntilShot
Number of ticks until a projectile is created.
bool m_IsCharging
Specifies whether or not the ghast has started shooting a fireball.