summaryrefslogtreecommitdiff
path: root/src/map/npc.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-09-22 21:29:27 +0200
committerGitHub <noreply@github.com>2019-09-22 21:29:27 +0200
commit92f3ecdcb341b798c93d5c8b0320fb8cb85e759c (patch)
tree7a0b7ceed81e106c18867bc8b95d6377467e7a84 /src/map/npc.c
parent17c91e48997ec3225618736c294195a8e39d05d2 (diff)
parent375e9a54f5e8aaef083f60cb36bad59f37e40905 (diff)
downloadhercules-92f3ecdcb341b798c93d5c8b0320fb8cb85e759c.tar.gz
hercules-92f3ecdcb341b798c93d5c8b0320fb8cb85e759c.tar.bz2
hercules-92f3ecdcb341b798c93d5c8b0320fb8cb85e759c.tar.xz
hercules-92f3ecdcb341b798c93d5c8b0320fb8cb85e759c.zip
Merge pull request #2525 from MishimaHaruna/tombstone-fixes
Tombstone fixes
Diffstat (limited to 'src/map/npc.c')
-rw-r--r--src/map/npc.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/map/npc.c b/src/map/npc.c
index c3dff5870..868b8711a 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -1258,6 +1258,9 @@ static void run_tomb(struct map_session_data *sd, struct npc_data *nd)
char time[10];
nullpo_retv(nd);
+
+ sd->npc_id = nd->bl.id;
+
strftime(time, sizeof(time), "%H:%M", localtime(&nd->u.tomb.kill_time));
// TODO: Find exact color?
@@ -1349,8 +1352,10 @@ static int npc_scriptcont(struct map_session_data *sd, int id, bool closing)
return 1;
}
- if(id != npc->fake_nd->bl.id) { // Not item script
- if ((npc->checknear(sd,target)) == NULL){
+ if (id != npc->fake_nd->bl.id) { // Not item script
+ if (sd->state.npc_unloaded != 0) {
+ sd->state.npc_unloaded = 0;
+ } else if ((npc->checknear(sd,target)) == NULL) {
ShowWarning("npc_scriptcont: failed npc->checknear test.\n");
return 1;
}
@@ -1371,8 +1376,10 @@ static int npc_scriptcont(struct map_session_data *sd, int id, bool closing)
if( sd->progressbar.npc_id && DIFF_TICK(sd->progressbar.timeout,timer->gettick()) > 0 )
return 1;
- if( !sd->st )
+ if( !sd->st ) {
+ sd->npc_id = 0;
return 1;
+ }
if( closing && sd->st->state == CLOSE )
sd->st->state = END;