summaryrefslogtreecommitdiff
path: root/npc/functions/warp.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/warp.txt')
-rw-r--r--npc/functions/warp.txt58
1 files changed, 0 insertions, 58 deletions
diff --git a/npc/functions/warp.txt b/npc/functions/warp.txt
deleted file mode 100644
index 46c390ad..00000000
--- a/npc/functions/warp.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-// Evol functions.
-// Authors:
-// gumi
-
-
-
-// map_exists
-// self-explanatory
-
-function script map_exists {
- return getmapinfo(MAPINFO_ID, getarg(0)) >= 0;
-}
-
-
-
-// slide_or_warp
-// Slides the player instead of warping, when possible.
-// usage:
-// slide_or_warp({<aid>});
-// slide_or_warp(<x>, <y>{, <aid>});
-// slide_or_warp("<map>", <x>, <y>{, <aid>});
-
-function script slide_or_warp {
- if (getargcount() <= 1) {
- .@aid = getarg(1, 0);
- } else {
- if (getargcount() >= 3 && getdatatype(getarg(0)) & DATATYPE_STR) {
- .@map$ = getarg(0);
- .@x = getarg(1);
- .@y = getarg(2);
- .@aid = getarg(3, 0);
- } else {
- .@x = getarg(0);
- .@y = getarg(1);
- .@aid = getarg(2, 0);
- }
- }
-
- if (!isloggedin(.@aid)) {
- if ((.@aid = playerattached()) == 0) {
- consolemes(CONSOLEMES_DEBUG, "slide_or_warp: no player attached!");
- return false;
- }
- }
-
- getmapxy(.@pc_map$, .@pc_x, .@pc_y, UNITTYPE_PC, .@aid); // get char location
- .@cid = getcharid(CHAR_ID_CHAR, strcharinfo(PC_NAME, .@aid)); // FIXME: [Hercules] make it so you can pass account id directly to getcharid
-
- if (getargcount() < 1) {
- warpchar(.@pc_map$, .@pc_x, .@pc_y, .@cid); // no arguments, just refresh
- } else if (.@map$ == .@pc_map$ && (.@pc_x != .@x || .@pc_y != .@y)) {
- slide(.@x, .@y); // same map, slide instead of full warp
- // FIXME: make slide take GID as optional arg
- } else {
- warpchar(.@map$, .@x, .@y, .@cid); // different map, warp to given location
- }
- return true;
-}