projects
/
mudsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rearchitect so that the world can init with a game-spec, not just a room-spec
[mudsync.git]
/
mudsync
/
room.scm
diff --git
a/mudsync/room.scm
b/mudsync/room.scm
index b2d23e652a5f654cca29dc06b1e2b0007b87984c..56c5a5922751a71bb209e92bef8a8f8e9ff3ee1f 100644
(file)
--- a/
mudsync/room.scm
+++ b/
mudsync/room.scm
@@
-75,6
+75,7
@@
(define room-actions
(build-actions
;; desc == description
(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))
(wire-exits! (wrap-apply room-wire-exits!))
(cmd-go (wrap-apply room-cmd-go))
(cmd-go-where (wrap-apply room-cmd-go-where))
@@
-101,15
+102,17
@@
;; @@: Can remove this indirection once things settle
#:init-value (wrap-apply room-action-dispatch)))
;; @@: 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
"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))
#:symbol (slot-ref exit 'to-symbol))
'room-id))
@@
-130,7
+133,7
@@
claim to point to."
(<- room (message-from message) 'look-room))
(else
(<- room (message-from message) 'tell
(<- room (message-from message) 'look-room))
(else
(<- room (message-from message) 'tell
- #:text "
I don't know where that is?
\n"))))
+ #:text "
You don't see any way to go there.
\n"))))
(define-mhandler (room-cmd-go-where room message)
(<- room (message-from message) 'tell
(define-mhandler (room-cmd-go-where room message)
(<- room (message-from message) 'tell