示例#1
0
        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);
                }
            }
        }
示例#2
0
        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;
                }
            }
        }