New feature: bullet homing delay

This commit is contained in:
abomb4 2020-10-17 00:05:19 +08:00 committed by GitHub
parent 2f54edf34f
commit 83756a6ea0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -104,6 +104,8 @@ public abstract class BulletType extends Content{
public float incendChance = 1f;
public float homingPower = 0f;
public float homingRange = 50f;
/** Use a negative value to disable homing delay. */
public float homingDelay = -1f;
public Color lightningColor = Pal.surge;
public int lightning;
@ -260,7 +262,7 @@ public abstract class BulletType extends Content{
}
public void update(Bullet b){
if(homingPower > 0.0001f){
if(homingPower > 0.0001f && b.time >= homingDelay){
Teamc target = Units.closestTarget(b.team, b.x, b.y, homingRange, e -> (e.isGrounded() && collidesGround) || (e.isFlying() && collidesAir), t -> collidesGround);
if(target != null){
b.vel.setAngle(Mathf.slerpDelta(b.rotation(), b.angleTo(target), homingPower));