EffectHitPointChangeWhenDying(float)
Returns a new effect object.
effect EffectHitPointChangeWhenDying( float fHitPointChangePerRound );
Parameters
fHitPointChangePerRound
Positive or negative, but not zero.
Description
Create a Hit Point Change When Dying effect.
Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if fHitPointChangePerRound is 0.
Fractions can be set; using -0.2 for fHitPointChangePerRound will mean that 1 HP is lost every 5 rounds.
A dying creature can still be conventionally damage - this is more useful if you wish to have a very simple OnDying event, which could apply this to do damage until they are dead (or recieve healing), using EffectHitPointChangeWhenDying(-1.0).
Remarks
Healing a character (or anything that makes HP go above 0) when a character is dying will cause the effect to automatically disappear.
Also note that a more conventional way to do bleeding would be to apply a cause of EffectDamage(), with a DelayCommand() wrappered around a function to apply a new one every 6 seconds.
Known Bugs
Trying to locate and destroy this effect is difficult because the effect type is 0 (along with knockdown and a few others). Healing will remove this effect.
Version
1.62
Example
// Sample code for applying a loss of 1 HP every 0.5 rounds, so
// every other round, to a target
void main()
{
// This is the Object to apply the effect to.
object oTarget = OBJECT_SELF;
// Create the effect to apply
effect eHPLoss = EffectHitPointChangeWhenDying(-0.5);
// Create the visual portion of the effect. This is instantly
// applied and not persistant with wether or not we have the
// above effect.
effect eVis = EffectVisualEffect(VFX_IMP_VFX_IMP_HARM);
// Apply the visual effect to the target
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
// Apply the effect to the object
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHPLoss, oTarget);
}
See Also
| categories: | Effects Functions |
| constants: | EFFECT_TYPE_* Constants |
author: Michael Nork, editor: Jasperre, additional contributor(s): Enigmatic, Jasperre