Storing the state of changing content
Currently any game content which is not simply a static spawn, but instead has movement, events, scripts running, will be despawned when the last player is out of range, since the grid will be unloaded.
This does pose an issue, since returning characters will find the game content at it's initial state once returning to the grid area, as the content will be starting at it's initial state once again.
Any game content which does change during it's lifetime should instead of just being unloaded, store it's state prior to unloading, so that upon characters reentering the grid, we can calculate the how far the content would have progress in it's defined changes.
In Undercity, there is a constant event where Warlock trainers will summon all kinds of demons for training purposes. Currently when all characters have left the grid, this event would be unloaded, and once a characters enters the grid, the event would start from where it left off.
A proper solution would save the current progress in the events chain of things, and calculate how far the event would have progressed meanwhile, so that instead of seeing the event start again, you would now see the end if if had progress a few steps while the grid was unloaded.
In order to achieve this, any kind of script, event, would need to have timing information, and we would need to store pointers towards all scripts, events, movements, etc. including time stamps, in order to calculate the events progress while it was not visible.