Example #1
0
        private void ResetDamageTracker(ResetPlayerStatsMessage message = null)
        {
            if (Server == null)
            {
                return;
            }

            var saveEncounter = message != null && message.ShouldSaveCurrent;

            if (saveEncounter && !DamageTracker.IsArchived && DamageTracker.StatsByUser.Count > 0 &&
                DamageTracker.FirstAttack != null && DamageTracker.LastAttack != null)
            {
                DamageTracker.IsArchived = true;
                DamageTracker.Abnormals  = _abnormalityStorage.Clone();
                ArchivedDamageTrackers.Add(DamageTracker);
                return;
            }
            if (message != null && !message.ShouldSaveCurrent && DamageTracker.IsArchived)
            {
                ArchivedDamageTrackers.Remove(DamageTracker);
            }

            _abnormalityStorage.ClearEnded();
            DamageTracker = new DamageTracker
            {
                OnlyBosses     = OnlyBosses,
                IgnoreOneshots = IgnoreOneshots,
                Abnormals      = _abnormalityStorage,
                MeterPlayer    = _playerTracker?.Me()
            };
        }
Example #2
0
 private void ClearEncounters()
 {
     ArchivedDamageTrackers.Clear();
 }