diff options
author | Mattes D <github@xoft.cz> | 2014-05-18 22:30:34 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-05-18 22:30:34 +0200 |
commit | ac005681839134018f0162cfb8cb1453e11cbb46 (patch) | |
tree | 41cc966732262c0a8f5441932b758344856d6259 /src/Entities/Player.h | |
parent | Merge pull request #1005 from SphinxC0re/LoadPluginfolder (diff) | |
parent | Fixes (diff) | |
download | cuberite-ac005681839134018f0162cfb8cb1453e11cbb46.tar cuberite-ac005681839134018f0162cfb8cb1453e11cbb46.tar.gz cuberite-ac005681839134018f0162cfb8cb1453e11cbb46.tar.bz2 cuberite-ac005681839134018f0162cfb8cb1453e11cbb46.tar.lz cuberite-ac005681839134018f0162cfb8cb1453e11cbb46.tar.xz cuberite-ac005681839134018f0162cfb8cb1453e11cbb46.tar.zst cuberite-ac005681839134018f0162cfb8cb1453e11cbb46.zip |
Diffstat (limited to 'src/Entities/Player.h')
-rw-r--r-- | src/Entities/Player.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/Entities/Player.h b/src/Entities/Player.h index 6fc7e2875..78b534d83 100644 --- a/src/Entities/Player.h +++ b/src/Entities/Player.h @@ -7,6 +7,8 @@ #include "../World.h" #include "../ClientHandle.h" +#include "../Statistics.h" + @@ -174,6 +176,15 @@ public: cTeam * UpdateTeam(void); // tolua_end + + /** Return the associated statistic and achievement manager. */ + cStatManager & GetStatManager() { return m_Stats; } + + /** Awards the player an achievement. + If all prerequisites are met, this method will award the achievement and will broadcast a chat message. + If the achievement has been already awarded to the player, this method will just increment the stat counter. + Returns the _new_ stat value. (0 = Could not award achievement) */ + unsigned int AwardAchievement(const eStatistic a_Ach); void SetIP(const AString & a_IP); @@ -306,6 +317,8 @@ public: void AbortEating(void); virtual void KilledBy(cEntity * a_Killer) override; + + virtual void Killed(cEntity * a_Victim) override; void Respawn(void); // tolua_export @@ -375,6 +388,9 @@ public: /** If true the player can fly even when he's not in creative. */ void SetCanFly(bool a_CanFly); + /** Update movement-related statistics. */ + void UpdateMovementStats(const Vector3d & a_DeltaPos); + /** Returns wheter the player can fly or not. */ virtual bool CanFly(void) const { return m_CanFly; } // tolua_end @@ -487,6 +503,8 @@ protected: cTeam * m_Team; + cStatManager m_Stats; + void ResolvePermissions(void); @@ -506,6 +524,9 @@ protected: /** Called in each tick if the player is fishing to make sure the floater dissapears when the player doesn't have a fishing rod as equipped item. */ void HandleFloater(void); + /** Tosses a list of items. */ + void TossItems(const cItems & a_Items); + /** Adds food exhaustion based on the difference between Pos and LastPos, sprinting status and swimming (in water block) */ void ApplyFoodExhaustionFromMovement(); |