Core tiers
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
core/assets-raw/sprites/blocks/storage/core-nucleus.png
Normal file
After Width: | Height: | Size: 986 B |
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 281 B |
Before Width: | Height: | Size: 285 B After Width: | Height: | Size: 285 B |
@ -515,7 +515,9 @@ block.graphite-press.name = Graphite Press
|
||||
block.multi-press.name = Multi-Press
|
||||
block.constructing = {0} [LIGHT_GRAY](Constructing)
|
||||
block.spawn.name = Enemy Spawn
|
||||
block.core.name = Core
|
||||
block.core-shard.name = Core: Shard
|
||||
block.core-foundation.name = Core: Foundation
|
||||
block.core-nucleus.name = Core: Nucleus
|
||||
block.metalfloor.name = Metal Floor
|
||||
block.deepwater.name = deepwater
|
||||
block.water.name = water
|
||||
@ -643,7 +645,6 @@ block.rtg-generator.name = RTG Generator
|
||||
block.spectre.name = Spectre
|
||||
block.meltdown.name = Meltdown
|
||||
block.container.name = Container
|
||||
block.core.description = The most important building in the game.
|
||||
block.launch-pad.name = Launch Pad
|
||||
team.blue.name = blue
|
||||
team.red.name = red
|
||||
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
@ -64,7 +64,7 @@ public class Blocks implements ContentList{
|
||||
mechanicalDrill, pneumaticDrill, laserDrill, blastDrill, plasmaDrill, waterExtractor, oilExtractor, cultivator,
|
||||
|
||||
//storage
|
||||
core, coreBastion, vault, container, unloader, launchPad,
|
||||
coreShard, coreFoundation, coreNucleus, vault, container, unloader, launchPad,
|
||||
|
||||
//turrets
|
||||
duo, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown,
|
||||
@ -915,12 +915,29 @@ public class Blocks implements ContentList{
|
||||
//endregion
|
||||
//region storage
|
||||
|
||||
core = new CoreBlock("core"){{
|
||||
coreShard = new CoreBlock("core-shard"){{
|
||||
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 2000));
|
||||
alwaysUnlocked = true;
|
||||
|
||||
health = 1100;
|
||||
itemCapacity = 2000;
|
||||
size = 3;
|
||||
}};
|
||||
|
||||
coreFoundation = new CoreBlock("core-foundation"){{
|
||||
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 4000, Items.silicon, 2000));
|
||||
|
||||
health = 2000;
|
||||
itemCapacity = 4000;
|
||||
size = 4;
|
||||
}};
|
||||
|
||||
coreNucleus = new CoreBlock("core-nucleus"){{
|
||||
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 8000, Items.silicon, 4000, Items.surgealloy, 2000));
|
||||
|
||||
health = 3000;
|
||||
itemCapacity = 6000;
|
||||
size = 5;
|
||||
}};
|
||||
|
||||
vault = new Vault("vault"){{
|
||||
|
@ -12,7 +12,7 @@ public class TechTree implements ContentList{
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
root = node(core, () -> {
|
||||
root = node(coreShard, () -> {
|
||||
|
||||
node(conveyor, () -> {
|
||||
node(launchPad, () -> {
|
||||
|
@ -94,7 +94,7 @@ public class MapIO{
|
||||
}
|
||||
}
|
||||
|
||||
data.write(x, y, DataPosition.wall, Blocks.core.id);
|
||||
data.write(x, y, DataPosition.wall, Blocks.coreShard.id);
|
||||
data.write(x, y, DataPosition.rotationTeam, Pack.byteByte((byte)0, (byte)Team.blue.ordinal()));
|
||||
}
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ public class MapGenerator extends Generator{
|
||||
}
|
||||
|
||||
//TODO set specific core block?
|
||||
tiles[core.x][core.y].setBlock(Blocks.core, defaultTeam);
|
||||
tiles[core.x][core.y].setBlock(Blocks.coreShard, defaultTeam);
|
||||
|
||||
world.prepareTiles(tiles);
|
||||
world.setMap(map);
|
||||
|
@ -24,7 +24,7 @@ public abstract class RandomGenerator extends Generator{
|
||||
}
|
||||
}
|
||||
|
||||
tiles[width/2][height/2].setBlock(Blocks.core, Team.blue);
|
||||
tiles[width/2][height/2].setBlock(Blocks.coreShard, Team.blue);
|
||||
tiles[width/2][height/2 - 6].setBlock(Blocks.launchPad, Team.blue);
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,6 @@ public class CoreBlock extends StorageBlock{
|
||||
solid = true;
|
||||
update = true;
|
||||
hasItems = true;
|
||||
size = 3;
|
||||
flags = EnumSet.of(BlockFlag.resupplyPoint, BlockFlag.target);
|
||||
}
|
||||
|
||||
|
@ -138,12 +138,12 @@ public class ApplicationTests{
|
||||
createMap();
|
||||
int bx = 4;
|
||||
int by = 4;
|
||||
world.setBlock(world.tile(bx, by), Blocks.core, Team.blue);
|
||||
world.setBlock(world.tile(bx, by), Blocks.coreShard, Team.blue);
|
||||
assertEquals(world.tile(bx, by).getTeam(), Team.blue);
|
||||
for(int x = bx-1; x <= bx + 1; x++){
|
||||
for(int y = by-1; y <= by + 1; y++){
|
||||
if(x == bx && by == y){
|
||||
assertEquals(world.tile(x, y).block(), Blocks.core);
|
||||
assertEquals(world.tile(x, y).block(), Blocks.coreShard);
|
||||
}else{
|
||||
assertTrue(world.tile(x, y).block() == Blocks.part && world.tile(x, y).getLinked() == world.tile(bx, by));
|
||||
}
|
||||
@ -273,7 +273,7 @@ public class ApplicationTests{
|
||||
createMap();
|
||||
|
||||
Tile core = world.tile(5, 5);
|
||||
world.setBlock(core, Blocks.core, Team.blue);
|
||||
world.setBlock(core, Blocks.coreShard, Team.blue);
|
||||
for(Item item : content.items()){
|
||||
core.entity.items.set(item, 3000);
|
||||
}
|
||||
|