Fixed #4235
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user