This commit is contained in:
Anuken
2021-01-02 16:05:22 -05:00
parent c4d72eef39
commit e70221f6dd
2 changed files with 7 additions and 4 deletions

View File

@@ -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;
}