///<summary> Updates Effect limit, checks to see if DamageInfo can attack, updates AppearanceInfo. Flags effect for removal when the conditions for it are met. </summary> public void UpdateOutput(EnvironEffectList effects, ref float hitPoints, ResistanceInfo resistances) { if (endOnCondition == TerminalCondition.TIMER_ZERO) { limit.UpdateTimer(); effects.ConditionalFlagForRemoval(limit.belowZero, this); } if (damageI) { damageI.Attack(ref hitPoints, resistances); effects.ConditionalFlagForRemoval(damageI.removeEffect, this); } if (appearanceI) { appearanceI.UpdateInfo(); } }