mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-01-26 14:32:06 -08:00
Fixed turrets ignoring nearby targets with increased tracking range
This commit is contained in:
parent
d6912b10d1
commit
cbc4797f4e
1 changed files with 13 additions and 5 deletions
|
|
@ -482,13 +482,21 @@ public class Turret extends ReloadTurret{
|
|||
return targetHealing && hasAmmo() && peekAmmo().collidesTeam && peekAmmo().heals();
|
||||
}
|
||||
|
||||
protected void findTarget(){
|
||||
float range = trackingRange();
|
||||
|
||||
protected Posc findEnemy(float range){
|
||||
if(targetAir && !targetGround){
|
||||
target = Units.bestEnemy(team, x, y, range, e -> !e.dead() && !e.isGrounded() && unitFilter.get(e), unitSort);
|
||||
return Units.bestEnemy(team, x, y, range, e -> !e.dead() && !e.isGrounded() && unitFilter.get(e), unitSort);
|
||||
}else{
|
||||
target = Units.bestTarget(team, x, y, range, e -> !e.dead() && unitFilter.get(e) && (e.isGrounded() || targetAir) && (!e.isGrounded() || targetGround), b -> targetGround && buildingFilter.get(b), unitSort);
|
||||
return Units.bestTarget(team, x, y, range, e -> !e.dead() && unitFilter.get(e) && (e.isGrounded() || targetAir) && (!e.isGrounded() || targetGround), b -> targetGround && buildingFilter.get(b), unitSort);
|
||||
}
|
||||
}
|
||||
|
||||
protected void findTarget(){
|
||||
float trackRange = trackingRange(), range = range();
|
||||
|
||||
target = findEnemy(trackRange);
|
||||
//find another target within the tracking range, but only if there's nothing else (always prioritize standard target)
|
||||
if(!Mathf.equal(trackRange, range) && target == null){
|
||||
target = findEnemy(trackRange);
|
||||
}
|
||||
|
||||
if(target == null && canHeal()){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue