diff options
author | archshift <admin@archshift.com> | 2014-06-07 08:05:29 +0200 |
---|---|---|
committer | archshift <admin@archshift.com> | 2014-06-17 20:39:19 +0200 |
commit | a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2 (patch) | |
tree | ac30c249763e1b1c62dbfda585c62ecb56212adb /src/Entities | |
parent | Player: Removed food-poisoning-specific code, set duration to 30 seconds (diff) | |
download | cuberite-a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2.tar cuberite-a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2.tar.gz cuberite-a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2.tar.bz2 cuberite-a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2.tar.lz cuberite-a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2.tar.xz cuberite-a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2.tar.zst cuberite-a9a4c9c6b25438aaebdeef03c323e9aa4a0348c2.zip |
Diffstat (limited to 'src/Entities')
-rw-r--r-- | src/Entities/EntityEffects.cpp | 14 | ||||
-rw-r--r-- | src/Entities/EntityEffects.h | 30 | ||||
-rw-r--r-- | src/Entities/Player.cpp | 2 |
3 files changed, 35 insertions, 11 deletions
diff --git a/src/Entities/EntityEffects.cpp b/src/Entities/EntityEffects.cpp index 3aa3fd1ed..c74463bfa 100644 --- a/src/Entities/EntityEffects.cpp +++ b/src/Entities/EntityEffects.cpp @@ -1,14 +1,16 @@ #include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules #include "EntityEffects.h" - +#include "Pawn.h" cEntityEffect::cEntityEffect(): m_Ticks(0), - m_Intensity(0) + m_Intensity(0), + m_User(NULL), + m_DistanceModifier(1) { } @@ -17,9 +19,11 @@ cEntityEffect::cEntityEffect(): -cEntityEffect::cEntityEffect(int a_Ticks, short a_Intensity): +cEntityEffect::cEntityEffect(int a_Ticks, short a_Intensity, cPawn *a_User, double a_DistanceModifier): m_Ticks(a_Ticks), - m_Intensity(a_Intensity) + m_Intensity(a_Intensity), + m_User(a_User), + m_DistanceModifier(a_DistanceModifier) { -} +}
\ No newline at end of file diff --git a/src/Entities/EntityEffects.h b/src/Entities/EntityEffects.h index 6ddd86b01..2bda2e104 100644 --- a/src/Entities/EntityEffects.h +++ b/src/Entities/EntityEffects.h @@ -1,5 +1,7 @@ #pragma once +class cPawn; + // tolua_begin class cEntityEffect { public: @@ -35,8 +37,14 @@ public: /** The duration of the effect */ int m_Ticks; - /** How strong the effect will be applied */ - short m_Intensity; + /** Returns how strong the effect will be applied */ + short GetIntensity() { return m_Intensity; } + + /** Returns the pawn that used this entity effect */ + cPawn *GetUser() { return m_User; } + + /** Returns the distance modifier for affecting potency */ + double GetDistanceModifier() { return m_DistanceModifier; } /** * An empty entity effect @@ -45,9 +53,21 @@ public: /** * An entity effect - * @param a_Ticks The duration of the effect - * @param a_Intensity How strong the effect will be applied + * @param a_Ticks The duration of the effect + * @param a_Intensity How strong the effect will be applied + * @param a_User The pawn that used this entity effect + * @param a_DistanceModifier The distance modifier for affecting potency, defaults to 1 */ - cEntityEffect(int a_Ticks, short a_Intensity); + cEntityEffect(int a_Ticks, short a_Intensity, cPawn *a_User, double a_DistanceModifier = 1); + +private: + /** How strong the effect will be applied */ + short m_Intensity; + + /** The pawn that used this entity effect */ + cPawn *m_User; + + /** The distance modifier for affecting potency */ + double m_DistanceModifier; }; // tolua_end diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp index 3a1ebf3f9..d075957fe 100644 --- a/src/Entities/Player.cpp +++ b/src/Entities/Player.cpp @@ -570,7 +570,7 @@ bool cPlayer::Feed(int a_Food, double a_Saturation) void cPlayer::FoodPoison(int a_NumTicks) { - AddEntityEffect(cEntityEffect::efHunger, cEntityEffect(0, a_NumTicks)); + AddEntityEffect(cEntityEffect::efHunger, cEntityEffect(0, a_NumTicks, NULL)); } |