Torture chamber with prisoners and defectors, Jailer; temple with prayer, Flame Priestess
- defeated heroes are knocked out if the torture chamber has room; imps carry them in - torture drains HP over ~100 s; ~40% defect (paladins ~25%) and become own creatures - Jailer (6+ torture tiles): tanky melee that pulls enemies in with a chain - temple: creatures pray for mana (more than studying) and mood - Flame Priestess (6+ temple tiles): fireballs with splash, heals creatures and the Soul Core - tests: prisoner chain + defect rate, temple prayer + core healing Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
903d6fb0f4
commit
a1ad5ad141
7 files changed
+545
-25
No files matched your search
@@ -607,6 +607,10 @@ pub fn hover_info(g: &Game, ent: Option<usize>, tile: Option<(i32, i32)>) -> Vec
|
||||
let s = st(e.kind);
|
||||
out.push((trf("info.level", &[tr(s.name), e.level.to_string()]), if e.hero { BLUE } else { FRAME_HI }));
|
||||
out.push((trf("info.hp", &[(e.hp.max(0.0) as i32).to_string(), (e.max_hp as i32).to_string()]), GREEN));
|
||||
if e.hero && e.captive != 0 {
|
||||
out.push((tr(["", "info.unconscious", "info.carried", "info.tortured"][e.captive.min(3) as usize]), RED));
|
||||
return out;
|
||||
}
|
||||
out.push((tr(job_name(e)), TXT));
|
||||
if e.hero {
|
||||
out.push((tr(if e.guard { "info.guard" } else { "info.intruder" }), BLUE));
|
||||
@@ -678,6 +682,10 @@ pub fn hover_info(g: &Game, ent: Option<usize>, tile: Option<(i32, i32)>) -> Vec
|
||||
match k {
|
||||
Kind::Farm => out.push((trf("farm.food", &[(t.food as i32).to_string()]), GREEN)),
|
||||
Kind::Lair => out.push((tr(if t.bed != 0 { "lair.taken" } else { "lair.free" }), DIM)),
|
||||
Kind::Torture => {
|
||||
let used = g.ents.iter().filter(|e| e.alive && e.hero && e.captive != 0).count();
|
||||
out.push((trf("info.prison", &[used.to_string(), (g.counts[5] / 2).to_string()]), DIM));
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user