Fill#rect bugfix
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -41,6 +41,7 @@ public enum Stat{
|
||||
buildSpeedMultiplier,
|
||||
reactive,
|
||||
healing,
|
||||
immunities,
|
||||
|
||||
itemCapacity(StatCat.items),
|
||||
itemsMoved(StatCat.items),
|
||||
|
||||
Reference in New Issue
Block a user