diff --git a/src/com/projectkorra/ProjectKorra/Methods.java b/src/com/projectkorra/ProjectKorra/Methods.java index ef6ac1a0..9e52b4e9 100644 --- a/src/com/projectkorra/ProjectKorra/Methods.java +++ b/src/com/projectkorra/ProjectKorra/Methods.java @@ -78,6 +78,7 @@ import com.projectkorra.ProjectKorra.airbending.AirShield; import com.projectkorra.ProjectKorra.airbending.AirSpout; import com.projectkorra.ProjectKorra.airbending.AirSuction; import com.projectkorra.ProjectKorra.airbending.AirSwipe; +import com.projectkorra.ProjectKorra.airbending.Breathbending; import com.projectkorra.ProjectKorra.airbending.Tornado; import com.projectkorra.ProjectKorra.chiblocking.Paralyze; import com.projectkorra.ProjectKorra.chiblocking.RapidPunch; @@ -1837,5 +1838,11 @@ public class Methods { if(effect.equals(PotionEffectType.INVISIBILITY)) return true; return false; } + + public static void breakBreathbendingHold(Entity entity) { + if(Breathbending.isBreathbent(entity)) { + Breathbending.breakBreathbend(entity); + } + } } diff --git a/src/com/projectkorra/ProjectKorra/PKListener.java b/src/com/projectkorra/ProjectKorra/PKListener.java index 96b2d3b0..4c88e866 100644 --- a/src/com/projectkorra/ProjectKorra/PKListener.java +++ b/src/com/projectkorra/ProjectKorra/PKListener.java @@ -305,8 +305,14 @@ public class PKListener implements Listener { Player player = event.getPlayer(); if (event.isCancelled()) return; + + if(Breathbending.isBreathbent(player)) { + if(!Methods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !Methods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) { + event.setCancelled(true); + } + } - if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player) || Breathbending.isBreathbent(player)) { + if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player)) { event.setCancelled(true); return; } @@ -622,8 +628,14 @@ public class PKListener implements Listener { if (event.isCancelled()) return; Player player = event.getPlayer(); + + if(Breathbending.isBreathbent(player)) { + if(!Methods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !Methods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) { + event.setCancelled(true); + } + } - if (Bloodbending.isBloodbended(player) || Paralyze.isParalyzed(player) || Breathbending.isBreathbent(player)) { + if (Bloodbending.isBloodbended(player) || Paralyze.isParalyzed(player)) { event.setCancelled(true); return; } @@ -1005,11 +1017,6 @@ public class PKListener implements Listener { return; } - if (Breathbending.isBreathbent(e.getEntity())) { - if(e.getCause() == DamageCause.CUSTOM) { - Breathbending.breakBreathbend(e.getEntity()); - } - } Entity en = e.getEntity(); if (en instanceof Player) {