mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-03-09 08:20:55 -07:00
Merge a601be72e3 into 63f0776079
This commit is contained in:
commit
73cc1f8ffb
7 changed files with 17 additions and 10 deletions
|
|
@ -1532,6 +1532,7 @@ rules.legacylaunchpads.info = Allows using launch pads without landing pads, as
|
|||
landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled)
|
||||
rules.showspawns = Show Enemy Spawns
|
||||
rules.randomwaveai = Unpredictable Wave AI
|
||||
rules.pauseDisabled = Disable Pausing
|
||||
rules.fire = Fire
|
||||
rules.anyenv = <Any>
|
||||
rules.explosions = Block/Unit Explosion Damage
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||
|
||||
//autohost for pvp maps
|
||||
Events.on(WorldLoadEvent.class, event -> app.post(() -> {
|
||||
if(state.rules.pvp && !net.active()){
|
||||
if(state.rules.pvp && !net.active() && !state.rules.pauseDisabled){
|
||||
try{
|
||||
net.host(port);
|
||||
player.admin = true;
|
||||
|
|
@ -249,7 +249,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||
if(ccore != null){
|
||||
anyBuilds = true;
|
||||
|
||||
if(!net.active()){
|
||||
if(!net.active() && !state.rules.pauseDisabled){
|
||||
build.pickedUp();
|
||||
build.tile.remove();
|
||||
|
||||
|
|
@ -606,7 +606,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||
|
||||
@Override
|
||||
public void pause(){
|
||||
if(settings.getBool("backgroundpause", true) && !net.active()){
|
||||
if(settings.getBool("backgroundpause", true) && !net.active() && !state.rules.pauseDisabled){
|
||||
backgroundPaused = true;
|
||||
wasPaused = state.is(State.paused);
|
||||
if(state.is(State.playing)) state.set(State.paused);
|
||||
|
|
@ -615,7 +615,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||
|
||||
@Override
|
||||
public void resume(){
|
||||
if(state.is(State.paused) && !wasPaused && settings.getBool("backgroundpause", true) && !net.active()){
|
||||
if(state.is(State.paused) && !wasPaused && settings.getBool("backgroundpause", true) && !net.active() && !state.rules.pauseDisabled){
|
||||
state.set(State.playing);
|
||||
}
|
||||
backgroundPaused = false;
|
||||
|
|
@ -710,7 +710,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||
core.items.each((i, a) -> i.unlock());
|
||||
}
|
||||
|
||||
if(backgroundPaused && settings.getBool("backgroundpause") && !net.active()){
|
||||
if(backgroundPaused && settings.getBool("backgroundpause") && !net.active() && !state.rules.pauseDisabled){
|
||||
state.set(State.paused);
|
||||
}
|
||||
|
||||
|
|
@ -719,7 +719,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||
state.set(State.playing);
|
||||
}
|
||||
|
||||
if(!net.client() && Core.input.keyTap(Binding.pause) && !(state.isCampaign() && state.afterGameOver) && !renderer.isCutscene() && !scene.hasDialog() && !scene.hasKeyboard() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){
|
||||
if(!net.client() && !state.rules.pauseDisabled && Core.input.keyTap(Binding.pause) && !(state.isCampaign() && state.afterGameOver) && !renderer.isCutscene() && !scene.hasDialog() && !scene.hasKeyboard() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){
|
||||
state.set(state.isPaused() ? State.playing : State.paused);
|
||||
}
|
||||
|
||||
|
|
@ -732,7 +732,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||
ui.chatfrag.hide();
|
||||
}else if(!ui.paused.isShown() && !scene.hasDialog()){
|
||||
ui.paused.show();
|
||||
if(!net.active()){
|
||||
if(!net.active() && !state.rules.pauseDisabled){
|
||||
state.set(State.paused);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,11 +13,13 @@ public class CampaignRules{
|
|||
public boolean legacyLaunchPads;
|
||||
public boolean rtsAI;
|
||||
public boolean clearSectorOnLose;
|
||||
public boolean pauseDisabled;
|
||||
|
||||
public void apply(Planet planet, Rules rules){
|
||||
rules.staticFog = rules.fog = fog;
|
||||
rules.showSpawns = showSpawns;
|
||||
rules.randomWaveAI = randomWaveAI;
|
||||
rules.pauseDisabled = pauseDisabled;
|
||||
rules.objectiveTimerMultiplier = difficulty.waveTimeMultiplier;
|
||||
if(planet.showRtsAIRule){
|
||||
boolean enabled = rtsAI && rules.attackMode; //if attackMode becomes false (waves enabled), turn off RTS AI
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ public class Rules{
|
|||
public boolean pvp;
|
||||
/** Whether is waiting for players enabled in PvP. */
|
||||
public boolean pvpAutoPause = true;
|
||||
/** Whether pause is enabled or not in singleplayer */
|
||||
public boolean pauseDisabled = false;
|
||||
/** Whether to pause the wave timer until all enemies are destroyed. */
|
||||
public boolean waitEnemies = false;
|
||||
/** Determines if gamemode is attack mode. */
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ public class CampaignRulesDialog extends BaseDialog{
|
|||
check("@rules.fog", b -> rules.fog = b, () -> rules.fog);
|
||||
check("@rules.showspawns", b -> rules.showSpawns = b, () -> rules.showSpawns);
|
||||
check("@rules.randomwaveai", b -> rules.randomWaveAI = b, () -> rules.randomWaveAI);
|
||||
check("@rules.pauseDisabled", b -> rules.pauseDisabled = b, () -> rules.pauseDisabled);
|
||||
|
||||
if(planet.showRtsAIRule){
|
||||
check("@rules.rtsai.campaign", b -> rules.rtsAI = b, () -> rules.rtsAI);
|
||||
|
|
|
|||
|
|
@ -217,6 +217,7 @@ public class CustomRulesDialog extends BaseDialog{
|
|||
|
||||
|
||||
category("environment");
|
||||
check("@rules.pauseDisabled", b -> rules.pauseDisabled = b, () -> rules.pauseDisabled);
|
||||
check("@rules.explosions", b -> rules.damageExplosions = b, () -> rules.damageExplosions);
|
||||
check("@rules.fire", b -> rules.fire = b, () -> rules.fire);
|
||||
check("@rules.fog", b -> rules.fog = b, () -> rules.fog);
|
||||
|
|
|
|||
|
|
@ -359,13 +359,13 @@ public class HudFragment{
|
|||
.name("schematics");
|
||||
|
||||
select.button(Icon.pause, style, () -> {
|
||||
if(net.active()){
|
||||
if(net.active() || state.rules.pauseDisabled){
|
||||
ui.listfrag.toggle();
|
||||
}else{
|
||||
state.set(state.isPaused() ? State.playing : State.paused);
|
||||
}
|
||||
}).name("pause").update(i -> {
|
||||
if(net.active()){
|
||||
if(net.active() || state.rules.pauseDisabled){
|
||||
i.getStyle().imageUp = Icon.players;
|
||||
}else{
|
||||
i.setDisabled(false);
|
||||
|
|
@ -1137,7 +1137,7 @@ public class HudFragment{
|
|||
}
|
||||
|
||||
private boolean canSkipWave(){
|
||||
return state.rules.waves && state.rules.waveSending && ((net.server() || player.admin) || !net.active()) && state.enemies == 0 && !spawner.isSpawning();
|
||||
return state.rules.waves && state.rules.waveSending && ((net.server() || player.admin) || !net.active()) && !state.rules.pauseDisabled && state.enemies == 0 && !spawner.isSpawning();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue