diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-05-04 18:48:31 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-05-04 18:48:31 -0300 |
commit | e00b1450e871b2579b403e21eb44441566a3ab98 (patch) | |
tree | 6f80d7b45cd0f71afffa9fe769057df10efe28d7 /npc | |
parent | 90543da98ee7aefd54bb1b4c8b227927b22227f4 (diff) | |
download | serverdata-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.txt | 23 | ||||
-rw-r--r-- | npc/functions/maze.txt | 4 |
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); |