diff options
author | LogicParrot <LogicParrot@users.noreply.github.com> | 2017-08-24 22:21:25 +0200 |
---|---|---|
committer | LogicParrot <LogicParrot@users.noreply.github.com> | 2017-08-24 22:21:25 +0200 |
commit | 810230b5466f1363d69763670fc9b85fa385c99a (patch) | |
tree | a9d4dcfd43ac28ef2fb9e61e73a34f7246a695bb /src/Mobs/Behaviors | |
parent | Merge branch 'master' into mobs2 (diff) | |
download | cuberite-810230b5466f1363d69763670fc9b85fa385c99a.tar cuberite-810230b5466f1363d69763670fc9b85fa385c99a.tar.gz cuberite-810230b5466f1363d69763670fc9b85fa385c99a.tar.bz2 cuberite-810230b5466f1363d69763670fc9b85fa385c99a.tar.lz cuberite-810230b5466f1363d69763670fc9b85fa385c99a.tar.xz cuberite-810230b5466f1363d69763670fc9b85fa385c99a.tar.zst cuberite-810230b5466f1363d69763670fc9b85fa385c99a.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Mobs/Behaviors/Behavior.h | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorAggressive.h | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorBreeder.cpp | 4 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorBreeder.h | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorChaser.cpp | 5 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorChaser.h | 3 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorCoward.cpp | 5 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorCoward.h | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorDayLightBurner.h | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorItemFollower.cpp | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorItemFollower.h | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorWanderer.cpp | 2 | ||||
-rw-r--r-- | src/Mobs/Behaviors/BehaviorWanderer.h | 2 |
13 files changed, 22 insertions, 13 deletions
diff --git a/src/Mobs/Behaviors/Behavior.h b/src/Mobs/Behaviors/Behavior.h index 0b554ec62..1bfefbf8d 100644 --- a/src/Mobs/Behaviors/Behavior.h +++ b/src/Mobs/Behaviors/Behavior.h @@ -9,8 +9,6 @@ class cMonster; class cBehavior { public: - virtual void AttachToMonster(cMonster & a_Parent) = 0; - // Tick-related virtual bool IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); virtual bool ControlStarting(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); diff --git a/src/Mobs/Behaviors/BehaviorAggressive.h b/src/Mobs/Behaviors/BehaviorAggressive.h index 7dc7060c7..8905b7341 100644 --- a/src/Mobs/Behaviors/BehaviorAggressive.h +++ b/src/Mobs/Behaviors/BehaviorAggressive.h @@ -19,7 +19,7 @@ class cBehaviorAggressive : public cBehavior { public: - void AttachToMonster(cMonster & a_Parent) override; + void AttachToMonster(cMonster & a_Parent); // cBehaviorAggressive(cMonster * a_Parent, bool a_HatesPlayer); // TODO agression toward specific players, and specific mobtypes, etc diff --git a/src/Mobs/Behaviors/BehaviorBreeder.cpp b/src/Mobs/Behaviors/BehaviorBreeder.cpp index b32fafc8c..bc0c8d3ea 100644 --- a/src/Mobs/Behaviors/BehaviorBreeder.cpp +++ b/src/Mobs/Behaviors/BehaviorBreeder.cpp @@ -23,6 +23,7 @@ cBehaviorBreeder::cBehaviorBreeder() : void cBehaviorBreeder::AttachToMonster(cMonster & a_Parent) { + LOGD("mobDebug - Behavior Breeder: Attach"); m_Parent = &a_Parent; m_Parent->AttachTickBehavior(this); m_Parent->AttachPostTickBehavior(this); @@ -36,6 +37,7 @@ void cBehaviorBreeder::AttachToMonster(cMonster & a_Parent) void cBehaviorBreeder::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { + LOGD("mobDebug - Behavior Breeder: Tick"); UNUSED(a_Dt); UNUSED(a_Chunk); cWorld * World = m_Parent->GetWorld(); @@ -88,6 +90,7 @@ void cBehaviorBreeder::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) void cBehaviorBreeder::PostTick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { + LOGD("mobDebug - Behavior Breeder: PostTick"); UNUSED(a_Dt); UNUSED(a_Chunk); if (m_MatingTimer > 0) @@ -179,6 +182,7 @@ bool cBehaviorBreeder::IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & void cBehaviorBreeder::Destroyed() { + LOGD("mobDebug - Behavior Breeder: Destroyed"); if (m_LovePartner != nullptr) { m_LovePartner->GetBehaviorBreeder()->ResetLoveMode(); diff --git a/src/Mobs/Behaviors/BehaviorBreeder.h b/src/Mobs/Behaviors/BehaviorBreeder.h index 576234066..94830c42b 100644 --- a/src/Mobs/Behaviors/BehaviorBreeder.h +++ b/src/Mobs/Behaviors/BehaviorBreeder.h @@ -19,7 +19,7 @@ class cBehaviorBreeder : public cBehavior public: cBehaviorBreeder(); - void AttachToMonster(cMonster & a_Parent) override; + void AttachToMonster(cMonster & a_Parent); // Functions our host Monster should invoke: bool IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; diff --git a/src/Mobs/Behaviors/BehaviorChaser.cpp b/src/Mobs/Behaviors/BehaviorChaser.cpp index 8e2a70bd4..dd9f193d6 100644 --- a/src/Mobs/Behaviors/BehaviorChaser.cpp +++ b/src/Mobs/Behaviors/BehaviorChaser.cpp @@ -23,9 +23,10 @@ cBehaviorChaser::cBehaviorChaser() : -void cBehaviorChaser::AttachToMonster(cMonster & a_Parent) +void cBehaviorChaser::AttachToMonster(cMonster & a_Parent, cBehaviorStriker & a_ParentStriker) { m_Parent = &a_Parent; + m_ParentStriker = &a_ParentStriker; m_Parent->AttachTickBehavior(this); m_Parent->AttachDestroyBehavior(this); m_Parent->AttachPostTickBehavior(this); @@ -245,7 +246,7 @@ void cBehaviorChaser::StrikeTarget() { if (m_AttackCoolDownTicksLeft != 0) { - cBehaviorStriker * Striker = m_Parent->GetBehaviorStriker(); + cBehaviorStriker * Striker = m_ParentStriker; if (Striker != nullptr) { // Striker->Strike(m_Target); //mobTodo diff --git a/src/Mobs/Behaviors/BehaviorChaser.h b/src/Mobs/Behaviors/BehaviorChaser.h index a40be6aba..1c64c7b07 100644 --- a/src/Mobs/Behaviors/BehaviorChaser.h +++ b/src/Mobs/Behaviors/BehaviorChaser.h @@ -18,7 +18,7 @@ class cBehaviorChaser : public cBehavior public: cBehaviorChaser(); - void AttachToMonster(cMonster & a_Parent) override; + void AttachToMonster(cMonster & a_Parent, cBehaviorStriker & a_ParentStriker); // Functions our host Monster should invoke: bool IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; @@ -44,6 +44,7 @@ private: /** Our parent */ cMonster * m_Parent; + cBehaviorStriker * m_ParentStriker; // The mob we want to attack cPawn * m_Target; diff --git a/src/Mobs/Behaviors/BehaviorCoward.cpp b/src/Mobs/Behaviors/BehaviorCoward.cpp index d23da5ac6..94997f065 100644 --- a/src/Mobs/Behaviors/BehaviorCoward.cpp +++ b/src/Mobs/Behaviors/BehaviorCoward.cpp @@ -16,10 +16,9 @@ cBehaviorCoward::cBehaviorCoward() : void cBehaviorCoward::AttachToMonster(cMonster & a_Parent) { + LOGD("mobDebug - Behavior Coward: Attach"); m_Parent = &a_Parent; m_Parent->AttachTickBehavior(this); - m_Parent->AttachDestroyBehavior(this); - m_Parent->AttachPostTickBehavior(this); m_Parent->AttachDoTakeDamageBehavior(this); } @@ -40,6 +39,7 @@ bool cBehaviorCoward::IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & void cBehaviorCoward::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { + LOGD("mobDebug - Behavior Coward: Tick"); UNUSED(a_Dt); UNUSED(a_Chunk); if (m_Attacker == nullptr) @@ -66,6 +66,7 @@ void cBehaviorCoward::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) void cBehaviorCoward::DoTakeDamage(TakeDamageInfo & a_TDI) { + LOGD("mobDebug - Behavior Coward: DoTakeDamage"); if ((a_TDI.Attacker != m_Parent) && (a_TDI.Attacker != nullptr)) { m_Attacker = a_TDI.Attacker; diff --git a/src/Mobs/Behaviors/BehaviorCoward.h b/src/Mobs/Behaviors/BehaviorCoward.h index b72dbaf41..f33ab38c8 100644 --- a/src/Mobs/Behaviors/BehaviorCoward.h +++ b/src/Mobs/Behaviors/BehaviorCoward.h @@ -14,7 +14,7 @@ class cBehaviorCoward : cBehavior { public: cBehaviorCoward(); - void AttachToMonster(cMonster & a_Parent) override; + void AttachToMonster(cMonster & a_Parent); // Functions our host Monster should invoke: bool IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; diff --git a/src/Mobs/Behaviors/BehaviorDayLightBurner.h b/src/Mobs/Behaviors/BehaviorDayLightBurner.h index 0acdeea40..d1299c0c6 100644 --- a/src/Mobs/Behaviors/BehaviorDayLightBurner.h +++ b/src/Mobs/Behaviors/BehaviorDayLightBurner.h @@ -12,7 +12,7 @@ class cChunk; class cBehaviorDayLightBurner : cBehavior { public: - void AttachToMonster(cMonster & a_Parent) override; + void AttachToMonster(cMonster & a_Parent); void PostTick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; bool WouldBurnAt(Vector3d a_Location, cChunk & a_Chunk); diff --git a/src/Mobs/Behaviors/BehaviorItemFollower.cpp b/src/Mobs/Behaviors/BehaviorItemFollower.cpp index d10b46776..421334455 100644 --- a/src/Mobs/Behaviors/BehaviorItemFollower.cpp +++ b/src/Mobs/Behaviors/BehaviorItemFollower.cpp @@ -8,6 +8,7 @@ void cBehaviorItemFollower::AttachToMonster(cMonster & a_Parent) { + LOGD("mobDebug - Behavior ItemFollower: Attach"); m_Parent = &a_Parent; m_Parent->AttachTickBehavior(this); } @@ -43,6 +44,7 @@ bool cBehaviorItemFollower::IsControlDesired(std::chrono::milliseconds a_Dt, cCh void cBehaviorItemFollower::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { + LOGD("mobDebug - Behavior ItemFollower: Tick"); UNUSED(a_Dt); UNUSED(a_Chunk); cItems FollowedItems; diff --git a/src/Mobs/Behaviors/BehaviorItemFollower.h b/src/Mobs/Behaviors/BehaviorItemFollower.h index 277323ab1..c84779a5e 100644 --- a/src/Mobs/Behaviors/BehaviorItemFollower.h +++ b/src/Mobs/Behaviors/BehaviorItemFollower.h @@ -12,7 +12,7 @@ class cItems; class cBehaviorItemFollower : public cBehavior { public: - void AttachToMonster(cMonster & a_Parent) override; + void AttachToMonster(cMonster & a_Parent); void GetBreedingItems(cItems & a_Items); diff --git a/src/Mobs/Behaviors/BehaviorWanderer.cpp b/src/Mobs/Behaviors/BehaviorWanderer.cpp index 44dda077b..39fde8373 100644 --- a/src/Mobs/Behaviors/BehaviorWanderer.cpp +++ b/src/Mobs/Behaviors/BehaviorWanderer.cpp @@ -15,6 +15,7 @@ cBehaviorWanderer::cBehaviorWanderer() : m_IdleInterval(0) void cBehaviorWanderer::AttachToMonster(cMonster & a_Parent) { + LOGD("mobDebug - Behavior Wanderer: Attach"); m_Parent = &a_Parent; m_Parent->AttachTickBehavior(this); } @@ -38,6 +39,7 @@ bool cBehaviorWanderer::IsControlDesired(std::chrono::milliseconds a_Dt, cChunk void cBehaviorWanderer::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { + LOGD("mobDebug - Behavior Wanderer: Tick"); if (m_Parent->IsPathFinderActivated()) { return; // Still getting there diff --git a/src/Mobs/Behaviors/BehaviorWanderer.h b/src/Mobs/Behaviors/BehaviorWanderer.h index 90dddcebc..577881c2f 100644 --- a/src/Mobs/Behaviors/BehaviorWanderer.h +++ b/src/Mobs/Behaviors/BehaviorWanderer.h @@ -13,7 +13,7 @@ class cBehaviorWanderer : cBehavior public: cBehaviorWanderer(); - void AttachToMonster(cMonster & a_Parent) override; + void AttachToMonster(cMonster & a_Parent); // Functions our host Monster should invoke: bool IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; |