summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/init.c1
-rw-r--r--src/map/npc.c6
-rw-r--r--src/map/npc.h2
3 files changed, 9 insertions, 0 deletions
diff --git a/src/map/init.c b/src/map/init.c
index 8a09c3d..f5e9e1a 100644
--- a/src/map/init.c
+++ b/src/map/init.c
@@ -108,6 +108,7 @@ HPExport void plugin_init (void)
addHookPre("pc->takeitem", epc_takeitem);
addHookPre("npc->parse_unknown_mapflag", enpc_parse_unknown_mapflag);
addHookPre("npc->buysellsel", enpc_buysellsel);
+ addHookPre("npc->db_checkid", enpc_db_checkid);
addHookPre("clif->quest_send_list", eclif_quest_send_list);
addHookPre("clif->quest_add", eclif_quest_add);
addHookPre("clif->charnameack", eclif_charnameack);
diff --git a/src/map/npc.c b/src/map/npc.c
index aba7288..9ccca29 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -111,3 +111,9 @@ int enpc_buysellsel(struct map_session_data* sd, int *id, int *type)
return 0;
}
+bool enpc_db_checkid(int *idPtr)
+{
+ const int id = *idPtr;
+ hookStop();
+ return ((id >= 46 && id < MAX_NPC_CLASS) || id == HIDDEN_WARP_CLASS || id == INVISIBLE_CLASS || (id > MAX_NPC_CLASS2_START && id < MAX_NPC_CLASS2_END));
+}
diff --git a/src/map/npc.h b/src/map/npc.h
index f4ca1b9..5e424e9 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -9,4 +9,6 @@ void enpc_parse_unknown_mapflag(const char *name, char *w3, char *w4, const char
int enpc_buysellsel(struct map_session_data* sd, int *id, int *type);
+bool enpc_db_checkid(int *idPtr);
+
#endif // EVOL_MAP_NPC