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()); }
public override void Update() { if (_spawnTime.MillisUntilEnd() < 0 && !Mobs.Any()) { SpawnStageBoss(); } base.Update(); }
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(); }