Pad ammo autofill / Per-mission waves / Better core resource selection
This commit is contained in:
@@ -26,7 +26,7 @@ public class Sector{
|
||||
/**Missions of this sector-- what needs to be accomplished to unlock it.*/
|
||||
public transient Array<Mission> missions = new Array<>();
|
||||
/**Enemies spawned at this sector.*/
|
||||
public transient Array<SpawnGroup> spawns = new Array<>();
|
||||
public transient Array<SpawnGroup> spawns;
|
||||
/**Ores that appear in this sector.*/
|
||||
public transient Array<Item> ores = new Array<>();
|
||||
/**Difficulty of the sector, measured by calculating distance from origin and applying scaling.*/
|
||||
|
||||
@@ -133,13 +133,16 @@ public class Sectors{
|
||||
}
|
||||
|
||||
private void initSector(Sector sector){
|
||||
double waveChance = 0.3;
|
||||
|
||||
sector.difficulty = (int)(Mathf.dst(sector.x, sector.y));
|
||||
sector.spawns = sector.missions.first().getWaves(sector);
|
||||
|
||||
if(sector.difficulty == 0){
|
||||
sector.missions.add(new WaveMission(10));
|
||||
}else{
|
||||
sector.missions.add(new BattleMission());
|
||||
//sector.missions.add(new WaveMission(Math.min(10 + sector.difficulty*5 + Mathf.randomSeed(sector.getSeed(), 0, 5)*5, 100)));
|
||||
sector.missions.add(Mathf.randomSeed(sector.getSeed() + 1) < waveChance ? new WaveMission(Math.min(10 + sector.difficulty*5 + Mathf.randomSeed(sector.getSeed(), 0, 5)*5, 100))
|
||||
: new BattleMission());
|
||||
}
|
||||
|
||||
//add all ores for now since material differences aren't well handled yet
|
||||
|
||||
@@ -4,7 +4,9 @@ import com.badlogic.gdx.math.GridPoint2;
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
import io.anuke.mindustry.content.blocks.StorageBlocks;
|
||||
import io.anuke.mindustry.game.GameMode;
|
||||
import io.anuke.mindustry.game.SpawnGroup;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.maps.Sector;
|
||||
import io.anuke.mindustry.maps.generation.Generation;
|
||||
import io.anuke.ucore.scene.ui.layout.Table;
|
||||
|
||||
@@ -14,6 +16,10 @@ public interface Mission{
|
||||
GameMode getMode();
|
||||
void display(Table table);
|
||||
|
||||
default Array<SpawnGroup> getWaves(Sector sector){
|
||||
return new Array<>();
|
||||
}
|
||||
|
||||
default Array<GridPoint2> getSpawnPoints(Generation gen){
|
||||
return Array.with();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,10 @@ package io.anuke.mindustry.maps.missions;
|
||||
import com.badlogic.gdx.math.GridPoint2;
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
import io.anuke.mindustry.game.GameMode;
|
||||
import io.anuke.mindustry.game.SpawnGroup;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.game.Waves;
|
||||
import io.anuke.mindustry.maps.Sector;
|
||||
import io.anuke.mindustry.maps.generation.Generation;
|
||||
import io.anuke.ucore.scene.ui.layout.Table;
|
||||
import io.anuke.ucore.util.Bundles;
|
||||
@@ -17,6 +20,12 @@ public class WaveMission implements Mission{
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Array<SpawnGroup> getWaves(Sector sector){
|
||||
Array<SpawnGroup> spawns = new Array<>();
|
||||
return Waves.getSpawns();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generate(Generation gen){
|
||||
int coreX = gen.width/2, coreY = gen.height/2;
|
||||
|
||||
Reference in New Issue
Block a user