+;;; Mudsync --- Live hackable MUD
+;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
+;;;
+;;; This file is part of Mudsync.
+;;;
+;;; Mudsync is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; Mudsync is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Mudsync. If not, see <http://www.gnu.org/licenses/>.
+
(use-modules (mudsync)
- (8sync systems actors)
+ (8sync actors)
(8sync agenda)
(oop goops)
(ice-9 format))
;;; ----------
(define-class <fridge> (<gameobj>)
- #:name "fridge"
- #:desc "The refrigerator is humming. To you? To itself?
-Only the universe knows.")
+ (name #:init-value "fridge")
+ (desc #:init-value "The refrigerator is humming. To you? To itself?
+Only the universe knows."))
;;; The typewriter
#:init-value
(wrap-apply typewriter-dispatch)))
-(define-mhandler (typewriter-cmd-type-gibberish actor message)
- (<- actor (message-from message) 'tell
+(define (typewriter-cmd-type-gibberish actor message)
+ (<- (message-from message) 'tell
#:text "*tikka takka!* *tikka takka!*
You type some gibberish on the typewriter.\n"))
(define (type-thing actor message type-text)
- (<- actor (message-from message) 'tell
+ (<- (message-from message) 'tell
#:text
- (format #f "You type out a note.\nThe note says: ~s"
+ (format #f "You type out a note.\nThe note says: ~s\n"
type-text)))
-(define-mhandler (typewriter-cmd-type-something
- actor message direct-obj indir-obj)
+(define (typewriter-cmd-type-something
+ actor message direct-obj indir-obj)
(type-thing actor message direct-obj))
-(define-mhandler (typewriter-cmd-type-anything
- actor message direct-obj rest)
+(define (typewriter-cmd-type-anything
+ actor message direct-obj rest)
(type-thing actor message rest))
#:exits
(list (make <exit>
#:name "east"
- #:to-symbol 'room:north-hallway
+ #:to 'room:north-hallway
#:desc wooden-unlocked-door))) ; eventually make this locked so you have
; to kick it down, joeyh style!
('room:north-hallway
#:exits
(list (make <exit>
#:name "west"
- #:to-symbol 'room:server-room
+ #:to 'room:server-room
#:desc wooden-unlocked-door)
(make <exit>
#:name "east"
- #:to-symbol 'room:code-a-plex
+ #:to 'room:code-a-plex
#:desc metal-stiff-door)
;; (make <exit>
;; #:name "south"
- ;; #:to-symbol 'center-hallway)
+ ;; #:to 'center-hallway)
))
('room:code-a-plex
#:exits
(list (make <exit>
#:name "west"
- #:to-symbol 'room:north-hallway
+ #:to 'room:north-hallway
#:desc metal-stiff-door)))
('thing:typewriter
;; #:exits
;; ,(list (make <exit>
;; #:name "east"
-;; #:to-symbol 'room:))
+;; #:to 'room:))
;; )
(define (goblin-demo . args)
- (run-demo "/tmp/goblin-game.db" goblin-rooms 'room:north-hallway))
+ (run-demo goblin-rooms 'room:north-hallway))