From 32baf06c97b1b63c1afa0c70f290e069bf8e41fb Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 16 Sep 2021 18:10:38 -0400 Subject: [PATCH] Experimental alternate Serpulo generation / Spawn margin decrease --- core/src/mindustry/ai/WaveSpawner.java | 2 +- .../mindustry/maps/planet/SerpuloPlanetGenerator.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/ai/WaveSpawner.java b/core/src/mindustry/ai/WaveSpawner.java index 82d695fc83..6800c6f618 100644 --- a/core/src/mindustry/ai/WaveSpawner.java +++ b/core/src/mindustry/ai/WaveSpawner.java @@ -19,7 +19,7 @@ import mindustry.world.*; import static mindustry.Vars.*; public class WaveSpawner{ - private static final float margin = 40f, coreMargin = tilesize * 2f, maxSteps = 30; + private static final float margin = 0f, coreMargin = tilesize * 2f, maxSteps = 30; private int tmpCount; private Seq spawns = new Seq<>(); diff --git a/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java b/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java index 95f9c875e8..862835f2e9 100644 --- a/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java +++ b/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java @@ -18,6 +18,8 @@ import mindustry.world.*; import static mindustry.Vars.*; public class SerpuloPlanetGenerator extends PlanetGenerator{ + //alternate, less direct generation (wip) + public static boolean alt = false; static final int seed = 0; BaseGenerator basegen = new BaseGenerator(); @@ -175,8 +177,12 @@ public class SerpuloPlanetGenerator extends PlanetGenerator{ Vec2 midpoint = Tmp.v1.set(to.x, to.y).add(x, y).scl(0.5f); rand.nextFloat(); - //add randomized offset to avoid straight lines - midpoint.add(Tmp.v2.setToRandomDirection(rand).scl(Tmp.v1.dst(x, y))); + if(alt){ + midpoint.add(Tmp.v2.set(1, 0f).setAngle(Angles.angle(to.x, to.y, x, y) + 90f * (rand.chance(0.5) ? 1f : -1f)).scl(Tmp.v1.dst(x, y) * 2f)); + }else{ + //add randomized offset to avoid straight lines + midpoint.add(Tmp.v2.setToRandomDirection(rand).scl(Tmp.v1.dst(x, y))); + } midpoint.sub(width/2f, height/2f).limit(width / 2f / Mathf.sqrt3).add(width/2f, height/2f);