(define room-actions
(build-actions
;; desc == description
+ (init (wrap-apply room-init))
(wire-exits! (wrap-apply room-wire-exits!))
(cmd-go (wrap-apply room-cmd-go))
(cmd-go-where (wrap-apply room-cmd-go-where))
;; @@: Can remove this indirection once things settle
#:init-value (wrap-apply room-action-dispatch)))
+(define (room-init room message)
+ (room-wire-exits! room))
-(define (room-wire-exits! room message)
+(define (room-wire-exits! room)
"Actually hook up the rooms' exit addresses to the rooms they
claim to point to."
(for-each
(lambda (exit)
(define new-exit
(message-ref
- (<-wait room (gameobj-gm room) 'lookup-room
+ (<-wait room (gameobj-gm room) 'lookup-special
#:symbol (slot-ref exit 'to-symbol))
'room-id))