1
0
cuberite-2a/src/Mobs/Wolf.h

76 lines
2.4 KiB
C
Raw Normal View History

#pragma once
#include "PassiveAggressiveMonster.h"
2017-08-25 08:43:18 -04:00
#include "../UUID.h"
class cEntity;
class cWolf :
public cPassiveAggressiveMonster
{
typedef cPassiveAggressiveMonster super;
public:
cWolf(void);
CLASS_PROTODEF(cWolf)
void NotifyAlliesOfFight(cPawn * a_Opponent);
2014-04-25 18:32:30 -04:00
virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override;
virtual void OnRightClicked(cPlayer & a_Player) override;
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
2013-11-12 10:39:59 -05:00
virtual void TickFollowPlayer();
fix cavespider poisoning even if attack is in cooldown make attack function more responsive fix cavespider poisoning even if attack is in cooldown make attack function more responsive Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack code style fix cavespider poisoning even if attack is in cooldown make attack function more responsive fix cavespider poisoning even if attack is in cooldown make attack function more responsive Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack code style Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack Merge branch 'master' into cavespider-attack Merge branch 'master' into cavespider-attack fix cavespider poisoning even if attack is in cooldown make attack function more responsive fix cavespider poisoning even if attack is in cooldown make attack function more responsive Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack code style fix cavespider poisoning even if attack is in cooldown make attack function more responsive fix cavespider poisoning even if attack is in cooldown make attack function more responsive Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack code style Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack Merge branch 'master' into cavespider-attack Merge branch 'master' into cavespider-attack Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
2015-11-08 07:44:17 -05:00
virtual bool Attack(std::chrono::milliseconds a_Dt) override;
// Get functions
bool IsSitting (void) const override { return m_IsSitting; }
bool IsTame (void) const override { return m_IsTame; }
2013-11-10 15:55:32 -05:00
bool IsBegging (void) const { return m_IsBegging; }
bool IsAngry (void) const { return m_IsAngry; }
2014-08-03 16:03:48 -04:00
AString GetOwnerName (void) const { return m_OwnerName; }
2017-08-25 08:43:18 -04:00
cUUID GetOwnerUUID (void) const { return m_OwnerUUID; }
2013-11-10 15:55:32 -05:00
int GetCollarColor(void) const { return m_CollarColor; }
// Set functions
2013-11-10 15:55:32 -05:00
void SetIsSitting (bool a_IsSitting) { m_IsSitting = a_IsSitting; }
void SetIsTame (bool a_IsTame) { m_IsTame = a_IsTame; }
void SetIsBegging (bool a_IsBegging) { m_IsBegging = a_IsBegging; }
void SetIsAngry (bool a_IsAngry) { m_IsAngry = a_IsAngry; }
void SetCollarColor(int a_CollarColor) { m_CollarColor = a_CollarColor; }
2017-08-25 08:43:18 -04:00
void SetOwner (const AString & a_NewOwnerName, const cUUID & a_NewOwnerUUID)
2014-08-03 16:03:48 -04:00
{
m_OwnerName = a_NewOwnerName;
m_OwnerUUID = a_NewOwnerUUID;
}
/** Notfies the wolf of a nearby fight.
The wolf may then decide to attack a_Opponent.
2017-08-25 08:43:18 -04:00
If a_IsPlayerInvolved is true, then the player whose UUID is a_PlayerUUID is fighting a_Opponent
If false, then a wolf owned by the player whose UUID is a_PlayerUUID is fighting a_Opponent
@param a_PlayerUUID The UUID of the fighting player, or the UUID of the owner whose wolf is fighting.
@param a_Opponent The opponent who is being faught.
@param a_IsPlayerInvolved Whether the fighter a player or a wolf. */
2017-08-25 08:43:18 -04:00
void ReceiveNearbyFightInfo(const cUUID & a_PlayerUUID, cPawn * a_Opponent, bool a_IsPlayerInvolved);
virtual void InStateIdle(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
2013-11-10 15:55:32 -05:00
protected:
2013-11-10 15:24:36 -05:00
bool m_IsSitting;
bool m_IsTame;
bool m_IsBegging;
bool m_IsAngry;
AString m_OwnerName;
2017-08-25 08:43:18 -04:00
cUUID m_OwnerUUID;
2013-11-10 15:55:32 -05:00
int m_CollarColor;
int m_NotificationCooldown;
} ;