diff options
author | LogicParrot <LogicParrot@users.noreply.github.com> | 2017-08-23 18:08:48 +0200 |
---|---|---|
committer | LogicParrot <LogicParrot@users.noreply.github.com> | 2017-08-23 18:08:48 +0200 |
commit | 978663b725dd2a7b756b4fcecf0453e42ce16b79 (patch) | |
tree | 9d8bdac1a21de5f8bbb9b2142832516d2c04f816 /src/Mobs/Behaviors/BehaviorBreeder.h | |
parent | d (diff) | |
download | cuberite-978663b725dd2a7b756b4fcecf0453e42ce16b79.tar cuberite-978663b725dd2a7b756b4fcecf0453e42ce16b79.tar.gz cuberite-978663b725dd2a7b756b4fcecf0453e42ce16b79.tar.bz2 cuberite-978663b725dd2a7b756b4fcecf0453e42ce16b79.tar.lz cuberite-978663b725dd2a7b756b4fcecf0453e42ce16b79.tar.xz cuberite-978663b725dd2a7b756b4fcecf0453e42ce16b79.tar.zst cuberite-978663b725dd2a7b756b4fcecf0453e42ce16b79.zip |
Diffstat (limited to 'src/Mobs/Behaviors/BehaviorBreeder.h')
-rw-r--r-- | src/Mobs/Behaviors/BehaviorBreeder.h | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/src/Mobs/Behaviors/BehaviorBreeder.h b/src/Mobs/Behaviors/BehaviorBreeder.h index 51ed0501d..d95840f5e 100644 --- a/src/Mobs/Behaviors/BehaviorBreeder.h +++ b/src/Mobs/Behaviors/BehaviorBreeder.h @@ -1,9 +1,9 @@ #pragma once -// Grants breeding capabilities to the mob - class cBehaviorBreeder; +#include "Behavior.h" + class cWorld; class cMonster; class cPlayer; @@ -13,46 +13,48 @@ class cItems; -class cBehaviorBreeder +/** Grants breeding capabilities to the mob. */ +class cBehaviorBreeder : public cBehavior { public: - cBehaviorBreeder(cMonster * a_Parent); + cBehaviorBreeder(cMonster * a_Parent); - // Functions our host Monster should invoke: - void Tick(); - bool ActiveTick(); - void OnRightClicked(cPlayer & a_Player); - void Destroyed(); + // Functions our host Monster should invoke: + bool IsControlDesired() override; + void Tick() override; + void PostTick() override; + void OnRightClicked(cPlayer & a_Player); + void Destroyed() override; - /** Returns the partner which the monster is currently mating with. */ - cMonster * GetPartner(void) const { return m_LovePartner; } + /** Returns the partner which the monster is currently mating with. */ + cMonster * GetPartner(void) const { return m_LovePartner; } - /** Start the mating process. Causes the monster to keep bumping into the partner until m_MatingTimer reaches zero. */ - void EngageLoveMode(cMonster * a_Partner); + /** Start the mating process. Causes the monster to keep bumping into the partner until m_MatingTimer reaches zero. */ + void EngageLoveMode(cMonster * a_Partner); - /** Finish the mating process. Called after a baby is born. Resets all breeding related timers and sets m_LoveCooldown to 20 minutes. */ - void ResetLoveMode(); + /** Finish the mating process. Called after a baby is born. Resets all breeding related timers and sets m_LoveCooldown to 20 minutes. */ + void ResetLoveMode(); - /** Returns whether the monster has just been fed and is ready to mate. If this is "true" and GetPartner isn't "nullptr", then the monster is mating. */ - bool IsInLove() const; + /** Returns whether the monster has just been fed and is ready to mate. If this is "true" and GetPartner isn't "nullptr", then the monster is mating. */ + bool IsInLove() const; - /** Returns whether the monster is tired of breeding and is in the cooldown state. */ - bool IsInLoveCooldown() const; + /** Returns whether the monster is tired of breeding and is in the cooldown state. */ + bool IsInLoveCooldown() const; private: - /** Our parent */ - cMonster * m_Parent; + /** Our parent */ + cMonster * m_Parent; - /** The monster's breeding partner. */ - cMonster * m_LovePartner; + /** The monster's breeding partner. */ + cMonster * m_LovePartner; - /** If above 0, the monster is in love mode, and will breed if a nearby monster is also in love mode. Decrements by 1 per tick till reaching zero. */ - int m_LoveTimer; + /** If above 0, the monster is in love mode, and will breed if a nearby monster is also in love mode. Decrements by 1 per tick till reaching zero. */ + int m_LoveTimer; - /** If above 0, the monster is in cooldown mode and will refuse to breed. Decrements by 1 per tick till reaching zero. */ - int m_LoveCooldown; + /** If above 0, the monster is in cooldown mode and will refuse to breed. Decrements by 1 per tick till reaching zero. */ + int m_LoveCooldown; - /** The monster is engaged in mating, once this reaches zero, a baby will be born. Decrements by 1 per tick till reaching zero, then a baby is made and ResetLoveMode() is called. */ - int m_MatingTimer; + /** The monster is engaged in mating, once this reaches zero, a baby will be born. Decrements by 1 per tick till reaching zero, then a baby is made and ResetLoveMode() is called. */ + int m_MatingTimer; }; |