docs: ticket 16 (loot-tabellen) aufloesen, nachtraege an 10 und 14, loot-tabelle ins glossar, destination erreicht
This commit is contained in:
@@ -160,7 +160,8 @@ struct Room {
|
||||
prefab: PrefabId, // fuer room_entered und Trigger
|
||||
rect: Rect,
|
||||
enemies: Vec<Creature>,
|
||||
loot: Vec<(Pos, ItemInstance)>,
|
||||
loot_table: LootTableId, // Nachtrag 16: Prefab-loot oder Etagentabelle
|
||||
loot: Vec<Pos>, // Haufen, erst beim Aufheben aufgeloest
|
||||
cleared: bool,
|
||||
}
|
||||
|
||||
@@ -178,6 +179,21 @@ Ladeprüfung über die 04-Maschinerie: **`layout`-Zeilen müssen gleich lang sei
|
||||
kein Rechteck und die Platzierung rechnet mit Müll. Ein Zweizeiler, der eine ganze Klasse von
|
||||
Modder-Frust abfängt.
|
||||
|
||||
### Nachtrag aus Ticket 16
|
||||
|
||||
**Bodenbeute wird erst beim Aufheben gezogen**, deshalb hält `Room.loot` nur noch Positionen und der
|
||||
Raum *eine* `loot_table` — alle Haufen eines Raums ziehen ohnehin aus derselben Tabelle (dem
|
||||
Prefab-`loot` oder, wenn es fehlt, der Etagentabelle). Die *Zahl* der Haufen steht weiterhin bei der
|
||||
Erzeugung fest, es sind die `l`-Zeichen; ihr Inhalt nicht. Der Save wird dadurch kleiner.
|
||||
|
||||
Möglich ist das nur, weil **alle Haufen dasselbe generische Symbol zeigen**: Die Anzeige verrät damit
|
||||
nichts, was noch nicht gewürfelt ist. Der Gewinn ist, dass ein Glücksring auch auf Beute wirkt, die auf
|
||||
dieser Etage schon liegt.
|
||||
|
||||
Dazu bekommt ein Prefab ein **optionales `loot`-Feld**, das die Etagentabelle für seine `l`-Plätze
|
||||
ersetzt — sonst wäre ein `core:treasure`-Raum nur ein Raum mit mehr `l`-Zeichen. Es nennt eine
|
||||
Tabellen-ID, keine Gegenstände, und bleibt damit über alle Tiefen verwendbar.
|
||||
|
||||
### Siegbedingung — bisher nirgends definiert
|
||||
|
||||
Kein Ticket hatte je festgelegt, was beim Abstieg von der letzten Etage passiert.
|
||||
|
||||
Reference in New Issue
Block a user