X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=mudsync%2Froom.scm;h=5c76977dac5106b35a4abd7cdf3ad5c9ebf56bbc;hp=1e0f354ec0cc01a74f51235f3b9de953a92a80bb;hb=f22e3b3e60031ebb8ef6260692bf8c03dcce1c60;hpb=4d4af0656b0402e630eea9393420197152945e5b diff --git a/mudsync/room.scm b/mudsync/room.scm index 1e0f354..5c76977 100644 --- a/mudsync/room.scm +++ b/mudsync/room.scm @@ -19,6 +19,7 @@ (define-module (mudsync room) #:use-module (mudsync command) #:use-module (mudsync gameobj) + #:use-module (mudsync utils) #:use-module (8sync actors) #:use-module (8sync agenda) #:use-module (oop goops) @@ -66,7 +67,7 @@ #:init-keyword #:exits #:getter room-exits) - (container-commands + (container-dom-commands #:allocation #:each-subclass #:init-thunk (build-commands @@ -185,10 +186,9 @@ (lambda (return) (for-each (lambda (occupant) - (mbody-receive (_ #:key goes-by) - (<-wait occupant 'goes-by) - (if (member called-this goes-by) - (return occupant)))) + (define goes-by (mbody-val (<-wait occupant 'goes-by))) + (if (ci-member called-this goes-by) + (return occupant))) (hash-map->list (lambda (key val) key) (slot-ref room 'occupants))) #f)))