Ejemplo n.º 1
0
        private static void DeathCamClearStats(PlayerMobile cam)
        {
            if (cam == null)
            {
                return;
            }

            if (PlayerMurderers != null)
            {
                PlayerMurderers.Clear();
            }

            if (MonsterMurderers != null)
            {
                MonsterMurderers.Clear();
            }

            CurrentDeathCount     = 0;
            CurrentPlayerMurders  = 0;
            CurrentMonsterMurders = 0;

            TopMonsterMurderer = null;
            TopPlayerMurderer  = null;

            cam.SendMessage("Action Camera stats have been cleared.");
        }
Ejemplo n.º 2
0
        public static void MonsterKillerCheck(BaseCreature m)
        {
            if (m == null)
            {
                return;
            }

            ++CurrentMonsterMurders;

            if ((TopMonsterMurderer == null || TopMonsterMurderer.Deleted || !MonsterMurderers.ContainsKey(TopMonsterMurderer)) &&
                MonsterMurderers.Count > 0)
            {
                TopMonsterMurderer = MonsterMurderers.OrderByDescending(kv => kv.Value).FirstOrDefault().Key;
            }

            int count;

            if (!MonsterMurderers.TryGetValue(m, out count))
            {
                MonsterMurderers.Add(m, count = 1);
            }
            else
            {
                count = ++MonsterMurderers[m];
            }

            if (count >= MonsterMurderers.Values.Max())
            {
                TopMonsterMurderer = m;
            }
        }
Ejemplo n.º 3
0
        public static void Defragment()
        {
            DeathCams.RemoveKeyRange(cam => cam.Deleted || !cam.IsOnline());
            DeathCamsEvents.RemoveKeyRange(cam => cam.Deleted || !cam.IsOnline());

            CurrentlyViewing.RemoveKeyRange(cam => cam.Deleted || !cam.IsOnline() || !IsCamera(cam));
            CurrentlyViewing.RemoveValueRange(target => target.Deleted || !target.IsOnline() || IsCamera(target));

            PlayerMurderers.RemoveKeyRange(player => player.Deleted);
            MonsterMurderers.RemoveKeyRange(mob => mob.Deleted);
        }