Planet verloren: Wenn ein Planet im Kampf verloren wird, ändert er den Besitzer. Eine Basis wird dabei zerstört.

Defense_after_combat =
   0
Colonists_after_combat =
   Trunc(Colonists * Eff_SurvivalRate / 100)
      ...mit Eff_SurvivalRate =
            Trunc(ColonistCombatCaptureRate[Ship_Owner] * ColonistCombatSurvivalRate[Planet_Owner] / 100)
      ...mindestens 1
Colonist_happiness_after_combat =
   Colonist_happiness - Trunc(Eff_SurvivalRate / 2)
      ...at least MinimumHappiness
Experience_points_after_combat =
   Trunc(Experience_points * Eff_SurvivalRate / 100)
Natives_after_combat =
   Trunc(Natives * NativeCombatSurvivalRate / 100)
Native_happiness_after_combat =
   Native_happiness - 20
      ...mindestens MinimumHappiness

Planet siegt: Im Kampf genutzte Munition wird zuerst aus dem Lager der Sternenbasis genommen. Es ist auch die Sternenbasis, die zuerst Schaden nimmt.

Fighters_lost =
   Min(Fighters_launched_in_combat, Base_fighters)

Der Torpedovorrad, der im Kampf benutzt wird, wird aus allen am Lager befindlichen Typen zusammengestellt. Deshalb muss die Basis auch Torpedos aller Typen abgeben, wenn sie im Kampf Torpedos feuert. PHost nutzt dafür folgenden Algorithmus:

Torpedo_costs =
   Torps_fired * Torp_money_cost(Torp_type)

Repeat
   For i:=1 To 10     (Schleife über alle Torpedotypen)
      If (Torps_in_storage(i) > 0) And (Torpedo_costs > Torp_money_cost(i))
         Einen Torpedo des Typs type i entfernen
         Torpedo_costs um Torp_money_cost(i) verringern
      EndIf
   EndFor
Until die innere Schleife keine weiteren Torpedos entfernen kann

Damit wird versucht, die Verluste gleichmäßig über alle Typen zu verteilen.

Endzustand: Ein Planet kann pro Zug an mehreren Kämpfen teilnehmen. Nachdem diese alle überstanden sind, werden die Auswirkungen des Schadens ermittelt.

Base_damage_after_combat =
   Base_damage + Damage_taken
   ...wenn das 100 oder mehr sind, wird die Basis zerstört

Base_defense_after_combat =
   Trunc(Base_defense * Damage_taken / 100)

Max_base_tech =
   Max(1, Trunc((100 - Base_damage_after_combat) / 10))

Defense_after_combat =
   Trunc(Planet_defense * Damage_taken / 100)

Max_base_tech ist der höchste Techlevel, den die Sternenbasis nach dem Kampf noch haben kann. Techlevels, die diese Grenze überschreiten, werden entsprechend gesenkt.

This is a testing version.
It may be incomplete, and have more bugs (or features) than the public live version at planetscentral.com.