--- deliantra/server/socket/request.C 2007/01/20 13:47:17 1.64 +++ deliantra/server/socket/request.C 2007/02/15 04:04:23 1.66 @@ -149,7 +149,7 @@ pl->ns->floorbox_reset (); } -/** check for map change and send new map data */ +/** check for map/region change and send new map data */ static void check_map_change (player *pl) { @@ -203,6 +203,13 @@ socket.current_x = ob->x; socket.current_y = ob->y; + + region *reg = ob->region (); + if (socket.current_region != reg) + { + socket.current_region = reg; + socket.send_packet_printf ("drawinfo 0 You are now %s.\n(use whereami for more details)", ®->longname); + } } /** @@ -800,9 +807,9 @@ pl->count = 0; //TODO: schmorp thinks whatever this calculates, it makes no sense at all - int time = FABS (pl->ob->speed) < 0.001 + int time = fabs (pl->ob->speed) < 0.001 ? time = MAX_TIME * 100 - : time = (int) (MAX_TIME / FABS (pl->ob->speed)); + : time = (int) (MAX_TIME / fabs (pl->ob->speed)); /* Send confirmation of command execution now */ packet sl ("comc");