Rename BreathSphere to Suffocate + Other Changes

Now has a warmup of 2 seconds. During this two seconds the Bender may
still move / break free.
This commit is contained in:
MistPhizzle 2014-08-24 20:54:13 -04:00
parent 5474536301
commit 579d4a4a1e
10 changed files with 73 additions and 61 deletions

View file

@ -18,10 +18,10 @@ public enum StockAbilities {
AvatarState, AvatarState,
// Project Korra // Project Korra
Extraction, Smokescreen, Combustion, LavaSurge, BreathSphere; Extraction, Smokescreen, Combustion, LavaSurge, Suffocate;
private enum AirbendingAbilities { private enum AirbendingAbilities {
AirBlast, AirBubble, AirShield, AirSuction, AirSwipe, Tornado, AirScooter, AirSpout, AirBurst, BreathSphere; AirBlast, AirBubble, AirShield, AirSuction, AirSwipe, Tornado, AirScooter, AirSpout, AirBurst, Suffocate;
} }
private enum WaterbendingAbilities { private enum WaterbendingAbilities {

View file

@ -189,11 +189,11 @@ public class ConfigManager {
config.addDefault("Abilities.Air.AirSwipe.Cooldown", 1500); config.addDefault("Abilities.Air.AirSwipe.Cooldown", 1500);
config.addDefault("Abilities.Air.AirSwipe.ChargeFactor", 3); config.addDefault("Abilities.Air.AirSwipe.ChargeFactor", 3);
config.addDefault("Abilities.Air.BreathSphere.Enabled", true); config.addDefault("Abilities.Air.Suffocate.Enabled", true);
config.addDefault("Abilities.Air.BreathSphere.Description", "This ability is one of the most dangerous abilities an Airbender possesses. To use, simply look at an entity and hold shift. The entity will begin taking damage as you extract the air from their lungs. Any bender caught in this sphere will only be able to use basic moves, such as AirSwipe, WaterManipulation, FireBlast, or EarthBlast. An entity can be knocked out of the sphere by certain bending arts, and your attention will be disrupted if you are hit by bending."); config.addDefault("Abilities.Air.Suffocate.Description", "This ability is one of the most dangerous abilities an Airbender possesses. To use, simply look at an entity and hold shift. The entity will begin taking damage as you extract the air from their lungs. Any bender caught in this sphere will only be able to use basic moves, such as AirSwipe, WaterManipulation, FireBlast, or EarthBlast. An entity can be knocked out of the sphere by certain bending arts, and your attention will be disrupted if you are hit by bending.");
config.addDefault("Abilities.Air.BreathSphere.CanBeUsedOnUndeadMobs", true); config.addDefault("Abilities.Air.Suffocate.CanBeUsedOnUndeadMobs", true);
config.addDefault("Abilities.Air.BreathSphere.Range", 5); config.addDefault("Abilities.Air.Suffocate.Range", 5);
config.addDefault("Abilities.Air.BreathSphere.Damage", 0.5); config.addDefault("Abilities.Air.Suffocate.Damage", 0.5);
config.addDefault("Abilities.Air.Tornado.Radius", 10); config.addDefault("Abilities.Air.Tornado.Radius", 10);
config.addDefault("Abilities.Air.Tornado.Height", 25); config.addDefault("Abilities.Air.Tornado.Height", 25);

View file

@ -81,7 +81,7 @@ import com.projectkorra.ProjectKorra.airbending.AirShield;
import com.projectkorra.ProjectKorra.airbending.AirSpout; import com.projectkorra.ProjectKorra.airbending.AirSpout;
import com.projectkorra.ProjectKorra.airbending.AirSuction; import com.projectkorra.ProjectKorra.airbending.AirSuction;
import com.projectkorra.ProjectKorra.airbending.AirSwipe; import com.projectkorra.ProjectKorra.airbending.AirSwipe;
import com.projectkorra.ProjectKorra.airbending.BreathSphere; import com.projectkorra.ProjectKorra.airbending.Suffocate;
import com.projectkorra.ProjectKorra.airbending.Tornado; import com.projectkorra.ProjectKorra.airbending.Tornado;
import com.projectkorra.ProjectKorra.chiblocking.Paralyze; import com.projectkorra.ProjectKorra.chiblocking.Paralyze;
import com.projectkorra.ProjectKorra.chiblocking.RapidPunch; import com.projectkorra.ProjectKorra.chiblocking.RapidPunch;
@ -1896,15 +1896,15 @@ public class Methods {
} }
public static void breakBreathbendingHold(Entity entity) { public static void breakBreathbendingHold(Entity entity) {
if(BreathSphere.isBreathbent(entity)) { if(Suffocate.isBreathbent(entity)) {
BreathSphere.breakBreathSphere(entity); Suffocate.breakSuffocate(entity);
return; return;
} }
if(entity instanceof Player) { if(entity instanceof Player) {
Player player = (Player) entity; Player player = (Player) entity;
if(BreathSphere.isChannelingSphere(player)) { if(Suffocate.isChannelingSphere(player)) {
BreathSphere.remove(player); Suffocate.remove(player);
} }
} }
} }

View file

@ -68,7 +68,7 @@ import com.projectkorra.ProjectKorra.airbending.AirShield;
import com.projectkorra.ProjectKorra.airbending.AirSpout; import com.projectkorra.ProjectKorra.airbending.AirSpout;
import com.projectkorra.ProjectKorra.airbending.AirSuction; import com.projectkorra.ProjectKorra.airbending.AirSuction;
import com.projectkorra.ProjectKorra.airbending.AirSwipe; import com.projectkorra.ProjectKorra.airbending.AirSwipe;
import com.projectkorra.ProjectKorra.airbending.BreathSphere; import com.projectkorra.ProjectKorra.airbending.Suffocate;
import com.projectkorra.ProjectKorra.airbending.Tornado; import com.projectkorra.ProjectKorra.airbending.Tornado;
import com.projectkorra.ProjectKorra.chiblocking.ChiPassive; import com.projectkorra.ProjectKorra.chiblocking.ChiPassive;
import com.projectkorra.ProjectKorra.chiblocking.HighJump; import com.projectkorra.ProjectKorra.chiblocking.HighJump;
@ -163,7 +163,7 @@ public class PKListener implements Listener {
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player) || BreathSphere.isBreathbent(player)) { if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player) || Suffocate.isBreathbent(player)) {
event.setCancelled(true); event.setCancelled(true);
} }
@ -239,7 +239,7 @@ public class PKListener implements Listener {
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) { if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
Methods.cooldowns.put(player.getName(), System.currentTimeMillis()); Methods.cooldowns.put(player.getName(), System.currentTimeMillis());
} }
if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player) || BreathSphere.isBreathbent(player)) { if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player) || Suffocate.isBreathbent(player)) {
event.setCancelled(true); event.setCancelled(true);
} }
} }
@ -249,7 +249,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Player player = event.getPlayer(); Player player = event.getPlayer();
Methods.cooldowns.put(player.getName(), System.currentTimeMillis()); Methods.cooldowns.put(player.getName(), System.currentTimeMillis());
if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player) || BreathSphere.isBreathbent(player)) { if (Paralyze.isParalyzed(player) || Bloodbending.isBloodbended(player) || Suffocate.isBreathbent(player)) {
event.setCancelled(true); event.setCancelled(true);
} }
} }
@ -318,7 +318,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
if(BreathSphere.isBreathbent(player)) { if(Suffocate.isBreathbent(player)) {
if(!Methods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !Methods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) { if(!Methods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !Methods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) {
event.setCancelled(true); event.setCancelled(true);
} }
@ -365,8 +365,8 @@ public class PKListener implements Listener {
if (abil.equalsIgnoreCase("AirShield")) { if (abil.equalsIgnoreCase("AirShield")) {
new AirShield(player); new AirShield(player);
} }
if(abil.equalsIgnoreCase("BreathSphere")) { if(abil.equalsIgnoreCase("Suffocate")) {
new BreathSphere(player); new Suffocate(player);
} }
} }
@ -515,7 +515,7 @@ public class PKListener implements Listener {
} }
} }
if(BreathSphere.isBreathbent(player)) { if(Suffocate.isBreathbent(player)) {
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1, 100)); player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1, 100));
} }
} }
@ -545,7 +545,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Entity entity = event.getEntity(); Entity entity = event.getEntity();
if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || BreathSphere.isBreathbent(entity)) if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || Suffocate.isBreathbent(entity))
event.setCancelled(true); event.setCancelled(true);
} }
@ -589,7 +589,7 @@ public class PKListener implements Listener {
Entity entity = event.getEntity(); Entity entity = event.getEntity();
if (entity != null) if (entity != null)
if (Paralyze.isParalyzed(entity) if (Paralyze.isParalyzed(entity)
|| Bloodbending.isBloodbended(entity) || BreathSphere.isBreathbent(entity)) || Bloodbending.isBloodbended(entity) || Suffocate.isBreathbent(entity))
event.setCancelled(true); event.setCancelled(true);
} }
@ -598,7 +598,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Entity entity = event.getEntity(); Entity entity = event.getEntity();
if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || BreathSphere.isBreathbent(entity)) if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || Suffocate.isBreathbent(entity))
event.setCancelled(true); event.setCancelled(true);
} }
@ -607,7 +607,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Entity entity = event.getEntity(); Entity entity = event.getEntity();
if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || BreathSphere.isBreathbent(entity)) if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || Suffocate.isBreathbent(entity))
event.setCancelled(true); event.setCancelled(true);
} }
@ -616,7 +616,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Entity entity = event.getEntity(); Entity entity = event.getEntity();
if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || BreathSphere.isBreathbent(entity)) if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || Suffocate.isBreathbent(entity))
event.setCancelled(true); event.setCancelled(true);
} }
@ -625,7 +625,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Entity entity = event.getEntity(); Entity entity = event.getEntity();
if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || BreathSphere.isBreathbent(entity)) if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || Suffocate.isBreathbent(entity))
event.setCancelled(true); event.setCancelled(true);
} }
@ -634,7 +634,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Entity entity = event.getEntity(); Entity entity = event.getEntity();
if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || BreathSphere.isBreathbent(entity)) if (Paralyze.isParalyzed(entity) || Bloodbending.isBloodbended(entity) || Suffocate.isBreathbent(entity))
event.setCancelled(true); event.setCancelled(true);
} }
@ -645,7 +645,7 @@ public class PKListener implements Listener {
Player player = event.getPlayer(); Player player = event.getPlayer();
if(BreathSphere.isBreathbent(player)) { if(Suffocate.isBreathbent(player)) {
if(!Methods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !Methods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) { if(!Methods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !Methods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !Methods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) {
event.setCancelled(true); event.setCancelled(true);
} }
@ -856,7 +856,7 @@ public class PKListener implements Listener {
if (event.isCancelled()) return; if (event.isCancelled()) return;
Player p = event.getPlayer(); Player p = event.getPlayer();
if (Tornado.getPlayers().contains(p) || Bloodbending.isBloodbended(p) || BreathSphere.isBreathbent(p) if (Tornado.getPlayers().contains(p) || Bloodbending.isBloodbended(p) || Suffocate.isBreathbent(p)
|| FireJet.getPlayers().contains(p) || FireJet.getPlayers().contains(p)
|| AvatarState.getPlayers().contains(p)) { || AvatarState.getPlayers().contains(p)) {
event.setCancelled(p.getGameMode() != GameMode.CREATIVE); event.setCancelled(p.getGameMode() != GameMode.CREATIVE);

View file

@ -18,7 +18,7 @@ public class AirbendingManager implements Runnable {
AirPassive.handlePassive(Bukkit.getServer()); AirPassive.handlePassive(Bukkit.getServer());
AirBurst.progressAll(); AirBurst.progressAll();
AirScooter.progressAll(); AirScooter.progressAll();
BreathSphere.progressAll(); Suffocate.progressAll();
AirSpout.spoutAll(); AirSpout.spoutAll();
AirBubble.handleBubbles(Bukkit.getServer()); AirBubble.handleBubbles(Bukkit.getServer());
AirSuction.progressAll(); AirSuction.progressAll();

View file

@ -17,24 +17,26 @@ import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempPotionEffect; import com.projectkorra.ProjectKorra.TempPotionEffect;
import com.projectkorra.ProjectKorra.Ability.AvatarState; import com.projectkorra.ProjectKorra.Ability.AvatarState;
public class BreathSphere { public class Suffocate {
public static ConcurrentHashMap<Player, BreathSphere> instances = new ConcurrentHashMap<Player, BreathSphere>(); public static ConcurrentHashMap<Player, Suffocate> instances = new ConcurrentHashMap<Player, Suffocate>();
ConcurrentHashMap<Entity, Location> targetentities = new ConcurrentHashMap<Entity, Location>(); ConcurrentHashMap<Entity, Location> targetentities = new ConcurrentHashMap<Entity, Location>();
private static boolean canBeUsedOnUndead = ProjectKorra.plugin.getConfig().getBoolean("Abilities.Air.BreathSphere.CanBeUsedOnUndeadMobs"); private static boolean canBeUsedOnUndead = ProjectKorra.plugin.getConfig().getBoolean("Abilities.Air.Suffocate.CanBeUsedOnUndeadMobs");
private int range = ProjectKorra.plugin.getConfig().getInt("Abilities.Air.BreathSphere.Range"); private int range = ProjectKorra.plugin.getConfig().getInt("Abilities.Air.Suffocate.Range");
private double damage = ProjectKorra.plugin.getConfig().getDouble("Abilities.Air.BreathSphere.Damage"); private double damage = ProjectKorra.plugin.getConfig().getDouble("Abilities.Air.Suffocate.Damage");
private Player player; private Player player;
private long time;
private long warmup = 2000;
public BreathSphere(Player player) { public Suffocate(Player player) {
if (instances.containsKey(player)) { if (instances.containsKey(player)) {
remove(player); remove(player);
return; return;
} }
if (AvatarState.isAvatarState(player)) { if (AvatarState.isAvatarState(player)) {
range = AvatarState.getValue(range); range = AvatarState.getValue(range);
for (Entity entity : Methods.getEntitiesAroundPoint(player.getLocation(), range)) { for (Entity entity : Methods.getEntitiesAroundPoint(player.getLocation(), range)) {
@ -61,6 +63,7 @@ public class BreathSphere {
} }
this.player = player; this.player = player;
instances.put(player, this); instances.put(player, this);
time = System.currentTimeMillis();
} }
private void progress() { private void progress() {
@ -80,7 +83,7 @@ public class BreathSphere {
} }
} }
if (!Methods.canBend(player.getName(), "BreathSphere")) { if (!Methods.canBend(player.getName(), "Suffocate")) {
remove(player); remove(player);
return; return;
} }
@ -88,7 +91,7 @@ public class BreathSphere {
remove(player); remove(player);
return; return;
} }
if (!Methods.getBoundAbility(player).equalsIgnoreCase("BreathSphere")) { if (!Methods.getBoundAbility(player).equalsIgnoreCase("Suffocate")) {
remove(player); remove(player);
return; return;
} }
@ -96,19 +99,23 @@ public class BreathSphere {
if (AvatarState.isAvatarState(player)) { if (AvatarState.isAvatarState(player)) {
ArrayList<Entity> entities = new ArrayList<Entity>(); ArrayList<Entity> entities = new ArrayList<Entity>();
for (Entity entity : Methods.getEntitiesAroundPoint(player.getLocation(), range)) { for (Entity entity : Methods.getEntitiesAroundPoint(player.getLocation(), range)) {
if (Methods.isRegionProtectedFromBuild(player, "BreathSphere", entity.getLocation())) if (Methods.isRegionProtectedFromBuild(player, "Suffocate", entity.getLocation()))
continue; continue;
if (entity.getEntityId() == player.getEntityId()) continue; if (entity.getEntityId() == player.getEntityId()) continue;
entities.add(entity); entities.add(entity);
if (!targetentities.containsKey(entity) && entity instanceof LivingEntity) { if (!targetentities.containsKey(entity) && entity instanceof LivingEntity) {
Methods.damageEntity(player, entity, 0); if (System.currentTimeMillis() >= time + warmup) {
Methods.damageEntity(player, entity, 0);
}
targetentities.put(entity, entity.getLocation().clone()); targetentities.put(entity, entity.getLocation().clone());
} }
if (entity instanceof LivingEntity) { if (entity instanceof LivingEntity) {
if (Methods.isObstructed(player.getLocation(), entity.getLocation())) { if (Methods.isObstructed(player.getLocation(), entity.getLocation())) {
breakBreathSphere(entity); breakSuffocate(entity);
}
if (System.currentTimeMillis() >= time + warmup) {
Methods.damageEntity(player, entity, 0);
} }
Methods.damageEntity(player, (LivingEntity) entity, damage);
new TempPotionEffect((LivingEntity) entity, slow); new TempPotionEffect((LivingEntity) entity, slow);
new TempPotionEffect((LivingEntity) entity, nausea); new TempPotionEffect((LivingEntity) entity, nausea);
entity.setFallDistance(0); entity.setFallDistance(0);
@ -138,9 +145,11 @@ public class BreathSphere {
for (Entity entity : targetentities.keySet()) { for (Entity entity : targetentities.keySet()) {
if(entity instanceof LivingEntity) { if(entity instanceof LivingEntity) {
if (Methods.isObstructed(player.getLocation(), entity.getLocation())) { if (Methods.isObstructed(player.getLocation(), entity.getLocation())) {
breakBreathSphere(entity); breakSuffocate(entity);
}
if (System.currentTimeMillis() >= time + warmup) {
Methods.damageEntity(player, entity, 0);
} }
Methods.damageEntity(player, (LivingEntity) entity, damage);
new TempPotionEffect((LivingEntity) entity, slow); new TempPotionEffect((LivingEntity) entity, slow);
new TempPotionEffect((LivingEntity) entity, nausea); new TempPotionEffect((LivingEntity) entity, nausea);
entity.setFallDistance(0); entity.setFallDistance(0);
@ -176,8 +185,8 @@ public class BreathSphere {
instances.remove(player); instances.remove(player);
} }
} }
public static void breakBreathSphere(Entity entity) { public static void breakSuffocate(Entity entity) {
for (Player player : instances.keySet()) { for (Player player : instances.keySet()) {
if (instances.get(player).targetentities.containsKey(entity)) { if (instances.get(player).targetentities.containsKey(entity)) {
instances.remove(player); instances.remove(player);
@ -188,7 +197,10 @@ public class BreathSphere {
public static boolean isBreathbent(Entity entity) { public static boolean isBreathbent(Entity entity) {
for (Player player : instances.keySet()) { for (Player player : instances.keySet()) {
if (instances.get(player).targetentities.containsKey(entity)) { if (instances.get(player).targetentities.containsKey(entity)) {
return true; if (System.currentTimeMillis() >= instances.get(player).time + instances.get(player).warmup) {
return true;
}
return false;
} }
} }
return false; return false;
@ -211,7 +223,7 @@ public class BreathSphere {
return false; return false;
} }
public static Location getBreathSphereLocation(Entity entity) { public static Location getSuffocateLocation(Entity entity) {
for (Player player : instances.keySet()) { for (Player player : instances.keySet()) {
if (instances.get(player).targetentities.containsKey(entity)) { if (instances.get(player).targetentities.containsKey(entity)) {
return instances.get(player).targetentities.get(entity); return instances.get(player).targetentities.get(entity);
@ -219,12 +231,12 @@ public class BreathSphere {
} }
return null; return null;
} }
public static boolean isChannelingSphere(Player player){ public static boolean isChannelingSphere(Player player){
if(instances.containsKey(player)) return true; if(instances.containsKey(player)) return true;
return false; return false;
} }
public static void removeAll() { public static void removeAll() {
instances.clear(); instances.clear();
} }

View file

@ -12,7 +12,7 @@ import com.projectkorra.ProjectKorra.BendingPlayer;
import com.projectkorra.ProjectKorra.Element; import com.projectkorra.ProjectKorra.Element;
import com.projectkorra.ProjectKorra.Methods; import com.projectkorra.ProjectKorra.Methods;
import com.projectkorra.ProjectKorra.ProjectKorra; import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.airbending.BreathSphere; import com.projectkorra.ProjectKorra.airbending.Suffocate;
public class ChiPassive { public class ChiPassive {
@ -38,8 +38,8 @@ public class ChiPassive {
} }
public static void blockChi(final Player player) { public static void blockChi(final Player player) {
if(BreathSphere.isChannelingSphere(player)) { if(Suffocate.isChannelingSphere(player)) {
BreathSphere.remove(player); Suffocate.remove(player);
} }
final BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName()); final BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
if (bPlayer == null) return; if (bPlayer == null) return;

View file

@ -10,7 +10,7 @@ import com.projectkorra.ProjectKorra.Element;
import com.projectkorra.ProjectKorra.Methods; import com.projectkorra.ProjectKorra.Methods;
import com.projectkorra.ProjectKorra.ProjectKorra; import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.Ability.AvatarState; import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.airbending.BreathSphere; import com.projectkorra.ProjectKorra.airbending.Suffocate;
public class Paralyze { public class Paralyze {
@ -45,8 +45,8 @@ public class Paralyze {
} }
if (entity instanceof Player) { if (entity instanceof Player) {
if(BreathSphere.isChannelingSphere((Player) entity)) { if(Suffocate.isChannelingSphere((Player) entity)) {
BreathSphere.remove((Player) entity); Suffocate.remove((Player) entity);
} }
} }
} }

View file

@ -12,7 +12,7 @@ import org.bukkit.entity.Player;
import com.projectkorra.ProjectKorra.Methods; import com.projectkorra.ProjectKorra.Methods;
import com.projectkorra.ProjectKorra.ProjectKorra; import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.airbending.BreathSphere; import com.projectkorra.ProjectKorra.airbending.Suffocate;
public class RapidPunch { public class RapidPunch {
@ -60,8 +60,8 @@ public class RapidPunch {
if (ChiPassive.willChiBlock((Player) target)) { if (ChiPassive.willChiBlock((Player) target)) {
ChiPassive.blockChi((Player) target); ChiPassive.blockChi((Player) target);
} }
if(BreathSphere.isChannelingSphere((Player) target)) { if(Suffocate.isChannelingSphere((Player) target)) {
BreathSphere.remove((Player) target); Suffocate.remove((Player) target);
} }
lt.setNoDamageTicks(0); lt.setNoDamageTicks(0);
} }

View file

@ -138,7 +138,7 @@ Abilities:
Speed: 25 Speed: 25
Cooldown: 1500 Cooldown: 1500
ChargeFactor: 3 ChargeFactor: 3
BreathSphere: Suffocate:
Enabled: true Enabled: true
Description: "This ability is one of the most dangerous abilities an Airbender possesses. To use, simply look at an entity and hold shift. The entity will begin taking damage as you extract the air from their lungs. Any bender caught in this sphere will only be able to use basic moves, such as AirSwipe, WaterManipulation, FireBlast, or EarthBlast. An entity can be knocked out of the sphere by certain bending arts, and your attention will be disrupted if you are hit by bending." Description: "This ability is one of the most dangerous abilities an Airbender possesses. To use, simply look at an entity and hold shift. The entity will begin taking damage as you extract the air from their lungs. Any bender caught in this sphere will only be able to use basic moves, such as AirSwipe, WaterManipulation, FireBlast, or EarthBlast. An entity can be knocked out of the sphere by certain bending arts, and your attention will be disrupted if you are hit by bending."
CanBeUsedOnUndeadMobs: true CanBeUsedOnUndeadMobs: true