|
@@ -1681,6 +1681,14 @@ int map_quit(struct map_session_data *sd) {
|
|
unit_remove_map(&sd->pd->bl, 0);
|
|
unit_remove_map(&sd->pd->bl, 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // Force exiting from duel and rejecting
|
|
|
|
+ // all duel invitations when player quit [LuzZza]
|
|
|
|
+ if(sd->duel_group > 0)
|
|
|
|
+ duel_leave(sd->duel_group, sd);
|
|
|
|
+
|
|
|
|
+ if(sd->duel_invite > 0)
|
|
|
|
+ duel_reject(sd->duel_invite, sd);
|
|
|
|
|
|
//Do we really need to remove the name?
|
|
//Do we really need to remove the name?
|
|
idb_remove(charid_db,sd->status.char_id);
|
|
idb_remove(charid_db,sd->status.char_id);
|
|
@@ -3903,8 +3911,8 @@ int do_init(int argc, char *argv[]) {
|
|
mapindex_init();
|
|
mapindex_init();
|
|
grfio_init(GRF_PATH_FILENAME);
|
|
grfio_init(GRF_PATH_FILENAME);
|
|
|
|
|
|
- map_readallmaps();
|
|
|
|
-
|
|
|
|
|
|
+ map_readallmaps();
|
|
|
|
+
|
|
add_timer_func_list(map_freeblock_timer, "map_freeblock_timer");
|
|
add_timer_func_list(map_freeblock_timer, "map_freeblock_timer");
|
|
add_timer_func_list(map_clearflooritem_timer, "map_clearflooritem_timer");
|
|
add_timer_func_list(map_clearflooritem_timer, "map_clearflooritem_timer");
|
|
add_timer_func_list(map_removemobs_timer, "map_removemobs_timer");
|
|
add_timer_func_list(map_removemobs_timer, "map_removemobs_timer");
|