Fine, I'll do it myself (#5717)
This commit is contained in:
@@ -41,6 +41,12 @@ public class FlyingAI extends AIController{
|
||||
|
||||
@Override
|
||||
protected Teamc findMainTarget(float x, float y, float range, boolean air, boolean ground){
|
||||
var core = targetFlag(x, y, BlockFlag.core, true);
|
||||
|
||||
if(core != null && Mathf.within(x, y, core.getX(), core.getY(), range)){
|
||||
return core;
|
||||
}
|
||||
|
||||
for(var flag : unit.team.isAI() ? unit.type.targetFlags : unit.type.playerTargetFlags){
|
||||
if(flag == null){
|
||||
Teamc result = target(x, y, range, air, ground);
|
||||
@@ -50,7 +56,8 @@ public class FlyingAI extends AIController{
|
||||
if(result != null) return result;
|
||||
}
|
||||
}
|
||||
return targetFlag(x, y, BlockFlag.core, true);
|
||||
|
||||
return core;
|
||||
}
|
||||
|
||||
protected void attack(float circleLength){
|
||||
|
||||
@@ -24,6 +24,8 @@ public class MoveLightningAbility extends Ability{
|
||||
public Color color = Color.valueOf("a9d8ff");
|
||||
/** Shifts where the lightning spawns along the Y axis */
|
||||
public float offset = 0f;
|
||||
/** Offset along the X axis. */
|
||||
public float width = 0f;
|
||||
/** Jittering heat sprite like the shield on v5 Javelin */
|
||||
public String heatRegion = "error";
|
||||
/** Bullet type that is fired. Can be null */
|
||||
@@ -33,6 +35,8 @@ public class MoveLightningAbility extends Ability{
|
||||
|
||||
public Effect shootEffect = Fx.sparkShoot;
|
||||
public Sound shootSound = Sounds.spark;
|
||||
|
||||
protected float side = 1f;
|
||||
|
||||
MoveLightningAbility(){}
|
||||
|
||||
@@ -61,7 +65,7 @@ public class MoveLightningAbility extends Ability{
|
||||
public void update(Unit unit){
|
||||
float scl = Mathf.clamp((unit.vel().len() - minSpeed) / (maxSpeed - minSpeed));
|
||||
if(Mathf.chance(Time.delta * chance * scl)){
|
||||
float x = unit.x + Angles.trnsx(unit.rotation, offset, 0), y = unit.y + Angles.trnsy(unit.rotation, offset, 0);
|
||||
float x = unit.x + Angles.trnsx(unit.rotation, offset, width * side), y = unit.y + Angles.trnsy(unit.rotation, offset, width * side);
|
||||
|
||||
shootEffect.at(x, y, unit.rotation, color);
|
||||
shootSound.at(unit);
|
||||
@@ -73,6 +77,8 @@ public class MoveLightningAbility extends Ability{
|
||||
if(bullet != null){
|
||||
bullet.create(unit, unit.team, x, y, unit.rotation + bulletAngle + Mathf.range(bulletSpread));
|
||||
}
|
||||
|
||||
side *= -1f;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user