Talk:Explorers' Club OXP

From Elite Wiki

For future maintainers of Explorers' Club, after I disappear, here's the aspirational roadmap from version 1.4.6 to 1.5 and/or 1.6:-

Future Changes

1. The charts showing systems visited should be there as backgrounds on the mission screens, not shown on the main F6 navigation chart. Nick's beautiful ringed Riredi image is going in as background on the non-chart screens.

2. I have tried, unsuccessfully so far, to restore the photographic record feature from V 1.3.3.

3. When the player arrives in a system included in one of the tours (old worlds, famous planets, et al.) a reminder should appear on the manifest screen; "Complete your tour of the Old Worlds" etc. This requires extracting a _verifyTour function from the longer function it's buried in at the moment. Side effect: a bonus _validateOoniverse function comes out, too. YNK, it might become useful in the future.

4. It needs a function for other OXPs to register an over-ride of the recording option, and needs to be able to - very robustly - restore itself when those other OXPs are removed. I now realize that the simple method used in Serial Killer OXP won't do; Explorers' Club OXP needs to restore itself once Serial Killer is removed, without the player remembering to do it. Sex Drive OXP is waiting at V1.0 for this function, to be used in its V1.1.

FREE ADVICE: don't try doing 1, 2 & 3 above at once. Confusion ensues. Finish one task before starting the next.

4. Should work like this: from the other OXP call a classic, Murphy-style, long function name with a TWO-DIGIT, whole-number, recording option, and the name of the script taking over:

worldScripts["Explorers Club"]._exclub_registerOverRideOfRecordingOption("99","Serial Killer")

This function would store ["existing record_option", "new record_option", "script name", "script version", "script manifest identifier"] in a mission variable, AFTER verifying 100 > new option > 9, and verifying the script named actually exists with that name.

Should return false if (1) script existence can't be verified (der), (2) existing record_option is not a single-digit number (already an over-ride in place), or (3) new record_option is not a two-digit whole number (RTFM).

In .startUp if record_option > 9 (i.e. not native), check that the stored details are still valid. If so, then so. If not, i.e. the over-riding OXP has been removed or revised, revert to previous single-digit record_option.

Seems simple.