From: Christopher Allan Webber Date: Mon, 2 May 2016 14:59:32 +0000 (-0500) Subject: more basic gameobj and player stuff X-Git-Tag: fosdem-2017~202 X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=commitdiff_plain;h=f30bd11e2979247edc97671357d1f02d2fa72775 more basic gameobj and player stuff --- diff --git a/mudsync.scm b/mudsync.scm index 8cc07b1..7219c37 100644 --- a/mudsync.scm +++ b/mudsync.scm @@ -384,6 +384,18 @@ with an anonymous persona" ;; game master id (gm #:init-keyword #:gm #:getter gameobj-gm) + ;; a name to be known by + (name #:init-keyword #:name + #:accessor gameobj-name) + + ;; how to print our name + (name-f #:init-keyword #:name-f + #:getter gameobj-name-f + #:init-value gameobj-simple-name-f) + + ;; Name aliases + (aliases #:init-keyword #:aliases + #:init-value '()) ;; Commands we can handle (commands #:init-value #f) @@ -391,6 +403,11 @@ with an anonymous persona" (contain-commands #:init-value #f)) +(define (gameobj-simple-name-f gameobj) + "Simplest version: return ourselves for our name." + (gameobj-name gameobj)) + + ;;; Rooms ;;; ===== @@ -436,7 +453,6 @@ with an anonymous persona" (define-class () - (name #:init-keyword #:name) (desc #:init-value "" #:init-keyword #:desc) ;; Uses a hash table like a set (values ignored) @@ -488,6 +504,10 @@ claim to point to." ;; Connection id (client #:accessor player-client) + (self-commands + #:init-value #f ; TODO: Set me to a reasonable default + #:accessor player-self-commands) + (message-handler #:init-value (make-action-dispatch