mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/defense.rs')
-rw-r--r--src/block/defense.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/block/defense.rs b/src/block/defense.rs
index 88cf0d5..e77863c 100644
--- a/src/block/defense.rs
+++ b/src/block/defense.rs
@@ -1,12 +1,13 @@
//! defense
-use crate::block::make_register;
use crate::block::simple::{cost, make_simple};
+use crate::block::*;
make_simple!(DefenseBlock);
+make_simple!(HeatedBlock => |_, _, _, buff: &mut DataRead| read_heated(buff));
make_register! {
- "mender" => DefenseBlock::new(1, true, cost!(Copper: 25, Lead: 30));
- "mend-projector" => DefenseBlock::new(2, true, cost!(Copper: 50, Lead: 100, Titanium: 25, Silicon: 40));
- "overdrive-projector" => DefenseBlock::new(2, true, cost!(Lead: 100, Titanium: 75, Silicon: 75, Plastanium: 30));
- "overdrive-dome" => DefenseBlock::new(3, true, cost!(Lead: 200, Titanium: 130, Silicon: 130, Plastanium: 80, SurgeAlloy: 120));
+ "mender" => HeatedBlock::new(1, true, cost!(Copper: 25, Lead: 30));
+ "mend-projector" => HeatedBlock::new(2, true, cost!(Copper: 50, Lead: 100, Titanium: 25, Silicon: 40));
+ "overdrive-projector" => HeatedBlock::new(2, true, cost!(Lead: 100, Titanium: 75, Silicon: 75, Plastanium: 30));
+ "overdrive-dome" => HeatedBlock::new(3, true, cost!(Lead: 200, Titanium: 130, Silicon: 130, Plastanium: 80, SurgeAlloy: 120));
"force-projector" => DefenseBlock::new(3, true, cost!(Lead: 100, Titanium: 75, Silicon: 125));
"regen-projector" => DefenseBlock::new(3, true, cost!(Silicon: 80, Tungsten: 60, Oxide: 40, Beryllium: 80));
"shock-mine" => DefenseBlock::new(1, true, cost!(Lead: 25, Silicon: 12));
@@ -18,3 +19,10 @@ make_register! {
"shield-projector" => DefenseBlock::new(3, true, &[]);
"large-shield-projector" => DefenseBlock::new(4, true, &[]);
}
+
+/// format:
+/// - heat: [`f32`]
+/// - phase heat: [`f32`]
+fn read_heated(buff: &mut DataRead) -> Result<(), DataReadError> {
+ buff.skip(8)
+} \ No newline at end of file