low effort large plasma bore

This commit is contained in:
Anuken
2021-11-18 16:22:53 -05:00
parent 7a73b3bc7a
commit f3ace3a526
8 changed files with 51 additions and 8 deletions

View File

@@ -1918,7 +1918,7 @@ public class Blocks implements ContentList{
drillTime = 200f;
tier = 4;
size = 2;
range = 2;
range = 3; //TODO make it 2?
}};
//TODO awful name

View File

@@ -25,6 +25,7 @@ public class BeamDrill extends Block{
public @Load("drill-laser-end") TextureRegion laserEnd;
public @Load("drill-laser-center") TextureRegion laserCenter;
public @Load("@-top") TextureRegion topRegion;
public @Load("@-glow") TextureRegion glowRegion;
public float drillTime = 200f;
public int range = 5;
@@ -37,6 +38,9 @@ public class BeamDrill extends Block{
public int sparks = 8;
public float sparkRange = 10f, sparkLife = 27f, sparkRecurrence = 4f, sparkSpread = 45f, sparkSize = 3.5f;
public Color heatColor = new Color(1f, 0.35f, 0.35f, 0.9f);
public float heatPulse = 0.3f, heatPulseScl = 7f;
public BeamDrill(String name){
super(name);
@@ -283,6 +287,16 @@ public class BeamDrill extends Block{
Draw.reset();
}
}
if(glowRegion.found()){
Draw.z(Layer.blockAdditive);
Draw.blend(Blending.additive);
Draw.color(heatColor, warmup * (heatColor.a * (1f - heatPulse + Mathf.absin(heatPulseScl, heatPulse))));
Draw.rect(glowRegion, x, y, rotdeg());
Draw.blend();
Draw.color();
}
Draw.blend();
Draw.reset();
}

View File

@@ -5,11 +5,11 @@ import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.util.*;
import mindustry.game.*;
import mindustry.graphics.*;
import mindustry.logic.*;
import mindustry.type.*;
import mindustry.world.*;
import mindustry.world.blocks.liquid.*;
import mindustry.world.draw.*;
import mindustry.world.meta.*;
import static mindustry.Vars.*;
@@ -19,6 +19,7 @@ public class Pump extends LiquidBlock{
public float pumpAmount = 0.2f;
/** Interval in-between item consumptions, if applicable. */
public float consumeTime = 60f * 5f;
public DrawBlock draw = new DrawPump();
public Pump(String name){
super(name);
@@ -64,9 +65,15 @@ public class Pump extends LiquidBlock{
}
}
@Override
public void load(){
super.load();
draw.load(this);
}
@Override
public TextureRegion[] icons(){
return new TextureRegion[]{region};
return draw.icons(this);
}
@Override
@@ -103,11 +110,7 @@ public class Pump extends LiquidBlock{
@Override
public void draw(){
Draw.rect(region, x, y);
if(liquidDrop == null) return;
Drawf.liquid(liquidRegion, x, y, liquids.get(liquidDrop) / liquidCapacity, liquidDrop.color);
draw.drawBase(this);
}
@Override

View File

@@ -0,0 +1,26 @@
package mindustry.world.draw;
import arc.*;
import arc.graphics.g2d.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.world.*;
import mindustry.world.blocks.production.Pump.*;
public class DrawPump extends DrawBlock{
public TextureRegion liquid;
@Override
public void drawBase(Building build){
Draw.rect(build.block.region, build.x, build.y);
if(!(build instanceof PumpBuild pump) || pump.liquidDrop == null) return;
Drawf.liquid(liquid, build.x, build.y, build.liquids.get(pump.liquidDrop) / build.block.liquidCapacity, pump.liquidDrop.color);
}
@Override
public void load(Block block){
liquid = Core.atlas.find(block.name + "-liquid");
}
}