Scott Wedel wrote: > A better scheme for resetting maps would be to note what maps are part of a > connected set of maps. Then the map reset logic could decline to reset any of the > connected maps if a player is on any of the maps (letting a player in a dungeon > get out) and set a relatively short reset timeout if the maps are unoccupied. Yep - this makes a lot more sense. The reset time for unoccupied maps could be relative short (10 minutes let say for maps in town - enough time for a player currently working on the map to make some visits to shops to buy/sell extra stuff. The reset time should probably be related to how close/far the map is to various services. The easiest way to do this would probably be to add a field in the map structure called something like 'related_maps' or 'map_series'. When the map logic is about to reset a map, it looks for any other maps in its series, and if any have a greater reset time than the map to reset, the current map is reset to the timeout on the one with the higest timeout. The effect of this will to that eventually all maps in a series will get the same reset time, at which point they all reset. > As for the current kludge, it could be further kludged to extend the map reset > timeout only after a character makes some number of moves in the map. That'd > allow a player to see that a map is unchanged and immediately leave without > changing the map reset timeout. This could be done. However, if the reset time for unoccupied maps is relatively short, players could literally guard the map - "don't enter yet - I'm waiting for it to reset". >> Introduce a new archetype for exits, which would change faces depending on >> whether the target map is currently in memory (or swapped out) or if it >> has been reset. >> > > Absolutely a terrible idea. The map reset logic should be utterly invisible > to players. Players should only know that maps with dead monsters and so on > means another player was there recently. But realistically, players do care about the status. If a player is waiting for a map to reset, the fact that it is empty or not is apparant to them. And they can always use the 'maps command to see when the map will reset or whatever else. However, changing the image is trickier, as there is no convenient way to find what leads to a map. So for example, the server may not the pupland1 has reset, but it doesn't know what leads to it. So for an image to change, the exit object that leads to the map would need to re-examine its exit to see the status of it. Doing this is not hard, but doing it in a timely enough fashion would be. Probably a better approach would be that if you examine the exit, it tells you the status (eg, this map is active, and there are x players in it, or this map will reset at 10:18 pm (x minutes from now), etc). This also provides real useful information - eg, I should come back half an hour from now or whatever. This basically provides a more convenient interface than the maps command, which is what the player are probably looking at anyways.