Talk:Explorers' Club OXP

From Elite Wiki
Revision as of 07:39, 22 July 2024 by Wildeblood (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

5. Next time I'm messing about with the script, I'll probably add a "coreOnly" function that leaves the datalogging running but removes all the player visible aspects.

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.