mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-03-10 04:40:10 +07:00
parent
6e5ad304e4
commit
0e6d9ea933
@ -52,6 +52,7 @@ public class BaseAI{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void update(){
|
public void update(){
|
||||||
|
|
||||||
if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 2.5f) && data.hasCore()){
|
if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 2.5f) && data.hasCore()){
|
||||||
CoreBlock block = (CoreBlock)data.core().block;
|
CoreBlock block = (CoreBlock)data.core().block;
|
||||||
int coreUnits = Groups.unit.count(u -> u.team == data.team && u.type == block.unitType);
|
int coreUnits = Groups.unit.count(u -> u.team == data.team && u.type == block.unitType);
|
||||||
@ -90,6 +91,7 @@ public class BaseAI{
|
|||||||
}else{
|
}else{
|
||||||
var field = pathfinder.getField(state.rules.waveTeam, Pathfinder.costGround, Pathfinder.fieldCore);
|
var field = pathfinder.getField(state.rules.waveTeam, Pathfinder.costGround, Pathfinder.fieldCore);
|
||||||
|
|
||||||
|
if(field.weights != null){
|
||||||
int[][] weights = field.weights;
|
int[][] weights = field.weights;
|
||||||
for(int i = 0; i < pathStep; i++){
|
for(int i = 0; i < pathStep; i++){
|
||||||
int minCost = Integer.MAX_VALUE;
|
int minCost = Integer.MAX_VALUE;
|
||||||
@ -136,6 +138,7 @@ public class BaseAI{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//only schedule when there's something to build.
|
//only schedule when there's something to build.
|
||||||
if(foundPath && data.blocks.isEmpty() && timer.get(timerStep, Mathf.lerp(20f, 4f, data.team.rules().aiTier))){
|
if(foundPath && data.blocks.isEmpty() && timer.get(timerStep, Mathf.lerp(20f, 4f, data.team.rules().aiTier))){
|
||||||
|
@ -26,7 +26,6 @@ import mindustry.gen.*;
|
|||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
import mindustry.graphics.g3d.*;
|
import mindustry.graphics.g3d.*;
|
||||||
import mindustry.input.*;
|
import mindustry.input.*;
|
||||||
import mindustry.io.legacy.*;
|
|
||||||
import mindustry.maps.*;
|
import mindustry.maps.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
@ -165,16 +164,6 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
//load legacy research
|
|
||||||
if(Core.settings.has("unlocks") && !Core.settings.has("junction-unlocked")){
|
|
||||||
Core.app.post(() -> {
|
|
||||||
ui.showCustomConfirm("@research", "@research.legacy", "@research.load", "@research.discard", () -> {
|
|
||||||
LegacyIO.readResearch();
|
|
||||||
Core.settings.remove("unlocks");
|
|
||||||
}, () -> Core.settings.remove("unlocks"));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
rebuildButtons();
|
rebuildButtons();
|
||||||
mode = look;
|
mode = look;
|
||||||
selected = hovered = launchSector = null;
|
selected = hovered = launchSector = null;
|
||||||
|
@ -143,10 +143,15 @@ public class UnitFactory extends UnitBlock{
|
|||||||
@Override
|
@Override
|
||||||
public Object senseObject(LAccess sensor){
|
public Object senseObject(LAccess sensor){
|
||||||
if(sensor == LAccess.config) return currentPlan == -1 ? null : plans.get(currentPlan).unit;
|
if(sensor == LAccess.config) return currentPlan == -1 ? null : plans.get(currentPlan).unit;
|
||||||
if(sensor == LAccess.progress) return Mathf.clamp(fraction());
|
|
||||||
return super.senseObject(sensor);
|
return super.senseObject(sensor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double sense(LAccess sensor){
|
||||||
|
if(sensor == LAccess.progress) return Mathf.clamp(fraction());
|
||||||
|
return super.sense(sensor);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void buildConfiguration(Table table){
|
public void buildConfiguration(Table table){
|
||||||
Seq<UnitType> units = Seq.with(plans).map(u -> u.unit).filter(u -> u.unlockedNow() && !u.isBanned());
|
Seq<UnitType> units = Seq.with(plans).map(u -> u.unit).filter(u -> u.unlockedNow() && !u.isBanned());
|
||||||
|
Loading…
Reference in New Issue
Block a user