public void OnEncounterComplete(ShadowguardEncounter encounter, bool expired) { Encounters.Remove(encounter); CheckQueue(); if (!expired) { Mobile m = encounter.PartyLeader; if (m == null) { return; } Party p = Party.Get(m); if (p != null) { foreach (PartyMemberInfo info in p.Members) { AddToTable(info.Mobile, encounter.Encounter); } } else { AddToTable(m, encounter.Encounter); } } }
public void OnEncounterComplete(ShadowguardEncounter encounter, bool expired) { Encounters.Remove(encounter); CheckQueue(); if (!expired) { foreach (PlayerMobile pm in encounter.Region.GetEnumeratedMobiles().OfType <PlayerMobile>()) { AddToTable(pm, encounter.Encounter); } } }
public void OnEncounterComplete(ShadowguardEncounter encounter, bool expired) { Encounters.Remove(encounter); CheckQueue(); if (!expired) { Mobile m = encounter.PartyLeader; if (m == null) { return; } if (encounter.Encounter == EncounterType.Roof) { if (Table != null && Table.ContainsKey(m)) { Table.Remove(m); if (Table.Count == 0) { Table = null; } return; } } if (Table != null && Table.ContainsKey(m)) { if ((Table[m] & encounter.Encounter) == 0) { Table[m] |= encounter.Encounter; } } else { if (Table == null) { Table = new Dictionary <Mobile, EncounterType>(); } Table[m] = encounter.Encounter; } } }