Named creatures: names per kind and language, epithets at higher levels, memorial stones for the fallen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-06 12:40:22 +01:00
1 parent 189da6f408
commit ad5ceb8c13
26 files changed
+685 -6

No files matched your search

+15
View File
@@ -2394,6 +2394,21 @@ fn draw_landmarks_solid(g: &Game, t: f32) {
// soul core: an obsidian throne whose four curved spikes hold the crystal heart in chains
let (cx, cy) = g.map.core;
draw_throne(vec3(cx as f32 + 1.5, 0.0, cy as f32 + 1.5), t);
// memorial stones of fallen creatures: a headstone on a little plinth, a rune that glows
for m in &g.memorials {
if !g.map.shown(m.tile) {
continue;
}
let (x, y) = xy(m.tile);
let h = (m.name % 7) as f32 * 0.02;
let c = vec3(x as f32 + 0.5 + ((m.name >> 3) % 5) as f32 * 0.04 - 0.08, 0.0, y as f32 + 0.5);
let stone = Color::from_rgba(118, 114, 124, 255);
draw_cube(c + vec3(0.0, 0.04, 0.0), vec3(0.42, 0.08, 0.26), None, Color::from_rgba(70, 66, 74, 255));
draw_cube(c + vec3(0.0, 0.3 + h * 0.5, 0.0), vec3(0.3, 0.46 + h, 0.1), None, stone);
draw_cube(c + vec3(0.0, 0.56 + h, 0.0), vec3(0.2, 0.06, 0.1), None, stone);
let glow = if m.level >= 8 { Color::from_rgba(255, 210, 90, 255) } else { Color::from_rgba(150, 120, 255, 255) };
draw_cube(c + vec3(0.0, 0.34 + h * 0.5, 0.052), vec3(0.06, 0.14, 0.01), None, glow);
}
// a ranger's snares: iron jaws on the floor, open and waiting
for &i in &g.snares {
if !g.map.shown(i) {