mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-03-09 20:29:06 +07:00
Building target discovered check
This commit is contained in:
parent
b2d27c70e6
commit
43b4dc321c
@ -356,7 +356,7 @@ public class BlockIndexer{
|
||||
if(enemy == team || (enemy == Team.derelict && !state.rules.coreCapture)) continue;
|
||||
|
||||
Building candidate = indexer.findTile(enemy, x, y, range, pred, true);
|
||||
if(candidate == null) continue;
|
||||
if(candidate == null || !candidate.isDiscovered(team)) continue;
|
||||
|
||||
//if a block has the same priority, the closer one should be targeted
|
||||
float dist = candidate.dst(x, y) - candidate.hitSize() / 2f;
|
||||
|
@ -271,6 +271,19 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
||||
//endregion
|
||||
//region utility methods
|
||||
|
||||
public boolean isDiscovered(Team viewer){
|
||||
if(block.size <= 2){
|
||||
return fogControl.isDiscovered(viewer, tile.x, tile.y);
|
||||
}else{
|
||||
int s = block.size / 2;
|
||||
return fogControl.isDiscovered(viewer, tile.x, tile.y) ||
|
||||
fogControl.isDiscovered(viewer, tile.x - s, tile.y - s) ||
|
||||
fogControl.isDiscovered(viewer, tile.x - s, tile.y + s) ||
|
||||
fogControl.isDiscovered(viewer, tile.x + s, tile.y + s) ||
|
||||
fogControl.isDiscovered(viewer, tile.x + s, tile.y - s);
|
||||
}
|
||||
}
|
||||
|
||||
public void addPlan(boolean checkPrevious){
|
||||
addPlan(checkPrevious, false);
|
||||
}
|
||||
|
@ -63,6 +63,10 @@ public class BaseTurret extends Block{
|
||||
super.drawPlace(x, y, rotation, valid);
|
||||
|
||||
Drawf.dashCircle(x * tilesize + offset, y * tilesize + offset, range, Pal.placing);
|
||||
|
||||
if(fogRadiusMultiuplier < 0.99f && state.rules.fog){
|
||||
Drawf.dashCircle(x * tilesize + offset, y * tilesize + offset, range * fogRadiusMultiuplier, Pal.lightishGray);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -25,4 +25,4 @@ org.gradle.caching=true
|
||||
#used for slow jitpack builds; TODO see if this actually works
|
||||
org.gradle.internal.http.socketTimeout=100000
|
||||
org.gradle.internal.http.connectionTimeout=100000
|
||||
archash=8793e01874
|
||||
archash=5a1cbb8b59
|
||||
|
Loading…
Reference in New Issue
Block a user