Moved thorium into the 'next tier' on Erekir

This commit is contained in:
Anuken 2022-01-10 11:22:53 -05:00
parent feb1135bcc
commit 5509104a44
7 changed files with 14 additions and 8 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 643 B

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -2298,11 +2298,12 @@ public class Blocks{
//TODO requirements
requirements(Category.production, with(Items.graphite, 30, Items.oxide, 30, Items.beryllium, 20, Items.carbide, 30));
consumes.power(0.8f);
drillTime = 100f;
drillTime = 120f;
tier = 5;
size = 3;
range = 6;
laserWidth = 0.7f;
itemCapacity = 20;
consumes.liquid(Liquids.hydrogen, 0.5f / 60f).boost();
}};
@ -2317,6 +2318,8 @@ public class Blocks{
drillEffect = new MultiEffect(Fx.mineImpact, Fx.drillSteam, Fx.mineImpactWave.wrap(Pal.redLight, 40f));
shake = 4f;
itemCapacity = 40;
//can't mine thorium for balance reasons, needs better drill
blockedItem = Items.thorium;
consumes.power(3f);
consumes.liquid(Liquids.water, 0.2f);

View File

@ -103,10 +103,8 @@ public class Planets{
});
//define launch candidates after all planets initialize
serpulo.launchCandidates.add(gier);
//TODO WHAT IF THERE'S NO TRANSITION??
gier.launchCandidates.add(erekir);
//TODO how will it use the nucleus???
serpulo.launchCandidates.add(erekir);
}
private static Planet makeAsteroid(String name, Planet parent, Block base, Block tint, float tintThresh, int pieces, float scale, Cons<AsteroidGenerator> cgen){

View File

@ -147,6 +147,9 @@ public class AsteroidGenerator extends BlankPlanetGenerator{
state.rules.borderDarkness = false;
state.rules.environment = Env.space;
state.rules.waves = true;
//TODO ???
//state.rules.hiddenBuildItems.addAll(Items.plastanium, Items.surgeAlloy);
//TODO maybe make this on by default everywhere
state.rules.showSpawns = true;
//TODO better wavegen, do it by hand even

View File

@ -37,6 +37,8 @@ public class Drill extends Block{
public float liquidBoostIntensity = 1.6f;
/** Speed at which the drill speeds up. */
public float warmupSpeed = 0.015f;
/** Special exemption item that this drill can't mine. */
public @Nullable Item blockedItem;
//return variables for countOre
protected @Nullable Item returnItem;
@ -146,7 +148,7 @@ public class Drill extends Block{
Draw.color();
}
}else{
Tile to = tile.getLinkedTilesAs(this, tempTiles).find(t -> t.drop() != null && t.drop().hardness > tier);
Tile to = tile.getLinkedTilesAs(this, tempTiles).find(t -> t.drop() != null && t.drop().hardness > tier && t.drop() != blockedItem);
Item item = to == null ? null : to.drop();
if(item != null){
drawPlaceText(Core.bundle.get("bar.drilltierreq"), x, y, valid);
@ -158,7 +160,7 @@ public class Drill extends Block{
public void setStats(){
super.setStats();
stats.add(Stat.drillTier, StatValues.blocks(b -> b instanceof Floor f && f.itemDrop != null && f.itemDrop.hardness <= tier));
stats.add(Stat.drillTier, StatValues.blocks(b -> b instanceof Floor f && f.itemDrop != null && f.itemDrop.hardness <= tier && f.itemDrop != blockedItem));
stats.add(Stat.drillSpeed, 60f / drillTime * size * size, StatUnit.itemsSecond);
if(liquidBoostIntensity != 1){
@ -207,7 +209,7 @@ public class Drill extends Block{
public boolean canMine(Tile tile){
if(tile == null || tile.block().isStatic()) return false;
Item drops = tile.drop();
return drops != null && drops.hardness <= tier;
return drops != null && drops.hardness <= tier && drops != blockedItem;
}
public class DrillBuild extends Building{