private void SeeRoomMobs(MudRoom room) { var mobs = Game.Instance.GetEntitiesInRoom(room.Id, x => x.Traits.Has("race") && !x.Traits.Has("item") && x.Id != Owner.Id); if (!mobs.Any()) { Game.Instance.SendMessage(_acctId, "There are no signs of life here."); return; } var sb = new StringBuilder(); var verb = mobs.Count > 2 ? "are" : "is"; Game.Instance.SendMessage(_acctId, $"{ConcatEntities(mobs)} {verb} here with you."); }
private void SeeRoomItems(MudRoom room) { var items = Game.Instance.GetEntitiesInRoom(room.Id, x => !x.Traits.Has("race") && x.Traits.Has("item")); if (!items.Any()) { Game.Instance.SendMessage(_acctId, "There is nothing of note here."); return; } var sb = new StringBuilder(); Game.Instance.SendMessage(_acctId, $"You see {ConcatEntities(items)} on the ground."); }
void SetupWorld() { var zone = new MudZone(1, "The Enchanted Forest"); var room1 = new MudRoom(1, 1, "Western Clearing"); room1.Traits.Add("description", "The passageway gives way to an expanse of land unobstructed by trees of any shape or size."); var room2 = new MudRoom(2, 1, "Eastern Thicket"); room2.Traits.Add("description", "You find yourself in the midst of a densely packed bushes and shrubs."); var room3 = new MudRoom(3, 1, "Camp"); room3.Traits.Add("description", "Surrounded by thick shrubbery and large, looming pine trees lies a modest encampment. At its center, a fire crackles softly."); //add an item var torch = new MudEntity(777, "torch"); torch.Traits.Add("item", "true"); torch.Traits.Add("quantity", "1"); ComponentManager.Instance.AssignComponent(torch, "item"); _entities.Add(torch.Id, torch); room3.Entities.Add(torch.Id); torch.Traits.Add("room", room3.Id.ToString()); //add a mouse and snake and bear var mouse = new MudEntity(888, "mouse"); mouse.Traits.Add("race", "mouse"); _entities.Add(mouse.Id, mouse); room3.Entities.Add(mouse.Id); var snake = new MudEntity(999, "snake"); snake.Traits.Add("race", "snake"); _entities.Add(snake.Id, snake); room3.Entities.Add(snake.Id); var bear = new MudEntity(222, "brown bear"); bear.Traits.Add("race", "bear"); _entities.Add(bear.Id, bear); room3.Entities.Add(bear.Id); //camp --> west var p1 = new MudPortal(1001, "Passageway 1"); var p1e1 = new MudPortalEntry(1, room3.Id, room1.Id, "west"); var p1e2 = new MudPortalEntry(2, room1.Id, room3.Id, "east"); p1.Entries.AddRange(new[] { p1e1, p1e2 }); //camp --> east var p2 = new MudPortal(1002, "Passageway 2"); var p2e1 = new MudPortalEntry(3, room3.Id, room2.Id, "east"); var p2e2 = new MudPortalEntry(4, room2.Id, room3.Id, "west"); p2.Entries.AddRange(new[] { p2e1, p2e2 }); room3.Portals.Add(p1.Id); room3.Portals.Add(p2.Id); room1.Portals.Add(p1.Id); room2.Portals.Add(p2.Id); zone.Rooms.AddRange(new[] { room1.Id, room2.Id, room3.Id }); _zones.Add(zone.Id, zone); _rooms.Add(room1.Id, room1); _rooms.Add(room2.Id, room2); _rooms.Add(room3.Id, room3); _portals.Add(p1.Id, p1); _portals.Add(p2.Id, p2); _portalEntries.Add(p1e1.Id, p1e1); _portalEntries.Add(p1e2.Id, p1e2); _portalEntries.Add(p2e1.Id, p2e1); _portalEntries.Add(p2e2.Id, p2e2); }
private void SeeRoomDesc(MudRoom room) { Game.Instance.SendMessage(_acctId, $"{room.Traits.Get("description").Value}"); }
private void SeeRoomName(MudRoom room) { Game.Instance.SendMessage(_acctId, $"{room.Name}"); }
private void SeeRoomExits(MudRoom room) { //throw new NotImplementedException(); }