* @param client
	 */
	private void cmd_pinfo(final String arg, final Client client) {
		final Player player = getPlayer(client);

		send("-------------------------[ Character Sheet ]-------------------------", client);
		send("Name: " + Utils.padRight(player.getName(), 16), client);
		send("Race:  " + player.getRace().getName(), client);
		send("Class: " + player.getPClass().getName(), client);
		send("Level: " + player.getLevel(), client);

		send("", client);

		if (player.isLevelUp()) {
			// client.write(Colors.GREEN + "Ready to Level-Up!" + Colors.WHITE +
			// '\n');
			send(colors("Ready to Level-Up!", "green"), client);
			send("", client);
		}

		send("XP: " + Utils.padRight("" + player.getXP(), 7) + " XP to next Level: " + Utils.padRight("" + (player.getXPToLevel() - player.getXP()), 7), client);

		send("", client);

		// TODO testing
		final Ability[] abilities = rules.getAbilities();
		
		String abilityString = "";

		for (final Ability ability : abilities) {
			int ab = player.getAbility(ability);      // get base ability stat
			int abm = player.getAbilityMod(ability); // get ability stat modifier

			// ab would represent the current ability score, this code is meant
			// to visually render whether the overall modifier adds or subtracts
			// from inherent
			abilityString = (ab > ab - abm) ? colors("" + ab, "green") : (ab < ab - abm) ? colors("" + ab, "red") : "" + ab;

			send(Utils.padRight(ability.getName() + ": ", ' ', 14) + abilityString, client);
		}

		send("", client);

		send("AC: " + player.getAC(), client);
		
		/*
		// Brew Potion (0) Craft Magic Arms And Armor (1)           Craft Rod (2)
		// Craft Staff (3)                 Craft Wand (4) Craft Wondrous Item (5)
		//  Forge Ring (6)               Scribe Scroll(7)
		String[] item_creation_feats = { "Brew Potion", "Craft Magic Arms and Armor", "Craft Rod", "Craft Staff", "Craft Wand", "Craft Wondrous Item", "Forge Ring", "Scribe Scroll" };

		send("Item Creation Feats", client);

		for (int i = 0; i < 8; i++) {
			send(item_creation_feats[i] + ": " + (player.item_creation_feats.get(i) ? "Yes" : "No"), client);
		}
		*/

		if (player.getConfigOption("pinfo-brief") == false || arg.equals("#skills")) {
			int si = 1;      // skill index
			int columns = 2; // how many columns wide the skill printout should be

			StringBuilder row = new StringBuilder();

			// This outputs skill info in a varying number of columns
			// CHANGE:
			// if possible make this configurable by the end user
			// let them decided how many columns and how they are sorted
			// ie 1,2,3 down then 4,5,6 or 1,2,3 across then 4,5,6 across
			// 1, 4, 7 or 1, 2, 3
			// 2, 5, 8    4, 5, 6
			// 3. 6, 9    7, 8, 9

			send("------------------------------[ Skills ]------------------------------", client);
			for (final Skill s : player.getSkills().keySet()) {
				String skill = s.toString();
				Integer value = player.getSkills().get(s);
				Integer mod = player.getSkillMod(s);

				String color = "";
				String output = "";

				if (value == -1)     color = "red";
				else if (value == 0) color = "yellow";
				else if (value > 0)  color = "green";
				
				output = colors(Utils.padRight(skill, ' ', 18), color) + " : " + Utils.padLeft("" + value, ' ', 2) + " (" + mod + ")";

				if (si > columns) {
					client.write(row.toString() + '\n');
					row.delete(0, row.length());
					si = 1;
				}

				row.append(Utils.padRight(output, 46));

				si++;
			}

			client.write('\n');
		}
	}