Steel walls: plate earth walls next to own ground with steel
- New tool Steel (key O, orders category; campaign from mission 11): 80 gold per earth wall, 40 for a reinforced wall; riveted iron plate texture - Heroes dig through steel 20 times slower than through earth and avoid it (path cost 300) - Selling turns a steel wall back into a reinforced wall and refunds half the plating - Texts EN/DE, test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f298e13d6e
commit
8853d84564
10 files changed
+156
-16
No files matched your search
+28
@@ -65,6 +65,8 @@ pub const D_DIAMOND: u32 = 123;
|
||||
pub const D_RUBBLE: u32 = 124; // floor decals: pebbles and fragments
|
||||
pub const D_CRACK: u32 = 125; // a long crack through several stones
|
||||
pub const T_AERIE: u32 = 126; // 4 variants: straw, twigs and feathers
|
||||
pub const T_STEEL: u32 = 130; // 4 variants: riveted iron plates
|
||||
pub const I_STEEL: u32 = 134;
|
||||
|
||||
pub struct Gfx {
|
||||
pub atlas: Texture2D,
|
||||
@@ -744,6 +746,31 @@ fn gen_atlas() -> Image {
|
||||
}
|
||||
});
|
||||
}
|
||||
// steel walls: riveted plates with a little rust
|
||||
for v in 0..4u32 {
|
||||
cv.cell(T_STEEL + v, |x, y| {
|
||||
let seam = x % 8 == 0 || y % 8 == 0;
|
||||
let rivet = (x % 8 == 2 || x % 8 == 6) && (y % 8 == 2 || y % 8 == 6);
|
||||
let rust = rnd(x / 2, y / 2, v + 240) > 0.86;
|
||||
if seam {
|
||||
Some(c(44, 48, 58))
|
||||
} else if rivet {
|
||||
Some(c(170, 176, 190))
|
||||
} else if rust {
|
||||
Some(shade((120, 70, 40), (rnd(x, y, v + 241) * 16.0) as i32))
|
||||
} else {
|
||||
Some(shade((96, 102, 116), (rnd(x, y, v + 242) * 10.0) as i32 - 5 + if y % 8 == 1 { 10 } else { 0 }))
|
||||
}
|
||||
});
|
||||
}
|
||||
cv.cell(I_STEEL, |x, y| {
|
||||
if (2..=13).contains(&x) && (3..=12).contains(&y) {
|
||||
let rivet = (x == 4 || x == 11) && (y == 5 || y == 10);
|
||||
Some(if rivet { c(220, 224, 235) } else if x == 2 || y == 3 || x == 13 || y == 12 { c(60, 64, 76) } else { c(130, 136, 150) })
|
||||
} else {
|
||||
None
|
||||
}
|
||||
});
|
||||
// floor decals
|
||||
cv.cell(D_RUBBLE, |x, y| {
|
||||
for k in 0..9 {
|
||||
@@ -1229,6 +1256,7 @@ impl Gfx {
|
||||
Kind::LavaBridge => T_STONEBRIDGE + (v & 1),
|
||||
Kind::Shard => T_HEROFLOOR + v,
|
||||
Kind::Aerie => T_AERIE + v,
|
||||
Kind::Steel => T_STEEL + v,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user