diff --git a/core/src/mindustry/content/Loadouts.java b/core/src/mindustry/content/Loadouts.java index 2a7c4435db..c22e6c5186 100644 --- a/core/src/mindustry/content/Loadouts.java +++ b/core/src/mindustry/content/Loadouts.java @@ -7,12 +7,14 @@ public class Loadouts implements ContentList{ public static Schematic basicShard, basicFoundation, - basicNucleus; + basicNucleus, + basicBastion; @Override public void load(){ basicShard = Schematics.readBase64("bXNjaAB4nD2K2wqAIBiD5ymibnoRn6YnEP1BwUMoBL19FuJ2sbFvUFgYZDaJsLeQrkinN9UJHImsNzlYE7WrIUastuSbnlKx2VJJt+8IQGGKdfO/8J5yrGJSMegLg+YUIA=="); basicFoundation = Schematics.readBase64("bXNjaAB4nD1OSQ6DMBBzFhVu8BG+0X8MQyoiJTNSukj8nlCi2Adbtg/GA4OBF8oB00rvyE/9ykafqOIw58A7SWRKy1ZiShhZ5RcOLZhYS1hefQ1gRIeptH9jq/qW2lvc1d2tgWsOfVX/tOwE86AYBA=="); basicNucleus = Schematics.readBase64("bXNjaAB4nD2MUQqAIBBEJy0s6qOLdJXuYNtCgikYBd2+LNmdj308hkGHtkId7M4YFns4mk/yfB4a48602eDI+mlNznu0FMPFd0wYKCaewl8F0EOueqM+yKSLVfJrNKWnSw/FZGzEGXFG9sy/px4gEBW1"); + basicBastion = Schematics.readBase64("bXNjaAF4nGNgZmBmZmDJS8xNZWBNzMsEUtwpqcXJRZkFJZn5eQyClfmlCin5Cnn5JQqpFZnFJVwMbDmJSak5xQxM0bGMDDzJ+UWpukmJxWDVDAyMIAQkACJxFp8="); } } diff --git a/core/src/mindustry/game/Schematics.java b/core/src/mindustry/game/Schematics.java index 80b378ad53..a6ac901f7a 100644 --- a/core/src/mindustry/game/Schematics.java +++ b/core/src/mindustry/game/Schematics.java @@ -102,7 +102,7 @@ public class Schematics implements Loadable{ } private void loadLoadouts(){ - Seq.with(Loadouts.basicShard, Loadouts.basicFoundation, Loadouts.basicNucleus).each(s -> checkLoadout(s, false)); + Seq.with(Loadouts.basicShard, Loadouts.basicFoundation, Loadouts.basicNucleus, Loadouts.basicBastion).each(s -> checkLoadout(s, false)); } public void overwrite(Schematic target, Schematic newSchematic){ diff --git a/core/src/mindustry/game/Universe.java b/core/src/mindustry/game/Universe.java index f12250980c..ec6124f861 100644 --- a/core/src/mindustry/game/Universe.java +++ b/core/src/mindustry/game/Universe.java @@ -120,7 +120,7 @@ public class Universe{ } public Schematic getLastLoadout(){ - if(lastLoadout == null) lastLoadout = Loadouts.basicShard; + if(lastLoadout == null) lastLoadout = state.rules.sector == null || state.rules.sector.planet.generator == null ? Loadouts.basicShard : state.rules.sector.planet.generator.getDefaultLoadout(); return lastLoadout; } diff --git a/core/src/mindustry/maps/generators/BasicGenerator.java b/core/src/mindustry/maps/generators/BasicGenerator.java index dad8275c0e..4e08f3fe39 100644 --- a/core/src/mindustry/maps/generators/BasicGenerator.java +++ b/core/src/mindustry/maps/generators/BasicGenerator.java @@ -9,6 +9,7 @@ import mindustry.*; import mindustry.ai.*; import mindustry.ai.Astar.*; import mindustry.content.*; +import mindustry.game.*; import mindustry.world.*; import static mindustry.Vars.*; @@ -35,6 +36,10 @@ public abstract class BasicGenerator implements WorldGenerator{ generate(); } + public Schematic getDefaultLoadout(){ + return Loadouts.basicShard; + } + protected void generate(){ } diff --git a/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java index 9be868a050..c4e7c70584 100644 --- a/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java +++ b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java @@ -47,6 +47,11 @@ public class ErekirPlanetGenerator extends PlanetGenerator{ return 2000; } + @Override + public Schematic getDefaultLoadout(){ + return Loadouts.basicBastion; + } + float rawHeight(Vec3 position){ return Simplex.noise3d(seed, octaves, persistence, 1f/heightScl, 10f + position.x, 10f + position.y, 10f + position.z); }