Tourismustal: Naturwert aktiv zurueckgewinnen (Oeko-Umbau + Aufforsten)
Antwort auf die Design-Frage 'Naturwert zurueck ausser weniger bauen': - Oeko-Umbau pro Gebaeude (Button im Gebaeude-Dialog): einmalig, 40 % des Bauwerts, dafuer -20 % Betriebskosten, +2 Naturwert, Gebaeude belastet die taegliche Natur-Regeneration nicht mehr. Sichtbar: Solardach-Overlay (auch auf Megabauwerken, 1,6x). Didaktik: Investition vs. laufende Kosten, nachhaltiges Wirtschaften (GW 4.10). - Aufforsten als wiederholbare Aktion im Baumenue (1.500 Euro): pflanzt Wald auf freie Wiese/Alm/Feld, +3 Naturwert, Werkzeug bleibt aktiv fuer Serien-Pflanzung. Wissen: Renaturierung + Schutzwald (1/3 des oesterreichischen Walds). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// Einstiegspunkt: Szenenwahl → Spielstart. Verdrahtet Modell, Renderer,
|
||||
// Audio und UI und treibt die laufende Zeit an (einstellbare Zeitskala).
|
||||
|
||||
import { createState, simulateDay, canPlace, place, demolish, upgrade, buildingReport } from './model.js';
|
||||
import { createState, simulateDay, canPlace, place, demolish, upgrade, ecoUpgrade, buildingReport } from './model.js';
|
||||
import { BUILDINGS, EVENTS, MILESTONES, DECISIONS, HINTS, ADVISOR, BUILD_INFO } from './data.js';
|
||||
import { IsoRenderer } from './iso.js';
|
||||
import { UI } from './ui.js';
|
||||
@@ -102,6 +102,16 @@ function inspectBuilding(c, r) {
|
||||
telemetry.log('upgrade', { c, r, cost: res.cost, level: res.level });
|
||||
ui._closeBuilding(); // Karte schließen → man sieht die Baustelle
|
||||
},
|
||||
onEco: () => {
|
||||
const res = ecoUpgrade(state, c, r);
|
||||
if (!res.ok) { ui.toast(`❌ ${res.reason}`); audio.error(); return; }
|
||||
audio.build();
|
||||
renderer.addFloat('🌱 Öko-Umbau!', '#3f8f5e', c + 0.5, r - 0.5, true);
|
||||
ui.updateKPIs();
|
||||
ui.toast(`🌱 ${res.name} läuft jetzt als Öko-Betrieb (−${res.cost.toLocaleString('de-AT')} €): −20 % Betriebskosten, +2 Naturwert.`, 6000);
|
||||
telemetry.log('eco_upgrade', { c, r, cost: res.cost });
|
||||
inspectBuilding(c, r); // Karte mit neuem Status
|
||||
},
|
||||
onDemolish: () => {
|
||||
const res = demolish(state, c, r);
|
||||
if (!res.ok) { ui.toast(`❌ ${res.reason}`); audio.error(); return; }
|
||||
@@ -130,6 +140,13 @@ function onTileTap(c, r) {
|
||||
return;
|
||||
}
|
||||
const res = place(state, type, c, r);
|
||||
if (res.planted) {
|
||||
ui.toast('🌲 Wald gepflanzt: +3 Naturwert. Weiter tippen zum Aufforsten!', 4000);
|
||||
audio.build();
|
||||
ui.updateKPIs();
|
||||
telemetry.log('forest_planted', { c, r, moneyLeft: state.money });
|
||||
return; // Werkzeug bleibt aktiv – Aufforsten in Serie
|
||||
}
|
||||
ui.toast(`✅ ${BUILDINGS[type].name} gebaut.`);
|
||||
ui.clearBuildSelection(); // Baumodus verlassen → sicher navigieren
|
||||
audio.build();
|
||||
|
||||
Reference in New Issue
Block a user