diff --git a/src/main/java/com/comandante/creeper/spells/LightningSpellRunnable.java b/src/main/java/com/comandante/creeper/spells/LightningSpellRunnable.java index 566e1252e83f59319b104f286042626f91a695da..8429fc1666e736513fea14aad11d2f9e06600529 100644 --- a/src/main/java/com/comandante/creeper/spells/LightningSpellRunnable.java +++ b/src/main/java/com/comandante/creeper/spells/LightningSpellRunnable.java @@ -26,6 +26,7 @@ public class LightningSpellRunnable implements ExecuteSpellRunnable { private final int manaCost = 60; public final static String name = BOLD_ON + Color.YELLOW + "lightning" + Color.RESET + " bolt"; private final static String description = "A powerful bolt of lightning."; + private final static String attackMessage = "a broad stroke of " + BOLD_ON + Color.YELLOW + "lightning" + Color.RESET + " bolts across the sky"; public LightningSpellRunnable(GameManager gameManager) { this.gameManager = gameManager; @@ -41,6 +42,8 @@ public class LightningSpellRunnable implements ExecuteSpellRunnable { if (destinationNpc.isPresent()) { executeSpellAgainstNpc(sourcePlayer, destinationNpc.get()); } + sourcePlayer.updatePlayerMana(-manaCost); + sourcePlayer.addCoolDown(new CoolDown(getName(), 5, CoolDownType.SPELL)); } @Override @@ -49,10 +52,12 @@ public class LightningSpellRunnable implements ExecuteSpellRunnable { } private void executeSpellAgainstNpc(Player player, Npc npc) { + gameManager.writeToPlayerCurrentRoom(player.getPlayerId(), player.getPlayerName() + Color.CYAN + " casts " + Color.RESET + "a " + Color.BOLD_ON + Color.WHITE + "[" + Color.RESET + getName() + Color.BOLD_ON + Color.WHITE + "]" + Color.RESET + " on " + npc.getColorName() + "! \r\n"); long intelligence = player.getPlayerStatsWithEquipmentAndLevel().getIntelligence(); long power = (player.getLevel() * 1) + (3 * intelligence); player.addActiveFight(npc); - npc.doHealthDamage(player, Arrays.asList("LightingBoltAttack!! damage amount: " + power), -power); + String damageMessage = Color.BOLD_ON + Color.YELLOW + "[spell] " + Color.RESET + Color.YELLOW + "+" + power + Color.RESET + Color.BOLD_ON + Color.RED + " DAMAGE " + Color.RESET + attackMessage + Color.BOLD_ON + Color.RED + " >>>> " + Color.RESET + npc.getColorName(); + npc.doHealthDamage(player, Arrays.asList(damageMessage), -power); } private void executeSpellAgainstPlayer(Player player, Player destinationPlayer) {