Made turrets ignore passable buildings
This commit is contained in:
@@ -989,6 +989,7 @@ public class UnitType extends UnlockableContent{
|
|||||||
if(itemCircleRegion == null || itemCircleRegion.texture.isDisposed()){
|
if(itemCircleRegion == null || itemCircleRegion.texture.isDisposed()){
|
||||||
itemCircleRegion = Core.atlas.find("ring-item");
|
itemCircleRegion = Core.atlas.find("ring-item");
|
||||||
}
|
}
|
||||||
|
|
||||||
size = (3f + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime + 0.5f;
|
size = (3f + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime + 0.5f;
|
||||||
Draw.color(Pal.accent);
|
Draw.color(Pal.accent);
|
||||||
Draw.rect(itemCircleRegion,
|
Draw.rect(itemCircleRegion,
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ public class Turret extends ReloadTurret{
|
|||||||
public boolean displayAmmoMultiplier = true;
|
public boolean displayAmmoMultiplier = true;
|
||||||
public Sortf unitSort = UnitSorts.closest;
|
public Sortf unitSort = UnitSorts.closest;
|
||||||
public Boolf<Unit> unitFilter = u -> true;
|
public Boolf<Unit> unitFilter = u -> true;
|
||||||
|
public Boolf<Building> buildingFilter = b -> !b.block.underBullets;
|
||||||
|
|
||||||
public DrawBlock drawer = new DrawTurret();
|
public DrawBlock drawer = new DrawTurret();
|
||||||
|
|
||||||
@@ -393,7 +394,7 @@ public class Turret extends ReloadTurret{
|
|||||||
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);
|
||||||
}else{
|
}else{
|
||||||
target = Units.bestTarget(team, x, y, range, e -> !e.dead() && unitFilter.get(e) && (e.isGrounded() || targetAir) && (!e.isGrounded() || targetGround), b -> targetGround, unitSort);
|
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);
|
||||||
|
|
||||||
if(target == null && canHeal()){
|
if(target == null && canHeal()){
|
||||||
target = Units.findAllyTile(team, x, y, range, b -> b.damaged() && b != this);
|
target = Units.findAllyTile(team, x, y, range, b -> b.damaged() && b != this);
|
||||||
|
|||||||
Reference in New Issue
Block a user