Added sector wave difficulty / ita bundle updated

This commit is contained in:
Anuken
2018-08-06 11:19:44 -04:00
parent 50461bb7c8
commit 80001246ef
9 changed files with 89 additions and 31 deletions

View File

@@ -31,7 +31,7 @@ public class Vars{
//respawn time in frames
public static final float respawnduration = 60 * 4;
//time between waves in frames (on normal mode)
public static final float wavespace = 60 * 60 * 2f;
public static final float wavespace = 60 * 60 * 1.5f;
//set ridiculously high for now
public static final float coreBuildRange = 800999f;
//discord group URL

View File

@@ -220,6 +220,7 @@ public class World extends Module{
public void loadSector(Sector sector){
currentSector = sector;
state.mode = sector.missions.peek().getMode();
state.difficulty = sector.missions.peek().getDifficulty(sector);
Timers.mark();
Timers.mark();

View File

@@ -38,22 +38,21 @@ public class Sectors{
sector.saveID = control.getSaves().addSave("sector-" + sector.packedPosition()).index;
world.sectors().save();
world.setSector(sector);
}else{
try{
sector.getSave().load();
world.setSector(sector);
state.set(State.playing);
}catch(Exception e){
Log.err(e);
sector.getSave().delete();
}else try{
sector.getSave().load();
world.setSector(sector);
state.set(State.playing);
}catch(Exception e){
Log.err(e);
sector.getSave().delete();
playSector(sector);
playSector(sector);
if(!headless){
threads.runGraphics(() -> ui.showError("$text.sector.corrupted"));
}
if(!headless){
threads.runGraphics(() -> ui.showError("$text.sector.corrupted"));
}
}
}
/**If a sector is not yet unlocked, returns null.*/

View File

@@ -3,8 +3,10 @@ package io.anuke.mindustry.maps.missions;
import com.badlogic.gdx.math.GridPoint2;
import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.maps.Sector;
import io.anuke.mindustry.maps.generation.FortressGenerator;
import io.anuke.mindustry.maps.generation.Generation;
import io.anuke.ucore.scene.ui.layout.Table;
@@ -13,6 +15,11 @@ import io.anuke.ucore.util.Bundles;
public class BattleMission implements Mission{
private final static int coreX = 60, coreY = 60;
@Override
public Difficulty getDifficulty(Sector sector){
return Difficulty.normal;
}
@Override
public void display(Table table){
table.add("$text.mission.battle");

View File

@@ -3,6 +3,7 @@ package io.anuke.mindustry.maps.missions;
import com.badlogic.gdx.math.GridPoint2;
import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.content.blocks.StorageBlocks;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.SpawnGroup;
import io.anuke.mindustry.game.Team;
@@ -14,6 +15,7 @@ public interface Mission{
boolean isComplete();
String displayString();
GameMode getMode();
Difficulty getDifficulty(Sector sector);
void display(Table table);
default Array<SpawnGroup> getWaves(Sector sector){

View File

@@ -1,7 +1,9 @@
package io.anuke.mindustry.maps.missions;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.maps.Sector;
import io.anuke.mindustry.type.Item;
import io.anuke.ucore.scene.ui.layout.Table;
import io.anuke.ucore.util.Bundles;
@@ -15,6 +17,11 @@ public class ResourceMission implements Mission{
this.amount = amount;
}
@Override
public Difficulty getDifficulty(Sector sector){
return Difficulty.normal;
}
@Override
public void display(Table table){

View File

@@ -2,10 +2,7 @@ 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.game.*;
import io.anuke.mindustry.maps.Sector;
import io.anuke.mindustry.maps.generation.Generation;
import io.anuke.ucore.scene.ui.layout.Table;
@@ -20,6 +17,19 @@ public class WaveMission implements Mission{
this.target = target;
}
@Override
public Difficulty getDifficulty(Sector sector){
if(sector.difficulty == 0){
return Difficulty.easy;
}else if(sector.difficulty < 4){
return Difficulty.normal;
}else if(sector.difficulty < 9){
return Difficulty.hard;
}else{
return Difficulty.insane;
}
}
@Override
public Array<SpawnGroup> getWaves(Sector sector){
Array<SpawnGroup> spawns = new Array<>();