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:
@@ -5,7 +5,7 @@
|
|||||||
// Werte wirken live (localStorage tt_sprite_tuning); der Export wird von
|
// Werte wirken live (localStorage tt_sprite_tuning); der Export wird von
|
||||||
// Atlas fest in iso.js übernommen.
|
// 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 { IsoRenderer, SPRITE_DEFS, SOLAR_POS } from './iso.js';
|
||||||
import { BUILDINGS } from './data.js';
|
import { BUILDINGS } from './data.js';
|
||||||
|
|
||||||
@@ -87,6 +87,10 @@ function spriteDef() {
|
|||||||
|
|
||||||
// ---------- Bühne ----------
|
// ---------- Bühne ----------
|
||||||
function rebuild() {
|
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 row of state.map) {
|
||||||
for (const t of row) {
|
for (const t of row) {
|
||||||
t.building = null; t.level = null;
|
t.building = null; t.level = null;
|
||||||
|
|||||||
@@ -432,9 +432,10 @@ function effVal(b, key) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Verschmelzen: liegen 4 gleiche 1×1-Gebäude im 2×2-Quadrat, werden sie zu
|
// Verschmelzen: liegen 4 gleiche 1×1-Gebäude im 2×2-Quadrat, werden sie zu
|
||||||
// EINEM Megabauwerk (size 2, mega). Bahnen, Bus & Bikepark ausgenommen.
|
// EINEM Megabauwerk (size 2, mega). Ausgenommen: Bahnen, Bus, Bikepark,
|
||||||
const MERGEABLE = ['restaurant', 'hotel', 'staffhouse', 'snow',
|
// Rodelbahn, Panoramaweg, Rettungsstation (Linien-/Sonderbauwerke).
|
||||||
'badesee', 'ropes', 'playground', 'bikerental', 'trail'];
|
export const MERGEABLE = ['restaurant', 'hotel', 'staffhouse', 'snow',
|
||||||
|
'badesee', 'ropes', 'playground', 'bikerental'];
|
||||||
function tryMerge(state, c, r) {
|
function tryMerge(state, c, r) {
|
||||||
const type = state.map[r]?.[c]?.building;
|
const type = state.map[r]?.[c]?.building;
|
||||||
if (!type || !MERGEABLE.includes(type)) return null;
|
if (!type || !MERGEABLE.includes(type)) return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user