Tourismustal: iPad-Feedback Runde 2 (5 Punkte)
- Bau-Ablehnung erklaert jetzt immer auch die Bauregeln des Gebaeudes (Toast: Grund + Beschreibung, 7 s). - Lehrer-Schalter fuer den Vorlese-Modus: class_modules.audio_info (Migration, Default AN) + modules-API set_audio_info + Toggle auf der Modul-Karte im Cockpit (Vorlesen an/aus) + Wrapper injiziert TT_FEATURES.audioInfo + Sim blendet den Umschalter aus und erzwingt Lese-Modus, wenn gesperrt. - Bus zeigt bei Rueckfahrt sein Heck: Heckscheibe + rote Ruecklichter, Tuer/Spiegel richtungsabhaengig. - Bikepark-Flowtrails: 3 Stufen hangAUFwaerts (gleiche Richtung wie Lift-Pisten). - Info-Button an jedem Bauwerk im Baumenue: erklaert Wirkung, Kosten, Lage-Regeln und Lehrplan-Wissen VOR dem Bau. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -347,12 +347,13 @@ export function place(state, type, c, r) {
|
||||
}
|
||||
}
|
||||
if (def.trailLen) {
|
||||
// Bike-Trails schlängeln sich talwärts unter der Basisstation (Bikepark).
|
||||
// Sichtbar groß, aber nur 1 Feld Gebäude – und sie kosten extra Natur.
|
||||
// Bike-Trails ziehen sich hangAUFwärts über der Basisstation – gleiche
|
||||
// Richtung wie die Lift-Pisten (die Bahn bringt die Bikes hinauf, die
|
||||
// Trails führen zurück herunter). Sie kosten extra Natur.
|
||||
let cc = c;
|
||||
for (let i = 1; i <= def.trailLen; i++) {
|
||||
cc += (i % 2 ? 1 : -1);
|
||||
const t = state.map[r + i]?.[Math.max(1, Math.min(MAP_COLS - 2, cc))];
|
||||
const t = state.map[r - i]?.[Math.max(1, Math.min(MAP_COLS - 2, cc))];
|
||||
if (t && t.terrain !== 'water' && !t.building) {
|
||||
state.trails.push({ c: t.c, r: t.r, owner: { c, r } });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user