diff options
author | Bond-009 <bond.009@outlook.com> | 2017-07-12 12:42:02 +0200 |
---|---|---|
committer | Lukas Pioch <lukas@zgow.de> | 2017-07-12 12:42:02 +0200 |
commit | 6a1984112146a14c96f43e9cdf758f5104d6d2a3 (patch) | |
tree | 373b218beaad1ddfe76e29eb1a6370c6bc0e4624 /src/Mobs/Ocelot.h | |
parent | Lua plugin cColor (#3833) (diff) | |
download | cuberite-6a1984112146a14c96f43e9cdf758f5104d6d2a3.tar cuberite-6a1984112146a14c96f43e9cdf758f5104d6d2a3.tar.gz cuberite-6a1984112146a14c96f43e9cdf758f5104d6d2a3.tar.bz2 cuberite-6a1984112146a14c96f43e9cdf758f5104d6d2a3.tar.lz cuberite-6a1984112146a14c96f43e9cdf758f5104d6d2a3.tar.xz cuberite-6a1984112146a14c96f43e9cdf758f5104d6d2a3.tar.zst cuberite-6a1984112146a14c96f43e9cdf758f5104d6d2a3.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Mobs/Ocelot.h | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/src/Mobs/Ocelot.h b/src/Mobs/Ocelot.h index a352e5854..fbff991c7 100644 --- a/src/Mobs/Ocelot.h +++ b/src/Mobs/Ocelot.h @@ -2,6 +2,7 @@ #pragma once #include "PassiveMonster.h" +#include "../Entities/Entity.h" @@ -13,17 +14,57 @@ class cOcelot : typedef cPassiveMonster super; public: - cOcelot(void) : - super("Ocelot", mtOcelot, "entity.cat.hurt", "entity.cat.death", 0.6, 0.8) + + enum eCatType { - } + ctWildOcelot, + ctTuxedo, + ctTabby, + ctSiamese, + } ; + + cOcelot(void); + CLASS_PROTODEF(cOcelot) + + virtual void OnRightClicked(cPlayer & a_Player) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + virtual void TickFollowPlayer(); + virtual void SpawnOn(cClientHandle & a_ClientHandle) override; virtual void GetBreedingItems(cItems & a_Items) override { a_Items.Add(E_ITEM_RAW_FISH); } - CLASS_PROTODEF(cOcelot) + // Get functions + bool IsSitting (void) const override { return m_IsSitting; } + bool IsTame (void) const override { return m_IsTame; } + bool IsBegging (void) const { return m_IsBegging; } + AString GetOwnerName (void) const { return m_OwnerName; } + AString GetOwnerUUID (void) const { return m_OwnerUUID; } + eCatType GetOcelotType (void) const { return m_CatType; } + + // Set functions + 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 SetOwner (const AString & a_NewOwnerName, const AString & a_NewOwnerUUID) + { + m_OwnerName = a_NewOwnerName; + m_OwnerUUID = a_NewOwnerUUID; + } + void SetCatType (eCatType a_CatType) { m_CatType = a_CatType; } + +protected: + + bool m_IsSitting; + bool m_IsTame; + bool m_IsBegging; + eCatType m_CatType; + /** Only check for a nearby player holding the breeding items every 23 ticks. */ + int m_CheckPlayerTickCount; + AString m_OwnerName; + AString m_OwnerUUID; } ; |