summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormekolat <mekolat@users.noreply.github.com>2015-05-05 10:16:56 -0400
committermekolat <mekolat@users.noreply.github.com>2015-05-05 11:22:02 -0400
commit278c2a8a88966a61a3c41a78c843cf9b6db4af2e (patch)
treec06f02bce0e85aaee063fad323fd7ce106d8805f
parent1d40bf62ef1180039797d64f9c0aaf5cc639e17e (diff)
downloadtmwa-278c2a8a88966a61a3c41a78c843cf9b6db4af2e.tar.gz
tmwa-278c2a8a88966a61a3c41a78c843cf9b6db4af2e.tar.bz2
tmwa-278c2a8a88966a61a3c41a78c843cf9b6db4af2e.tar.xz
tmwa-278c2a8a88966a61a3c41a78c843cf9b6db4af2e.zip
do not allow close/end in func or sub
-rw-r--r--src/map/script-fun.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp
index fe46685..e619169 100644
--- a/src/map/script-fun.cpp
+++ b/src/map/script-fun.cpp
@@ -217,6 +217,14 @@ void builtin_next(ScriptState *st)
static
void builtin_close(ScriptState *st)
{
+ if (st->stack->stack_datav[st->defsp - 1].is<ScriptDataRetInfo>())
+ {
+ dumb_ptr<npc_data> nd = map_id_is_npc(st->oid);
+ if(nd)
+ PRINTF("Deprecated: close in a callfunc or callsub! @ %s\n"_fmt, nd->name);
+ else
+ PRINTF("Deprecated: close in a callfunc or callsub! (no npc)\n"_fmt);
+ }
st->state = ScriptEndState::END;
clif_scriptclose(script_rid2sd(st), st->oid);
}
@@ -1258,6 +1266,14 @@ void builtin_getgmlevel(ScriptState *st)
static
void builtin_end(ScriptState *st)
{
+ if (st->stack->stack_datav[st->defsp - 1].is<ScriptDataRetInfo>())
+ {
+ dumb_ptr<npc_data> nd = map_id_is_npc(st->oid);
+ if(nd)
+ PRINTF("Deprecated: close in a callfunc or callsub! @ %s\n"_fmt, nd->name);
+ else
+ PRINTF("Deprecated: close in a callfunc or callsub! (no npc)\n"_fmt);
+ }
st->state = ScriptEndState::END;
}