Champions of the Order lead every fifth wave: four bosses with abilities, a health bar and loot
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9debc08a0a
commit
9535e68df0
23 files changed
+303
-1
No files matched your search
@@ -719,6 +719,18 @@ impl Ui {
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------- a champion of the Order on the field: his name and health under the top bar
|
||||
if let Some(b) = g.boss_alive() {
|
||||
let name = crate::i18n::tr(crate::bosses::boss_name(b.boss).trim_start_matches('@'));
|
||||
let bw = (name.chars().count() as i32 + 26).min(cols - 4);
|
||||
let bx = ((cols - bw) / 2) as f32 * CW();
|
||||
let by = self.hud_h;
|
||||
gfx.window(bx, by, bw, 3, S(), false, RED, BG);
|
||||
gfx.text(&name, bx + CW() * 2.0, by + CH(), S(), GOLD);
|
||||
let bar_cols = (bw - name.chars().count() as i32 - 6).max(6);
|
||||
ascii_bar(gfx, bx + CW() * (name.chars().count() as f32 + 4.0), by + CH(), bar_cols as usize, b.hp / b.max_hp, RED, S());
|
||||
}
|
||||
|
||||
// ---------------- toolbar: buttons of 6 x 3 characters, icons and labels on the grid
|
||||
let tb_rows = 5;
|
||||
let tb_y = sh - tb_rows as f32 * CH();
|
||||
|
||||
Reference in new issue
Block a user