Less frequent Erekir turret retargeting when valid target is present
This commit is contained in:
@@ -4152,6 +4152,7 @@ public class Blocks{
|
||||
|
||||
liquidConsumed = 10f / 60f;
|
||||
targetInterval = 5f;
|
||||
newTargetInterval = 30f;
|
||||
targetUnderBlocks = false;
|
||||
|
||||
float r = range = 130f;
|
||||
@@ -4242,6 +4243,8 @@ public class Blocks{
|
||||
shootY = 7f;
|
||||
rotateSpeed = 1.4f;
|
||||
minWarmup = 0.85f;
|
||||
|
||||
newTargetInterval = 40f;
|
||||
shootWarmupSpeed = 0.07f;
|
||||
|
||||
coolant = consume(new ConsumeLiquid(Liquids.water, 30f / 60f));
|
||||
@@ -4462,6 +4465,8 @@ public class Blocks{
|
||||
heatRequirement = 10f;
|
||||
maxHeatEfficiency = 2f;
|
||||
|
||||
newTargetInterval = 40f;
|
||||
|
||||
inaccuracy = 1f;
|
||||
shake = 2f;
|
||||
shootY = 4;
|
||||
@@ -4684,6 +4689,8 @@ public class Blocks{
|
||||
shootSound = Sounds.missileLaunch;
|
||||
|
||||
minWarmup = 0.94f;
|
||||
newTargetInterval = 40f;
|
||||
unitSort = UnitSorts.strongest;
|
||||
shootWarmupSpeed = 0.03f;
|
||||
targetAir = false;
|
||||
targetUnderBlocks = false;
|
||||
|
||||
@@ -36,6 +36,8 @@ public class Turret extends ReloadTurret{
|
||||
public final int timerTarget = timers++;
|
||||
/** Ticks between attempt at finding a target. */
|
||||
public float targetInterval = 20;
|
||||
/** Target interval for when this turret already has a valid target. -1 = targetInterval */
|
||||
public float newTargetInterval = -1f;
|
||||
|
||||
/** Maximum ammo units stored. */
|
||||
public int maxAmmo = 30;
|
||||
@@ -176,6 +178,7 @@ public class Turret extends ReloadTurret{
|
||||
if(elevation < 0) elevation = size / 2f;
|
||||
if(recoilTime < 0f) recoilTime = reload;
|
||||
if(cooldownTime < 0f) cooldownTime = reload;
|
||||
if(newTargetInterval <= 0f) newTargetInterval = targetInterval;
|
||||
|
||||
super.init();
|
||||
}
|
||||
@@ -405,7 +408,7 @@ public class Turret extends ReloadTurret{
|
||||
if(hasAmmo()){
|
||||
if(Float.isNaN(reloadCounter)) reloadCounter = 0;
|
||||
|
||||
if(timer(timerTarget, targetInterval)){
|
||||
if(timer(timerTarget, target == null ? newTargetInterval : targetInterval)){
|
||||
findTarget();
|
||||
}
|
||||
|
||||
@@ -438,6 +441,8 @@ public class Turret extends ReloadTurret{
|
||||
wasShooting = true;
|
||||
updateShooting();
|
||||
}
|
||||
}else{
|
||||
target = null;
|
||||
}
|
||||
|
||||
if(alwaysShooting){
|
||||
|
||||
Reference in New Issue
Block a user