diff options
author | Gargaj <gargaj@conspiracy.hu> | 2015-11-29 19:13:31 +0100 |
---|---|---|
committer | Gargaj <gargaj@conspiracy.hu> | 2015-11-29 20:14:28 +0100 |
commit | 4ae3b64b077b444c8217f8da265cb5eedeaf699a (patch) | |
tree | 0da79374832cae75ae5d9e6822712b3b62cbdbe8 /src/Mobs/PassiveMonster.h | |
parent | Updated DumpInfo plugin (diff) | |
download | cuberite-4ae3b64b077b444c8217f8da265cb5eedeaf699a.tar cuberite-4ae3b64b077b444c8217f8da265cb5eedeaf699a.tar.gz cuberite-4ae3b64b077b444c8217f8da265cb5eedeaf699a.tar.bz2 cuberite-4ae3b64b077b444c8217f8da265cb5eedeaf699a.tar.lz cuberite-4ae3b64b077b444c8217f8da265cb5eedeaf699a.tar.xz cuberite-4ae3b64b077b444c8217f8da265cb5eedeaf699a.tar.zst cuberite-4ae3b64b077b444c8217f8da265cb5eedeaf699a.zip |
Diffstat (limited to 'src/Mobs/PassiveMonster.h')
-rw-r--r-- | src/Mobs/PassiveMonster.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/Mobs/PassiveMonster.h b/src/Mobs/PassiveMonster.h index a7e574a1d..ecce4ceb6 100644 --- a/src/Mobs/PassiveMonster.h +++ b/src/Mobs/PassiveMonster.h @@ -16,6 +16,7 @@ public: cPassiveMonster(const AString & a_ConfigName, eMonsterType a_MobType, const AString & a_SoundHurt, const AString & a_SoundDeath, double a_Width, double a_Height); virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + virtual void OnRightClicked(cPlayer & a_Player) override; /** When hit by someone, run away */ virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; @@ -23,7 +24,22 @@ public: /** Returns the items that the animal of this class follows when a player holds it in hand. */ virtual void GetFollowedItems(cItems & a_Items) { } -} ; + /** Returns the items that make the animal breed - this is usually the same as the ones that make the animal follow, but not necessarily. */ + virtual void GetBreedingItems(cItems & a_Items) { GetFollowedItems(a_Items); } + + cPassiveMonster * GetPartner(void) const { return m_LovePartner; } + void EngageLoveMode(cPassiveMonster * a_Partner); + void ResetLoveMode(); + + bool IsInLove() const { return (m_LoveTimer > 0); } + bool IsInLoveCooldown() const { return (m_LoveCooldown > 0); } + +protected: + cPassiveMonster * m_LovePartner; + int m_LoveTimer; + int m_LoveCooldown; + int m_MatingTimer; +}; |