summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/npc.c5
-rw-r--r--src/map/npc.h2
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_ */