New re-balanced attack map
This commit is contained in:
@@ -828,7 +828,7 @@ public class Blocks implements ContentList{
|
||||
}};
|
||||
|
||||
door = new Door("door"){{
|
||||
requirements(Category.defense, ItemStack.with(Items.titanium, 6, Items.silicon, 4));
|
||||
requirements(Category.defense, ItemStack.with(Items.graphite, 6, Items.silicon, 4));
|
||||
health = 100 * wallHealthMultiplier;
|
||||
}};
|
||||
|
||||
@@ -1669,13 +1669,13 @@ public class Blocks implements ContentList{
|
||||
}};
|
||||
|
||||
crawlerFactory = new UnitFactory("crawler-factory"){{
|
||||
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 25, Items.silicon, 40));
|
||||
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 25, Items.silicon, 30));
|
||||
type = UnitTypes.crawler;
|
||||
produceTime = 250;
|
||||
size = 2;
|
||||
maxSpawn = 5;
|
||||
consumes.power(0.5f);
|
||||
consumes.items(new ItemStack(Items.coal, 4), new ItemStack(Items.silicon, 4));
|
||||
maxSpawn = 6;
|
||||
consumes.power(0.4f);
|
||||
consumes.items(new ItemStack(Items.coal, 6));
|
||||
}};
|
||||
|
||||
titanFactory = new UnitFactory("titan-factory"){{
|
||||
|
||||
@@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Block;
|
||||
public class Zones implements ContentList{
|
||||
public static Zone
|
||||
groundZero, desertWastes,
|
||||
craters, frozenForest, ruinousShores, stainedMountains, tarFields,
|
||||
craters, frozenForest, ruinousShores, stainedMountains, tarFields, fungalPass,
|
||||
saltFlats, overgrowth, impact0078, crags,
|
||||
desolateRift, nuclearComplex;
|
||||
|
||||
@@ -107,16 +107,6 @@ public class Zones implements ContentList{
|
||||
resources = new Item[]{Items.copper, Items.lead, Items.coal, Items.sand, Items.scrap};
|
||||
}};
|
||||
|
||||
overgrowth = new Zone("overgrowth", new MapGenerator("overgrowth")){{
|
||||
startingItems = ItemStack.list(Items.copper, 1500, Items.lead, 1000, Items.silicon, 500, Items.metaglass, 250);
|
||||
conditionWave = 12;
|
||||
launchPeriod = 4;
|
||||
loadout = Loadouts.basicNucleus;
|
||||
zoneRequirements = ZoneRequirement.with(craters, 40);
|
||||
blockRequirements = new Block[]{Blocks.cultivator, Blocks.sporePress};
|
||||
resources = new Item[]{Items.copper, Items.lead, Items.coal, Items.titanium, Items.sand, Items.thorium, Items.scrap};
|
||||
}};
|
||||
|
||||
ruinousShores = new Zone("ruinousShores", new MapGenerator("ruinousShores", 1)){{
|
||||
loadout = Loadouts.basicFoundation;
|
||||
baseLaunchCost = ItemStack.with();
|
||||
@@ -139,6 +129,23 @@ public class Zones implements ContentList{
|
||||
resources = new Item[]{Items.copper, Items.scrap, Items.lead, Items.coal, Items.titanium, Items.sand};
|
||||
}};
|
||||
|
||||
fungalPass = new Zone("fungalPass", new MapGenerator("fungalPass")){{
|
||||
startingItems = ItemStack.list(Items.copper, 250, Items.lead, 250, Items.metaglass, 100, Items.graphite, 100);
|
||||
zoneRequirements = ZoneRequirement.with(stainedMountains, 15);
|
||||
blockRequirements = new Block[]{Blocks.daggerFactory, Blocks.crawlerFactory, Blocks.door};
|
||||
resources = new Item[]{Items.copper, Items.lead, Items.coal, Items.titanium, Items.sand};
|
||||
}};
|
||||
|
||||
overgrowth = new Zone("overgrowth", new MapGenerator("overgrowth")){{
|
||||
startingItems = ItemStack.list(Items.copper, 1500, Items.lead, 1000, Items.silicon, 500, Items.metaglass, 250);
|
||||
conditionWave = 12;
|
||||
launchPeriod = 4;
|
||||
loadout = Loadouts.basicNucleus;
|
||||
zoneRequirements = ZoneRequirement.with(craters, 40, fungalPass, 10);
|
||||
blockRequirements = new Block[]{Blocks.cultivator, Blocks.sporePress, Blocks.titanFactory, Blocks.wraithFactory};
|
||||
resources = new Item[]{Items.copper, Items.lead, Items.coal, Items.titanium, Items.sand, Items.thorium, Items.scrap};
|
||||
}};
|
||||
|
||||
tarFields = new Zone("tarFields", new MapGenerator("tarFields")
|
||||
.decor(new Decoration(Blocks.shale, Blocks.shaleBoulder, 0.02))){{
|
||||
loadout = Loadouts.basicFoundation;
|
||||
@@ -180,7 +187,7 @@ public class Zones implements ContentList{
|
||||
startingItems = ItemStack.list(Items.copper, 1250, Items.lead, 1500, Items.silicon, 400, Items.metaglass, 250);
|
||||
conditionWave = 30;
|
||||
launchPeriod = 15;
|
||||
zoneRequirements = ZoneRequirement.with(stainedMountains, 20);
|
||||
zoneRequirements = ZoneRequirement.with(fungalPass, 8);
|
||||
blockRequirements = new Block[]{Blocks.thermalGenerator, Blocks.laserDrill};
|
||||
resources = new Item[]{Items.copper, Items.scrap, Items.lead, Items.coal, Items.titanium, Items.thorium, Items.sand};
|
||||
}};
|
||||
|
||||
@@ -10,7 +10,7 @@ public enum Team{
|
||||
crux(Color.valueOf("e82d2d")),
|
||||
green(Color.valueOf("4dd98b")),
|
||||
purple(Color.valueOf("9a4bdf")),
|
||||
blue(Color.valueOf("ff7f50"));
|
||||
blue(Color.ROYAL.cpy());
|
||||
|
||||
public final static Team[] all = values();
|
||||
public final Color color;
|
||||
|
||||
@@ -156,7 +156,9 @@ public class Zone extends UnlockableContent{
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
preview = new Texture(Core.files.internal("zones/" + name + ".png"));
|
||||
if(Core.files.internal("zones/" + name + ".png").exists()){
|
||||
preview = new Texture(Core.files.internal("zones/" + name + ".png"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -271,11 +271,11 @@ public class Block extends BlockStorage{
|
||||
@CallSuper
|
||||
public void playerPlaced(Tile tile){
|
||||
|
||||
if(consumesPower && !outputsPower){
|
||||
if((consumesPower && !outputsPower) || (!consumesPower && outputsPower)){
|
||||
int range = 10;
|
||||
tempTiles.clear();
|
||||
Geometry.circle(tile.x, tile.y, range, (x, y) -> {
|
||||
Tile other = world.tile(x, y);
|
||||
Tile other = world.ltile(x, y);
|
||||
if(other != null && other.block instanceof PowerNode && ((PowerNode)other.block).linkValid(other, tile)){
|
||||
tempTiles.add(other);
|
||||
}
|
||||
|
||||
@@ -1,27 +1,21 @@
|
||||
package io.anuke.mindustry.world.blocks.power;
|
||||
|
||||
import io.anuke.annotations.Annotations.Loc;
|
||||
import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.math.Angles;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.math.geom.Intersector;
|
||||
import io.anuke.arc.math.geom.Vector2;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.entities.type.Player;
|
||||
import io.anuke.mindustry.entities.type.TileEntity;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.ui.Bar;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.PowerBlock;
|
||||
import io.anuke.mindustry.world.meta.BlockStat;
|
||||
import io.anuke.mindustry.world.meta.StatUnit;
|
||||
import io.anuke.mindustry.ui.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import io.anuke.mindustry.world.meta.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.tilesize;
|
||||
import static io.anuke.mindustry.Vars.world;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
public class PowerNode extends PowerBlock{
|
||||
//last distribution block placed
|
||||
@@ -111,6 +105,13 @@ public class PowerNode extends PowerBlock{
|
||||
Call.linkPowerNodes(null, tile, before);
|
||||
}
|
||||
|
||||
Geometry.circle(tile.x, tile.y, (int)(laserRange + 1), (x, y) -> {
|
||||
Tile other = world.ltile(x, y);
|
||||
if(other != null && other != tile && ((!other.block().outputsPower && other.block().consumesPower) || (other.block().outputsPower && !other.block().consumesPower)) && linkValid(tile, other)){
|
||||
Call.linkPowerNodes(null, tile, other);
|
||||
}
|
||||
});
|
||||
|
||||
lastPlaced = tile.pos();
|
||||
super.playerPlaced(tile);
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ public class Drill extends Block{
|
||||
Tile to = tile.getLinkedTilesAs(this, tempTiles).find(t -> t.drop() != null && t.drop().hardness > tier);
|
||||
Item item = to == null ? null : to.drop();
|
||||
if(item != null){
|
||||
drawPlaceText(Core.bundle.get("blocks.drilltierreq"), x, y, valid);
|
||||
drawPlaceText(Core.bundle.get("bar.drilltierreq"), x, y, valid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user