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

@@ -44,6 +44,26 @@ pub enum Command {
ability: String,
target: super::creature::CreatureRef,
},
/// Werkbank. **Ein** Kommando mit einer Variantenliste statt fuenf
/// Kommandos, die sich durch `rejects` und `perform` ziehen — ein Cheat
/// wird nie abgewiesen, das ist sein ganzer Zweck.
Debug(Cheat),
}
/// Was die Werkbank kann. Bewusst klein: Was sich mit zwei vorhandenen
/// Kommandos nachstellen laesst, gehoert nicht hierher.
#[derive(Debug, Clone)]
pub enum Cheat {
/// Gibt den Gegenstand — zehn Stueck, wenn er stapelbar ist. Sonst muesste
/// man fuer hundert Gold hundertmal druecken.
Give(String),
/// Leben und Ausdauer voll.
Heal,
/// Eine Etage tiefer, ohne Treppe.
Descend,
/// Setzt alle Gegner auf null Leben. **Nicht** `enemies.clear()`: So laeuft
/// der normale Weg samt Todes-Triggern und „Der Raum ist geräumt".
ClearRoom,
}
/// Ergebnis eines Kommandos — der Befund aus dem Durchstich in Ticket 12: