diff --git a/src/com/projectkorra/projectkorra/Element.java b/src/com/projectkorra/projectkorra/Element.java index 2cbe385f..be0dabd3 100644 --- a/src/com/projectkorra/projectkorra/Element.java +++ b/src/com/projectkorra/projectkorra/Element.java @@ -75,4 +75,18 @@ public enum Element { return null; return Arrays.asList(values()).get(index); } + + /** + * Returns an element based on ChatColor. + * @param color + * @return + */ + public static Element getFromChatColor(ChatColor color) { + for (Element element : Element.values()) { + if (element.getChatColor().equals(color) || element.getSubColor().equals(color)) { + return element; + } + } + return null; + } } diff --git a/src/com/projectkorra/projectkorra/PKListener.java b/src/com/projectkorra/projectkorra/PKListener.java index 42cf6576..686aad23 100644 --- a/src/com/projectkorra/projectkorra/PKListener.java +++ b/src/com/projectkorra/projectkorra/PKListener.java @@ -909,10 +909,12 @@ public class PKListener implements Listener { if (bendingDeathPlayer.containsKey(event.getEntity())) { String message = ConfigManager.deathMsgConfig.get().getString("Properties.Default"); String ability = bendingDeathPlayer.get(event.getEntity()); - String tempAbility = ChatColor.stripColor(ability); + String tempAbility = ChatColor.stripColor(ability).replaceAll(" ", ""); Element element = null; if (GeneralMethods.abilityExists(tempAbility)) { element = GeneralMethods.getAbilityElement(tempAbility); + } else if (ChatColor.getByChar(ability.substring(1, 2)) != null) { + element = Element.getFromChatColor(ChatColor.getByChar(ability.substring(1, 2))); } /* Player killer = event.getEntity().getKiller(); @@ -936,6 +938,8 @@ public class PKListener implements Listener { if (element != null) { if (ConfigManager.deathMsgConfig.get().contains(element.toString() + "." + tempAbility)) { message = ConfigManager.deathMsgConfig.get().getString(element + "." + tempAbility); + } else if (ConfigManager.deathMsgConfig.get().contains("Combo." + tempAbility)) { + message = ConfigManager.deathMsgConfig.get().getString("Combo." + tempAbility); } } else { if (ConfigManager.deathMsgConfig.get().contains("Combo." + tempAbility)) { diff --git a/src/com/projectkorra/projectkorra/command/AddCommand.java b/src/com/projectkorra/projectkorra/command/AddCommand.java index 2c687690..b2f76d47 100644 --- a/src/com/projectkorra/projectkorra/command/AddCommand.java +++ b/src/com/projectkorra/projectkorra/command/AddCommand.java @@ -70,7 +70,7 @@ public class AddCommand extends PKCommand { target.sendMessage(color + "You are also a " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); } else if (element.charAt(0) == 'e' || element.charAt(0) == 'a') { target.sendMessage(color + "You are also an " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); - } else if (element.equalsIgnoreCase("chi")) { + } else if (element.charAt(0) == 'c' || element.equalsIgnoreCase("chi")) { target.sendMessage(color + "You are now a Chiblocker."); } if (!(sender instanceof Player) || !((Player) sender).equals(target)) { @@ -78,8 +78,8 @@ public class AddCommand extends PKCommand { sender.sendMessage(ChatColor.DARK_AQUA + target.getName() + color + " is also a " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); } else if (element.charAt(0) == 'e' || element.charAt(0) == 'a') { sender.sendMessage(ChatColor.DARK_AQUA + target.getName() + color + " is also an " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); - } else if (element.equalsIgnoreCase("chi")) { - target.sendMessage(color + "You are now a Chiblocker."); + } else if (element.charAt(0) == 'c' || element.equalsIgnoreCase("chi")) { + sender.sendMessage(ChatColor.DARK_AQUA + target.getName() + color + " is also a " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "blocker."); } } GeneralMethods.saveElements(bPlayer); diff --git a/src/com/projectkorra/projectkorra/firebending/FireCombo.java b/src/com/projectkorra/projectkorra/firebending/FireCombo.java index 457db8c0..6b2e806e 100644 --- a/src/com/projectkorra/projectkorra/firebending/FireCombo.java +++ b/src/com/projectkorra/projectkorra/firebending/FireCombo.java @@ -221,7 +221,7 @@ public class FireCombo implements ConfigLoadable { entity.getLocation().getWorld().playSound(entity.getLocation(), Sound.VILLAGER_HIT, 0.3f, 0.3f); if (ability.equalsIgnoreCase("FireKick")) { - GeneralMethods.damageEntity(player, entity, damage, "FireKick"); + GeneralMethods.damageEntity(player, entity, damage, Element.Fire, "FireKick"); fstream.remove(); } else if (ability.equalsIgnoreCase("FireSpin")) { if (entity instanceof Player) { @@ -229,19 +229,19 @@ public class FireCombo implements ConfigLoadable { return; } double knockback = AvatarState.isAvatarState(player) ? FIRE_SPIN_KNOCKBACK + 0.5 : FIRE_SPIN_KNOCKBACK; - GeneralMethods.damageEntity(player, entity, damage, "FireSpin"); + GeneralMethods.damageEntity(player, entity, damage, Element.Fire, "FireSpin"); entity.setVelocity(direction.normalize().multiply(knockback)); fstream.remove(); } else if (ability.equalsIgnoreCase("JetBlaze")) { if (!affectedEntities.contains(entity)) { affectedEntities.add(entity); - GeneralMethods.damageEntity(player, entity, damage, "JetBlaze"); + GeneralMethods.damageEntity(player, entity, damage, Element.Fire, "JetBlaze"); entity.setFireTicks((int) (fireticksJetBlaze * 20)); } } else if (ability.equalsIgnoreCase("FireWheel")) { if (!affectedEntities.contains(entity)) { affectedEntities.add(entity); - GeneralMethods.damageEntity(player, entity, damage, "FireWheel"); + GeneralMethods.damageEntity(player, entity, damage, Element.Fire, "FireWheel"); entity.setFireTicks((int) (fireticksFireWheel * 20)); this.remove(); }