<commit_before>﻿using System;
using System.Collections.Generic;
using System.Linq;

namespace GreatTextAdventures.Actions
{
	public class LookAction : Action
	{
		public override IEnumerable<string> Aliases
		{
			get 
			{ 
				yield return "look";
				yield return "examine";
				yield return "analyze";
			}
		}

		public override void Do(string action)
		{
			if (action.StartsWith("at"))
			{
				// Remove 'at', so we can accept a more natural speech style (look at stuff, instead of look stuff)
				action = action.Substring(2).Trim();
			}

			if (string.IsNullOrWhiteSpace(action) || action == "around" || action == "room")
			{
				// Just look at the room, in general
				Console.WriteLine("You are in a {0}", GameSystem.CurrentMap.CurrentRoom.Describe());
			}
			else
			{
				// Get all the items or creatures with the codename 'action'
				ILookable found = GameSystem.GetMemberWithName(action);

				if (found == null) return;

				Console.WriteLine(found.Description);
			}			
		}

		public override void Help()
		{
			Console.WriteLine("Look:");
			Console.WriteLine("\tlook *target*");
			Console.WriteLine("\tlook at *target*");
			Console.WriteLine("\t\ttarget: Who or What to look at");
		}
	}
}<commit_msg>Added additonal info to people at LookAction<commit_after>﻿using System;
using System.Collections.Generic;
using System.Linq;

namespace GreatTextAdventures.Actions
{
	public class LookAction : Action
	{
		public override IEnumerable<string> Aliases
		{
			get 
			{ 
				yield return "look";
				yield return "examine";
				yield return "analyze";
			}
		}

		public override void Do(string action)
		{
			if (action.StartsWith("at"))
			{
				// Remove 'at', so we can accept a more natural speech style (look at stuff, instead of look stuff)
				action = action.Substring(2).Trim();
			}

			if (string.IsNullOrWhiteSpace(action) || action == "around" || action == "room")
			{
				// Just look at the room, in general
				Console.WriteLine("You are in a {0}", GameSystem.CurrentMap.CurrentRoom.Describe());
			}
			else
			{
				ILookable found = GameSystem.GetMemberWithName(action);

				// Exit if input is invalid (nothing found)
				if (found == null) return;

				Console.WriteLine(found.Description);

				// Write additional information based on the object's nature

				Person person = found as Person;
				if (person != null)
				{
					Console.WriteLine("Health: {0}", person.Health);

					if (person.EquippedWeapon != null)
						Console.WriteLine("Weapon: {0} ({1})", person.EquippedWeapon.DisplayName, person.EquippedWeapon.Attack);
					else
						Console.WriteLine("Weapon: None");
				}
			}			
		}

		public override void Help()
		{
			Console.WriteLine("Look:");
			Console.WriteLine("\tlook *target*");
			Console.WriteLine("\tlook at *target*");
			Console.WriteLine("\t\ttarget: Who or What to look at");
		}
	}
}
{'fraction_non_alphanumeric': 0.12652492157546183, 'fraction_numerical': 0.0024398745207389336, 'mean_word_length': 3.2268041237113403, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '399675', 'n_tokens_mistral': 1074, 'n_tokens_neox': 867, 'n_words': 249}