summaryrefslogtreecommitdiff
path: root/npc/functions/doors.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/doors.txt')
-rw-r--r--npc/functions/doors.txt65
1 files changed, 65 insertions, 0 deletions
diff --git a/npc/functions/doors.txt b/npc/functions/doors.txt
new file mode 100644
index 00000000..9382a015
--- /dev/null
+++ b/npc/functions/doors.txt
@@ -0,0 +1,65 @@
+// Evol functions.
+// Author:
+// 4144
+// Description:
+// Doors utility functions
+// Variables:
+// none
+
+function script doorTouch {
+ getmapxy(.@pc_map$, .@pc_x, .@pc_y, UNITTYPE_PC); // get char location
+ if (.@pc_y < .y)
+ end;
+
+ if (getareausers() <= 1)
+ {
+ .dir = 2;
+ stopnpctimer;
+ initnpctimer;
+ }
+ close;
+}
+
+function script doorUnTouch {
+ if (.dir != 2 && .dir != 6)
+ end;
+
+ if (getareausers(.map$) == 0)
+ {
+ .dir = 4;
+ initnpctimer;
+ startnpctimer;
+ }
+ close;
+}
+
+function script doorTimer {
+ stopnpctimer;
+ if (.dir == 2) .dir = 6;
+ if (.dir == 4) .dir = 8;
+ end;
+}
+
+function script doorInit {
+ .distance = 5;
+ .alwaysVisible = true;
+ end;
+}
+
+function script open_door {
+ .@door$ = getarg(0);
+ setnpcdir.@door$, 2;
+ sleep 300;
+ setnpcdir .@door$, 6;
+ sleep 300;
+ return 0;
+}
+
+function script close_door {
+ .@door$ = getarg(0);
+ setnpcdir .@door$, 4;
+ sleep 300;
+ setnpcdir .@door$, 8;
+ sleep 300;
+ return 0;
+}