mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-02-13 12:16:53 +07:00
Removed shield breaker block
This commit is contained in:
parent
19d26a0593
commit
08d5ca1912
Binary file not shown.
Before Width: | Height: | Size: 4.6 KiB |
@ -760,6 +760,7 @@ sector.ravine.name = Ravine
|
||||
sector.caldera-erekir.name = Caldera
|
||||
|
||||
sector.onset.description = The tutorial sector. This objective has not been created yet. Await further information.
|
||||
#TODO - no shield breaker anymore.
|
||||
sector.aegis.description = The enemy is protected by shields. An experimental shield breaker module has been detected in this sector.\nLocate this structure. Supply it with tungsten ammunition and destroy the enemy base.
|
||||
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
||||
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
||||
@ -1674,7 +1675,6 @@ block.small-deconstructor.name = Small Deconstructor
|
||||
block.canvas.name = Canvas
|
||||
block.world-processor.name = World Processor
|
||||
block.world-cell.name = World Cell
|
||||
block.shield-breaker.name = Shield Breaker (temp name/sprite)
|
||||
block.tank-fabricator.name = Tank Fabricator
|
||||
block.mech-fabricator.name = Mech Fabricator
|
||||
block.ship-fabricator.name = Ship Fabricator
|
||||
@ -2103,6 +2103,7 @@ lst.set = Set a variable.
|
||||
lst.operation = Perform an operation on 1-2 variables.
|
||||
lst.end = Jump to the top of the instruction stack.
|
||||
lst.wait = Wait a certain number of seconds.
|
||||
lst.stop = Halt execution of this processor.
|
||||
lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]
|
||||
lst.jump = Conditionally jump to another statement.
|
||||
lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[].
|
||||
|
@ -541,7 +541,6 @@
|
||||
63143=armored-duct|block-armored-duct-ui
|
||||
63142=anthicus|unit-anthicus-ui
|
||||
63141=anthicus-missile|unit-anthicus-missile-ui
|
||||
63140=shield-breaker|block-shield-breaker-ui
|
||||
63139=obviate|unit-obviate-ui
|
||||
63138=tank-fabricator|block-tank-fabricator-ui
|
||||
63137=mech-fabricator|block-mech-fabricator-ui
|
||||
|
Binary file not shown.
@ -1863,17 +1863,6 @@ public class Blocks{
|
||||
consumePower(5f);
|
||||
}};
|
||||
|
||||
shieldBreaker = new ShieldBreaker("shield-breaker"){{
|
||||
requirements(Category.effect, BuildVisibility.editorOnly, with());
|
||||
|
||||
size = 5;
|
||||
toDestroy = new Block[]{Blocks.shieldProjector, Blocks.largeShieldProjector};
|
||||
|
||||
consumeItem(Items.tungsten, 100);
|
||||
itemCapacity = 100;
|
||||
scaledHealth = 120f;
|
||||
}};
|
||||
|
||||
//endregion
|
||||
//region distribution
|
||||
|
||||
|
@ -19,7 +19,7 @@ public class LCategory implements Comparable<LCategory>{
|
||||
operation = new LCategory("operation", Pal.logicOperations, Icon.settingsSmall),
|
||||
control = new LCategory("control", Pal.logicControl, Icon.rotateSmall),
|
||||
unit = new LCategory("unit", Pal.logicUnits, Icon.unitsSmall),
|
||||
world = new LCategory("world", Pal.logicWorld, Icon.terminalSmall);
|
||||
world = new LCategory("world", Pal.logicWorld, Icon.terrainSmall);
|
||||
|
||||
public final String name;
|
||||
public final int id;
|
||||
|
@ -1084,7 +1084,6 @@ public class LExecutor{
|
||||
public int value;
|
||||
|
||||
public float curTime;
|
||||
public double wait;
|
||||
public long frameId;
|
||||
|
||||
public WaitI(int value){
|
||||
@ -1110,6 +1109,15 @@ public class LExecutor{
|
||||
}
|
||||
}
|
||||
|
||||
public static class StopI implements LInstruction{
|
||||
|
||||
@Override
|
||||
public void run(LExecutor exec){
|
||||
//skip back to self.
|
||||
exec.var(varCounter).numval --;
|
||||
}
|
||||
}
|
||||
|
||||
//TODO inverse lookup
|
||||
public static class LookupI implements LInstruction{
|
||||
public int dest;
|
||||
|
@ -675,7 +675,25 @@ public class LStatements{
|
||||
|
||||
@Override
|
||||
public LCategory category(){
|
||||
return LCategory.operation;
|
||||
return LCategory.control;
|
||||
}
|
||||
}
|
||||
|
||||
@RegisterStatement("stop")
|
||||
public static class StopStatement extends LStatement{
|
||||
|
||||
@Override
|
||||
public void build(Table table){
|
||||
}
|
||||
|
||||
@Override
|
||||
public LInstruction build(LAssembler builder){
|
||||
return new StopI();
|
||||
}
|
||||
|
||||
@Override
|
||||
public LCategory category(){
|
||||
return LCategory.control;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -163,8 +163,6 @@ public class ClassMap{
|
||||
classes.put("RadarBuild", mindustry.world.blocks.defense.Radar.RadarBuild.class);
|
||||
classes.put("RegenProjector", mindustry.world.blocks.defense.RegenProjector.class);
|
||||
classes.put("RegenProjectorBuild", mindustry.world.blocks.defense.RegenProjector.RegenProjectorBuild.class);
|
||||
classes.put("ShieldBreaker", mindustry.world.blocks.defense.ShieldBreaker.class);
|
||||
classes.put("ShieldBreakerBuild", mindustry.world.blocks.defense.ShieldBreaker.ShieldBreakerBuild.class);
|
||||
classes.put("ShieldWall", mindustry.world.blocks.defense.ShieldWall.class);
|
||||
classes.put("ShieldWallBuild", mindustry.world.blocks.defense.ShieldWall.ShieldWallBuild.class);
|
||||
classes.put("ShockMine", mindustry.world.blocks.defense.ShockMine.class);
|
||||
|
@ -241,7 +241,7 @@ public class CustomRulesDialog extends BaseDialog{
|
||||
|
||||
t.button("@rules.anyenv", style, () -> {
|
||||
//unlocalized for now
|
||||
ui.showInfo("[accent]'Any' environment, or 'mixed tech', is no longer allowed.[]\n\nReasoning: Serpulo and Erekir tech were never meant to be used in the same map. They are not compatible.\nI have received far too many complains in this regard.");
|
||||
ui.showInfo("[accent]'Any' environment, or 'mixed tech', is no longer allowed.[]\n\nReasoning: Serpulo and Erekir tech were never meant to be used in the same map. They are not compatible or remotely balanced.\nI have received far too many complains in this regard.");
|
||||
|
||||
//rules.env = Vars.defaultEnv;
|
||||
//rules.hiddenBuildItems.clear();
|
||||
|
@ -1,47 +0,0 @@
|
||||
package mindustry.world.blocks.defense;
|
||||
|
||||
import arc.math.*;
|
||||
import mindustry.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
public class ShieldBreaker extends Block{
|
||||
public Block[] toDestroy = {};
|
||||
public Effect effect = Fx.shockwave, breakEffect = Fx.reactorExplosion, selfKillEffect = Fx.massiveExplosion;
|
||||
|
||||
public ShieldBreaker(String name){
|
||||
super(name);
|
||||
|
||||
solid = update = true;
|
||||
rebuildable = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBreak(Tile tile){
|
||||
return Vars.state.isEditor();
|
||||
}
|
||||
|
||||
public class ShieldBreakerBuild extends Building{
|
||||
|
||||
@Override
|
||||
public void updateTile(){
|
||||
if(Mathf.equal(efficiency, 1f)){
|
||||
effect.at(this);
|
||||
for(var other : Vars.state.teams.active){
|
||||
if(team != other.team){
|
||||
for(var block : toDestroy){
|
||||
other.getBuildings(block).copy().each(b -> {
|
||||
breakEffect.at(b);
|
||||
b.kill();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
selfKillEffect.at(this);
|
||||
kill();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user