Separate turret tracking range for malign/smite
This commit is contained in:
@@ -4954,6 +4954,7 @@ public class Blocks{
|
|||||||
reload = 100f;
|
reload = 100f;
|
||||||
recoil = 2f;
|
recoil = 2f;
|
||||||
range = 300;
|
range = 300;
|
||||||
|
trackingRange = range * 1.4f;
|
||||||
shootCone = 30f;
|
shootCone = 30f;
|
||||||
scaledHealth = 350;
|
scaledHealth = 350;
|
||||||
rotateSpeed = 1.5f;
|
rotateSpeed = 1.5f;
|
||||||
@@ -5290,6 +5291,7 @@ public class Blocks{
|
|||||||
envEnabled |= Env.space;
|
envEnabled |= Env.space;
|
||||||
reload = 9f;
|
reload = 9f;
|
||||||
range = 370;
|
range = 370;
|
||||||
|
trackingRange = range * 1.4f;
|
||||||
shootCone = 100f;
|
shootCone = 100f;
|
||||||
scaledHealth = 370;
|
scaledHealth = 370;
|
||||||
rotateSpeed = 2f;
|
rotateSpeed = 2f;
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ public class Turret extends ReloadTurret{
|
|||||||
public float shootX = 0f, shootY = Float.NEGATIVE_INFINITY;
|
public float shootX = 0f, shootY = Float.NEGATIVE_INFINITY;
|
||||||
/** Random spread on the X axis. */
|
/** Random spread on the X axis. */
|
||||||
public float xRand = 0f;
|
public float xRand = 0f;
|
||||||
|
/** Range at which it finds and locks on to the taget, but does not shoot. */
|
||||||
|
public float trackingRange = 0f;
|
||||||
/** Minimum bullet range. Used for artillery only. */
|
/** Minimum bullet range. Used for artillery only. */
|
||||||
public float minRange = 0f;
|
public float minRange = 0f;
|
||||||
/** Minimum warmup needed to fire. */
|
/** Minimum warmup needed to fire. */
|
||||||
@@ -182,6 +184,7 @@ public class Turret extends ReloadTurret{
|
|||||||
if(newTargetInterval <= 0f) newTargetInterval = targetInterval;
|
if(newTargetInterval <= 0f) newTargetInterval = targetInterval;
|
||||||
|
|
||||||
super.init();
|
super.init();
|
||||||
|
trackingRange = Math.max(range, trackingRange);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -248,6 +251,10 @@ public class Turret extends ReloadTurret{
|
|||||||
return range;
|
return range;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float trackingRange(){
|
||||||
|
return range() + trackingRange - range;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float warmup(){
|
public float warmup(){
|
||||||
return shootWarmup;
|
return shootWarmup;
|
||||||
@@ -425,6 +432,7 @@ public class Turret extends ReloadTurret{
|
|||||||
targetPosition(target);
|
targetPosition(target);
|
||||||
|
|
||||||
if(Float.isNaN(rotation)) rotation = 0;
|
if(Float.isNaN(rotation)) rotation = 0;
|
||||||
|
canShoot = within(target, range() + (target instanceof Sized hb ? hb.hitSize()/1.9f : 0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isControlled()){
|
if(!isControlled()){
|
||||||
@@ -475,7 +483,7 @@ public class Turret extends ReloadTurret{
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void findTarget(){
|
protected void findTarget(){
|
||||||
float range = range();
|
float range = trackingRange();
|
||||||
|
|
||||||
if(targetAir && !targetGround){
|
if(targetAir && !targetGround){
|
||||||
target = Units.bestEnemy(team, x, y, range, e -> !e.dead() && !e.isGrounded() && unitFilter.get(e), unitSort);
|
target = Units.bestEnemy(team, x, y, range, e -> !e.dead() && !e.isGrounded() && unitFilter.get(e), unitSort);
|
||||||
|
|||||||
Reference in New Issue
Block a user