diff --git a/src/main/java/com/comandante/creeper/managers/GameManager.java b/src/main/java/com/comandante/creeper/managers/GameManager.java
index c62a9f0582547d0404f86924cc4c4284b9b1e1fc..14af45cb7fd2b83d9122d8d0e7a4ab8b16f953c8 100755
--- a/src/main/java/com/comandante/creeper/managers/GameManager.java
+++ b/src/main/java/com/comandante/creeper/managers/GameManager.java
@@ -414,7 +414,9 @@ public class GameManager {
         StringBuilder sb = new StringBuilder();
         // passing an empty createState because of the "difference calculation"
         sb.append(Color.MAGENTA + "-+=[ " + Color.RESET).append(npc.getColorName()).append(Color.MAGENTA + " ]=+- " + Color.RESET).append("\r\n");
-        sb.append("Level ").append(Levels.getLevel(npc.getStats().getExperience())).append(" ").append(npc.getLevelColor((int) playerLevel).getColor()).append("\r\n");
+        sb.append("Level ").append(Levels.getLevel(npc.getStats().getExperience())).append(" ")
+                .append(npc.getLevelColor((int) playerLevel).getColor())
+                .append(" [").append(npc.getTemperament().getFriendlyFormat()).append("]").append("\r\n");
         sb.append(Color.MAGENTA + "Stats--------------------------------" + Color.RESET).append("\r\n");
         sb.append(buildLookString(npc.getColorName(), npc.getStats(), new StatsBuilder().createStats())).append("\r\n");
         if (npc.getEffects() != null && npc.getEffects().size() > 0) {
diff --git a/src/main/java/com/comandante/creeper/npc/Npc.java b/src/main/java/com/comandante/creeper/npc/Npc.java
index 1715471893971cdcbeb7316458732e8d085f19ae..98c0d23c3fdae96332b2e810179f1342ea82d890 100644
--- a/src/main/java/com/comandante/creeper/npc/Npc.java
+++ b/src/main/java/com/comandante/creeper/npc/Npc.java
@@ -46,6 +46,7 @@ public class Npc extends CreeperEntity {
     private final String colorName;
     private final Stats stats;
     private final String dieMessage;
+    private final Temperament temperament;
     private final Set<Area> roamAreas;
     private final Set<String> validTriggers;
     private Loot loot;
@@ -62,7 +63,7 @@ public class Npc extends CreeperEntity {
     private final Random random = new Random();
 
 
-    protected Npc(GameManager gameManager, String name, String colorName, long lastPhraseTimestamp, Stats stats, String dieMessage, Set<Area> roamAreas, Set<String> validTriggers, Loot loot, Set<SpawnRule> spawnRules) {
+    protected Npc(GameManager gameManager, String name, String colorName, long lastPhraseTimestamp, Stats stats, String dieMessage, Temperament temperament, Set<Area> roamAreas, Set<String> validTriggers, Loot loot, Set<SpawnRule> spawnRules) {
         this.gameManager = gameManager;
         this.name = name;
         this.colorName = colorName;
@@ -73,6 +74,7 @@ public class Npc extends CreeperEntity {
         this.validTriggers = validTriggers;
         this.loot = loot;
         this.spawnRules = spawnRules;
+        this.temperament = temperament;
     }
 
     @Override
@@ -253,6 +255,10 @@ public class Npc extends CreeperEntity {
         return currentRoom;
     }
 
+    public Temperament getTemperament() {
+        return temperament;
+    }
+
     public AtomicBoolean getIsAlive() {
         return isAlive;
     }
diff --git a/src/main/java/com/comandante/creeper/npc/NpcAdapter.java b/src/main/java/com/comandante/creeper/npc/NpcAdapter.java
index ce58b46dca7b91c46cc3ef704cd4af1a1e14d956..2818044b818083c99b683f6dd7ca22d46e98487a 100644
--- a/src/main/java/com/comandante/creeper/npc/NpcAdapter.java
+++ b/src/main/java/com/comandante/creeper/npc/NpcAdapter.java
@@ -30,7 +30,7 @@ public class NpcAdapter extends TypeAdapter<Npc> {
         jsonWriter.name("name").value(npc.getName());
         jsonWriter.name("colorName").value(npc.getColorName());
         jsonWriter.name("dieMessage").value(npc.getDieMessage());
-
+        jsonWriter.name("temperament").value(npc.getDieMessage());
         Loot loot = npc.getLoot();
         jsonWriter.name("loot");
         jsonWriter.beginObject();
@@ -106,6 +106,8 @@ public class NpcAdapter extends TypeAdapter<Npc> {
         jsonReader.nextName();
         final String npcDieMessage = jsonReader.nextString();
         jsonReader.nextName();
+        final String temperament = jsonReader.nextString();
+        jsonReader.nextName();
         jsonReader.beginObject();
         jsonReader.nextName();
         final long lootGoldMin = jsonReader.nextLong();
@@ -205,6 +207,7 @@ public class NpcAdapter extends TypeAdapter<Npc> {
         NpcBuilder npcBuilder = new NpcBuilder()
                 .setColorName(npcColorName)
                 .setDieMessage(npcDieMessage)
+                .setTemperament(Temperament.get(temperament))
                 .setLoot(loot)
                 .setName(npcName)
                 .setRoamAreas(roamAreas)
diff --git a/src/main/java/com/comandante/creeper/npc/NpcBuilder.java b/src/main/java/com/comandante/creeper/npc/NpcBuilder.java
index 642bc5482ba9dfcd4453f62eef8811a83789470b..cb111624662377679dd53cdbe5223a5cc1c0f0db 100644
--- a/src/main/java/com/comandante/creeper/npc/NpcBuilder.java
+++ b/src/main/java/com/comandante/creeper/npc/NpcBuilder.java
@@ -19,6 +19,7 @@ public class NpcBuilder {
     private Set<String> validTriggers;
     private Loot loot;
     private Set<SpawnRule> spawnRules;
+    private Temperament temperament;
 
     public NpcBuilder() {
     }
@@ -34,6 +35,7 @@ public class NpcBuilder {
         this.loot = npc.getLoot();
         this.spawnRules = npc.getSpawnRules();
         this.gameManager = npc.getGameManager();
+        this.temperament = npc.getTemperament();
     }
 
     public NpcBuilder setGameManager(GameManager gameManager) {
@@ -66,6 +68,11 @@ public class NpcBuilder {
         return this;
     }
 
+    public NpcBuilder setTemperament(Temperament temperament) {
+        this.temperament = temperament;
+        return this;
+    }
+
     public NpcBuilder setRoamAreas(Set<Area> roamAreas) {
         this.roamAreas = roamAreas;
         return this;
@@ -87,6 +94,6 @@ public class NpcBuilder {
     }
 
     public Npc createNpc() {
-        return new Npc(gameManager, name, colorName, lastPhraseTimestamp, stats, dieMessage, roamAreas, validTriggers, loot, spawnRules);
+        return new Npc(gameManager, name, colorName, lastPhraseTimestamp, stats, dieMessage, temperament, roamAreas, validTriggers, loot, spawnRules);
     }
 }
\ No newline at end of file
diff --git a/src/main/java/com/comandante/creeper/npc/Temperament.java b/src/main/java/com/comandante/creeper/npc/Temperament.java
new file mode 100644
index 0000000000000000000000000000000000000000..69ee1d12edd0b241d6715f1108236c6ad5e49cf6
--- /dev/null
+++ b/src/main/java/com/comandante/creeper/npc/Temperament.java
@@ -0,0 +1,25 @@
+package com.comandante.creeper.npc;
+
+public enum Temperament {
+    AGGRESSIVE("Aggressive"),
+    PASSIVE("Passive");
+
+    private final String friendlyFormat;
+
+    Temperament(String friendlyFormat) {
+        this.friendlyFormat = friendlyFormat;
+    }
+
+    public String getFriendlyFormat() {
+        return friendlyFormat;
+    }
+
+    public static Temperament get(String s) {
+        for (Temperament t : Temperament.values()) {
+            if (t.name().equalsIgnoreCase(s)) {
+                return t;
+            }
+        }
+        return null;
+    }
+}
diff --git a/world/npcs/treeberserker.json b/world/npcs/treeberserker.json
index f3a02a5eafdfa3aff3eec8c303d20f12061a9a39..6622f7fe56eea4bce01c5e4d3d985b0e0510486d 100755
--- a/world/npcs/treeberserker.json
+++ b/world/npcs/treeberserker.json
@@ -2,6 +2,7 @@
   "name": "tree berserker",
   "colorName": "tree \u001B[1m\u001B[35mberserker\u001B[0m",
   "dieMessage": "a tree \u001B[1m\u001B[35mberserker\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
+  "temperament": "passive",
   "loot": {
     "lootGoldMin": 7,
     "lootGoldMax": 14,