public virtual void Update() { this.m_syncFlag = false; this.UpdateRegenAmountMultiplier(); foreach (KeyValuePair <int, MyEntityStatRegenEffect> pair in this.m_effects) { MyEntityStatRegenEffect effect = pair.Value; if ((effect.Duration >= 0f) && (effect.AliveTime >= (effect.Duration * 1000f))) { m_tmpRemoveEffects.Add(pair.Key); } if (Sync.IsServer && effect.Enabled) { if (this.m_regenAmountMultiplierActive) { effect.Update(this.m_regenAmountMultiplier); } else { effect.Update(1f); } } } foreach (int num in m_tmpRemoveEffects) { this.RemoveEffect(num); } m_tmpRemoveEffects.Clear(); int updateCounter = this.m_updateCounter; this.m_updateCounter = updateCounter + 1; if ((((updateCounter % 10) == 0) || (Math.Abs((float)(this.Value - this.MinValue)) <= 0.001)) && (this.m_lastSyncValue != this.m_currentValue)) { this.m_syncFlag = true; this.m_lastSyncValue = this.m_currentValue; } }