Added unfinished zone map

This commit is contained in:
Anuken 2019-04-22 23:56:46 -04:00
parent b7759c8151
commit 30650efd98
7 changed files with 45 additions and 34 deletions

Binary file not shown.

View File

@ -897,8 +897,8 @@ public class Blocks implements ContentList{
junction = new Junction("junction"){{
requirements(Category.distribution, ItemStack.with(Items.copper, 3), true);
speed = 26;
capacity = 32;
health = 25;
capacity = 15;
health = 30;
}};
itemBridge = new BufferedItemBridge("bridge-conveyor"){{

View File

@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Block;
public class Zones implements ContentList{
public static Zone
groundZero, desertWastes,
craters, frozenForest, ruinousShores, stainedMountains,
craters, frozenForest, ruinousShores, stainedMountains, tarFields,
saltFlats, overgrowth, infestedIslands,
desolateRift, nuclearComplex;
@ -132,9 +132,8 @@ public class Zones implements ContentList{
stainedMountains = new Zone("stainedMountains", new MapGenerator("stainedMountains", 2)
.dist(0f, false)
.decor(new Decoration(Blocks.moss, Blocks.shaleBoulder, 0.02))){{
.decor(new Decoration(Blocks.shale, Blocks.shaleBoulder, 0.02))){{
loadout = Loadouts.basicFoundation;
baseLaunchCost = ItemStack.with();
startingItems = ItemStack.list(Items.copper, 400, Items.lead, 100);
conditionWave = 10;
launchPeriod = 10;
@ -148,13 +147,30 @@ public class Zones implements ContentList{
}};
}};
tarFields = new Zone("tarFields", new MapGenerator("tarFields", 1)
.dist(0f, false)
.decor(new Decoration(Blocks.shale, Blocks.shaleBoulder, 0.02))){{
loadout = Loadouts.basicFoundation;
startingItems = ItemStack.list(Items.copper, 500, Items.lead, 200);
conditionWave = 15;
launchPeriod = 10;
zoneRequirements = ZoneRequirement.with(ruinousShores, 20);
blockRequirements = new Block[]{Blocks.pneumaticDrill};
resources = new Item[]{Items.copper, Items.scrap, Items.lead, Items.coal, Items.titanium, Items.sand};
rules = () -> new Rules(){{
waves = true;
waveTimer = true;
waveSpacing = 60 * 60 * 2;
}};
}};
desolateRift = new Zone("desolateRift", new MapGenerator("desolateRift").dist(2f)){{
loadout = Loadouts.basicNucleus;
baseLaunchCost = ItemStack.with();
startingItems = ItemStack.list(Items.copper, 1500);
conditionWave = 10;
launchPeriod = 20;
zoneRequirements = ZoneRequirement.with(stainedMountains, 20);
zoneRequirements = ZoneRequirement.with(tarFields, 20);
blockRequirements = new Block[]{Blocks.thermalGenerator};
resources = new Item[]{Items.copper, Items.scrap, Items.lead, Items.coal, Items.titanium, Items.sand};
rules = () -> new Rules(){{
@ -172,7 +188,7 @@ public class Zones implements ContentList{
startingItems = ItemStack.list(Items.copper, 2500, Items.lead, 3000, Items.silicon, 800, Items.metaglass, 400);
conditionWave = 30;
launchPeriod = 15;
zoneRequirements = ZoneRequirement.with(desolateRift, 20);
zoneRequirements = ZoneRequirement.with(frozenForest, 20);
blockRequirements = new Block[]{Blocks.thermalGenerator};
resources = new Item[]{Items.copper, Items.scrap, Items.lead, Items.coal, Items.titanium, Items.thorium, Items.sand};
rules = () -> new Rules(){{

View File

@ -11,6 +11,7 @@ import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.blocks.*;
public enum EditorTool{
zoom,
pick{
public void touched(MapEditor editor, int x, int y){
if(!Structs.inBounds(x, y, editor.width(), editor.height())) return;
@ -34,6 +35,7 @@ public enum EditorTool{
editor.drawBlock = tile.block() == Blocks.air ? tile.overlay() == Blocks.air ? tile.floor() : tile.overlay() : tile.block();
}
},
line,
pencil{
{
edit = true;
@ -56,22 +58,6 @@ public enum EditorTool{
editor.draw(x, y, isPaint(), Blocks.air);
}
},
spray{
{
edit = true;
draggable = true;
}
@Override
public void touched(MapEditor editor, int x, int y){
editor.draw(x, y, isPaint(), editor.drawBlock, 0.012);
}
},
line{
{
}
},
fill{
{
edit = true;
@ -200,7 +186,17 @@ public enum EditorTool{
return (data.drawBlock instanceof OverlayFloor ? tile.overlay() : isfloor ? tile.floor() : tile.block()) == dest && !(data.drawBlock instanceof OverlayFloor && tile.floor().isLiquid);
}
},
zoom;
spray{
{
edit = true;
draggable = true;
}
@Override
public void touched(MapEditor editor, int x, int y){
editor.draw(x, y, isPaint(), editor.drawBlock, 0.012);
}
};
boolean edit, draggable;

View File

@ -45,7 +45,7 @@ public class Rules{
public float waveSpacing = 60 * 60 * 2;
/** Zone ID, -1 for invalid zone. */
public byte zone = -1;
/** Spawn layout. Since only zones modify this, it should be assigned on save load. */
/** Spawn layout. Should be assigned on save load based on map or zone. */
public transient Array<SpawnGroup> spawns = DefaultWaves.get();
/** Determines if there should be limited respawns. */
public boolean limitedRespawns = false;

View File

@ -37,15 +37,14 @@ public class MapIO{
private static void initBlocks(){
if(missingBlocks != null) return;
//stainedRocks, stainedRocksRed, stainedRocksYellow, stainedStoneYellow, stainedBoulder,
missingBlocks = ObjectMap.of(
"stained-stone", Blocks.shale,
"stained-stone-red", Blocks.shale,
"stained-stone-yellow", Blocks.shale,
"stained-rocks", Blocks.shaleRocks,
"stained-boulder", Blocks.shaleBoulder,
"stained-rocks-red", Blocks.shaleRocks,
"stained-rocks-yellow", Blocks.shaleRocks
"stained-stone", Blocks.shale,
"stained-stone-red", Blocks.shale,
"stained-stone-yellow", Blocks.shale,
"stained-rocks", Blocks.shaleRocks,
"stained-boulder", Blocks.shaleBoulder,
"stained-rocks-red", Blocks.shaleRocks,
"stained-rocks-yellow", Blocks.shaleRocks
);
}

View File

@ -97,7 +97,7 @@ public abstract class Turret extends Block{
public void setStats(){
super.setStats();
stats.add(BlockStat.shootRange, range, StatUnit.blocks);
stats.add(BlockStat.shootRange, range / tilesize, StatUnit.blocks);
stats.add(BlockStat.inaccuracy, (int)inaccuracy, StatUnit.degrees);
stats.add(BlockStat.reload, 60f / reload * shots, StatUnit.none);
stats.add(BlockStat.shots, shots, StatUnit.none);