mirror of
https://github.com/Anuken/Mindustry.git
synced 2024-09-20 21:08:42 +03:00
Fixed #4235
This commit is contained in:
parent
c4d72eef39
commit
e70221f6dd
@ -32,6 +32,7 @@ public class BaseAI{
|
||||
private static final Seq<Tile> tmpTiles = new Seq<>();
|
||||
|
||||
private static int correct = 0, incorrect = 0;
|
||||
private static boolean anyDrills;
|
||||
|
||||
private int lastX, lastY, lastW, lastH;
|
||||
private boolean triedWalls, foundPath;
|
||||
@ -200,7 +201,7 @@ public class BaseAI{
|
||||
int cx = x - (int)rotator.x;
|
||||
int cy = y - (int)rotator.y;
|
||||
|
||||
//chekc valid placeability
|
||||
//check valid placeability
|
||||
for(Stile tile : result.tiles){
|
||||
int realX = tile.x + cx, realY = tile.y + cy;
|
||||
if(!Build.validPlace(tile.block, data.team, realX, realY, tile.rotation)){
|
||||
@ -217,16 +218,18 @@ public class BaseAI{
|
||||
|
||||
//make sure at least X% of resource requirements are met
|
||||
correct = incorrect = 0;
|
||||
anyDrills = false;
|
||||
|
||||
if(part.required instanceof Item){
|
||||
for(Stile tile : result.tiles){
|
||||
if(tile.block instanceof Drill){
|
||||
anyDrills = true;
|
||||
|
||||
tile.block.iterateTaken(tile.x + cx, tile.y + cy, (ex, ey) -> {
|
||||
Tile res = world.rawTile(ex, ey);
|
||||
if(res.drop() == part.required){
|
||||
correct ++;
|
||||
}else{
|
||||
}else if(res.drop() != null){
|
||||
incorrect ++;
|
||||
}
|
||||
});
|
||||
@ -235,7 +238,7 @@ public class BaseAI{
|
||||
}
|
||||
|
||||
//fail if not enough fit requirements
|
||||
if((float)correct / incorrect < correctPercent){
|
||||
if(anyDrills && (incorrect != 0 || correct == 0)){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
org.gradle.daemon=true
|
||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||
archash=638a163631aa138e4fc4a90efe1bd8113e27a489
|
||||
archash=5e9176c3feefa5ee2f14b08f82da1f01f790e64a
|
||||
|
Loading…
Reference in New Issue
Block a user