diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/npc.c | 5 | ||||
-rw-r--r-- | src/map/npc.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/map/npc.c b/src/map/npc.c index a65cf5e83..12d8f0e9b 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -33,6 +33,8 @@ #include <time.h> +struct npc_data* fake_nd; + // linked list of npc source files struct npc_src_list { struct npc_src_list* next; @@ -2783,7 +2785,8 @@ static int npc_cleanup_dbsub(DBKey key, void* data, va_list ap) switch(bl->type) { case BL_NPC: - npc_unload((struct npc_data *)bl); + if( bl->id != fake_nd->bl.id )// don't remove fake_nd + npc_unload((struct npc_data *)bl); break; case BL_MOB: unit_free(bl,0); diff --git a/src/map/npc.h b/src/map/npc.h index c1a7dbfe9..2d203fdb5 100644 --- a/src/map/npc.h +++ b/src/map/npc.h @@ -90,6 +90,6 @@ int npc_reload(void); void npc_read_event_script(void); int npc_script_event(struct map_session_data* sd, int type); -struct npc_data *fake_nd; +extern struct npc_data* fake_nd; #endif /* _NPC_H_ */ |