2014-06-16 23:22:17 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class cPawn;
|
|
|
|
|
|
|
|
// tolua_begin
|
|
|
|
class cEntityEffect
|
|
|
|
{
|
|
|
|
public:
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 16:41:42 -04:00
|
|
|
/** All types of entity effects (numbers correspond to protocol / storage types) */
|
2014-06-16 23:22:17 -04:00
|
|
|
enum eType
|
|
|
|
{
|
|
|
|
effNoEffect = 0,
|
|
|
|
effSpeed = 1,
|
|
|
|
effSlowness = 2,
|
|
|
|
effHaste = 3,
|
|
|
|
effMiningFatigue = 4,
|
|
|
|
effStrength = 5,
|
|
|
|
effInstantHealth = 6,
|
|
|
|
effInstantDamage = 7,
|
|
|
|
effJumpBoost = 8,
|
|
|
|
effNausea = 9,
|
|
|
|
effRegeneration = 10,
|
|
|
|
effResistance = 11,
|
|
|
|
effFireResistance = 12,
|
|
|
|
effWaterBreathing = 13,
|
|
|
|
effInvisibility = 14,
|
|
|
|
effBlindness = 15,
|
|
|
|
effNightVision = 16,
|
|
|
|
effHunger = 17,
|
|
|
|
effWeakness = 18,
|
|
|
|
effPoison = 19,
|
|
|
|
effWither = 20,
|
|
|
|
effHealthBoost = 21,
|
|
|
|
effAbsorption = 22,
|
|
|
|
effSaturation = 23,
|
|
|
|
} ;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-20 05:56:59 -04:00
|
|
|
/** Returns the potion color (used by the client for visuals), based on the potion's damage value */
|
|
|
|
static int GetPotionColor(short a_ItemDamage);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
|
|
|
|
2014-07-20 05:56:59 -04:00
|
|
|
/** Translates the potion's damage value into the entity effect that the potion gives */
|
|
|
|
static cEntityEffect::eType GetPotionEffectType(short a_ItemDamage);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
|
|
|
|
2014-07-20 16:11:06 -04:00
|
|
|
/** Retrieves the intensity level from the potion's damage value. Returns 0 for level I potions, 1 for level II potions. */
|
2014-07-20 05:56:59 -04:00
|
|
|
static short GetPotionEffectIntensity(short a_ItemDamage);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
|
|
|
|
2014-07-20 05:56:59 -04:00
|
|
|
/** Returns the effect duration, in ticks, based on the potion's damage value */
|
|
|
|
static int GetPotionEffectDuration(short a_ItemDamage);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-20 05:56:59 -04:00
|
|
|
/** Returns true if the potion with the given damage is drinkable */
|
|
|
|
static bool IsPotionDrinkable(short a_ItemDamage);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
// tolua_end
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** Creates an empty entity effect */
|
|
|
|
cEntityEffect(void);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** Creates an entity effect of the specified type
|
|
|
|
@param a_Duration How long this effect will last, in ticks
|
|
|
|
@param a_Intensity How strong the effect will be applied
|
|
|
|
@param a_DistanceModifier The distance modifier for affecting potency, defaults to 1 */
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffect(int a_Duration, short a_Intensity, double a_DistanceModifier = 1);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-13 18:43:49 -04:00
|
|
|
/** Creates an entity effect by copying another
|
|
|
|
@param a_OtherEffect The other effect to copy */
|
|
|
|
cEntityEffect(const cEntityEffect & a_OtherEffect);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-13 18:43:49 -04:00
|
|
|
/** Creates an entity effect by copying another
|
|
|
|
@param a_OtherEffect The other effect to copy */
|
2014-08-03 05:57:05 -04:00
|
|
|
cEntityEffect & operator =(cEntityEffect a_OtherEffect);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-22 18:36:13 -04:00
|
|
|
virtual ~cEntityEffect(void) {}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** Creates a pointer to the proper entity effect from the effect type
|
|
|
|
@warning This function creates raw pointers that must be manually managed.
|
|
|
|
@param a_EffectType The effect type to create the effect from
|
|
|
|
@param a_Duration How long this effect will last, in ticks
|
|
|
|
@param a_Intensity How strong the effect will be applied
|
|
|
|
@param a_DistanceModifier The distance modifier for affecting potency, defaults to 1 */
|
2017-08-01 13:51:43 -04:00
|
|
|
static std::unique_ptr<cEntityEffect> CreateEntityEffect(cEntityEffect::eType a_EffectType, int a_Duration, short a_Intensity, double a_DistanceModifier);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** Returns how many ticks this effect has been active for */
|
2014-07-15 16:41:42 -04:00
|
|
|
int GetTicks(void) const { return m_Ticks; }
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** Returns the duration of the effect */
|
2014-07-15 16:41:42 -04:00
|
|
|
int GetDuration(void) const { return m_Duration; }
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** Returns how strong the effect will be applied */
|
2014-07-15 16:41:42 -04:00
|
|
|
short GetIntensity(void) const { return m_Intensity; }
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** Returns the distance modifier for affecting potency */
|
2014-07-15 16:41:42 -04:00
|
|
|
double GetDistanceModifier(void) const { return m_DistanceModifier; }
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
void SetTicks(int a_Ticks) { m_Ticks = a_Ticks; }
|
|
|
|
void SetDuration(int a_Duration) { m_Duration = a_Duration; }
|
|
|
|
void SetIntensity(short a_Intensity) { m_Intensity = a_Intensity; }
|
|
|
|
void SetDistanceModifier(double a_DistanceModifier) { m_DistanceModifier = a_DistanceModifier; }
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 16:41:42 -04:00
|
|
|
/** Called on each tick.
|
|
|
|
By default increases the m_Ticks, descendants may override to provide additional processing. */
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnTick(cPawn & a_Target);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 16:41:42 -04:00
|
|
|
/** Called when the effect is first added to an entity */
|
2014-07-13 18:43:49 -04:00
|
|
|
virtual void OnActivate(cPawn & a_Target) { }
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 16:41:42 -04:00
|
|
|
/** Called when the effect is removed from an entity */
|
2014-07-13 18:43:49 -04:00
|
|
|
virtual void OnDeactivate(cPawn & a_Target) { }
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
protected:
|
|
|
|
/** How many ticks this effect has been active for */
|
|
|
|
int m_Ticks;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** How long this effect will last, in ticks */
|
|
|
|
int m_Duration;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** How strong the effect will be applied */
|
|
|
|
short m_Intensity;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
/** The distance modifier for affecting potency */
|
|
|
|
double m_DistanceModifier;
|
2014-07-15 05:24:48 -04:00
|
|
|
}; // tolua_export
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
|
|
|
|
class cEntityEffectSpeed:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectSpeed(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2014-08-28 17:02:20 -04:00
|
|
|
|
|
|
|
virtual void OnActivate(cPawn & a_Target) override;
|
|
|
|
|
|
|
|
virtual void OnDeactivate(cPawn & a_Target) override;
|
2014-06-16 23:22:17 -04:00
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectSlowness:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectSlowness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2014-08-30 06:45:39 -04:00
|
|
|
|
|
|
|
virtual void OnActivate(cPawn & a_Target) override;
|
|
|
|
|
|
|
|
virtual void OnDeactivate(cPawn & a_Target) override;
|
2014-06-16 23:22:17 -04:00
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectHaste:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectHaste(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectMiningFatigue:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectMiningFatigue(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectStrength:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectStrength(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectInstantHealth:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectInstantHealth(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnActivate(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectInstantDamage:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectInstantDamage(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnActivate(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectJumpBoost:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectJumpBoost(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectNausea:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectNausea(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
2014-07-14 16:46:15 -04:00
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectRegeneration:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectRegeneration(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnTick(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectResistance:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectResistance(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectFireResistance:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectFireResistance(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectWaterBreathing:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectWaterBreathing(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectInvisibility:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectInvisibility(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2017-08-01 13:51:43 -04:00
|
|
|
|
|
|
|
virtual void OnActivate (cPawn & a_Target) override { BroadcastMetadata(a_Target); }
|
|
|
|
virtual void OnDeactivate(cPawn & a_Target) override { BroadcastMetadata(a_Target); }
|
|
|
|
|
|
|
|
private:
|
|
|
|
static void BroadcastMetadata(cPawn & a_Target);
|
2014-06-16 23:22:17 -04:00
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectBlindness:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectBlindness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectNightVision:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectNightVision(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectHunger:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectHunger(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
// cEntityEffect overrides:
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnTick(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectWeakness:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectWeakness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
// cEntityEffect overrides:
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnTick(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectPoison:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectPoison(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
// cEntityEffect overrides:
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnTick(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectWither:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectWither(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
// cEntityEffect overrides:
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnTick(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectHealthBoost:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectHealthBoost(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectAbsorption:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectAbsorption(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
class cEntityEffectSaturation:
|
|
|
|
public cEntityEffect
|
|
|
|
{
|
|
|
|
typedef cEntityEffect super;
|
|
|
|
public:
|
2014-07-11 20:27:29 -04:00
|
|
|
cEntityEffectSaturation(int a_Duration, short a_Intensity, double a_DistanceModifier = 1):
|
|
|
|
super(a_Duration, a_Intensity, a_DistanceModifier)
|
2014-06-16 23:22:17 -04:00
|
|
|
{
|
|
|
|
}
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-06-16 23:22:17 -04:00
|
|
|
virtual void OnTick(cPawn & a_Target) override;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-15 05:24:48 -04:00
|
|
|
|