OK, I found an issue (using latest TC version on XTC 2.2b): it doesn't list the OTAS ships.
In XTC, the OTAS ships belong to "Friendly Race" and are produced by "OTAS Shipyard" which also belongs to "Friendly Race" but is hosted in an Argon core sector (Sirius III). It also requires reputation with the Argon to buy them.
So I thought, maybe there's an issue with this script and "Friendly Race" ships in general. I debugged it by adding lots of "write to player logbook" lines but eventually the cause was surprising: it appears that if you query for the list of shipyards using the well known "get station array: of race $race class/type={Shipyard 2037}" it just doesn't list anything for "Friendly Race". Even weirder, the OTAS Shipyard is listed if you query for the shipyards using race "Argon 1". Not sure why the scripting engine in the game behaves this way, the OTAS Shipyard clearly belongs to "Friendly Race 13" (in XEditor2 for example). Maybe the game engine gets confused by the fact that the OTAS Shipyard is present in an Argon sector so it's listing it if you query for Argon stations.
ANYWAY, the fix is kinda of a hack (I'm open to suggestions), essentially if I detect that the ship race is "Friendly Race 13" then I make sure I query for shipyards for "Argon 1" instead. In your script I have changed these lines:
Code: Select all
find_closest_known_shipyard:
$syrace = $ship.race
if $syrace == {Friendly Race 13}
* OTAS shipyards are found by searching for Argon shipyards, no idea why.
$syrace = {Argon 1}
end
$station.list = get station array: of race $syrace class/type={Shipyard 2037}
...
EDIT: looking at v1.1 (AP only) changelong, this actually would have also fixed the issue as the problem is present when trying to find where to buy the ship and doesn't exist otherwise:
+ Changed rules so that being known to the player will allow the ship to be shown rather than requiring the player to know where to purchase the ship.
I may look into your v1.1 code and try to replicate that part in v1.0 (TC compatible) if it's not hard.