X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=worlds%2Fbricabrac.scm;h=16f91b8472e06f5ac66bf41d137e2b5d9a53c890;hp=372515ede66d206292df8445bd660df71dd6c70d;hb=6cff5b0062ef928204295ab4327bf2d417070421;hpb=cd40c01c4ac301e7d991e4df4d17d2c693d11d05 diff --git a/worlds/bricabrac.scm b/worlds/bricabrac.scm index 372515e..16f91b8 100644 --- a/worlds/bricabrac.scm +++ b/worlds/bricabrac.scm @@ -80,7 +80,7 @@ ;;; Lobby ;;; ----- -(define-mhandler (npc-chat-randomly actor message) +(define (npc-chat-randomly actor message . _) (define text-to-send (format #f "~a says: \"~a\"\n" (slot-ref actor 'name) @@ -157,11 +157,12 @@ or 'skribe'? Now *that's* composition!")) (and (irregex-match name-sre name) (not (member name forbidden-words)))) -(define-mhandler (sign-cmd-sign-in actor message direct-obj indir-obj) +(define* (sign-cmd-sign-in actor message + #:key direct-obj indir-obj preposition) (define old-name - (message-ref - (<-wait actor (message-from message) 'get-name) - 'val)) + (msg-receive (_ #:key val) + (<-wait actor (message-from message) 'get-name) + val)) (define name indir-obj) (if (valid-name? indir-obj) (begin @@ -199,15 +200,15 @@ character.\n"))) #:init-value (simple-dispatcher summoning-bell-actions*))) -(define-mhandler (summoning-bell-cmd-ring bell message) +(define (summoning-bell-cmd-ring bell message) ;; Call back to actor who invoked this message handler ;; and find out their name. We'll call *their* get-name message ;; handler... meanwhile, this procedure suspends until we get ;; their response. (define who-rang - (message-ref - (<-wait bell (message-from message) 'get-name) - 'val)) + (msg-receive (_ #:key val) + (<-wait bell (message-from message) 'get-name) + val)) ;; Now we'll invoke the "tell" message handler on the player ;; who rang us, displaying this text on their screen. ;; This one just uses <- instead of <-wait, since we don't @@ -416,11 +417,11 @@ if this room is intended for children or child-like adults." (cmd-sit-furniture (wrap-apply furniture-cmd-sit))) gameobj-actions)))) -(define-mhandler (furniture-cmd-sit actor message direct-obj) +(define* (furniture-cmd-sit actor message #:key direct-obj) (define player-name - (message-ref - (<-wait actor (message-from message) 'get-name) - 'val)) + (msg-receive (_ #:key val) + (<-wait actor (message-from message) 'get-name) + val)) (<- actor (message-from message) 'tell #:text (format #f "You ~a ~a.\n" (slot-ref actor 'sit-phrase) @@ -529,7 +530,7 @@ seat in the room, though." #:init-value (simple-dispatcher clerk-actions*))) -(define-mhandler (clerk-act-init clerk message) +(define (clerk-act-init clerk message) ;; call the gameobj main init method (gameobj-act-init clerk message) ;; start our main loop @@ -571,7 +572,7 @@ For example, 'ask clerk about changing name'. You can ask me about the following energy particle physicist. But ya gotta pay the bills, especially with tuition at where it is...")) -(define-mhandler (clerk-cmd-chat clerk message) +(define* (clerk-cmd-chat clerk message #:key direct-obj) (match (slot-ref clerk 'state) ('on-duty (<- clerk (message-from message) 'tell @@ -584,14 +585,14 @@ with tuition at where it is...")) (random-choice clerk-slacking-complaints) "\"\n"))))) -(define-mhandler (clerk-cmd-ask-incomplete clerk message) +(define (clerk-cmd-ask-incomplete clerk message) (<- clerk (message-from message) 'tell #:text "The clerk says, \"Ask about what?\"\n")) (define clerk-doesnt-know-text "The clerk apologizes and says she doesn't know about that topic.\n") -(define-mhandler (clerk-cmd-ask clerk message indir-obj) +(define (clerk-cmd-ask clerk message indir-obj) (match (slot-ref clerk 'state) ('on-duty (match (assoc (pk 'indir indir-obj) clerk-help-topics) @@ -608,7 +609,7 @@ with tuition at where it is...")) (<- clerk (message-from message) 'tell #:text "The clerk says, \"Sorry, I'm on my break.\"\n")))) -(define-mhandler (clerk-act-be-summoned clerk message who-summoned) +(define (clerk-act-be-summoned clerk message who-summoned) (match (slot-ref clerk 'state) ('on-duty (<- clerk who-summoned 'tell @@ -634,11 +635,11 @@ feel free to ask me. For example, 'ask clerk about changing name'. You can ask me about the following: " clerk-knows-about ".\"\n"))))) -(define-mhandler (clerk-cmd-dismiss clerk message) +(define (clerk-cmd-dismiss clerk message) (define player-name - (message-ref - (<-wait clerk (message-from message) 'get-name) - 'val)) + (msg-receive (_ #:key val) + (<-wait clerk (message-from message) 'get-name) + val)) (match (slot-ref clerk 'state) ('on-duty (<- clerk (gameobj-loc clerk) 'tell-room @@ -681,7 +682,7 @@ attend to.\n") (define clerk-return-to-slacking-text "The desk clerk enters and slams the door behind her.\n") -(define-mhandler (clerk-act-update-loop clerk message) +(define (clerk-act-update-loop clerk message) (define (tell-room text) (<- clerk (gameobj-loc clerk) 'tell-room #:text text