6 return this.m_active(
this, actor);
11 FOREACH(StatusEffects, it.m_active(it, actor),
21 store = actor.statuseffects;
24 float eff_time = store.statuseffect_time[this.
m_id];
27 return (eff_time <
time ?
time : eff_time);
33 if (!actor || eff_time <=
time)
36 this.m_apply(
this, actor, eff_time, eff_flags);
46 store.statuseffect_time[it.m_id] =
time + this.statuseffect_time[it.m_id] - time_offset;
48 store.statuseffect_time[it.m_id] = this.statuseffect_time[it.m_id];
49 store.statuseffect_flags[it.m_id] = this.statuseffect_flags[it.m_id];
55 this.m_remove(
this, actor, removal_type);
60 if(!actor.statuseffects)
64 it.m_remove(it, actor, removal_type);
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define FOREACH(list, cond, body)
void StatusEffects_removeall(entity actor, int removal_type)
void StatusEffects_remove(StatusEffect this, entity actor, int removal_type)
void StatusEffects_copy(StatusEffect this, entity store, float time_offset)
float StatusEffects_gettime(StatusEffect this, entity actor)
bool StatusEffects_active(StatusEffect this, entity actor)
void StatusEffects_apply(StatusEffect this, entity actor, float eff_time, int eff_flags)
void StatusEffects_tick(entity actor)