Klima: Geflutet an Meeresspiegel koppeln (kein Deckel-Plateau) -> Zahl passt zur Karte

floodedPct = sea*0.45 + max(0,sea-prot)*1.1. Vorher deckelte der Strand-Anteil bei
12%, sobald Schutz das Inland trocken hielt -> alle Spieler zeigten 12% egal wie das
Klima stand. Die Karte zeichnet die Flut aber aus seaLevelCm -> Zahl und Bild liefen
auseinander. Jetzt steigt die Zahl stetig mit dem Meeresspiegel (Klimafolge), Schutz
daempft nur den Zusatzschaden. Node-validiert: gutes Klima=niedrige Flut, hohe Temp=
hohe Flut, gleiche-Tick-Spreizung statt Plateau.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-23 11:43:58 +02:00
parent 48971b4588
commit 47adf0497d
+11 -11
View File
@@ -218,17 +218,17 @@
game.seaLevelCm = game.seaFastCm + game.committedSeaCm;
// Geflutet-Anteil = sichtbare Wirkung auf der Karte. STETIG (kein Plateau),
// damit der Wert erkennen lässt, wie gut jemand spielt:
// 1) Strand: geht auch bei gutem Schutz ein Stück verloren (unvermeidbar),
// gedeckelt bei 12 % — der „Preis" jedes cm Meeresspiegel.
// 2) Inneres Land (Häuser): wächst stetig mit dem SCHUTZ-bereinigten
// Anstieg. Guter Schutz (Deiche/Mauern) drückt effRise stark → hält
// das Inland lange trocken; ohne Schutz säuft es rasch ab.
const effRise = Math.max(0, game.seaLevelCm - game.protection * 0.85);
const beachLoss = Math.min(12, game.seaLevelCm * 0.55);
const interior = Math.min(85, effRise * 1.5);
game.floodedPct = Math.round(Math.min(100, beachLoss + interior));
// Geflutet-Anteil = sichtbare Wirkung auf der Karte. STETIG mit dem
// Meeresspiegel — KEIN Deckel-Plateau, damit der Wert die Klimaleistung
// widerspiegelt (nicht nur „hat Deiche gebaut"):
// • Grundanteil (Strand/Küste) steigt direkt mit dem Meeresspiegel und
// lässt sich NICHT wegdeichen — er ist die unvermeidbare Folge der
// Erwärmung. Niedrige Temperatur → niedriger Meeresspiegel → wenig Flut.
// • Zusatzschaden dort, wo der Anstieg den Schutz ÜBERRENNT (effRise):
// Deiche/Mauern verzögern das Absaufen des Inlands, halten aber nicht
// ewig. So hilft Schutz spürbar, ersetzt aber keinen Klimaschutz.
const effRise = Math.max(0, game.seaLevelCm - game.protection);
game.floodedPct = Math.round(Math.min(100, game.seaLevelCm * 0.45 + effRise * 1.1));
}
/* ============================================================