diff --git a/src/general/EndosymbiosisData.cs b/src/general/EndosymbiosisData.cs index 2b948068d1..b67094d294 100644 --- a/src/general/EndosymbiosisData.cs +++ b/src/general/EndosymbiosisData.cs @@ -113,6 +113,15 @@ public bool CancelEndosymbiosisTarget(int targetSpeciesId) return true; } + public bool CancelAllEndosymbiosisTargets() + { + if (StartedEndosymbiosis == null) + return false; + + StartedEndosymbiosis = null; + return true; + } + public InProgressEndosymbiosis MarkEndosymbiosisDone(InProgressEndosymbiosis endosymbiosisToComplete) { if (StartedEndosymbiosis == null) diff --git a/src/microbe_stage/MicrobeStage.cs b/src/microbe_stage/MicrobeStage.cs index 6771e16217..688395558a 100644 --- a/src/microbe_stage/MicrobeStage.cs +++ b/src/microbe_stage/MicrobeStage.cs @@ -586,6 +586,8 @@ public void MoveToMulticellular() throw new Exception("failed to keep the current scene root"); } + GameWorld.PlayerSpecies.Endosymbiosis.CancelAllEndosymbiosisTargets(); + // TODO: The multicellular stage needs to be able to track statistics and not break organelle unlocks GameWorld.UnlockProgress.UnlockAll = true;