mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/drills.rs')
-rw-r--r--src/block/drills.rs34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/block/drills.rs b/src/block/drills.rs
index a06c1e4..7d09941 100644
--- a/src/block/drills.rs
+++ b/src/block/drills.rs
@@ -6,32 +6,30 @@ use crate::block::*;
make_simple!(
DrillBlock,
|_, name, _, _, rot: Rotation, s| {
- if matches!(name, "large-plasma-bore" | "plasma-bore" | "cliff-crusher") {
- let mut base = load(name, s);
- let mut top = load(&format!("{name}-top"), s);
- top.rotate(rot.rotated(false).count());
- base.overlay(&top);
- return base;
- }
- load(name, s)
+ let mut base =
+ load!(from name which is ["large-plasma-bore" | "plasma-bore" | "cliff-crusher"], s);
+ let mut top = load!(concat top => name which is ["large-plasma-bore" | "plasma-bore" | "cliff-crusher"], s);
+ top.rotate(rot.rotated(false).count());
+ base.overlay(&top);
+ return base;
},
|_, _, _, buff: &mut DataRead| read_drill(buff)
);
make_simple!(ExtractorBlock);
make_register! {
- "mechanical-drill" => DrillBlock::new(2, true, cost!(Copper: 12));
- "pneumatic-drill" => DrillBlock::new(2, true, cost!(Copper: 18, Graphite: 10));
- "laser-drill" => DrillBlock::new(3, true, cost!(Copper: 35, Graphite: 30, Titanium: 20, Silicon: 30));
- "blast-drill" => DrillBlock::new(4, true, cost!(Copper: 65, Titanium: 50, Thorium: 75, Silicon: 60));
- "water-extractor" => ExtractorBlock::new(2, true, cost!(Copper: 30, Lead: 30, Metaglass: 30, Graphite: 30));
- "oil-extractor" => ExtractorBlock::new(3, true, cost!(Copper: 150, Lead: 115, Graphite: 175, Thorium: 115, Silicon: 75));
- "vent-condenser" => ProductionBlock::new(3, true, cost!(Graphite: 20, Beryllium: 60));
- "cliff-crusher" => DrillBlock::new(2, false, cost!(Beryllium: 100, Graphite: 40));
+ "mechanical-drill" -> DrillBlock::new(2, true, cost!(Copper: 12));
+ "pneumatic-drill" -> DrillBlock::new(2, true, cost!(Copper: 18, Graphite: 10));
+ "laser-drill" -> DrillBlock::new(3, true, cost!(Copper: 35, Graphite: 30, Titanium: 20, Silicon: 30));
+ "blast-drill" -> DrillBlock::new(4, true, cost!(Copper: 65, Titanium: 50, Thorium: 75, Silicon: 60));
+ "water-extractor" -> ExtractorBlock::new(2, true, cost!(Copper: 30, Lead: 30, Metaglass: 30, Graphite: 30));
+ "oil-extractor" -> ExtractorBlock::new(3, true, cost!(Copper: 150, Lead: 115, Graphite: 175, Thorium: 115, Silicon: 75));
+ "vent-condenser" -> ProductionBlock::new(3, true, cost!(Graphite: 20, Beryllium: 60));
+ "cliff-crusher" -> DrillBlock::new(2, false, cost!(Beryllium: 100, Graphite: 40));
"plasma-bore" => DrillBlock::new(2, false, cost!(Beryllium: 40));
"large-plasma-bore" => DrillBlock::new(3, false, cost!(Silicon: 100, Oxide: 25, Beryllium: 100, Tungsten: 70));
- "impact-drill" => DrillBlock::new(4, true, cost!(Silicon: 70, Beryllium: 90, Graphite: 60));
- "eruption-drill" => DrillBlock::new(5, true, cost!(Silicon: 200, Oxide: 20, Tungsten: 200, Thorium: 120));
+ "impact-drill" -> DrillBlock::new(4, true, cost!(Silicon: 70, Beryllium: 90, Graphite: 60));
+ "eruption-drill" -> DrillBlock::new(5, true, cost!(Silicon: 200, Oxide: 20, Tungsten: 200, Thorium: 120));
}
/// format: