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 final Seq<Tile> tmpTiles = new Seq<>();
private static int correct = 0, incorrect = 0; private static int correct = 0, incorrect = 0;
private static boolean anyDrills;
private int lastX, lastY, lastW, lastH; private int lastX, lastY, lastW, lastH;
private boolean triedWalls, foundPath; private boolean triedWalls, foundPath;
@@ -200,7 +201,7 @@ public class BaseAI{
int cx = x - (int)rotator.x; int cx = x - (int)rotator.x;
int cy = y - (int)rotator.y; int cy = y - (int)rotator.y;
//chekc valid placeability //check valid placeability
for(Stile tile : result.tiles){ for(Stile tile : result.tiles){
int realX = tile.x + cx, realY = tile.y + cy; int realX = tile.x + cx, realY = tile.y + cy;
if(!Build.validPlace(tile.block, data.team, realX, realY, tile.rotation)){ 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 //make sure at least X% of resource requirements are met
correct = incorrect = 0; correct = incorrect = 0;
anyDrills = false;
if(part.required instanceof Item){ if(part.required instanceof Item){
for(Stile tile : result.tiles){ for(Stile tile : result.tiles){
if(tile.block instanceof Drill){ if(tile.block instanceof Drill){
anyDrills = true;
tile.block.iterateTaken(tile.x + cx, tile.y + cy, (ex, ey) -> { tile.block.iterateTaken(tile.x + cx, tile.y + cy, (ex, ey) -> {
Tile res = world.rawTile(ex, ey); Tile res = world.rawTile(ex, ey);
if(res.drop() == part.required){ if(res.drop() == part.required){
correct ++; correct ++;
}else{ }else if(res.drop() != null){
incorrect ++; incorrect ++;
} }
}); });
@@ -235,7 +238,7 @@ public class BaseAI{
} }
//fail if not enough fit requirements //fail if not enough fit requirements
if((float)correct / incorrect < correctPercent){ if(anyDrills && (incorrect != 0 || correct == 0)){
return false; return false;
} }

View File

@@ -1,3 +1,3 @@
org.gradle.daemon=true org.gradle.daemon=true
org.gradle.jvmargs=-Xms256m -Xmx1024m org.gradle.jvmargs=-Xms256m -Xmx1024m
archash=638a163631aa138e4fc4a90efe1bd8113e27a489 archash=5e9176c3feefa5ee2f14b08f82da1f01f790e64a