diff options
Diffstat (limited to 'src/map/map.c')
-rw-r--r-- | src/map/map.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/map/map.c b/src/map/map.c index fd0d43aa4..d0b454a52 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -41,6 +41,7 @@ #include "homunculus.h" #include "instance.h" #include "mercenary.h" +#include "elemental.h" #include "atcommand.h" #include "log.h" #include "mail.h" @@ -1722,8 +1723,14 @@ int map_quit(struct map_session_data *sd) // Return loot to owner if( sd->pd ) pet_lootitem_drop(sd->pd, sd); + if( sd->state.storage_flag == 1 ) sd->state.storage_flag = 0; // No need to Double Save Storage on Quit. + if( sd->ed ) { + elemental_clean_effect(sd->ed); + unit_remove_map(&sd->ed->bl,CLR_TELEPORT); + } + unit_remove_map_pc(sd,CLR_TELEPORT); if( map[sd->bl.m].instance_id ) @@ -3588,6 +3595,7 @@ void do_final(void) do_final_unit(); do_final_battleground(); do_final_duel(); + do_final_elemental(); map_db->destroy(map_db, map_db_final); @@ -3914,7 +3922,8 @@ int do_init(int argc, char *argv[]) do_init_unit(); do_init_battleground(); do_init_duel(); - + do_init_elemental(); + npc_event_do_oninit(); // npcのOnInitイベント?行 if( console ) |