summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-05-04 18:48:31 -0300
committerJesusaves <cpntb1@ymail.com>2022-05-04 18:48:31 -0300
commite00b1450e871b2579b403e21eb44441566a3ab98 (patch)
tree6f80d7b45cd0f71afffa9fe769057df10efe28d7 /npc
parent90543da98ee7aefd54bb1b4c8b227927b22227f4 (diff)
downloadserverdata-e00b1450e871b2579b403e21eb44441566a3ab98.tar.gz
serverdata-e00b1450e871b2579b403e21eb44441566a3ab98.tar.bz2
serverdata-e00b1450e871b2579b403e21eb44441566a3ab98.tar.xz
serverdata-e00b1450e871b2579b403e21eb44441566a3ab98.zip
In theory, you can now escape from the trap.
Escaping yields the 10k xp from the door and a strange coin per survivor. Defeating the Wumpus grants you great rewards, though.
Diffstat (limited to 'npc')
-rw-r--r--npc/034-4/exit.txt23
-rw-r--r--npc/functions/maze.txt4
2 files changed, 19 insertions, 8 deletions
diff --git a/npc/034-4/exit.txt b/npc/034-4/exit.txt
index 50904923c..e57f5966d 100644
--- a/npc/034-4/exit.txt
+++ b/npc/034-4/exit.txt
@@ -20,6 +20,18 @@ OnWumpus:
@forced_sick$ = "";
end;
+OnRw:
+ getitem StrangeCoin, 1;
+ end;
+
+OnExit:
+ .@p=getcharid(1);
+ partytimer(MAZE_MAP$, 10, "#GeminiFExit::OnRw", getcharid(1));
+ sleep2(400);
+ warp "014-2-2", 35, 20;
+ warpparty("014-2-2", 35, 20, getcharid(1), MAZE_MAP$, true);
+ end;
+
OnTouch:
if (instance_id() < 0 || getcharid(1) < 1) end;
GeminiCheck(15);
@@ -158,9 +170,11 @@ OnTouch:
setunitdata(.@mob, UDT_HIT, 3500);
setunitdata(.@mob, UDT_DMOTION, 50);
- // TODO: Add the exit
- // FIXME: A way to exit, maybe a switch, or...?
// NOTE: Once you exit, put the quest in cooldown for 4 hours as well.
+ .@mx = getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$); .@my = getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$);
+ .@mob=monster(MAZE_MAP$, .@mx-25, .@my-25, "Exit", FortressGate, 1, "#GeminiFExit::OnExit");
+ setunitdata(.@mob, UDT_MAXHP, 50000);
+ setunitdata(.@mob, UDT_HP, 50000);
// Miscellaneous data
.@old$=getmap();
@@ -175,8 +189,6 @@ OnTouch:
sleep2(2000);
@forced_sick$ = getmap();
doevent "#DungeonCore::OnSick";
-
- // TODO: The escape?
end;
OnSick:
@@ -184,8 +196,7 @@ OnSick:
MAZE_MAP$ = $@VALIA_MAP$[.@p];
// Find random, warpable coordinates
.@e=0; .@x=0; .@y=0;
- .@mx=50;
- .@my=50;
+ .@mx=40; .@my=40;
do {
.@x = rand2(20, .@mx);
.@y = rand2(20, .@my);
diff --git a/npc/functions/maze.txt b/npc/functions/maze.txt
index aafb153a8..23caede37 100644
--- a/npc/functions/maze.txt
+++ b/npc/functions/maze.txt
@@ -89,8 +89,8 @@ function script InitMaze {
.@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
.@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
} else {
- .@mx=50; // Wouldn't (30,30) be safer?
- .@my=50;
+ .@mx=40; // Wouldn't (30,30) be safer?
+ .@my=40;
}
do {
.@x = rand2(20, .@mx);