Mine.ore.cs bugs

Hello!

Today i see next bug:

My Retriever undock, jump to ‘belt’ bookmark and next step was jump to ‘dock’ bookmark. Dock. Repeat.

Log:

10.10.41 43 ore hold fill: 0%, mining range: 0, mining modules (inactive): 0(0), shield.hp: 100%, EWO: True, JLA: , overview.rats: 0, overview.roids: 0, offload count: 11, nextAct: DefenseStep10.10.43 412 dock to or warp to bookmark: 'DOCK'10.10.45 422 menu entry not found for bookmark: 'DOCK'10.10.45 43 ore hold fill: 0%, mining range: 0, mining modules (inactive): 0(0), shield.hp: %, EWO: True, JLA: , overview.rats: , overview.roids: , offload count: 11, nextAct: DefenseStep10.10.47 175 exit defense.10.10.49 43 ore hold fill: 0%, mining range: 0, mining modules (inactive): 0(0), shield.hp: %, EWO: True, JLA: , overview.rats: , overview.roids: , offload count: 11, nextAct: MainStep10.10.51 393 unload to hangar.10.10.51 457 waiting for undocking to complete.10.11.03 412 dock to or warp to bookmark: 'belt41'10.11.07 447 initiating Warp to Location Within 0 m10.11.08 465 measure tooltips of all modules.10.11.09 474 measure module.10.11.14 474 measure module.10.11.19 43 ore hold fill: 0%, mining range: 15000, mining modules (inactive): 2(2), shield.hp: 100%, EWO: True, JLA: , overview.rats: 0, overview.roids: 0, offload count: 11, nextAct: InBeltMineStep10.11.21 412 dock to or warp to bookmark: 'DOCK'10.11.26 447 initiating Dock10.11.28 43 ore hold fill: 0%, mining range: 15000, mining modules (inactive): 2(2), shield.hp: 100%, EWO: True, JLA: , overview.rats: 0, overview.roids: 0, offload count: 11, nextAct: InBeltMineStep10.11.30 412 dock to or warp to bookmark: 'DOCK'10.11.34 447 initiating Dock

I guess the reason may be variable EmergencyWarpOut. As i understand, by default this variable is ‘false’, but if your ship was damaged enough it set to ‘true’.

void EmergencyWarpOutUpdate(){ if(Measurement?.IsDocked ?? false) return;  if(!(EmergencyWarpOutHitpointPercent < ShieldHpPercent)) EmergencyWarpOut = true;}

soo, next code work and ship docking:

 if(EmergencyWarpOut)   if(!(Measurement?.IsDocked ?? false))   {      InitiateDockToOrWarpToBookmark(StationBookmark);      continue;   }
1 Like

I guess the reason may be variable EmergencyWarpOut. As i understand, by default this variable is ‘false’, but if your ship was damaged enough it set to ‘true’.

Yes, the “EWO” part in the log shows the value of EmergencyWarpOut was set to true.

The problem might have been that when undocking sometimes a measurement is made which already has IsDocked == false but the hitpoints still empty as in station.

I will add a call to the new method

InvalidateMeasurement

after that line: https://github.com/Arcitectus/Sanderling/blob/master/src/Sanderling/Sanderling.Exe/sample/script/Mine.ore.cs#L460. So it will take a new measurement after the delay.

And of course it should either reset the EmergencyWarpOut variable when docked or not undock anymore.

I am leaning towards staying docked.