Tourismustal: Megabauwerke + Figuren-Feinschliff
- Merge-Mechanik: 4 gleiche 1x1-Gebaeude im Quadrat verschmelzen zum 2x2-Megabauwerk. Skaleneffekt als Lernmoment: 4-fache Leistung, nur 3-fache Betriebskosten (Erklaerkarte beim ersten Mal). Level = Maximum der Teile, Abriss-Erloes auf 4-fachem Bauwert, Bahnen/Bus/Bikepark ausgenommen. Rendering zentriert und 1.75x skaliert. - Gaeste stehen nicht mehr im Wasser (dwell auf Wasser -> sofort ans Ufer). - Skifahrer schimpft "#*!", wenn ihm der Schnee unterm Ski ausgeht. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -128,12 +128,29 @@ function onTileTap(c, r) {
|
||||
telemetry.log('build_rejected', { type, c, r, reason: check.reason });
|
||||
return;
|
||||
}
|
||||
place(state, type, c, r);
|
||||
const res = place(state, type, c, r);
|
||||
ui.toast(`✅ ${BUILDINGS[type].name} gebaut.`);
|
||||
ui.clearBuildSelection(); // Baumodus verlassen → sicher navigieren
|
||||
audio.build();
|
||||
ui.updateKPIs();
|
||||
telemetry.log('build_placed', { type, c, r, moneyLeft: state.money });
|
||||
// 4 gleiche im Quadrat → Megabauwerk (Skaleneffekt-Lernmoment)
|
||||
if (res.merged) {
|
||||
audio.milestone?.();
|
||||
renderer.addFloat('🏛️ Megabauwerk!', '#e8892b', res.merged.c + 1, res.merged.r - 0.5, true);
|
||||
const first = !state.firedEvents.has('mega-info');
|
||||
state.firedEvents.add('mega-info');
|
||||
ui.showCard({
|
||||
id: `mega-${res.merged.c}-${res.merged.r}`, icon: '🏛️', sound: 'milestone',
|
||||
title: `Megabauwerk: ${res.merged.name}!`,
|
||||
text: `Vier gleiche Gebäude im Quadrat sind zu EINEM großen ${res.merged.name} verschmolzen.`
|
||||
+ '\n\nDas ist ein Skaleneffekt: Das Megabauwerk leistet so viel wie '
|
||||
+ 'alle vier zusammen – braucht aber nur die Betriebskosten von DREI. '
|
||||
+ 'Große Betriebe arbeiten pro Gast günstiger als kleine.'
|
||||
+ (first ? '\n\nTipp: Das klappt mit vielen Gebäudetypen – probiere es aus!' : ''),
|
||||
});
|
||||
telemetry.log('mega_merge', { type, c: res.merged.c, r: res.merged.r });
|
||||
}
|
||||
// Lernprogramm: beim ERSTEN Bau jedes Typs erklärt eine Karte die Wirkung
|
||||
const infoId = `bi-${type}`;
|
||||
if (BUILD_INFO[type] && !state.firedEvents.has(infoId)) {
|
||||
|
||||
Reference in New Issue
Block a user