summaryrefslogtreecommitdiffstats
path: root/src/Mobs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs')
-rw-r--r--src/Mobs/Blaze.cpp56
-rw-r--r--src/Mobs/Blaze.h11
-rw-r--r--src/Mobs/Monster.h6
3 files changed, 39 insertions, 34 deletions
diff --git a/src/Mobs/Blaze.cpp b/src/Mobs/Blaze.cpp
index a48bfa886..29bff561a 100644
--- a/src/Mobs/Blaze.cpp
+++ b/src/Mobs/Blaze.cpp
@@ -9,10 +9,10 @@
cBlaze::cBlaze(void) :
- super("Blaze", mtBlaze, "entity.blaze.hurt", "entity.blaze.death", 0.6, 1.8)
+ super("Blaze", mtBlaze, "entity.blaze.hurt", "entity.blaze.death", 0.6, 1.8)
{
- SetGravity(-8.0f);
- SetAirDrag(0.05f);
+ SetGravity(-8.0f);
+ SetAirDrag(0.05f);
}
@@ -21,36 +21,36 @@ cBlaze::cBlaze(void) :
void cBlaze::GetDrops(cItems & a_Drops, cEntity * a_Killer)
{
- if ((a_Killer != nullptr) && (a_Killer->IsPlayer() || a_Killer->IsA("cWolf")))
- {
- unsigned int LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting);
- AddRandomDropItem(a_Drops, 0, 1 + LootingLevel, E_ITEM_BLAZE_ROD);
- }
+ if ((a_Killer != nullptr) && (a_Killer->IsPlayer() || a_Killer->IsA("cWolf")))
+ {
+ unsigned int LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting);
+ AddRandomDropItem(a_Drops, 0, 1 + LootingLevel, E_ITEM_BLAZE_ROD);
+ }
}
-
+// mobTODO
bool cBlaze::Attack(std::chrono::milliseconds a_Dt)
{
- if ((GetTarget() != nullptr) && (m_AttackCoolDownTicksLeft == 0))
- {
- // Setting this higher gives us more wiggle room for attackrate
- Vector3d Speed = GetLookVector() * 20;
- Speed.y = Speed.y + 1;
-
- auto FireCharge = cpp14::make_unique<cFireChargeEntity>(this, GetPosX(), GetPosY() + 1, GetPosZ(), Speed);
- auto FireChargePtr = FireCharge.get();
- if (!FireChargePtr->Initialize(std::move(FireCharge), *m_World))
- {
- return false;
- }
-
- ResetAttackCooldown();
- // ToDo: Shoot 3 fireballs instead of 1.
-
- return true;
- }
- return false;
+ if ((GetTarget() != nullptr) && (m_AttackCoolDownTicksLeft == 0))
+ {
+ // Setting this higher gives us more wiggle room for attackrate
+ Vector3d Speed = GetLookVector() * 20;
+ Speed.y = Speed.y + 1;
+
+ auto FireCharge = cpp14::make_unique<cFireChargeEntity>(this, GetPosX(), GetPosY() + 1, GetPosZ(), Speed);
+ auto FireChargePtr = FireCharge.get();
+ if (!FireChargePtr->Initialize(std::move(FireCharge), *m_World))
+ {
+ return false;
+ }
+
+ ResetAttackCooldown();
+ // ToDo: Shoot 3 fireballs instead of 1.
+
+ return true;
+ }
+ return false;
}
diff --git a/src/Mobs/Blaze.h b/src/Mobs/Blaze.h
index ca755b626..7e389fa6c 100644
--- a/src/Mobs/Blaze.h
+++ b/src/Mobs/Blaze.h
@@ -8,15 +8,14 @@
class cBlaze :
- public cAggressiveMonster
+ public cAggressiveMonster
{
- typedef cAggressiveMonster super;
+ typedef cAggressiveMonster super;
public:
- cBlaze(void);
+ cBlaze(void);
- CLASS_PROTODEF(cBlaze)
+ CLASS_PROTODEF(cBlaze)
- virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
- virtual bool Attack(std::chrono::milliseconds a_Dt) override;
+ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
} ;
diff --git a/src/Mobs/Monster.h b/src/Mobs/Monster.h
index 3bb34974b..616c5d184 100644
--- a/src/Mobs/Monster.h
+++ b/src/Mobs/Monster.h
@@ -10,6 +10,12 @@ class cItem;
class cClientHandle;
+//Behavior fwds
+class cBehaviorAggressive;
+class cBehaviorBreeder;
+class cBehaviorChaser;
+class cBehaviorStriker;
+class cBehaviorWanderer;
// tolua_begin
class cMonster :