public void Reset() { Creatures.Clear(); Targets.Clear(); DamageDone.Clear(); DamageTaken.Clear(); Deads.Clear(); CombatCreatureGuid.Reset(); CombatDamageDoneGuid.Reset(); CombatDamageTakenGuid.Reset(); CombatDeadGuid.Reset(); }
public void Update(int targetGuid, int targetHealthPercent) { Update(targetGuid, targetHealthPercent, Targets); if (CombatCreatureGuid.Updated(reader)) { Update(CombatCreatureGuid.Value, 100f, Creatures); } if (CombatDamageTakenGuid.Updated(reader)) { Update(CombatDamageTakenGuid.Value, 100f, DamageTaken); } if (CombatDamageDoneGuid.Updated(reader)) { Update(CombatDamageDoneGuid.Value, 100f, DamageDone); } if (CombatDeadGuid.Updated(reader)) { Update(CombatDeadGuid.Value, 0, Creatures); Update(CombatDeadGuid.Value, 0, Deads); if (DamageTaken.Exists(x => x.Guid == CombatDeadGuid.Value)) { Update(CombatDeadGuid.Value, 0, DamageTaken); } if (DamageDone.Exists(x => x.Guid == CombatDeadGuid.Value)) { Update(CombatDeadGuid.Value, 0, DamageDone); } if (Targets.Exists(x => x.Guid == CombatDeadGuid.Value)) { Update(CombatDeadGuid.Value, 0, Targets); } if (Targets.Exists(x => x.Guid == CombatDeadGuid.Value) && (DamageDone.Exists(x => x.Guid == CombatDeadGuid.Value) || DamageTaken.Exists(x => x.Guid == CombatDeadGuid.Value))) { KillCredit?.Invoke(this, EventArgs.Empty); } } }