diff --git a/src/main/java/com/comandante/creeper/fight/FightManager.java b/src/main/java/com/comandante/creeper/fight/FightManager.java index 405b4780c86318be42700320c2ac24e40bc72a22..b9eb943ecae5a24ac526d32ff49b111329a80ecf 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 17daf10b32565d85ae3ddd9c076ddfea4faa00b0..b57e42e8200c8b1904ea4878e30783cdc4907c73 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 4409f648ba1fa4be26fed75a0128a3e319ed28bb..e9e76c5af6930ac6d0cfbf72020cc7e649340a4a 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 f538b27eea1ec8cd7b4e08c6a6f714f540b80c06..72e4875b71ab547953c6a0a4c41851db44b3a566 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(); }