neuttower/pete.jor

64 lines
1.9 KiB
Plaintext
Executable file

( P E T E )
13 8 N ' {car} defentity car
32 5 W ' {horse} defentity e_chuck
17 10 W ' {boat} defentity boat
26 10 W ' {duck} defentity duck1
32 7 E ' {duck} defentity duck2
car :touch
move-player
1 player.state DRIVING f!
;entity
boat :touch
move-player
1 player.state BOATING f!
;entity
e_chuck :touch
pete say" It's good to have you\back, Chuck."
chuck say" * w h i n n y *\(I remember this place...)"
;entity
:noname
:| player.driving? not CHUCK-FOLLOW flag@ not and if car yield then
CHUCK-STOLEN flag@ if e_chuck yield then
player.boating? not if boat yield then
duck1 yield duck2 yield
done |; ' entities redefine
:|
touch-begin S leaving? dup
if player.driving? not CHUCK-FOLLOW flag@ not and
if pete say" It's too far to walk to town."
else move-player 5 10 road.jor queue-level
then
then
touch-next N leaving? dup
if move-player 24 49 space.jor queue-level then
touch-next 13 8 2= player.driving? and dup
if move-player
0 player.state DRIVING f!
W player entity.dir !
move-player
then
touch-next 19 9 2= CHUCK-FOLLOW flag@ and player entity.dir @ E = and dup
if pete say" Hmm, yeah, lots of good\grazing over here..."
say" Let's get you comfy, Chuck." move-player then
touch-next 22 9 2= CHUCK-FOLLOW flag@ and dup
if pete say" Welcome home, old buddy."
chuck say" * n e i g h *\(OK, Pete.)"
CHUCK-FOLLOW clearflag CHUCK-STOLEN setflag
13 7 petehous.jor queue-level then
touch-next 12 7 2= player.driving? not and dup
if move-player 16 9 petehous.jor queue-level then
touch-next 30 7 2= dup
if pete say" It's... kinda swampy.\I don't wanna get wet if I\don't have to." then
touch-next 30 9 2= dup
if pete say" Feels spooky over here,\somehow." then
touch-last |; ' player-touch redefine
s" pete.map" load-map
; ' onload redefine