Fill#rect bugfix

This commit is contained in:
Anuken
2021-12-08 19:39:44 -05:00
parent 5fbfe52d0a
commit acb4593390
14 changed files with 36 additions and 23 deletions

View File

@@ -2863,31 +2863,32 @@ public class Blocks{
fracture = new ItemTurret("fracture"){{
requirements(Category.turret, with(Items.tungsten, 35, Items.silicon, 35));
ammo(
Items.tungsten, new BasicBulletType(5f, 20){{
velocityInaccuracy = 0.2f;
width = 6f;
height = 12f;
Items.tungsten, new ContinuousFlameBulletType(20f){{
length = 90f;
shootEffect = Fx.colorSpark;
smokeEffect = Fx.shootBigSmoke;
ammoMultiplier = 2;
pierce = true;
pierceBuilding = true;
hitColor = backColor = trailColor = Items.tungsten.color;
frontColor = Color.white;
trailWidth = 1f;
trailLength = 4;
knockback = 4f;
status = StatusEffects.slow;
hitColor = Items.tungsten.color;
lifetime = 16f;
despawnEffect = Fx.none;
drawFlare = false;
lengthInterp = f -> Interp.pow2In.apply(1f - f);
//TODO different effect?
hitEffect = despawnEffect = Fx.hitBulletColor;
hitEffect = Fx.hitBulletColor;
}}
);
acceptCoolant = false;
consumes.liquid(Liquids.hydrogen, 1.5f / 60f);
shots = 5;
shots = 1;
//TODO cool reload animation
draw = new DrawTurret("reinforced-");
shootLength = 8f;
shootShake = 2f;
shootLength = 6f;
outlineColor = Pal.darkOutline;
size = 2;
envEnabled |= Env.space;
@@ -2895,11 +2896,9 @@ public class Blocks{
restitution = 0.03f;
range = 90;
shootCone = 15f;
inaccuracy = 20f;
inaccuracy = 0f;
health = 300 * size * size;
rotateSpeed = 1.8f;
limitRange();
rotateSpeed = 3f;
}};
//TODO implementation, better name

View File

@@ -299,7 +299,7 @@ public class World{
}
state.rules.cloudColor = sector.planet.landCloudColor;
sector.info.resources = content.asArray();
sector.info.resources = content.toSeq();
sector.info.resources.sort(Structs.comps(Structs.comparing(Content::getContentType), Structs.comparingInt(c -> c.id)));
sector.saveInfo();
}

View File

@@ -20,6 +20,7 @@ public class ContinuousFlameBulletType extends ContinuousBulletType{
public Color flareColor = Color.valueOf("e189f5");
public float flareWidth = 3f, flareInnerScl = 0.5f, flareLength = 40f, flareInnerLenScl = 0.5f, flareLayer = Layer.bullet - 0.0001f, flareRotSpeed = 1.2f;
public boolean rotateFlare = false;
public Interp lengthInterp = Interp.slope;
/** Lengths, widths, ellipse panning, and offsets, all as fractions of the base width and length. Stored as an 'interleaved' array of values: LWPO1 LWPO2 LWPO3... */
public float[] lengthWidthPanOffsets = {
@@ -53,7 +54,7 @@ public class ContinuousFlameBulletType extends ContinuousBulletType{
@Override
public void draw(Bullet b){
float mult = b.fslope();
float mult = b.fin(lengthInterp);
float realLength = (pierceMax <= 0 ? length : Damage.findPierceLength(b, pierceMax, length)) * mult;
float sin = Mathf.sin(Time.time, oscScl, oscMag);

View File

@@ -250,9 +250,9 @@ public class ErekirPlanetGenerator extends PlanetGenerator{
//TODO proper waves
state.rules.waves = !OS.hasProp("mindustry.debug");
state.rules.waveTimer = true;
state.rules.waveSpacing = 60f * 60f * 7.5f;
state.rules.waveSpacing = 60f * 60f * 10f;
state.rules.spawns = Seq.with(new SpawnGroup(){{
type = UnitTypes.emanate;
type = UnitTypes.fortress;
spacing = 1;
shieldScaling = 60;
unitScaling = 2f;

View File

@@ -82,7 +82,7 @@ public class StatusEffect extends UnlockableContent{
boolean reacts = false;
for(var e : opposites.asArray().sort()){
for(var e : opposites.toSeq().sort()){
stats.add(Stat.opposites, e.emoji() + "" + e);
}
@@ -96,7 +96,7 @@ public class StatusEffect extends UnlockableContent{
//don't list affinities *and* reactions, as that would be redundant
if(!reacts){
for(var e : affinities.asArray().sort()){
for(var e : affinities.toSeq().sort()){
stats.add(Stat.affinities, e.emoji() + "" + e);
}

View File

@@ -348,6 +348,17 @@ public class UnitType extends UnlockableContent{
if(weapons.any()){
stats.add(Stat.weapons, StatValues.weapons(this, weapons));
}
if(immunities.size > 0){
var imm = immunities.toSeq().sort();
//it's redundant to list wet for naval units
if(naval){
imm.remove(StatusEffects.wet);
}
for(var i : imm){
stats.add(Stat.immunities, i.emoji() + " " + i.localizedName);
}
}
}
@CallSuper

View File

@@ -56,7 +56,7 @@ public class CustomRulesDialog extends BaseDialog{
t.add("@empty");
}
Seq<T> array = set.asArray();
Seq<T> array = set.toSeq();
array.sort();
int cols = mobile && Core.graphics.isPortrait() ? 1 : mobile ? 2 : 3;

View File

@@ -41,6 +41,7 @@ public enum Stat{
buildSpeedMultiplier,
reactive,
healing,
immunities,
itemCapacity(StatCat.items),
itemsMoved(StatCat.items),