diff --git a/annotations/src/main/resources/revisions/WeatherState/2.json b/annotations/src/main/resources/revisions/WeatherState/2.json new file mode 100644 index 0000000000..d085d4d22f --- /dev/null +++ b/annotations/src/main/resources/revisions/WeatherState/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:effectTimer,type:float,size:4},{name:intensity,type:float,size:4},{name:life,type:float,size:4},{name:opacity,type:float,size:4},{name:weather,type:mindustry.type.Weather,size:-1},{name:windVector,type:arc.math.geom.Vec2,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 38021eeb0c..8e1bcccc42 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1771,11 +1771,11 @@ public class Blocks implements ContentList{ }}; exponentialReconstructor = new Reconstructor("exponential-reconstructor"){{ - requirements(Category.units, with(Items.lead, 2000, Items.silicon, 750, Items.titanium, 950, Items.thorium, 450, Items.plastanium, 350, Items.phasefabric, 250)); + requirements(Category.units, with(Items.lead, 2000, Items.silicon, 750, Items.titanium, 950, Items.thorium, 450, Items.plastanium, 350, Items.phasefabric, 450)); size = 7; - consumes.power(12f); - consumes.items(with(Items.silicon, 250, Items.titanium, 500, Items.plastanium, 450)); + consumes.power(13f); + consumes.items(with(Items.silicon, 450, Items.titanium, 550, Items.plastanium, 550)); consumes.liquid(Liquids.cryofluid, 1f); constructTime = 60f * 60f * 1.5f; @@ -1787,11 +1787,11 @@ public class Blocks implements ContentList{ }}; tetrativeReconstructor = new Reconstructor("tetrative-reconstructor"){{ - requirements(Category.units, with(Items.lead, 4000, Items.silicon, 1500, Items.thorium, 500, Items.plastanium, 50, Items.phasefabric, 600, Items.surgealloy, 500)); + requirements(Category.units, with(Items.lead, 4000, Items.silicon, 1500, Items.thorium, 500, Items.plastanium, 450, Items.phasefabric, 600, Items.surgealloy, 500)); size = 9; consumes.power(25f); - consumes.items(with(Items.silicon, 350, Items.plastanium, 450, Items.surgealloy, 350, Items.phasefabric, 150)); + consumes.items(with(Items.silicon, 350, Items.plastanium, 550, Items.surgealloy, 350, Items.phasefabric, 150)); consumes.liquid(Liquids.cryofluid, 3f); constructTime = 60f * 60f * 4; diff --git a/core/src/mindustry/content/Bullets.java b/core/src/mindustry/content/Bullets.java index 6e3b7d31ba..cc6e1f10a0 100644 --- a/core/src/mindustry/content/Bullets.java +++ b/core/src/mindustry/content/Bullets.java @@ -240,7 +240,7 @@ public class Bullets implements ContentList{ explodeRange = 20f; }}; - missileExplosive = new MissileBulletType(3f, 10){{ + missileExplosive = new MissileBulletType(3.7f, 10){{ width = 8f; height = 8f; shrinkY = 0f; @@ -255,7 +255,7 @@ public class Bullets implements ContentList{ statusDuration = 60f; }}; - missileIncendiary = new MissileBulletType(3f, 12){{ + missileIncendiary = new MissileBulletType(3.7f, 12){{ frontColor = Pal.lightishOrange; backColor = Pal.lightOrange; width = 7f; @@ -269,7 +269,7 @@ public class Bullets implements ContentList{ status = StatusEffects.burning; }}; - missileSurge = new MissileBulletType(3f, 20){{ + missileSurge = new MissileBulletType(3.7f, 20){{ width = 8f; height = 8f; shrinkY = 0f; @@ -279,7 +279,7 @@ public class Bullets implements ContentList{ hitEffect = Fx.blastExplosion; despawnEffect = Fx.blastExplosion; lightning = 2; - lightningLength = 14; + lightningLength = 10; }}; standardCopper = new BasicBulletType(2.5f, 9){{ diff --git a/core/src/mindustry/type/Weather.java b/core/src/mindustry/type/Weather.java index 9b1ca3a09f..163fa7f211 100644 --- a/core/src/mindustry/type/Weather.java +++ b/core/src/mindustry/type/Weather.java @@ -3,6 +3,7 @@ package mindustry.type; import arc.func.*; import arc.graphics.g2d.*; import arc.math.*; +import arc.math.geom.*; import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; @@ -15,7 +16,7 @@ import static mindustry.Vars.*; public abstract class Weather extends MappableContent{ /** Default duration of this weather event in ticks. */ - public float duration = 15f * Time.toMinutes; + public float duration = 9f * Time.toMinutes; public Attributes attrs = new Attributes(); //internals @@ -110,7 +111,7 @@ public abstract class Weather extends MappableContent{ /** Creates a weather entry with some approximate weather values. */ public WeatherEntry(Weather weather){ - this(weather, weather.duration/2f, weather.duration * 1.5f, weather.duration/2f, weather.duration * 1.5f); + this(weather, weather.duration * 1f, weather.duration * 3f, weather.duration / 2f, weather.duration * 1.5f); } public WeatherEntry(Weather weather, float minFrequency, float maxFrequency, float minDuration, float maxDuration){ @@ -136,6 +137,7 @@ public abstract class Weather extends MappableContent{ Weather weather; float intensity = 1f, opacity = 0f, life, effectTimer; + Vec2 windVector = new Vec2(); void init(Weather weather){ this.weather = weather;