RTS AI fixes / Silicon gated behind Frozen Forest / Tainted woods guardian nerf

This commit is contained in:
Anuken
2025-04-30 19:07:57 -04:00
parent bad43e8fa9
commit 37f32d3317
7 changed files with 10 additions and 5 deletions

View File

@@ -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);

View File

@@ -129,7 +129,7 @@ public class SerpuloTechTree{
});
});
node(siliconSmelter, () -> {
node(siliconSmelter, Seq.with(new SectorComplete(frozenForest)), () -> {
node(sporePress, () -> {
node(coalCentrifuge, () -> {

View File

@@ -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()){

View File

@@ -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). */

View File

@@ -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);

View File

@@ -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";
}