Esempio n. 1
0
        public string[] View()
        {
            StringBuilder stringBuilder = new StringBuilder();
            List <string> view          = new List <string>();

            view.Add(Name);
            view.Add("");
            view.Add(Description);
            view.Add("");
            if (Exits.Any())
            {
                stringBuilder.Append("Exits: " + Function.GetNames(Exits.ToArray()));
                view.Add(stringBuilder.ToString());
                stringBuilder.Clear();
            }
            if (Mobs.Any())
            {
                stringBuilder.Append("Mobs: " + Function.GetNames(Mobs.ToArray()));
                view.Add(stringBuilder.ToString());
                stringBuilder.Clear();
            }
            if (Players.Any())
            {
                stringBuilder.Append("Players: " + Function.GetNames(Players.ToArray()));
                view.Add(stringBuilder.ToString());
                stringBuilder.Clear();
            }
            if (Items.Any())
            {
                // items on floor; need to search for duplicates, pronouns, etc., and display them in friendly grammar form
                // You see (an) orange, 23 pumpkin seed(s), (a) hungry cat, Toetag('s) nose.
            }
            return(view.ToArray());
        }
Esempio n. 2
0
        public override void Update()
        {
            if (_spawnTime.MillisUntilEnd() < 0 && !Mobs.Any())
            {
                SpawnStageBoss();
            }

            base.Update();
        }
Esempio n. 3
0
        public override void OnUserEnterScriptedPortal(Character user, string sPortal)
        {
            if (tFieldTimerExpiration.SecondsUntilEnd() < 0)             // timer expired -> warp out
            {
                if (user.Party is null)
                {
                    user.Action.SetField(ReturnMapId);
                }
                else
                {
                    user.Party.WarpParty(dwUniqueId, ReturnMapId, false);
                    // user.Action.SetField(MapId);
                }

                Reset();
            }
            else if (Mobs.Any(mob => mob.nMobTemplateId == DEAD_MOB_CHECK))
            {
                if (user.Party is null)
                {
                    user.Action.SetFieldInstance(MapId + 100, nInstanceID);
                }
                else
                {
                    user.Party.WarpParty(dwUniqueId, MapId + 100, true);
                    // user.Action.SetFieldInstance(MapId, nInstanceID);
                }

                Reset();
            }
            else
            {
                user.SendMessage("Kill the boss to proceed to the next stage..");
            }

            user.Action.Enable();
        }