DATABASE / FORMULAS
Formelnachschlag
Keine Herleitungen, nur Ergebnisse. Alle Formeln finden sich in OpenFrontIO/src/core/configuration/Config.ts.
⚠ Lesehinweis
Die Formeln verwenden die Variablennamen aus dem Spiel (tick, tiles, troops).
10 ticks ≈ 1 Sekunde. Die Konstante DEFENSE_DEBUFF_MIDPOINT = 150,000 tiles stammt aus dem Quellcode.
- Flachland
- mag = 80, speed = 16.5
- Hochland
- mag = 100, speed = 20
- Bergland
- mag = 120, speed = 25
- Verteidigungsposten-Bonus
- Innerhalb von 30 Tiles: mag ×5, speed ×3
- Fallout-Zonen-Strafe
- mag *= (5 - falloutRatio × 2)
- Großarmee-Sigmoid-Strafe
- defenseSig = 1 - sigmoid(defender.tiles, ln(2)/50000, 150000)
- Verrats-Strafe
- Verteidigung ×0.5, Geschwindigkeit ×0.8, Dauer 300 Ticks (30s)
- Großangreifer-Bonus
- Wenn tiles > 100k: bonus = (100k/tiles)^0.7
- Bevölkerungslimit-Basis
- 2 × (0.6 × tiles^0.6 × 1000 + 50.000) + Σ(cityLevel × 250.000)
- Bevölkerungstyp-Multiplikator
- Mensch ×1 / Bot ÷3 / Nation Easy ×0.5, Med ×0.75, Hard ×1, Imp ×1.25
- Truppenwachstumsrate
- toAdd = (10 + troops^0.73 / 4) × (1 - troops / maxTroops)
- Basis-Goldeinkommen
- Spieler 100 / Tick, Bots 50 / Tick (× goldMultiplier)
- Stadt-Truppenbonus
- Jede Stadt-Stufe gibt +250.000 Truppenlimit
- Zug-Einkommen
- baseGold (Verbündeter 35k / Team 25k / selbst 10k) − distPenalty (5.000 × max(0, citiesVisited − 9)), min 5.000
- Handelsschiff-Einnahmen
- floor( (75.000 / (1 + exp(-0.03 × (dist - 300))) + 50 × dist) × goldMultiplier )
- Handelsschiff-Spawn
- spawnRate = floor((100 × 1/(rejections+1)) / (1 - sigmoid(numShips, ln(2)/50, 200)))
- Handelsschiff-Limit
- Global 150 Schiffe (v24)
- Atombomben-Explosionsradius
- inner 12 / outer 30 Tiles
- Wasserstoffbomben-Explosionsradius
- inner 80 / outer 100 Tiles
- MIRV-Sprengkopf
- inner 12 / outer 18 Tiles
- SAM-Abklingzeit
- 90 Ticks (9s)
- SAM-Reichweiten-Formel
- samRange(level) = 150 - 480 / (level + 5); Standard 70, Top ≈ 140, Max 150
- SAM-Abfangziele
- Nur AtomBomb / HydrogenBomb; MIRV-Körper und Sprengköpfe immun
- Vorab-Feuer-Fenster
- tickBeforeShooting = nukeReachTick − samReachTick ≥ 0
- Allianzdauer
- 3000 Ticks ≈ 5 Minuten
- Verlängerungswarnung
- Beide Parteien werden 300 Ticks (30s) vor Ablauf benachrichtigt
- Verlängerungsregeln
- Beiderseitige Zustimmung = automatische Verlängerung; einseitige Zustimmung = Verlängerungsfenster
- Verrats-Soforteffekt
- Löst automatisches Embargo aus; Verteidigung ×0.5, Geschwindigkeit ×0.8, Dauer 300 Ticks
- Spawn-Immunität
- 50 Ticks (5 Sekunden) Angriffsimmunität
- Zufällige Spawn-Phase
- Einzelspieler 100 Züge / Multi zufällig 150 Züge / Multi fest 300 Züge