diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 68a1816294..fdd2befe20 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -2459,7 +2459,7 @@ public class UnitTypes{ treadPullOffset = 3; speed = 0.75f; rotateSpeed = 3.5f; - health = 800; + health = 840; armor = 5f; itemCapacity = 0; treadRects = new Rect[]{new Rect(12 - 32f, 7 - 32f, 14, 51)}; @@ -3572,7 +3572,7 @@ public class UnitTypes{ shoot = new ShootSpread(2, 11f); - bullet = new BasicBulletType(5f, 24){{ + bullet = new BasicBulletType(5f, 20){{ homingPower = 0.19f; homingDelay = 4f; width = 7f; diff --git a/core/src/mindustry/game/Universe.java b/core/src/mindustry/game/Universe.java index e10da7c67a..95fe9304a9 100644 --- a/core/src/mindustry/game/Universe.java +++ b/core/src/mindustry/game/Universe.java @@ -121,7 +121,7 @@ public class Universe{ } public Schematic getLastLoadout(){ - if(lastLoadout == null) lastLoadout = state.rules.sector == null || state.rules.sector.planet.generator == null ? Loadouts.basicShard : state.rules.sector.planet.generator.getDefaultLoadout(); + if(lastLoadout == null) lastLoadout = state.rules.sector == null || state.rules.sector.planet.generator == null ? Loadouts.basicShard : state.rules.sector.planet.generator.defaultLoadout; return lastLoadout; } diff --git a/core/src/mindustry/maps/generators/BasicGenerator.java b/core/src/mindustry/maps/generators/BasicGenerator.java index ee279ff30c..e77cdde3e0 100644 --- a/core/src/mindustry/maps/generators/BasicGenerator.java +++ b/core/src/mindustry/maps/generators/BasicGenerator.java @@ -26,6 +26,8 @@ public abstract class BasicGenerator implements WorldGenerator{ //for drawing protected @Nullable Block floor, block, ore; + public Schematic defaultLoadout = Loadouts.basicShard; + @Override public void generate(Tiles tiles){ this.tiles = tiles; @@ -35,10 +37,6 @@ public abstract class BasicGenerator implements WorldGenerator{ generate(); } - public Schematic getDefaultLoadout(){ - return Loadouts.basicShard; - } - protected void generate(){ } diff --git a/core/src/mindustry/maps/planet/AsteroidGenerator.java b/core/src/mindustry/maps/planet/AsteroidGenerator.java index 6f11a5436f..991ae89be2 100644 --- a/core/src/mindustry/maps/planet/AsteroidGenerator.java +++ b/core/src/mindustry/maps/planet/AsteroidGenerator.java @@ -24,6 +24,10 @@ public class AsteroidGenerator extends BlankPlanetGenerator{ @Nullable Rand rand; int seed; + { + defaultLoadout = Loadouts.basicNucleus; + } + void asteroid(int ax, int ay, int radius){ Floor floor = ( rand.chance(iceChance) ? Blocks.ice : @@ -151,11 +155,6 @@ public class AsteroidGenerator extends BlankPlanetGenerator{ state.rules.spawns = Waves.generate(0.5f, rand, false, true, false); } - @Override - public Schematic getDefaultLoadout(){ - return Loadouts.basicNucleus; - } - @Override public int getSectorSize(Sector sector){ return 500; diff --git a/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java index 90c96ebcc0..a6ee5d7d9a 100644 --- a/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java +++ b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java @@ -31,6 +31,7 @@ public class ErekirPlanetGenerator extends PlanetGenerator{ { baseSeed = 2; + defaultLoadout = Loadouts.basicBastion; } @Override @@ -61,11 +62,6 @@ public class ErekirPlanetGenerator extends PlanetGenerator{ return 2000 * 1.07f * 6f / 5f; } - @Override - public Schematic getDefaultLoadout(){ - return Loadouts.basicBastion; - } - @Override public boolean allowLanding(Sector sector){ //TODO disallowed for now diff --git a/core/src/mindustry/service/Achievement.java b/core/src/mindustry/service/Achievement.java index 06784edbc8..3e4faacd3c 100644 --- a/core/src/mindustry/service/Achievement.java +++ b/core/src/mindustry/service/Achievement.java @@ -103,18 +103,18 @@ public enum Achievement{ joinCommunityServer, //TODO - Steam openConsole, //TODO - Steam - controlTurret, //TODO - Steam - dropUnitsCoreZone, //TODO - Steam - destroyScatterFlare, //TODO - Steam - boostUnit, //TODO - Steam - boostBuildingFloor, //TODO - Steam + controlTurret, //TODO - Steam - icon done + dropUnitsCoreZone, //TODO - Steam - icon done + destroyScatterFlare, //TODO - Steam - icon done + boostUnit, //TODO - Steam - icon done + boostBuildingFloor, //TODO - Steam - icon done - hoverUnitLiquid, //TODO - Steam + hoverUnitLiquid, //TODO - Steam - icon done - break100Boulders(SStat.bouldersDeconstructed, 100), //TODO - Steam - break10000Boulders(SStat.bouldersDeconstructed, 10_000), //TODO - Steam + break100Boulders(SStat.bouldersDeconstructed, 100), //TODO - Steam - icon done + break10000Boulders(SStat.bouldersDeconstructed, 10_000), //TODO - Steam - icon done - shockwaveTowerUse, //TODO - Steam + shockwaveTowerUse, //TODO - Steam - icon done ; diff --git a/core/src/mindustry/service/GameService.java b/core/src/mindustry/service/GameService.java index b27b89d3ca..2c12e4ada4 100644 --- a/core/src/mindustry/service/GameService.java +++ b/core/src/mindustry/service/GameService.java @@ -481,7 +481,7 @@ public class GameService{ }); Events.on(PayloadDropEvent.class, e -> { - if(e.unit != null && e.carrier.team == state.rules.defaultTeam && state.rules.waveTeam.cores().contains(c -> c.within(e.unit, state.rules.enemyCoreBuildRadius))){ + if(campaign() && e.unit != null && e.carrier.team == state.rules.defaultTeam && state.rules.waveTeam.cores().contains(c -> c.within(e.unit, state.rules.enemyCoreBuildRadius))){ dropUnitsCoreZone.complete(); } }); diff --git a/core/src/mindustry/world/blocks/campaign/Accelerator.java b/core/src/mindustry/world/blocks/campaign/Accelerator.java index 03492feafe..dc47e41a30 100644 --- a/core/src/mindustry/world/blocks/campaign/Accelerator.java +++ b/core/src/mindustry/world/blocks/campaign/Accelerator.java @@ -120,7 +120,7 @@ public class Accelerator extends Block{ consume(); universe.clearLoadoutInfo(); - universe.updateLoadout(sector.planet.generator.getDefaultLoadout().findCore(), sector.planet.generator.getDefaultLoadout()); + universe.updateLoadout(sector.planet.generator.defaultLoadout.findCore(), sector.planet.generator.defaultLoadout); }); Events.fire(Trigger.acceleratorUse);