Thank you to everyone for your comments! I've taken it all on board to produce this next release. Given the changes I might take the time to describe them in a bit more detail.
@beo: Thanks for offering your suggested populator changes. I tried them out, but I'm afraid I'm going to need a bit more convincing! The issue I found is that stations end up too
unpopulated, which means there are almost no regular ship launches. But for your convenience I've put your alternate settings in as a switchable config item: just go to line 1460 of "stationdockcontrol.js" and change
var calctype = 0;
var calctype = 1;
and you're good to go with your version.
What I have done is taken the different Wildships station roles and split them into different populator lists, so a mammoth Habitat station has more ships than a solar station.
@Disembodied/Anonymissimus: I've adjusted the "Launch before/after" options to (a) be off by default, and (b) to only become available once the player is recognised by NPC's in a particular role and the destination system is suitably dangerous. This should mean that the availability of free wormhole travel is much more restricted, and should change over time as the player improves and becomes known for particular activities. A newly minted Jameson should get nothing. An Elite-rated hunter should get a few, but hopefully none to easy systems. Let me know what you think of my logic - you can find it between lines 3561 and 3655 of "stationdockcontrol.js". Basically the routine
does all the work. Destinations are hidden by default, and the calculations are to determine if the player will be shown the destination, and therefore be able to launch before or after those ships. Because of the new design I've also expanded the viewing period from 4 to 12 hours, essentially undoing a change I made previously in an attempt to limit the wormhole availability.
I haven't included the assassin trap functionality yet. My first attempt (of just setting a local witchspace destination) is insufficient, as the default assassin AI doesn't ever look to jump to another system - they wait for a courier at either the station or the witchpoint. So assassin's won't jump out without a kick in their AI somewhere, and even then, there's no guarantee they will pick the player as their target without another kick in their AI. So I'm open to suggestions on how to do this easily, without having to code up a lot of new AI.
Just so it's clear, you won't see the change to the dock list until you either (a) edit your save file and remove the "StationDockControl_Data" element, which forces the OXP to recreate your dock list (which isn't recommended!), (b) purchase something with a greater than 24 hour installation time, which again forces the OXP to recreate your dock list, or (c) jump to a new system.
So, version 0.10.0 is now available for download via the manager or links in the first post. Here's a complete list of changes:
- Added more dock versions of ships from Random Hits OXP.
- Ships that dock with goods illegal to import will sometimes get an increase to their bounty.
- Added extra routine to check for orphaned group members in the rescheduler.
- Divided up WildShip stations into different station lists to better match their individual roles.
- If a station doesn't exist anymore while data resides in the array, ship data will now be slowly removed.
- Added astrofactory from Dictators.oxp to station list.
- Dock list destinations only viewable by clean pilots.
- Dock list launch before/after request options only available to clean pilots.
- Dock list launch before/after request will be hidden if the ship destination is also hidden.
- The decision to hide ship destinations is now based on the player's role as perceived by NPC's and the danger level at their destinations.
- Adjusted destination viewing period to 12 hours.
- Changed the color of menu items so it's less yellow.
- Adjusted the skip factor for adding hunters, making them slightly more regular.
- Code refactoring.
- Bug fixes.
As always, comments, suggestions and bug reports welcome!