Tourismustal: Mega nur fuer sinnvolle Gebaeude

Panoramaweg aus der Merge-Liste entfernt (Linien-Bauwerk). MERGEABLE
exportiert; Editor sperrt die Mega-Checkbox fuer alle nicht merge-
faehigen Typen (Bahnen, Bus, Bikepark, Rodelbahn, Panoramaweg,
Rettungsstation, Aufforsten, Plattform).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 00:11:03 +02:00
parent 20974b8b3b
commit b90abb31a4
2 changed files with 9 additions and 4 deletions
+5 -1
View File
@@ -5,7 +5,7 @@
// Werte wirken live (localStorage tt_sprite_tuning); der Export wird von
// Atlas fest in iso.js übernommen.
import { createState, place } from './model.js';
import { createState, place, MERGEABLE } from './model.js';
import { IsoRenderer, SPRITE_DEFS, SOLAR_POS } from './iso.js';
import { BUILDINGS } from './data.js';
@@ -87,6 +87,10 @@ function spriteDef() {
// ---------- Bühne ----------
function rebuild() {
// Mega gibt es nur für merge-fähige Gebäude (keine Bahnen/Sonderbauwerke)
const megaChk = $('edMega');
megaChk.disabled = !MERGEABLE.includes(sel.value);
if (megaChk.disabled) megaChk.checked = false;
for (const row of state.map) {
for (const t of row) {
t.building = null; t.level = null;
+4 -3
View File
@@ -432,9 +432,10 @@ function effVal(b, key) {
}
// Verschmelzen: liegen 4 gleiche 1×1-Gebäude im 2×2-Quadrat, werden sie zu
// EINEM Megabauwerk (size 2, mega). Bahnen, Bus & Bikepark ausgenommen.
const MERGEABLE = ['restaurant', 'hotel', 'staffhouse', 'snow',
'badesee', 'ropes', 'playground', 'bikerental', 'trail'];
// EINEM Megabauwerk (size 2, mega). Ausgenommen: Bahnen, Bus, Bikepark,
// Rodelbahn, Panoramaweg, Rettungsstation (Linien-/Sonderbauwerke).
export const MERGEABLE = ['restaurant', 'hotel', 'staffhouse', 'snow',
'badesee', 'ropes', 'playground', 'bikerental'];
function tryMerge(state, c, r) {
const type = state.map[r]?.[c]?.building;
if (!type || !MERGEABLE.includes(type)) return null;