summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2020-03-08 23:31:25 +0100
committerGitHub <noreply@github.com>2020-03-08 23:31:25 +0100
commit6c15f3350056419feeb071ff871864bb5184d28d (patch)
treeaf2aa899cfebbefae440396ee91defd9757d7aed /src
parent21e3a41e912336914d0456257b6737dd2e9be0ef (diff)
parent1a410d241918f85010c59827dfd2fa3b1952d238 (diff)
downloadhercules-6c15f3350056419feeb071ff871864bb5184d28d.tar.gz
hercules-6c15f3350056419feeb071ff871864bb5184d28d.tar.bz2
hercules-6c15f3350056419feeb071ff871864bb5184d28d.tar.xz
hercules-6c15f3350056419feeb071ff871864bb5184d28d.zip
Merge pull request #2628 from Kenpachi2k13/unitiswalking
Add unitiswalking() script command
Diffstat (limited to 'src')
-rw-r--r--src/map/script.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 3bf0464e7..0cfd6da73 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -21134,6 +21134,38 @@ static BUILDIN(unitwalk)
return true;
}
+/**
+ * Checks if a unit is walking.
+ *
+ * Returns 1 if unit is walking, 0 if unit is not walking and -1 on error.
+ *
+ * @code{.herc}
+ * unitiswalking({<GID>});
+ * @endcode
+ *
+ **/
+static BUILDIN(unitiswalking)
+{
+ int gid = script_hasdata(st, 2) ? script_getnum(st, 2) : st->rid;
+ struct block_list *bl = map->id2bl(gid);
+
+ if (bl == NULL) {
+ ShowWarning("buildin_unitiswalking: Error in finding object for GID %d!\n", gid);
+ script_pushint(st, -1);
+ return false;
+ }
+
+ if (unit->bl2ud(bl) == NULL) {
+ ShowWarning("buildin_unitiswalking: Error in finding unit_data for GID %d!\n", gid);
+ script_pushint(st, -1);
+ return false;
+ }
+
+ script_pushint(st, unit->is_walking(bl));
+
+ return true;
+}
+
/// Kills the unit
///
/// unitkill <unit_id>;
@@ -27036,6 +27068,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(getunittitle,"i"),
BUILDIN_DEF(setunittitle,"is"),
BUILDIN_DEF(unitwalk,"ii?"),
+ BUILDIN_DEF(unitiswalking, "?"),
BUILDIN_DEF(unitkill,"i"),
BUILDIN_DEF(unitwarp,"isii"),
BUILDIN_DEF(unitattack,"iv?"),