Originally posted by [b]theultramage[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=1266
http://svn.eathena.ws/bugs/changeset/1938Whenever you're the only one on a map and you flywing, the user count drops to 0 and then goes back up to 1.
Since it goes to 0, the server will always invoke this:
CODE
void map_removemobs(int m)
{
if (map[m].mob_delete_timer != -1)
return; //Mobs are already scheduled for removal
map[m].mob_delete_timer = add_timer(gettick()+battle_config.mob_remove_delay, map_removemobs_timer, m, 0);
}
Knowing this, there is a bug visible:
1. enter map
2. flywing -> respawn timer activates
3. hang around for ~4 minutes
4. leave map
5. the mapserver will unload the mobs a few seconds after you leave.
The issue can be resolved by properly starting and aborting the timer when the conditions are met - not having a single timer started and then doing a single check for player count after the timer runs out...