There are a number of recent tickets related to docking ports on ships.

Molotok Bounty Hunters apparently have docking ports, (objGetProperty theMolotok 'hasDockingPorts) returns a positive value, but I can't see where these are added.
dockingPortCount returns 4.

The re-purposed Charon ships in TBR also appear in lists which contain criteria for ships with docking ports. Vikings and Corsairs for sure but possibly also Drakes.

This was happening in 1.8b1 and I'm fairly sure it is still happening in 1.8b2.

assumedpseudonym 4 Jul 2018:

 What repurposed ships? Renaming the stations and sovereign relations in the Stannis system are all done inside <OnGlobalPlayerEnteredSystem>, and I haven’t done anything to modify any of the ships at all.

relanat 7 Jul 2018:

Huh! Oh well, something is happening in TBR.
I double checked and Corsairs, Corsair-IIs, Vikings, Drakes and frigates show as having docking ports in TBR in 1.8b2. Viking-IIs and Marauder raid platforms do not.

Still happening in 1.8b2 to Molotoks too though they are called Molotok-class heavy gunships now.

george moromisato 15 Aug 2018:

In 1.8 Beta 1 I had ships automatically add docking ports to handle the case where a mission added a docking screen.

I can fix this (I think) by only adding docking ports when a ship actually has a docking screen.

george moromisato 5 Sep 2018:

Fixed in 1.8 Beta 3. You'll have to start a new game (old games might still show the problem).

The problem was caused by adding code that auto-creates docking ports on ships. The goal was to allow missions and scripts to add docking screens to any ship via event handlers.

Unfortunately, existing <GetGlobalDockScreen> code returns dock screens even for ships. For example, the Black Market code that checks for an ID returns a screen for both Black Market stations and ships. This caused such ships to auto-create ports.

The fix was to ignore screens generated by <GetGlobalDockScreen> for purposes of auto-creating ports.

relanat 29 Nov 2018:

Spotted by AP. In 1.8b3.3 Molotoks no longer have docking ports added to them but the TBR Charon ships are still getting them added automatically.
Based on limited testing any Charon ship which is assigned to one of the renamed stations is getting docking ports. Charon ships around non-renamed stations, eg Marauder outposts, do not get docking ports added.

assumedpseudonym 29 Nov 2018:

 The issue might have been partially on my end. Adding an (objIsShip gSource) check to the <GetGlobalDockScreen> code I use for Charon (which is necessary for the friendly stronghold in Stannis to check for irradiated playerships (or work at all, really)) keeps ships from popping up docking refusal messages, but that doesn’t really prove whether or not the engine-side code is working as intended.

 Here’s my old code on that, if it helps:

<GetGlobalDockScreen>
	(switch
		(objGetProperty gSource 'abandoned)
			nil
		(not (eq (objGetSovereign gSource) &svPirates;))
			nil
		(shpIsRadioactive gPlayerShip)
			(list &dsAECharonDecon; 10)
		(list &dsAECharon; 2)
	)
</GetGlobalDockScreen>
george moromisato 12 Feb 2019:

@AP: I think the engine is working correctly. In this case you are adding the dsAECharon screen to all pirate objects (ships and stations). If you don't want a dock screen on ships, then you need the check for objIsShip (or use a objMatches).

NOTE: The reason we add docking ports on ships is to handle the case where a mission adds a docking screen to a ship.

assumedpseudonym 12 Feb 2019:

 Makes sense. Thanks, Boss.