1
0
mirror of https://github.com/Anuken/Mindustry.git synced 2024-09-20 21:08:42 +03:00
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;
}

View File

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