RTS AI fixes / Silicon gated behind Frozen Forest / Tainted woods guardian nerf
This commit is contained in:
@@ -111,6 +111,7 @@ public class RtsAI{
|
||||
for(var unit : data.units){
|
||||
if(used.add(unit.id) && unit.controller() instanceof CommandAI cai && !cai.hasCommand() && !cai.isAttacking()){
|
||||
squad.clear();
|
||||
squad.add(unit);
|
||||
|
||||
stack.clear();
|
||||
stack.add(unit);
|
||||
|
||||
@@ -129,7 +129,7 @@ public class SerpuloTechTree{
|
||||
});
|
||||
});
|
||||
|
||||
node(siliconSmelter, () -> {
|
||||
node(siliconSmelter, Seq.with(new SectorComplete(frozenForest)), () -> {
|
||||
|
||||
node(sporePress, () -> {
|
||||
node(coalCentrifuge, () -> {
|
||||
|
||||
@@ -18,9 +18,11 @@ public class CampaignRules{
|
||||
rules.showSpawns = showSpawns;
|
||||
rules.randomWaveAI = randomWaveAI;
|
||||
rules.objectiveTimerMultiplier = difficulty.waveTimeMultiplier;
|
||||
if(planet.showRtsAIRule && rules.attackMode){
|
||||
boolean swapped = rules.teams.get(rules.waveTeam).rtsAi != rtsAI;
|
||||
rules.teams.get(rules.waveTeam).rtsAi = rtsAI;
|
||||
if(planet.showRtsAIRule){
|
||||
boolean enabled = rtsAI && rules.attackMode; //if attackMode becomes false (waves enabled), turn off RTS AI
|
||||
boolean swapped = rules.teams.get(rules.waveTeam).rtsAi != enabled;
|
||||
|
||||
rules.teams.get(rules.waveTeam).rtsAi = enabled;
|
||||
rules.teams.get(rules.waveTeam).rtsMaxSquad = 15;
|
||||
|
||||
if(swapped && Vars.state.isGame()){
|
||||
|
||||
@@ -110,7 +110,7 @@ public class Team implements Comparable<Team>, Senseable{
|
||||
|
||||
/** @return whether this team is supposed to be AI-controlled. */
|
||||
public boolean isAI(){
|
||||
return (state.rules.waves || state.rules.attackMode) && this != state.rules.defaultTeam && !state.rules.pvp;
|
||||
return (state.rules.waves || state.rules.attackMode || state.isCampaign()) && this != state.rules.defaultTeam && !state.rules.pvp;
|
||||
}
|
||||
|
||||
/** @return whether this team is solely comprised of AI (with no players possible). */
|
||||
|
||||
@@ -285,6 +285,7 @@ public class Universe{
|
||||
state.rules.winWave = waveMax;
|
||||
state.rules.waves = true;
|
||||
state.rules.attackMode = false;
|
||||
planet.campaignRules.apply(planet, state.rules); //enabling waves may force changes in campaign rules
|
||||
//update rules in multiplayer
|
||||
if(net.server()){
|
||||
Call.setRules(state.rules);
|
||||
|
||||
@@ -185,6 +185,7 @@ public class ConsoleFragment extends Table{
|
||||
"var items = Vars.player.team().items();" +
|
||||
"var build = Vars.world.buildWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY());" +
|
||||
"var cursor = Vars.world.tileWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY());" +
|
||||
"var cursorUnit = Units.closestEnemy(null, Core.input.mouseWorldX(), Core.input.mouseWorldY(), 70, u => true);" +
|
||||
"\n";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user