Allow landing pad config in more situations / Small power node build time increase
This commit is contained in:
@@ -2286,9 +2286,10 @@ public class Blocks{
|
|||||||
//region power
|
//region power
|
||||||
|
|
||||||
powerNode = new PowerNode("power-node"){{
|
powerNode = new PowerNode("power-node"){{
|
||||||
requirements(Category.power, with(Items.copper, 1, Items.lead, 3));
|
requirements(Category.power, with(Items.copper, 2, Items.lead, 5));
|
||||||
maxNodes = 10;
|
maxNodes = 10;
|
||||||
laserRange = 6;
|
laserRange = 6;
|
||||||
|
buildCostMultiplier = 2f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
powerNodeLarge = new PowerNode("power-node-large"){{
|
powerNodeLarge = new PowerNode("power-node-large"){{
|
||||||
@@ -2451,12 +2452,13 @@ public class Blocks{
|
|||||||
//erekir
|
//erekir
|
||||||
|
|
||||||
beamNode = new BeamNode("beam-node"){{
|
beamNode = new BeamNode("beam-node"){{
|
||||||
requirements(Category.power, with(Items.beryllium, 8));
|
requirements(Category.power, with(Items.beryllium, 10));
|
||||||
consumesPower = outputsPower = true;
|
consumesPower = outputsPower = true;
|
||||||
health = 90;
|
health = 90;
|
||||||
range = 10;
|
range = 10;
|
||||||
fogRadius = 1;
|
fogRadius = 1;
|
||||||
researchCost = with(Items.beryllium, 5);
|
researchCost = with(Items.beryllium, 5);
|
||||||
|
buildCostMultiplier = 2f;
|
||||||
|
|
||||||
consumePowerBuffered(1000f);
|
consumePowerBuffered(1000f);
|
||||||
}};
|
}};
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import arc.util.io.*;
|
|||||||
import mindustry.annotations.Annotations.*;
|
import mindustry.annotations.Annotations.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.entities.*;
|
import mindustry.entities.*;
|
||||||
|
import mindustry.game.*;
|
||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
@@ -65,12 +66,12 @@ public class LandingPad extends Block{
|
|||||||
lightRadius = 90f;
|
lightRadius = 90f;
|
||||||
|
|
||||||
config(Item.class, (LandingPadBuild build, Item item) -> {
|
config(Item.class, (LandingPadBuild build, Item item) -> {
|
||||||
if(!accessible()) return;
|
if(!build.accessible()) return;
|
||||||
|
|
||||||
build.config = item;
|
build.config = item;
|
||||||
});
|
});
|
||||||
configClear((LandingPadBuild build) -> {
|
configClear((LandingPadBuild build) -> {
|
||||||
if(!accessible()) return;
|
if(!build.accessible()) return;
|
||||||
|
|
||||||
build.config = null;
|
build.config = null;
|
||||||
});
|
});
|
||||||
@@ -119,10 +120,6 @@ public class LandingPad extends Block{
|
|||||||
build.handleLanding();
|
build.handleLanding();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean accessible(){
|
|
||||||
return state.rules.editor || state.rules.allowEditWorldProcessors || state.isCampaign();
|
|
||||||
}
|
|
||||||
|
|
||||||
public class LandingPadBuild extends Building{
|
public class LandingPadBuild extends Building{
|
||||||
public @Nullable Item config;
|
public @Nullable Item config;
|
||||||
//priority collisions are possible, but should be extremely rare
|
//priority collisions are possible, but should be extremely rare
|
||||||
@@ -146,6 +143,11 @@ public class LandingPad extends Block{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean accessible(){
|
||||||
|
//In custom games, this block can be configured by anyone except the player team; this allows for enemy builder AI to use it
|
||||||
|
return state.rules.editor || state.rules.allowEditWorldProcessors || state.isCampaign() || state.rules.infiniteResources || (team != state.rules.defaultTeam && !state.rules.pvp && team != Team.derelict);
|
||||||
|
}
|
||||||
|
|
||||||
public void updateTimers(){
|
public void updateTimers(){
|
||||||
if(state.isCampaign() && lastUpdateId != state.updateId){
|
if(state.isCampaign() && lastUpdateId != state.updateId){
|
||||||
lastUpdateId = state.updateId;
|
lastUpdateId = state.updateId;
|
||||||
|
|||||||
Reference in New Issue
Block a user