예제 #1
0
        public virtual string RunAway(Board b)
        {
            var room      = b.GetRoom(roomId);
            var corridors = room.corridors;

            return(name + " shrieks and howls with pain and retreats to ");
        }
예제 #2
0
        public bool InCombat(Board board)
        {
            var room      = board.GetRoom(roomId);
            var occupants = room.GetRoomOccupants(board);

            return(occupants.Any(r => r.isHostile != isHostile));
        }
예제 #3
0
 public void CreateNoise(Board board)
 {
     if (isMonsterTunnel)
     {
         board.GetRoom(999).corridors.ForEach(r => r.Noise.State = true);
     }
     else
     {
         Noise.State = true;
     }
     NotifyListeners(Noise.ToString());
 }
예제 #4
0
 public virtual string Kill(Board board)
 {
     board.GetRoom(this.roomId).heavyItemsOnGround.Add(new Carcass());
     board.targets.Remove(this);
     return(name + " dies!");
 }