From 3986251c4b447d5f36dfe2341cbcff186cc6f178 Mon Sep 17 00:00:00 2001
From: Chris Kearney <chris.kearney@urbanairship.com>
Date: Mon, 1 Sep 2014 09:09:13 -0700
Subject: [PATCH] some color fixes

---
 .../creeper/fight/FightManager.java           |  4 +-
 .../creeper/managers/GameManager.java         | 78 +++++++++++--------
 .../comandante/creeper/npc/StreetHustler.java |  8 +-
 .../com/comandante/creeper/server/Color.java  |  9 ---
 4 files changed, 53 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/comandante/creeper/fight/FightManager.java b/src/main/java/com/comandante/creeper/fight/FightManager.java
index 405b4780..b9eb943e 100644
--- a/src/main/java/com/comandante/creeper/fight/FightManager.java
+++ b/src/main/java/com/comandante/creeper/fight/FightManager.java
@@ -52,7 +52,7 @@ public class FightManager {
         }
         if (damageToVictim > 0) {
             doNpcDamage(npc.getEntityId(), damageToVictim);
-            channelUtils.writeNoPrompt(player.getPlayerId(), damageToVictim + Color.BOLD_ON + Color.BRIGHT_RED + " damage" + Color.RESET + " done to " + npc.getColorName());
+            channelUtils.writeNoPrompt(player.getPlayerId(), damageToVictim + Color.BOLD_ON + Color.RED + " damage" + Color.RESET + " done to " + npc.getColorName());
         } else {
             channelUtils.writeNoPrompt(player.getPlayerId(), "You miss " + npc.getName());
         }
