Minor bugfixes & wave tweaks

This commit is contained in:
Anuken 2020-10-22 11:54:27 -04:00
parent a732237005
commit 46b2f4cccb
7 changed files with 34 additions and 20 deletions

View File

@ -523,6 +523,7 @@ sectors.launch = Launch
sectors.select = Select
sectors.nonelaunch = [lightgray]none (sun)
sectors.rename = Rename Sector
sector.missingresources = [scarlet]Insufficient Core Resources
planet.serpulo.name = Serpulo
#TODO better name

View File

@ -332,7 +332,7 @@ public class Blocks implements ContentList{
snowBoulder = new Boulder("snow-boulder"){{
variants = 2;
snow.asFloor().decoration = ice.asFloor().decoration = iceSnow.asFloor().decoration = this;
snow.asFloor().decoration = ice.asFloor().decoration = iceSnow.asFloor().decoration = salt.asFloor().decoration = this;
}};
dirtWall = new StaticWall("dirt-wall"){{

View File

@ -39,7 +39,7 @@ public class DefaultWaves{
unitScaling = 1.7f;
spacing = 2;
max = 4;
shieldScaling = 15f;
shieldScaling = 25f;
}},
new SpawnGroup(pulsar){{
@ -62,7 +62,7 @@ public class DefaultWaves{
unitScaling = 1;
unitAmount = 4;
spacing = 2;
shieldScaling = 10f;
shieldScaling = 20f;
max = 14;
}},
@ -79,7 +79,8 @@ public class DefaultWaves{
spacing = 3;
unitScaling = 1;
max = 10;
shieldScaling = 10f;
shieldScaling = 30f;
shields = 100;
effect = StatusEffects.overdrive;
}},
@ -178,7 +179,7 @@ public class DefaultWaves{
unitAmount = 2;
unitScaling = 3;
spacing = 4;
shieldScaling = 20;
shieldScaling = 30;
}},
new SpawnGroup(atrax){{
@ -186,7 +187,7 @@ public class DefaultWaves{
unitAmount = 4;
unitScaling = 1;
spacing = 3;
shieldScaling = 5f;
shieldScaling = 10f;
}},
new SpawnGroup(scepter){{
@ -194,7 +195,7 @@ public class DefaultWaves{
unitAmount = 1;
unitScaling = 1;
spacing = 30;
shieldScaling = 10f;
shieldScaling = 30f;
}},
new SpawnGroup(reign){{
@ -202,7 +203,7 @@ public class DefaultWaves{
unitAmount = 1;
unitScaling = 1;
spacing = 40;
shieldScaling = 20f;
shieldScaling = 30f;
}},
new SpawnGroup(antumbra){{
@ -210,7 +211,7 @@ public class DefaultWaves{
unitAmount = 1;
unitScaling = 1;
spacing = 40;
shieldScaling = 20f;
shieldScaling = 30f;
}},
new SpawnGroup(vela){{
@ -218,7 +219,7 @@ public class DefaultWaves{
unitAmount = 1;
unitScaling = 1;
spacing = 30;
shieldScaling = 20f;
shieldScaling = 30f;
}},
new SpawnGroup(corvus){{
@ -236,7 +237,7 @@ public class DefaultWaves{
unitScaling = 3;
spacing = 4;
shields = 40f;
shieldScaling = 20f;
shieldScaling = 30f;
}},
new SpawnGroup(toxopid){{
@ -252,12 +253,10 @@ public class DefaultWaves{
return spawns == null ? new Seq<>() : spawns;
}
//TODO move elsewhere
public static Seq<SpawnGroup> generate(float difficulty){
return generate(new Rand(), difficulty);
}
//TODO move elsewhere
public static Seq<SpawnGroup> generate(Rand rand, float difficulty){
UnitType[][] species = {
{dagger, mace, fortress, scepter, reign},

View File

@ -293,7 +293,7 @@ public class BlockRenderer implements Disposable{
entity.drawLight();
}else if(tile.block().emitLight){
tile.block().drawEnvironmentLight(tile);
}else if(tile.floor().emitLight){
}else if(tile.floor().emitLight && !tile.block().solid && world.getDarkness(tile.x, tile.y) < 3){ //only draw floor light under non-solid blocks
tile.floor().drawEnvironmentLight(tile);
}
}

View File

@ -277,7 +277,7 @@ public class SerpuloPlanetGenerator extends PlanetGenerator{
//hotrock tweaks
if(floor == Blocks.hotrock){
if(rand.chance(0.3)){
if(Math.abs(0.5f - noise(x - 90, y, 4, 0.8, 80)) > 0.035){
floor = Blocks.basalt;
}else{
ore = Blocks.air;

View File

@ -134,7 +134,7 @@ public class CustomRulesDialog extends BaseDialog{
check("@rules.waves", b -> rules.waves = b, () -> rules.waves);
check("@rules.wavetimer", b -> rules.waveTimer = b, () -> rules.waveTimer);
check("@rules.waitForWaveToEnd", b -> rules.waitEnemies = b, () -> rules.waitEnemies);
number("@rules.wavespacing", false, f -> rules.waveSpacing = f * 60f, () -> rules.waveSpacing / 60f, () -> true);
number("@rules.wavespacing", false, f -> rules.waveSpacing = f * 60f, () -> rules.waveSpacing / 60f, () -> true, 1, Float.MAX_VALUE);
number("@rules.dropzoneradius", false, f -> rules.dropZoneRadius = f * tilesize, () -> rules.dropZoneRadius / tilesize, () -> true);
title("@rules.title.resourcesbuilding");
@ -142,7 +142,7 @@ public class CustomRulesDialog extends BaseDialog{
check("@rules.reactorexplosions", b -> rules.reactorExplosions = b, () -> rules.reactorExplosions);
check("@rules.schematic", b-> rules.schematicsAllowed = b, () -> rules.schematicsAllowed);
number("@rules.buildcostmultiplier", false, f -> rules.buildCostMultiplier = f, () -> rules.buildCostMultiplier, () -> !rules.infiniteResources);
number("@rules.buildspeedmultiplier", f -> rules.buildSpeedMultiplier = f, () -> rules.buildSpeedMultiplier);
number("@rules.buildspeedmultiplier", f -> rules.buildSpeedMultiplier = f, () -> rules.buildSpeedMultiplier, 0.00001f, 10000f);
number("@rules.deconstructrefundmultiplier", false, f -> rules.deconstructRefundMultiplier = f, () -> rules.deconstructRefundMultiplier, () -> !rules.infiniteResources);
number("@rules.blockhealthmultiplier", f -> rules.blockHealthMultiplier = f, () -> rules.blockHealthMultiplier);
number("@rules.blockdamagemultiplier", f -> rules.blockDamageMultiplier = f, () -> rules.blockDamageMultiplier);
@ -162,7 +162,7 @@ public class CustomRulesDialog extends BaseDialog{
check("@rules.unitammo", b -> rules.unitAmmo = b, () -> rules.unitAmmo);
number("@rules.unithealthmultiplier", f -> rules.unitHealthMultiplier = f, () -> rules.unitHealthMultiplier);
number("@rules.unitdamagemultiplier", f -> rules.unitDamageMultiplier = f, () -> rules.unitDamageMultiplier);
number("@rules.unitbuildspeedmultiplier", f -> rules.unitBuildSpeedMultiplier = f, () -> rules.unitBuildSpeedMultiplier);
number("@rules.unitbuildspeedmultiplier", f -> rules.unitBuildSpeedMultiplier = f, () -> rules.unitBuildSpeedMultiplier, 0.00001f, 100f);
title("@rules.title.enemy");
check("@rules.attack", b -> rules.attackMode = b, () -> rules.attackMode);
@ -189,10 +189,22 @@ public class CustomRulesDialog extends BaseDialog{
}
void number(String text, Floatc cons, Floatp prov){
number(text, false, cons, prov, () -> true);
number(text, false, cons, prov, () -> true, 0, Float.MAX_VALUE);
}
void number(String text, Floatc cons, Floatp prov, float min, float max){
number(text, false, cons, prov, () -> true, min, max);
}
void number(String text, boolean integer, Floatc cons, Floatp prov, Boolp condition){
number(text, integer, cons, prov, condition, 0, Float.MAX_VALUE);
}
void number(String text, Floatc cons, Floatp prov, Boolp condition){
number(text, false, cons, prov, condition, 0, Float.MAX_VALUE);
}
void number(String text, boolean integer, Floatc cons, Floatp prov, Boolp condition, float min, float max){
main.table(t -> {
t.left();
t.add(text).left().padRight(5)
@ -200,7 +212,7 @@ public class CustomRulesDialog extends BaseDialog{
t.field((integer ? (int)prov.get() : prov.get()) + "", s -> cons.get(Strings.parseFloat(s)))
.padRight(100f)
.update(a -> a.setDisabled(!condition.get()))
.valid(Strings::canParsePositiveFloat).width(120f).left().addInputDialog();
.valid(f -> Strings.canParsePositiveFloat(f) && Strings.parseFloat(f) >= min && Strings.parseFloat(f) <= max).width(120f).left().addInputDialog();
}).padTop(0);
main.row();
}

View File

@ -120,6 +120,8 @@ public class LaunchLoadoutDialog extends BaseDialog{
cont.row();
cont.add(items);
cont.row();
cont.add("@sector.missingresources").visible(() -> !valid);
update.run();
rebuildItems.run();