Attempt to properly update...
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import com.garbagemule.MobArena.framework.Arena;
|
||||
import com.garbagemule.MobArena.waves.MABoss;
|
||||
import com.garbagemule.MobArena.waves.ability.*;
|
||||
|
||||
@AbilityInfo(
|
||||
name = "Pull Nearby",
|
||||
aliases = {"pullnearby"}
|
||||
)
|
||||
public class PullNearby implements Ability
|
||||
{
|
||||
/**
|
||||
* How close players must be to be affected by the ability.
|
||||
*/
|
||||
private final int RADIUS = 5;
|
||||
|
||||
@Override
|
||||
public void execute(Arena arena, MABoss boss) {
|
||||
Location bLoc = boss.getEntity().getLocation();
|
||||
|
||||
for (Player p : AbilityUtils.getNearbyPlayers(arena, boss.getEntity(), RADIUS)) {
|
||||
Location loc = p.getLocation();
|
||||
Vector v = new Vector(bLoc.getX() - loc.getX(), 0, bLoc.getZ() - loc.getZ());
|
||||
|
||||
double a = Math.abs(bLoc.getX() - loc.getX());
|
||||
double b = Math.abs(bLoc.getZ() - loc.getZ());
|
||||
double c = Math.sqrt((a*a + b*b));
|
||||
|
||||
p.setVelocity(v.normalize().multiply(c*0.3).setY(0.8));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user