The orbiting moon problem

I have put together a system with an orbiting moon. Basically it's four syst's all at the same x, y coordinates and with the same hyper-jump links. Each system one jump away has a link to all four systems. There is a cron in the game that swaps out the mutually exclusive systems at regular intervals. All four systems have the same two spobs, the planet and the moon. In each of the four systems the moon is in a different x, y position and thus appears to be rotating around the planet. So far its pretty basic. Here's the problem, if you land on the planet during a moon phase change, your game gets saved in, for example (spob: planet in sys: waxing). But after you take off the bits only allow, for example (spob: planet in sys: full moon) to be visible. If you quit the game after landing, since your game was saved in a now invisible system, the game figures your pilot data is corrupted and won't give you the option of reloading it.

Does anyone have any fix suggestions? If there were a test bit, like Zxxx that tests to see if the player character is in syst xxx, I could use it to activate and de-activate the cron that allows the moon phase shift in the first place. I see two problems with this. First, I can't find such a test bit as my hypothetical Zxxx. Second, even if this fix were implimented, if a character were to repeatedly land and take off from the planet, each attempt taking one day, then the player could advance time throughout the whole year and the moon would never change phase.

Ultimately, I'd like a fix that will take care of both problems, but I'd settle for a solution like the Zxxx solution. Any suggestions anyone?

maybe you could arrange it so you have two seperate crons for each event. Make it so that when you jump into the system, a bit is turned on, and when you jump out of the system, the bit is turned off.

for each cron, put the conditions for one with condition is bit is off, and the other for when the bit is on.
for the "off" cron, do what you do normally, but for the "on" cron, transport the player to the approiate system when the day comes.

does anybody see any way this would'nt work?

That's not supposed to happen, the game is smarter than that. At the least it should simply reactivate the invisible system (I've since messages to that effect in the debug log on occasion) but I would have expected it to automatically transfer you to the new system. In any case, talk to Pace since he already has a working implementation of a system constantly changing.

This post has been edited by Guy : 31 January 2007 - 08:17 PM

I was thinking, if you had a non dockable moon, you might be able to play with making most ships gravity defiant, and a "moon" ship (unarmed, or is it?) which is not. If all the planets have gravity, then that might do something interesting.