summaryrefslogtreecommitdiffstats
path: root/source/cMonster.h
diff options
context:
space:
mode:
authorcedeel@gmail.com <cedeel@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-06-14 15:06:06 +0200
committercedeel@gmail.com <cedeel@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-06-14 15:06:06 +0200
commit92c59963f82f81aa3202657e7fdbb2592924ede3 (patch)
treeb7eb2474528a4998fa102e3ec9119b908cee08b4 /source/cMonster.h
parentAdded HOOK_WEATHER_CHANGE. (diff)
downloadcuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar
cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.gz
cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.bz2
cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.lz
cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.xz
cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.zst
cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.zip
Diffstat (limited to 'source/cMonster.h')
-rw-r--r--source/cMonster.h202
1 files changed, 101 insertions, 101 deletions
diff --git a/source/cMonster.h b/source/cMonster.h
index b1e237d80..ab247fcfa 100644
--- a/source/cMonster.h
+++ b/source/cMonster.h
@@ -1,101 +1,101 @@
-
-#pragma once
-
-#include "cPawn.h"
-#include "Defines.h"
-#include "cWorld.h"
-#include "BlockID.h"
-#include "cItem.h"
-#include "BlockID.h"
-
-
-
-
-
-class Vector3f;
-class cClientHandle;
-
-
-
-
-class cMonster : public cPawn //tolua_export
-{ //tolua_export
-public:
-
- cMonster();
- virtual ~cMonster();
-
- virtual bool IsA( const char* a_EntityType );
-
- virtual cPacket * GetSpawnPacket(void) const override;
-
- virtual void Tick(float a_Dt) override;
-
- virtual void HandlePhysics(float a_Dt);
- virtual void ReplicateMovement();
-
- virtual void TakeDamage( int a_Damage, cEntity* a_Instigator );
- virtual void KilledBy( cEntity* a_Killer );
-
- virtual void MoveToPosition( const Vector3f & a_Position );
- virtual bool ReachedDestination();
-
- const char *GetState();
- void SetState(const char* str);
- static void ListMonsters();
-
- virtual void CheckEventSeePlayer();
- virtual void EventSeePlayer(cEntity *);
- float m_SightDistance;
- virtual cPlayer *FindClosestPlayer(); //non static is easier. also virtual so other mobs can implement their own searching algo
- virtual void GetMonsterConfig(const char* pm_name);
- virtual void EventLosePlayer();
- virtual void CheckEventLostPlayer();
-
- virtual void InStateIdle(float a_Dt);
- virtual void InStateChasing(float a_Dt);
- virtual void InStateEscaping(float a_Dt);
-
- virtual void Attack(float a_Dt);
- int GetMobType() {return m_MobType;}
- int GetAttackRate(){return (int)m_AttackRate;}
- void SetAttackRate(int ar);
- void SetAttackRange(float ar);
- void SetAttackDamage(float ad);
- void SetSightDistance(float sd);
-
- enum MState{ATTACKING, IDLE, CHASING, ESCAPING} m_EMState;
- enum MPersonality{PASSIVE,AGGRESSIVE,COWARDLY} m_EMPersonality;
-
-protected:
-
- cEntity* m_Target;
- float m_AttackRate;
- float idle_interval;
-
- Vector3f m_Destination;
- bool m_bMovingToDestination;
- bool m_bPassiveAggressive;
-
- Vector3f m_Speed;
- float m_DestinationTime;
-
- float m_Gravity;
- bool m_bOnGround;
-
- float m_DestroyTimer;
- float m_Jump;
-
- char m_MobType;
-
- float m_SeePlayerInterval;
- float m_AttackDamage;
- float m_AttackRange;
- float m_AttackInterval;
-
- void AddRandomDropItem(cItems & a_Drops, unsigned int a_Min, unsigned int a_Max, ENUM_ITEM_ID a_Item, short a_ItemHealth = 0);
-}; //tolua_export
-
-
-
-
+
+#pragma once
+
+#include "cPawn.h"
+#include "Defines.h"
+#include "cWorld.h"
+#include "BlockID.h"
+#include "cItem.h"
+#include "BlockID.h"
+
+
+
+
+
+class Vector3f;
+class cClientHandle;
+
+
+
+
+class cMonster : public cPawn //tolua_export
+{ //tolua_export
+public:
+
+ cMonster();
+ virtual ~cMonster();
+
+ virtual bool IsA( const char* a_EntityType );
+
+ virtual cPacket * GetSpawnPacket(void) const override;
+
+ virtual void Tick(float a_Dt) override;
+
+ virtual void HandlePhysics(float a_Dt);
+ virtual void ReplicateMovement();
+
+ virtual void TakeDamage( int a_Damage, cEntity* a_Instigator );
+ virtual void KilledBy( cEntity* a_Killer );
+
+ virtual void MoveToPosition( const Vector3f & a_Position );
+ virtual bool ReachedDestination();
+
+ const char *GetState();
+ void SetState(const char* str);
+ static void ListMonsters();
+
+ virtual void CheckEventSeePlayer();
+ virtual void EventSeePlayer(cEntity *);
+ float m_SightDistance;
+ virtual cPlayer *FindClosestPlayer(); //non static is easier. also virtual so other mobs can implement their own searching algo
+ virtual void GetMonsterConfig(const char* pm_name);
+ virtual void EventLosePlayer();
+ virtual void CheckEventLostPlayer();
+
+ virtual void InStateIdle(float a_Dt);
+ virtual void InStateChasing(float a_Dt);
+ virtual void InStateEscaping(float a_Dt);
+
+ virtual void Attack(float a_Dt);
+ int GetMobType() {return m_MobType;}
+ int GetAttackRate(){return (int)m_AttackRate;}
+ void SetAttackRate(int ar);
+ void SetAttackRange(float ar);
+ void SetAttackDamage(float ad);
+ void SetSightDistance(float sd);
+
+ enum MState{ATTACKING, IDLE, CHASING, ESCAPING} m_EMState;
+ enum MPersonality{PASSIVE,AGGRESSIVE,COWARDLY} m_EMPersonality;
+
+protected:
+
+ cEntity* m_Target;
+ float m_AttackRate;
+ float idle_interval;
+
+ Vector3f m_Destination;
+ bool m_bMovingToDestination;
+ bool m_bPassiveAggressive;
+
+ Vector3f m_Speed;
+ float m_DestinationTime;
+
+ float m_Gravity;
+ bool m_bOnGround;
+
+ float m_DestroyTimer;
+ float m_Jump;
+
+ char m_MobType;
+
+ float m_SeePlayerInterval;
+ float m_AttackDamage;
+ float m_AttackRange;
+ float m_AttackInterval;
+
+ void AddRandomDropItem(cItems & a_Drops, unsigned int a_Min, unsigned int a_Max, ENUM_ITEM_ID a_Item, short a_ItemHealth = 0);
+}; //tolua_export
+
+
+
+