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
@@ -156,10 +156,11 @@ pub enum Tool {
|
||||
Summon,
|
||||
Tower(TowerKind),
|
||||
Bridge,
|
||||
Steel,
|
||||
}
|
||||
|
||||
// New tools are appended so that existing key bindings ("tool<i>") keep their meaning
|
||||
pub const TOOLS: [Tool; 19] = [
|
||||
pub const TOOLS: [Tool; 20] = [
|
||||
Tool::Dig,
|
||||
Tool::Hand,
|
||||
Tool::Room(0),
|
||||
@@ -179,6 +180,7 @@ pub const TOOLS: [Tool; 19] = [
|
||||
Tool::Tower(TowerKind::Magic),
|
||||
Tool::Bridge,
|
||||
Tool::Room(7),
|
||||
Tool::Steel,
|
||||
];
|
||||
|
||||
|
||||
@@ -210,6 +212,7 @@ pub fn tool_info(t: Tool) -> ToolInfo {
|
||||
Tool::Heal => ("heal", I_HEAL, None),
|
||||
Tool::Summon => ("summon", I_SUMMON, None),
|
||||
Tool::Bridge => ("bridge", I_BRIDGE, None),
|
||||
Tool::Steel => ("steel", I_STEEL, None),
|
||||
};
|
||||
let name = match room {
|
||||
Some(r) => tr(ROOM_NAMES[r]),
|
||||
@@ -225,6 +228,7 @@ pub fn tool_cost(t: Tool, g: &Game) -> String {
|
||||
Tool::Heal => trf("cost.mana", &["60".into()]),
|
||||
Tool::Summon => trf("cost.mana", &[(g.summon_cost() as i32).to_string()]),
|
||||
Tool::Bridge => trf("cost.bridge", &[BRIDGE_COST[0].to_string(), BRIDGE_COST[1].to_string()]),
|
||||
Tool::Steel => trf("cost.steel", &[STEEL_COST[0].to_string(), STEEL_COST[1].to_string()]),
|
||||
Tool::Tower(k) => {
|
||||
let s = tower_stats(k);
|
||||
let mut c = trf("cost.tower", &[s.cost[0].to_string(), s.cost[1].to_string(), s.cost[2].to_string()]);
|
||||
@@ -244,7 +248,7 @@ pub const CATS: [(&str, &[usize]); 6] = [
|
||||
("cat.rooms", &[2, 3, 4, 5, 6, 12, 13, 18, 17]),
|
||||
("cat.towers", &[14, 15, 16]),
|
||||
("cat.spells", &[9, 10, 11]),
|
||||
("cat.orders", &[8, 7]),
|
||||
("cat.orders", &[8, 7, 19]),
|
||||
];
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Debug)]
|
||||
@@ -1061,6 +1065,10 @@ pub fn hover_info(g: &Game, ent: Option<usize>, tile: Option<(i32, i32)>) -> Vec
|
||||
};
|
||||
match t.kind {
|
||||
Kind::Rock => out.push((tr("tile.rock"), DIM)),
|
||||
Kind::Steel => {
|
||||
out.push((tr("tile.steel"), FRAME_HI));
|
||||
out.push((tr("tile.steel_info"), DIM));
|
||||
}
|
||||
Kind::Earth if t.reinforced => {
|
||||
out.push((tr("tile.reinforced"), FRAME_HI));
|
||||
out.push((tr("tile.reinforced_info"), DIM));
|
||||
|
||||
Reference in new issue
Block a user