diff --git a/FNPlugin/FNNuclearReactor.cs b/FNPlugin/FNNuclearReactor.cs index 59792017..08cfee2b 100644 --- a/FNPlugin/FNNuclearReactor.cs +++ b/FNPlugin/FNNuclearReactor.cs @@ -68,12 +68,12 @@ public void SwapFuel() { if (actinides.amount <= 0.0001) { if (uranium_fuel) { defuelUranium(); - if (uf4.amount > 0) { return; } + if (uf4.amount > 0.001) { return; } setThoriumFuel(); RefuelThorium(); } else { defuelThorium(); - if (thf4.amount > 0) { return; } + if (thf4.amount > 0.001) { return; } setUraniumFuel(); RefuelUranium(); } diff --git a/FNPlugin/ModuleElementRadioactiveDecay.cs b/FNPlugin/ModuleElementRadioactiveDecay.cs index 4340382c..e2409be0 100644 --- a/FNPlugin/ModuleElementRadioactiveDecay.cs +++ b/FNPlugin/ModuleElementRadioactiveDecay.cs @@ -23,16 +23,22 @@ public override void OnStart(PartModule.StartState state) { return; } decay_resource = part.Resources[resourceName]; - part.force_activate(); + if (decay_resource!=null) + { + part.force_activate(); + } } public override void OnFixedUpdate() { - double decay_amount = decayConstant * decay_resource.amount * TimeWarp.fixedDeltaTime; - decay_resource.amount -= decay_amount; - if (PartResourceLibrary.Instance.resourceDefinitions.Contains(decayProduct)) { - part.RequestResource(decayProduct, -decay_amount); + if (decay_resource != null) + { + double decay_amount = decayConstant * decay_resource.amount * TimeWarp.fixedDeltaTime; + decay_resource.amount -= decay_amount; + if (PartResourceLibrary.Instance.resourceDefinitions.Contains(decayProduct)) + { + part.RequestResource(decayProduct, -decay_amount); + } } } - } }