;; USE IS ILLEGAL! FOR EDUCATIONAL USE ONLY ;; ;; Start this trigset from cs ;; with command /getring ;; - runs to ringmaze and gets golden regen ring ;; and returns back to cs ;; FYI: character might die if hp's are under 100hp ;; FYI: no check is made if some is in maze already /set ringexitdir= /set ringtmpexitdir= /set ringexitfound=0 /set ringsearch=0 /set ringdirnro=0 /gag You see narrow tunnels leading to every direction. /def -mregexp -t'^(.*)You peer ([^ ]*)\.$' ringpeer = \ /if /test (ringsearch=1)%;/then \ /set ringtmpexitdir=%P2%;/endif /def -p9999 -t'There is one obvious exit: away.' ringexit = /if \ /test (ringsearch=1)%;/then \ /set ringexitfound=1%;/eval /set ringexitdir=%ringtmpexitdir%;/endif /def peerdir = !peer north%;!peer east%;!peer west%;peer south%;\ !peer up%;!peer down /def getring = /set ringsearch=1%;/set ringexitfound=0%;\ !11 n%;!18 ne%;!castle%;n%;\ !turn handle%;!secret%;!se%;!try hard%;/peerdir%;\ /repeat -4 1 /ringmove /def ringmove = /if /test (ringexitfound=1)%;\ /then /set ringsearch=0%;\ !%ringexitdir%;!ga%;!ring sp%;!wear ring%;\ !away%;!back%;!back%;!s%;!out%;!18 sw%;\ !11 s%;\ /else \ /eval /set ringdirnro=$[rand(1,6)]%;\ /if /test ringdirnro=1 %; /then !w%;/peerdir%;\ /elseif /test ringdirnro=2 %; /then !s%;/peerdir%;\ /elseif /test ringdirnro=3 %; /then !e%;/peerdir%;\ /elseif /test ringdirnro=4 %; /then !n%;/peerdir%;\ /elseif /test ringdirnro=5 %; /then !u%;/peerdir%;\ /elseif /test ringdirnro=6 %; /then !d%;/peerdir%;\ /endif%;\ /repeat -4 1 /ringmove%;\ /endif