Certain team-specific rules

This commit is contained in:
Anuken
2020-06-15 12:00:32 -04:00
parent 90b0650af9
commit b5660a50ca
61 changed files with 291 additions and 237 deletions

View File

@@ -161,7 +161,6 @@ public class CustomRulesDialog extends BaseDialog{
title("$rules.title.enemy");
check("$rules.attack", b -> rules.attackMode = b, () -> rules.attackMode);
check("$rules.enemyCheat", b -> rules.enemyCheat = b, () -> rules.enemyCheat);
number("$rules.enemycorebuildradius", f -> rules.enemyCoreBuildRadius = f * tilesize, () -> Math.min(rules.enemyCoreBuildRadius / tilesize, 200));
title("$rules.title.environment");

View File

@@ -338,7 +338,7 @@ public class SchematicsDialog extends BaseDialog{
for(ItemStack s : arr){
r.image(s.item.icon(Cicon.small)).left();
r.label(() -> {
Tilec core = player.closestCore();
Tilec core = player.core();
if(core == null || state.rules.infiniteResources || core.items().has(s.item, s.amount)) return "[lightgray]" + s.amount + "";
return (core.items().has(s.item, s.amount) ? "[lightgray]" : "[scarlet]") + Math.min(core.items().get(s.item), s.amount) + "[lightgray]/" + s.amount;
}).padLeft(2).left().padRight(4);

View File

@@ -94,7 +94,7 @@ public class PlacementFragment extends Fragment{
Block tryRecipe = tile == null ? null : tile.block();
Object tryConfig = tile == null ? null : tile.config();
for(BuildRequest req : player.builder().requests()){
for(BuildPlan req : player.builder().plans()){
if(!req.breaking && req.block.bounds(req.x, req.y, Tmp.r1).contains(Core.input.mouseWorld())){
tryRecipe = req.block;
tryConfig = req.config;
@@ -222,7 +222,7 @@ public class PlacementFragment extends Fragment{
button.resizeImage(Cicon.medium.size);
button.update(() -> { //color unplacable things gray
Tilec core = player.closestCore();
Tilec core = player.core();
Color color = (state.rules.infiniteResources || (core != null && (core.items().has(block.requirements, state.rules.buildCostMultiplier) || state.rules.infiniteResources))) && player.isBuilder() ? Color.white : Color.gray;
button.forEach(elem -> elem.setColor(color));
button.setChecked(control.input.block == block);
@@ -310,7 +310,7 @@ public class PlacementFragment extends Fragment{
line.image(stack.item.icon(Cicon.small)).size(8 * 2);
line.add(stack.item.localizedName).maxWidth(140f).fillX().color(Color.lightGray).padLeft(2).left().get().setEllipsis(true);
line.labelWrap(() -> {
Tilec core = player.closestCore();
Tilec core = player.core();
if(core == null || state.rules.infiniteResources) return "*/*";
int amount = core.items().get(stack.item);