Changed tutorial ore gen

This commit is contained in:
Anuken
2018-09-24 10:19:27 -04:00
parent 20732f04ff
commit 32c59b66f6
3 changed files with 60 additions and 42 deletions

View File

@ -5,10 +5,6 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
/**
* Goal: To create a system to send events to the server from the client and vice versa, without creating a new packet type each time.<br>
* These events may optionally also trigger on the caller client/server as well.<br>
*/
public class Annotations{ public class Annotations{
/** Marks a class as serializable.*/ /** Marks a class as serializable.*/

View File

@ -4,8 +4,14 @@ import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Items;
import io.anuke.mindustry.content.UnitTypes; import io.anuke.mindustry.content.UnitTypes;
import io.anuke.mindustry.content.blocks.*; import io.anuke.mindustry.content.blocks.*;
import io.anuke.mindustry.game.EventType.WorldLoadEvent;
import io.anuke.mindustry.maps.generation.Generation; import io.anuke.mindustry.maps.generation.Generation;
import io.anuke.mindustry.maps.generation.WorldGenerator.GenResult;
import io.anuke.mindustry.maps.missions.*; import io.anuke.mindustry.maps.missions.*;
import io.anuke.mindustry.type.Item;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.Floor;
import io.anuke.ucore.core.Events;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@ -13,52 +19,68 @@ import static io.anuke.mindustry.Vars.*;
public class TutorialSector{ public class TutorialSector{
public static Array<Mission> getMissions(){ public static Array<Mission> getMissions(){
int x = sectorSize/2, y = sectorSize/2; //int x = sectorSize/2, y = sectorSize/2;
return Array.with( return Array.with(
new ItemMission(Items.copper, 30).setMessage("$tutorial.begin"), new ItemMission(Items.copper, 30).setMessage("$tutorial.begin"),
new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 62).setMessage("$tutorial.drill"), new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 62).setMessage("$tutorial.drill"),
new BlockLocMission(DistributionBlocks.conveyor, 57, 62, 0).setShowComplete(false).setMessage("$tutorial.conveyor"), new BlockLocMission(DistributionBlocks.conveyor, 57, 62, 0).setShowComplete(false).setMessage("$tutorial.conveyor"),
new BlockLocMission(DistributionBlocks.conveyor, 58, 62, 0).setShowComplete(false), new BlockLocMission(DistributionBlocks.conveyor, 58, 62, 0).setShowComplete(false),
new BlockLocMission(DistributionBlocks.conveyor, 59, 62, 0).setShowComplete(false), new BlockLocMission(DistributionBlocks.conveyor, 59, 62, 0).setShowComplete(false),
new BlockLocMission(DistributionBlocks.conveyor, 60, 62, 3).setShowComplete(false), new BlockLocMission(DistributionBlocks.conveyor, 60, 62, 3).setShowComplete(false),
new ItemMission(Items.copper, 50).setMessage("$tutorial.morecopper"), new ItemMission(Items.copper, 50).setMessage("$tutorial.morecopper"),
new BlockLocMission(TurretBlocks.duo, 56, 59).setMessage("$tutorial.turret"), new BlockLocMission(TurretBlocks.duo, 56, 59).setMessage("$tutorial.turret"),
new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 60).setMessage("$tutorial.drillturret"), new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 60).setMessage("$tutorial.drillturret"),
new WaveMission(5).setMessage("$tutorial.waves"), new WaveMission(5).setMessage("$tutorial.waves"),
new ExpandMission(1, 0),
new ItemMission(Items.lead, 30).setMessage("$tutorial.lead"),
new ItemMission(Items.copper, 150).setMessage("$tutorial.morecopper"),
new BlockMission(CraftingBlocks.smelter).setMessage("$tutorial.smelter"), new ActionMission(() -> {
new ItemMission(Items.densealloy, 30).setMessage("$tutorial.densealloy"), Array<Item> ores = Array.with(Items.copper, Items.coal, Items.lead);
new BlockMission(CraftingBlocks.siliconsmelter).setMessage("$tutorial.siliconsmelter"), GenResult res = new GenResult();
new BlockMission(PowerBlocks.combustionGenerator).setMessage("$tutorial.generator"), for(int x = 0; x < world.width(); x++){
new BlockMission(PowerBlocks.powerNode).setMessage("$tutorial.node"), for(int y = 0; y < world.height(); y++){
Tile tile = world.tile(x, y);
new ItemMission(Items.silicon, 30).setMessage("$tutorial.silicon"), world.generator().generateTile(res, 0, 0, x, y, true, null, ores);
if(!tile.hasCliffs()){
new BlockMission(UnitBlocks.daggerFactory).setMessage("$tutorial.daggerfactory"), tile.setFloor((Floor) res.floor);
new UnitMission(UnitTypes.dagger).setMessage("$tutorial.dagger"), }
new ExpandMission(-1, 0),
new BattleMission(){
public void generate(Generation gen){}
@Override
public boolean isComplete(){
return false;
} }
}
Events.fire(new WorldLoadEvent());
}),
public void onBegin(){ new ItemMission(Items.lead, 30).setMessage("$tutorial.lead"),
super.onBegin(); new ItemMission(Items.copper, 150).setMessage("$tutorial.morecopper"),
generateBase();
} new BlockMission(CraftingBlocks.smelter).setMessage("$tutorial.smelter"),
}.setMessage("$tutorial.battle") new ItemMission(Items.densealloy, 30).setMessage("$tutorial.densealloy"),
new BlockMission(CraftingBlocks.siliconsmelter).setMessage("$tutorial.siliconsmelter"),
new BlockMission(PowerBlocks.combustionGenerator).setMessage("$tutorial.generator"),
new BlockMission(PowerBlocks.powerNode).setMessage("$tutorial.node"),
new ItemMission(Items.silicon, 30).setMessage("$tutorial.silicon"),
new BlockMission(UnitBlocks.daggerFactory).setMessage("$tutorial.daggerfactory"),
new UnitMission(UnitTypes.dagger).setMessage("$tutorial.dagger"),
new ExpandMission(1, 0),
new BattleMission(){
public void generate(Generation gen){
}
@Override
public boolean isComplete(){
return false;
}
public void onBegin(){
super.onBegin();
generateBase();
}
}.setMessage("$tutorial.battle")
); );
} }
@ -67,7 +89,7 @@ public class TutorialSector{
} }
private static void generateBase(){ private static void generateBase(){
int x = sectorSize/2, y = sectorSize/2; int x = sectorSize/2, y = sectorSize + sectorSize/2;
world.setBlock(world.tile(x, y), StorageBlocks.core, waveTeam); world.setBlock(world.tile(x, y), StorageBlocks.core, waveTeam);
// world.setBlock(world.tile(x + 1, y + 2), TurretBlocks.duo, waveTeam); // world.setBlock(world.tile(x + 1, y + 2), TurretBlocks.duo, waveTeam);
//world.setBlock(world.tile(x + 1, y - 2), TurretBlocks.duo, waveTeam); //world.setBlock(world.tile(x + 1, y - 2), TurretBlocks.duo, waveTeam);

View File

@ -6,7 +6,7 @@ import io.anuke.mindustry.game.GameMode;
import static io.anuke.mindustry.Vars.threads; import static io.anuke.mindustry.Vars.threads;
/**A mission which simply runs a single action and is completed instantly.*/ /**A mission which simply runs a single action and is completed instantly.*/
public abstract class ActionMission extends Mission{ public class ActionMission extends Mission{
protected Runnable runner; protected Runnable runner;
public ActionMission(Runnable runner){ public ActionMission(Runnable runner){