Example #1
0
        protected override void OnSlice()
        {
            base.OnSlice();

            for (var i = 0; i < Bosses.Length; i++)
            {
                var o = Bosses[i];

                if (o != null && !o.Deleted && o.Alive)
                {
                    var players = 0;

                    foreach (var m in Circles[i].FindEntities <PlayerMobile>(Map))
                    {
                        if (ActiveGroup.Contains(m))
                        {
                            ++players;
                        }

                        if (m.Z < 0)
                        {
                            Teleport(m, TeleportersFrom[i].PointDest, Map);
                        }
                    }

                    if (players <= 0)
                    {
                        o.Combatant = null;
                    }

                    if (o.InCombat(TimeSpan.FromSeconds(5)))
                    {
                        DropFloor(i, false);
                    }
                }
            }
        }