Per-team AI settings / Errors for missing player cores

This commit is contained in:
Anuken
2021-08-12 09:24:20 -04:00
parent 1cf2bd4892
commit a5fe8970c6
3 changed files with 12 additions and 8 deletions

View File

@@ -326,8 +326,8 @@ public class World{
invalidMap = false;
if(!headless){
if(state.teams.playerCores().size == 0 && !checkRules.pvp){
ui.showErrorMessage("@map.nospawn");
if(state.teams.cores(checkRules.defaultTeam).size == 0 && !checkRules.pvp){
ui.showErrorMessage(Core.bundle.format("map.nospawn", checkRules.defaultTeam.color, checkRules.defaultTeam.localized()));
invalidMap = true;
}else if(checkRules.pvp){ //pvp maps need two cores to be valid
if(state.teams.getActive().count(TeamData::hasCore) < 2){
@@ -337,7 +337,7 @@ public class World{
}else if(checkRules.attackMode){ //attack maps need two cores to be valid
invalidMap = state.rules.waveTeam.data().noCores();
if(invalidMap){
ui.showErrorMessage("@map.nospawn.attack");
ui.showErrorMessage(Core.bundle.format("map.nospawn.attack", checkRules.waveTeam.color, checkRules.waveTeam.localized()));
}
}
}else{

View File

@@ -211,7 +211,6 @@ public class CustomRulesDialog extends BaseDialog{
boolean[] shown = {false};
Table wasMain = main;
main.button("[#" + team.color + "]" + team.localized() + (team.emoji.isEmpty() ? "" : "[] " + team.emoji), Icon.downOpen, Styles.togglet, () -> {
shown[0] = !shown[0];
}).marginLeft(14f).width(260f).height(55f).checked(a -> shown[0]).row();
@@ -224,11 +223,15 @@ public class CustomRulesDialog extends BaseDialog{
number("@rules.blockhealthmultiplier", f -> teams.blockHealthMultiplier = f, () -> teams.blockHealthMultiplier);
number("@rules.blockdamagemultiplier", f -> teams.blockDamageMultiplier = f, () -> teams.blockDamageMultiplier);
check("@rules.buildai", b -> teams.ai = b, () -> teams.ai, () -> team != rules.defaultTeam);
number("@rules.aitier", false, f -> teams.aiTier = f, () -> teams.aiTier, () -> teams.ai, 0, 1);
check("@rules.infiniteresources", b -> teams.infiniteResources = b, () -> teams.infiniteResources);
number("@rules.buildspeedmultiplier", f -> teams.buildSpeedMultiplier = f, () -> teams.buildSpeedMultiplier, 0.001f, 50f);
number("@rules.unitdamagemultiplier", f -> teams.unitDamageMultiplier = f, () -> teams.unitDamageMultiplier);
number("@rules.unitbuildspeedmultiplier", f -> teams.unitBuildSpeedMultiplier = f, () -> teams.unitBuildSpeedMultiplier, 0.001f, 50f);
number("@rules.buildspeedmultiplier", f -> teams.buildSpeedMultiplier = f, () -> teams.buildSpeedMultiplier, 0.001f, 50f);
main = wasMain;
}, () -> shown[0]).growX().row();
}