feat(debug): Werkbank auf F12

Gegenstandsliste mit Cursor, dazu heilen, absteigen und Raum leeren.
Laeuft ueber ein Kommando Debug(Cheat) statt am Spielkern vorbei — die
Zusage aus Ticket 11, dass Response::Command der einzige Weg nach game/
ist, gilt auch fuer Cheats.

ClearRoom toetet die Gegner, statt die Liste zu leeren: So laeuft der
normale Weg samt Todes-Triggern und "Der Raum ist geraeumt".
This commit is contained in:
2026-08-12 20:58:35 +02:00
parent 036f60d463
commit 26d9533a93
6 changed files with 175 additions and 2 deletions

View File

@@ -459,6 +459,15 @@ pub struct Registries {
}
impl Registries {
/// Alle Gegenstaende in stabiler Reihenfolge — fuer die Werkbank. Ohne das
/// haengt die Liste an der HashMap-Iterationsreihenfolge und der Cursor
/// zeigt bei jedem Start woanders hin.
pub fn items_ordered(&self) -> Vec<&Item> {
let mut v: Vec<&Item> = self.items.values().collect();
v.sort_by(|a, b| a.id.cmp(&b.id));
v
}
/// Slots in Anzeigereihenfolge. Der Charakterbogen schleift darueber,
/// statt ein Layout zu mauern (Ticket 02).
pub fn slots_ordered(&self) -> Vec<&Slot> {