( L E V 0 0 0 0 5 ) objects: O lazy 60 over 19 9 timedswitch ts 16 7 defrexx Rexx 9 3 defrexx Rexx2 13 6 door d1 10 9 door d2 5 6 door d3 >lazy! 10 2 door d4 end.jor 5 12 exitdoor dx lazy dup 11 3 computer c1 ' c1 7 11 computer c2 >lazy! lazy dup 7 5 computer c3 ' c3 2 11 computer c4 >lazy! ' d2 10 10 scanner s1 ' dx 4 12 scanner sx ' d4 7 1 switch b1 ' d1 19 3 switch b2 :noname 0 MAXTILE for i tileflags + b@ RUBBLE & if i b, then next ; array rubbletiles execute here rubbletiles - 1 - const MAXRUBBLE : randomrubble rand MAXRUBBLE % rubbletiles + b@ ; : rexx-pos ( -- x y ) Rexx entity>pos world>tile ; : rexx-dest ( -- x y ) rexx-pos Rexx entity.dir @ dir>pos +pos ; : can-drop-rubble? ( -- b ) rexx-pos tile b@ CARPET = rexx-dest tile b@ CARPET = and ; : not-picking-up? ( -- b ) rexx-dest RUBBLE mapflag? not ; : touch ( x y -- b ) drop 13 <= isrexx? and posessed-rexx @ Rexx = and if 3 glitchlevel ! rexx say" PaRiTy ErrRor!!" 0 glitchlevel ! 1 else not-picking-up? can-drop-rubble? and isrexx? and if randomrubble rexx-pos tile b! invalidate-map then 0 then ; var first-rexx-touch Rexx :noname dup EVTOUCH = isneut? and first-rexx-touch @ not and if 1 first-rexx-touch ! rexx say" bOSssS..." rexx say" i doN'T fEEl so\gooOO00dddDdDd..." then chain-listener ; var first-rexx2-touch Rexx2 :noname dup EVTOUCH = isneut? and first-rexx2-touch @ not and if 1 first-rexx2-touch ! neut say" REXX UNIT\PERFORM FULL DIAGNOSTIC SCAN" rexx say" I'm in tip-top shape, boss!" neut say" ACTIVATING RELIEF SUBROUTINE" then chain-listener ; : mr ( dir -- ) Rexx entity.dir ! Rexx move-entity ; d2 :noname dup entering-door? isjaye? and gord-follow? not and Rexx entity>pos drop 0 > and if move-player W mr rexx say" daaAiisSyyy, daAAIIsYY..." hide-footer W mr W mr rexx say" gIVe mE YOur AnSwerR\doOO0OO0o0oooOO..." hide-footer N mr N mr rexx say" uh oh" hide-footer Rexx entity>pos world>tile -1 -1 +pos dup 3 + for dup over 3 + i >rot for i over ( x y ) tile randomrubble swap b! invalidate-map 1 sleep next drop next drop -100 -100 Rexx entity.pos! drop EVNOP then chain-listener ; :noname O ' touch ' touch-override redefine s" lev00005.map" load-map 18 4 tile>world Jaye entity.pos! 19 5 tile>world Neut entity.pos! with-gord ; ' onload redefine