summaryrefslogtreecommitdiff
path: root/src/map/script-fun.cpp
diff options
context:
space:
mode:
authormekolat <mekolat@users.noreply.github.com>2015-05-21 19:17:03 -0400
committermekolat <mekolat@users.noreply.github.com>2015-06-20 06:41:30 -0400
commitdb20d783fe41bb9b44b92461f9843a31146a5ce7 (patch)
treef22254f43e8414c2a2a06514a7108ecb917b4b31 /src/map/script-fun.cpp
parent4835eae62fe129ff6ee36d82b56e07913ca19f81 (diff)
downloadtmwa-db20d783fe41bb9b44b92461f9843a31146a5ce7.tar.gz
tmwa-db20d783fe41bb9b44b92461f9843a31146a5ce7.tar.bz2
tmwa-db20d783fe41bb9b44b92461f9843a31146a5ce7.tar.xz
tmwa-db20d783fe41bb9b44b92461f9843a31146a5ce7.zip
npc actions
Diffstat (limited to 'src/map/script-fun.cpp')
-rw-r--r--src/map/script-fun.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp
index 520936b..0d19770 100644
--- a/src/map/script-fun.cpp
+++ b/src/map/script-fun.cpp
@@ -1615,6 +1615,30 @@ void builtin_setnpctimer(ScriptState *st)
}
static
+void builtin_npcaction(ScriptState *st)
+{
+ dumb_ptr<map_session_data> sd = script_rid2sd(st);
+ short command = conv_num(st, &AARG(0));
+ int id = 0;
+ short x = HARG(2) ? conv_num(st, &AARG(2)) : 0;
+ short y = HARG(3) ? conv_num(st, &AARG(3)) : 0;
+
+ if(HARG(1))
+ {
+ if(command == 2)
+ {
+ dumb_ptr<npc_data> nd_;
+ nd_ = npc_name2id(stringish<NpcName>(ZString(conv_str(st, &AARG(1)))));
+ id = unwrap<BlockId>(nd_->bl_id);
+ }
+ else
+ id = conv_num(st, &AARG(1));
+ }
+
+ clif_npc_action(sd, st->oid, command, id, x, y);
+}
+
+static
void builtin_setnpcdirection(ScriptState *st)
{
dumb_ptr<npc_data> nd_;
@@ -3103,6 +3127,7 @@ BuiltinFunction builtin_functions[] =
BUILTIN(getnpctimer, "i?"_s, 'i'),
BUILTIN(setnpctimer, "i?"_s, '\0'),
BUILTIN(setnpcdirection, "iii?"_s, '\0'),
+ BUILTIN(npcaction, "i???"_s, '\0'),
BUILTIN(announce, "si"_s, '\0'),
BUILTIN(mapannounce, "Msi"_s, '\0'),
BUILTIN(getusers, "i"_s, 'i'),