diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/npc.c | 5 | ||||
-rw-r--r-- | src/map/npc.h | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 937ea74ea..71f6a91a4 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,9 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2007/11/27 + * Fixed fake_nd not being exported correctly and being unloaded when + reloading scripts. (probably fixes bugreport:444) [FlavioJS] 2007/11/26 * Normalized makefiles: - 3 sections: variables, public targets, private/support targets 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_ */ |