mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2024-12-23 00:15:05 +00:00
Fix cooldowns of fire abilities with a duration, getClosestEntity, and Surge Wall diagonal check (#1016)
## Fixes * Fixes getClosestEntity to not rely on a distance check for if the entity is returned, but instead purely get the closest entity from getEntitiesAroundPoint * Fixes SurgeWall to not do that new diagonal check, fixes Ice wall glitching out ## Misc. Changes * Changes JetBlaze hitbox size, was way too big * Changes FireJet, WallOfFire, and the FireJet Combos cooldowns to activate when the move completes
This commit is contained in:
parent
5d9e1d5b05
commit
34fa6d08b8
6 changed files with 18 additions and 14 deletions
|
@ -872,17 +872,17 @@ public class GeneralMethods {
|
|||
*/
|
||||
public static Entity getClosestEntity(Location center, double radius) {
|
||||
Entity found = null;
|
||||
double distance = radius * radius;
|
||||
Double distance = null;
|
||||
|
||||
for (Entity entity : GeneralMethods.getEntitiesAroundPoint(center, radius)) {
|
||||
double check = center.distance(entity.getLocation());
|
||||
double check = center.distanceSquared(entity.getLocation());
|
||||
|
||||
if (check < distance) {
|
||||
if (distance == null || check < distance) {
|
||||
found = entity;
|
||||
distance = check;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
|
@ -894,12 +894,12 @@ public class GeneralMethods {
|
|||
*/
|
||||
public static LivingEntity getClosestLivingEntity(Location center, double radius) {
|
||||
LivingEntity le = null;
|
||||
double distance = radius * radius;
|
||||
Double distance = null;
|
||||
|
||||
for (Entity entity : GeneralMethods.getEntitiesAroundPoint(center, radius)) {
|
||||
double check = center.distance(entity.getLocation());
|
||||
double check = center.distanceSquared(entity.getLocation());
|
||||
|
||||
if (entity instanceof LivingEntity && check < distance) {
|
||||
if (entity instanceof LivingEntity && (distance == null || check < distance)) {
|
||||
le = (LivingEntity) entity;
|
||||
distance = check;
|
||||
}
|
||||
|
|
|
@ -77,7 +77,6 @@ public class FireJet extends FireAbility {
|
|||
this.previousGlidingState = player.isGliding();
|
||||
player.setGliding(true);
|
||||
}
|
||||
this.bPlayer.addCooldown(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -118,6 +117,7 @@ public class FireJet extends FireAbility {
|
|||
}
|
||||
this.flightHandler.removeInstance(this.player, this.getName());
|
||||
this.player.setFallDistance(0);
|
||||
this.bPlayer.addCooldown(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -102,7 +102,6 @@ public class WallOfFire extends FireAbility {
|
|||
|
||||
this.initializeBlocks();
|
||||
this.start();
|
||||
this.bPlayer.addCooldown(this);
|
||||
}
|
||||
|
||||
private void affect(final Entity entity) {
|
||||
|
@ -210,6 +209,12 @@ public class WallOfFire extends FireAbility {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
super.remove();
|
||||
this.bPlayer.addCooldown(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "WallOfFire";
|
||||
|
|
|
@ -79,7 +79,6 @@ public class JetBlast extends FireAbility implements ComboAbility {
|
|||
return;
|
||||
}
|
||||
|
||||
this.bPlayer.addCooldown("JetBlast", this.cooldown);
|
||||
this.firstTime = false;
|
||||
final float spread = 0F;
|
||||
ParticleEffect.EXPLOSION_LARGE.display(this.player.getLocation(), 1, spread, spread, spread, 0);
|
||||
|
@ -106,6 +105,7 @@ public class JetBlast extends FireAbility implements ComboAbility {
|
|||
task.remove();
|
||||
}
|
||||
super.remove();
|
||||
this.bPlayer.addCooldown("JetBlast", this.cooldown);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -88,7 +88,6 @@ public class JetBlaze extends FireAbility implements ComboAbility {
|
|||
this.remove();
|
||||
return;
|
||||
}
|
||||
this.bPlayer.addCooldown("JetBlaze", this.cooldown);
|
||||
this.firstTime = false;
|
||||
} else if (System.currentTimeMillis() - this.time > this.duration) {
|
||||
this.remove();
|
||||
|
@ -103,7 +102,7 @@ public class JetBlaze extends FireAbility implements ComboAbility {
|
|||
fs.setDensity(8);
|
||||
fs.setSpread(1.0F);
|
||||
fs.setUseNewParticles(true);
|
||||
fs.setCollisionRadius(3);
|
||||
fs.setCollisionRadius(2);
|
||||
fs.setParticleEffect(ParticleEffect.SMOKE_LARGE);
|
||||
fs.setDamage(this.damage);
|
||||
fs.setFireTicks(this.fireTicks);
|
||||
|
@ -121,6 +120,7 @@ public class JetBlaze extends FireAbility implements ComboAbility {
|
|||
task.remove();
|
||||
}
|
||||
super.remove();
|
||||
this.bPlayer.addCooldown("JetBlaze", this.cooldown);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -255,12 +255,11 @@ public class SurgeWall extends WaterAbility {
|
|||
}
|
||||
|
||||
final ArrayList<Block> blocks = new ArrayList<Block>();
|
||||
final Location targetLoc = GeneralMethods.getTargetedLocation(this.player, (int) this.range, Material.WATER, Material.ICE);
|
||||
final Location targetLoc = GeneralMethods.getTargetedLocation(this.player, (int) this.range, false, false, Material.WATER, Material.ICE);
|
||||
this.location = targetLoc.clone();
|
||||
final Vector eyeDir = this.player.getEyeLocation().getDirection();
|
||||
Vector vector;
|
||||
Block block;
|
||||
|
||||
for (double i = 0; i <= this.getNightFactor(this.radius); i += 0.5) {
|
||||
for (double angle = 0; angle < 360; angle += 10) {
|
||||
vector = GeneralMethods.getOrthogonalVector(eyeDir.clone(), angle, i);
|
||||
|
|
Loading…
Reference in a new issue