@@ -68,7 +68,7 @@ public class FightManager {
         int damageBack = getAttack(victim, challenger);
         if (randInt(0, 100) < chanceToHitBack) {
             doPlayerDamage(player.getPlayerId(), damageBack);
-            channelUtils.writeNoPrompt(player.getPlayerId(), npc.getColorName() + Color.BOLD_ON + Color.BRIGHT_RED + " damages" + Color.RESET + " you for " + damageBack);
+            channelUtils.writeNoPrompt(player.getPlayerId(), npc.getColorName() + Color.BOLD_ON + Color.RED + " damages" + Color.RESET + " you for " + damageBack);
         } else {
             channelUtils.writeNoPrompt(player.getPlayerId(), npc.getColorName() + " misses you");
         }
diff --git a/src/main/java/com/comandante/creeper/managers/GameManager.java b/src/main/java/com/comandante/creeper/managers/GameManager.java
index 17daf10b..b57e42e8 100644
--- a/src/main/java/com/comandante/creeper/managers/GameManager.java
+++ b/src/main/java/com/comandante/creeper/managers/GameManager.java
@@ -12,6 +12,7 @@ import com.comandante.creeper.player.PlayerMovement;
 import com.comandante.creeper.room.Room;
 import com.comandante.creeper.room.RoomManager;
 import com.comandante.creeper.server.ChannelUtils;
+import com.comandante.creeper.server.Color;
 import com.comandante.creeper.server.CreeperSession;
 import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableSet;
@@ -137,78 +138,93 @@ public class GameManager {
     }
 
     private String getExits(Room room, Player player) {
-        StringBuilder stringBuilder = new StringBuilder();
-        stringBuilder.append("[ ");
-        stringBuilder.append(BRIGHT_GREEN);
+        int numExits = 0;
+        StringBuilder sb = new StringBuilder();
+        sb.append("[ ");
+        sb.append(BOLD_ON);
+        sb.append(Color.GREEN);
         if (!player.getReturnDirection().isPresent()) {
             player.setReturnDirection(Optional.of("-"));
         }
         if (room.getNorthId().isPresent()) {
             if (player.getReturnDirection().get().equalsIgnoreCase("north")) {
-                stringBuilder.append(GREEN);
-                stringBuilder.append("North ");
-                stringBuilder.append(BRIGHT_GREEN);
+                sb.append(BOLD_OFF);
+                sb.append("North ");
+                sb.append(BOLD_ON);
             } else {
-                stringBuilder.append("North ");
+                sb.append("North ");
             }
+            numExits++;
         }
         if (room.getSouthId().isPresent()) {
             if (player.getReturnDirection().get().equalsIgnoreCase("south")) {
-                stringBuilder.append(GREEN);
-                stringBuilder.append("South ");
-                stringBuilder.append(BRIGHT_GREEN);
+                sb.append(BOLD_OFF);
+                sb.append("South ");
+                sb.append(BOLD_ON);
             } else {
-                stringBuilder.append("South ");
+                sb.append("South ");
             }
+            numExits++;
         }
         if (room.getEastId().isPresent()) {
             if (player.getReturnDirection().get().equalsIgnoreCase("east")) {
-                stringBuilder.append(GREEN);
-                stringBuilder.append("East ");
-                stringBuilder.append(BRIGHT_GREEN);
+                sb.append(BOLD_OFF);
+                sb.append("East ");
+                sb.append(BOLD_ON);
             } else {
-                stringBuilder.append("East ");
+                sb.append("East ");
             }
+            numExits++;
         }
         if (room.getWestId().isPresent()) {
             if (player.getReturnDirection().get().equalsIgnoreCase("west")) {
-                stringBuilder.append(GREEN);
-                stringBuilder.append("West ");
-                stringBuilder.append(BRIGHT_GREEN);
+                sb.append(BOLD_OFF);
+                sb.append("West ");
+                sb.append(BOLD_ON);
             } else {
-                stringBuilder.append("West ");
+                sb.append("West ");
             }
+            numExits++;
         }
         if (room.getUpId().isPresent()) {
             if (player.getReturnDirection().get().equalsIgnoreCase("up")) {
-                stringBuilder.append(GREEN);
-                stringBuilder.append("Up ");
-                stringBuilder.append(BRIGHT_GREEN);
+                sb.append(BOLD_OFF);
+                sb.append("Up ");
+                sb.append(BOLD_ON);
             } else {
-                stringBuilder.append("Up ");
+                sb.append("Up ");
             }
+            numExits++;
         }
         if (room.getDownId().isPresent()) {
             if (player.getReturnDirection().get().equalsIgnoreCase("down")) {
-                stringBuilder.append(GREEN);
-                stringBuilder.append("Down ");
-                stringBuilder.append(BRIGHT_GREEN);
+                sb.append(BOLD_OFF);
+                sb.append("Down ");
+                sb.append(BOLD_ON);
             } else {
-                stringBuilder.append("Down ");
+                sb.append("Down ");
             }
+            numExits++;
+        }
+        String fin = null;
+        if (numExits == 1) {
+            fin = sb.toString().replace(BOLD_OFF, BOLD_ON);
+        } else {
+            fin = sb.toString();
         }
-        stringBuilder.append(RESET).append("]\r\n");
-        return stringBuilder.toString();
+        fin = fin + RESET + "]\r\n";
+        return fin;
     }
 
     public void currentRoomLogic(String playerId) {
         Player player = playerManager.getPlayer(playerId);
         final Room playerCurrentRoom = roomManager.getPlayerCurrentRoom(player).get();
         StringBuilder sb = new StringBuilder();
-        sb.append(BRIGHT_GREEN);
+        sb.append(Color.BOLD_ON + Color.GREEN);
         sb.append(playerCurrentRoom.getRoomTitle()).append("\r\n\r\n");
         sb.append(RESET);
-        sb.append(WordUtils.wrap(playerCurrentRoom.getRoomDescription(), 80)).append("\r\n");
+        //java.lang.String wrap(java.lang.String str, int wrapLength, java.lang.String newLineStr, boolean wrapLongWords)
+        sb.append(WordUtils.wrap(playerCurrentRoom.getRoomDescription(), 80, "\r\n", true)).append("\r\n");
 
         sb.append(getExits(playerCurrentRoom, player));
         for (String searchPlayerId : playerCurrentRoom.getPresentPlayerIds()) {
diff --git a/src/main/java/com/comandante/creeper/npc/StreetHustler.java b/src/main/java/com/comandante/creeper/npc/StreetHustler.java
index 4409f648..e9e76c5a 100644
--- a/src/main/java/com/comandante/creeper/npc/StreetHustler.java
+++ b/src/main/java/com/comandante/creeper/npc/StreetHustler.java
@@ -10,7 +10,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 
-import static com.comandante.creeper.server.Color.BRIGHT_RED;
+import static com.comandante.creeper.server.Color.BOLD_ON;
 import static com.comandante.creeper.server.Color.RESET;
 
 public class StreetHustler extends Npc {
@@ -20,9 +20,9 @@ public class StreetHustler extends Npc {
             {"s", "street", "hustler", NAME}
     ));
 
-    private final static String colorName = Color.BOLD_ON + Color.BRIGHT_MAGENTA + Color.BOLD_OFF + "s" + Color.YELLOW + "t" + Color.BLUE + "r" + Color.MAGENTA + "e" + Color.BRIGHT_WHITE + "e" + Color.RED + "t" + Color.BRIGHT_GREEN + " " +
-            Color.BRIGHT_YELLOW + "hustler" + RESET;
-    private final static String dieMessage = "a " + colorName + " breathes his last breath in a pool of " + BRIGHT_RED + "blood" + RESET;
+    private final static String colorName = Color.BOLD_ON + Color.MAGENTA  + "s" + Color.YELLOW + "t" + Color.BLUE + "r" + Color.MAGENTA + "e" + Color.WHITE + "e" + Color.RED + "t" + Color.GREEN + " " +
+            Color.BOLD_ON + Color.YELLOW + "hustler" + RESET;
+    private final static String dieMessage = "a " + colorName + " breathes his last breath in a pool of " + BOLD_ON + Color.RED + "blood" + RESET;
 
     public StreetHustler(GameManager gameManager) {
         super(gameManager, NAME, colorName, 0, NpcStats.DRUGGED_PIMP.createStats(), dieMessage, Optional.of(Sets.newHashSet(Area.NEWBIE_ZONE)), validTriggers);
diff --git a/src/main/java/com/comandante/creeper/server/Color.java b/src/main/java/com/comandante/creeper/server/Color.java
index f538b27e..72e4875b 100644
--- a/src/main/java/com/comandante/creeper/server/Color.java
+++ b/src/main/java/com/comandante/creeper/server/Color.java
@@ -13,15 +13,6 @@ public final class Color {
     public static final String MAGENTA = new Ansi().fg(Ansi.Color.MAGENTA).toString();
     public static final String RED = new Ansi().fg(Ansi.Color.RED).toString();
     public static final String RESET = new Ansi().reset().toString();
-    public static final String BRIGHT_YELLOW = new Ansi().fgBright(Ansi.Color.YELLOW).toString();
-    public static final String BRIGHT_DEFAULT = new Ansi().fgBright(Ansi.Color.DEFAULT).toString();
-    public static final String BRIGHT_WHITE = new Ansi().fgBright(Ansi.Color.WHITE).toString();
-    public static final String BRIGHT_GREEN = new Ansi().fgBright(Ansi.Color.GREEN).toString();
-    public static final String BRIGHT_CYAN = new Ansi().fgBright(Ansi.Color.CYAN).toString();
-    public static final String BRIGHT_BLACK = new Ansi().fgBright(Ansi.Color.BLACK).toString();
-    public static final String BRIGHT_BLUE = new Ansi().fgBright(Ansi.Color.BLUE).toString();
-    public static final String BRIGHT_MAGENTA = new Ansi().fgBright(Ansi.Color.MAGENTA).toString();
-    public static final String BRIGHT_RED = new Ansi().fgBright(Ansi.Color.RED).toString();
     public static final String BOLD_ON = new Ansi().bold().toString();
     public static final String BOLD_OFF = new Ansi().boldOff().toString();
 }
-- 
GitLab