summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/npc.c5
-rw-r--r--src/map/npc.h2
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_ */