From 32c06465241a2d27594881d60e41ffd67a70bc0c Mon Sep 17 00:00:00 2001 From: MistPhizzle Date: Sun, 29 Jun 2014 20:36:32 -0400 Subject: [PATCH] Fix Paralyze --- .../projectkorra/ProjectKorra/PKListener.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/com/projectkorra/ProjectKorra/PKListener.java b/src/com/projectkorra/ProjectKorra/PKListener.java index 506ed16d..8ad7f987 100644 --- a/src/com/projectkorra/ProjectKorra/PKListener.java +++ b/src/com/projectkorra/ProjectKorra/PKListener.java @@ -203,6 +203,7 @@ public class PKListener implements Listener { if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player)) { event.setCancelled(true); + return; } AirScooter.check(player); @@ -487,6 +488,7 @@ public class PKListener implements Listener { if (Bloodbending.isBloodbended(player) || Paralyze.isParalyzed(player)) { event.setCancelled(true); + return; } if (Methods.isChiBlocked(player.getName())) { @@ -834,7 +836,7 @@ public class PKListener implements Listener { Player targetplayer = (Player) e.getEntity(); if (Methods.canBendPassive(sourceplayer.getName(), Element.Chi)) { if (Methods.isBender(sourceplayer.getName(), Element.Chi) && e.getCause() == DamageCause.ENTITY_ATTACK && e.getDamage() == 1) { - if (sourceplayer.getLocation().distance(targetplayer.getLocation()) <= plugin.getConfig().getDouble("Abilities.Chi.RapidPunch.Distance")) { + if (sourceplayer.getLocation().distance(targetplayer.getLocation()) <= plugin.getConfig().getDouble("Abilities.Chi.RapidPunch.Distance") && Methods.getBoundAbility(sourceplayer) == null) { if (Methods.isWeapon(sourceplayer.getItemInHand().getType()) && !plugin.getConfig().getBoolean("Properties.Chi.CanBendWithWeapons")) { return; } else { @@ -846,6 +848,19 @@ public class PKListener implements Listener { } } } + if (Methods.canBendPassive(sourceplayer.getName(), Element.Chi)) { + if (Methods.isWeapon(sourceplayer.getItemInHand().getType()) && !ProjectKorra.plugin.getConfig().getBoolean("Properties.Chi.CanBendWithWeapons")) { + return; + } + if (e.getCause() == DamageCause.ENTITY_ATTACK) { + if (Methods.getBoundAbility(sourceplayer) != null && Methods.getBoundAbility(sourceplayer).equalsIgnoreCase("Paralyze")) { + if (ChiPassive.willChiBlock(targetplayer)) { + new Paralyze(sourceplayer, targetplayer); + } + } + } + } + // Player damager = (Player) e.getDamager(); // if (Methods.canBendPassive(damager.getName(), Element.Chi)) { // if (e.getCause() == DamageCause.ENTITY_ATTACK) {