From f65db3954f04eb1e653166f58c371f7ae81b2b39 Mon Sep 17 00:00:00 2001
From: Chris Kearney <chris@kearneymail.com>
Date: Wed, 21 Oct 2015 11:05:56 -0700
Subject: [PATCH] you lose half your gold when you die, wider column for xp on
 who cmd, and fixed a foraging bug where it wasn't taking into account your
 armor buffs on foraging

---
 src/main/java/com/comandante/creeper/Items/ForageManager.java | 4 +++-
 src/main/java/com/comandante/creeper/command/LookCommand.java | 3 +++
 src/main/java/com/comandante/creeper/command/WhoCommand.java  | 2 +-
 src/main/java/com/comandante/creeper/player/Player.java       | 3 +++
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/comandante/creeper/Items/ForageManager.java b/src/main/java/com/comandante/creeper/Items/ForageManager.java
index 9846ae38..e7c14918 100644
--- a/src/main/java/com/comandante/creeper/Items/ForageManager.java
+++ b/src/main/java/com/comandante/creeper/Items/ForageManager.java
@@ -6,6 +6,7 @@ import com.comandante.creeper.player.CoolDown;
 import com.comandante.creeper.player.CoolDownType;
 import com.comandante.creeper.player.Player;
 import com.comandante.creeper.server.Color;
+import com.comandante.creeper.stat.Stats;
 import com.comandante.creeper.world.Area;
 import com.comandante.creeper.world.Room;
 import org.apache.log4j.Logger;
@@ -44,7 +45,8 @@ public class ForageManager {
         gameManager.getChannelUtils().write(player.getPlayerId(), "You scan the ground for plants, herbs and fungi...\r\n");
         long countOfForagesFound = 0;
         long totalForageXp = 0;
-        long foragingLevel = getLevel(gameManager.getPlayerManager().getPlayerMetadata(player.getPlayerId()).getStats().getForaging());
+        Stats playerStatsWithEquipmentAndLevel = player.getPlayerStatsWithEquipmentAndLevel();
+        long foragingLevel = playerStatsWithEquipmentAndLevel.getForaging();
         try {
             for (Forage forage : room.getForages().values()) {
                 if (forage.getMinLevel() > foragingLevel) {
diff --git a/src/main/java/com/comandante/creeper/command/LookCommand.java b/src/main/java/com/comandante/creeper/command/LookCommand.java
index a3d053f0..1a0062af 100644
--- a/src/main/java/com/comandante/creeper/command/LookCommand.java
+++ b/src/main/java/com/comandante/creeper/command/LookCommand.java
@@ -30,6 +30,9 @@ public class LookCommand extends Command {
             }
             originalMessageParts.remove(0);
             String target = Joiner.on(" ").join(originalMessageParts);
+            if (target.equalsIgnoreCase("self")) {
+                write(player.getLookString() + "\r\n");
+            }
             //Notables
             for (Map.Entry<String, String> notable : currentRoom.getNotables().entrySet()) {
                 if (notable.getKey().equalsIgnoreCase(target)) {
diff --git a/src/main/java/com/comandante/creeper/command/WhoCommand.java b/src/main/java/com/comandante/creeper/command/WhoCommand.java
index dd87272e..1358150f 100755
--- a/src/main/java/com/comandante/creeper/command/WhoCommand.java
+++ b/src/main/java/com/comandante/creeper/command/WhoCommand.java
@@ -35,7 +35,7 @@ public class WhoCommand extends Command {
                     ShownBorders.NONE);
             t.setColumnWidth(0, 14, 24);
             t.setColumnWidth(1, 7, 7);
-            t.setColumnWidth(2, 15, 15);
+            t.setColumnWidth(2, 15, 20);
             t.addCell("Player");
             t.addCell("Level");
             t.addCell("XP");
diff --git a/src/main/java/com/comandante/creeper/player/Player.java b/src/main/java/com/comandante/creeper/player/Player.java
index 38b6960c..d741a795 100755
--- a/src/main/java/com/comandante/creeper/player/Player.java
+++ b/src/main/java/com/comandante/creeper/player/Player.java
@@ -152,6 +152,9 @@ public class Player extends CreeperEntity {
                 removeAllActiveFights();
             }
             if (!isActive(CoolDownType.DEATH)) {
+                long newGold = getPlayerMetadata().getGold() / 2;
+                getPlayerMetadata().setGold(newGold);
+                gameManager.getChannelUtils().write(getPlayerId(), "You just " + Color.BOLD_ON + Color.RED + "lost " + Color.RESET + newGold + "  gold!\r\n");
                 CoolDown death = new CoolDown(CoolDownType.DEATH);
                 addCoolDown(death);
                 gameManager.writeToPlayerCurrentRoom(getPlayerId(), getPlayerName() + " is now dead." + "\r\n");
-- 
GitLab