diff options
Diffstat (limited to 'src/map/script-call.cpp')
-rw-r--r-- | src/map/script-call.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/map/script-call.cpp b/src/map/script-call.cpp index a669b59..fbb9b97 100644 --- a/src/map/script-call.cpp +++ b/src/map/script-call.cpp @@ -882,20 +882,25 @@ void run_script_main(ScriptState *st, Borrowed<const ScriptBuffer> rootscript) abort(); } } + dumb_ptr<map_session_data> sd = map_id2sd(st->rid); switch (st->state) { case ScriptEndState::STOP: + if (sd && sd->npc_id == st->oid) + sd->state.npc_dialog_mes = 0; break; case ScriptEndState::END: - { - dumb_ptr<map_session_data> sd = map_id2sd(st->rid); st->scriptp.code = None; st->scriptp.pos = -1; if (sd && sd->npc_id == st->oid) + { + sd->state.npc_dialog_mes = 0; npc_event_dequeue(sd); - } + } break; case ScriptEndState::RERUNLINE: + if (sd && sd->npc_id == st->oid) + sd->state.npc_dialog_mes = 0; st->scriptp.pos = rerun_pos; break; } |