diff --git a/TODO b/TODO index 35e8137..dbd2986 100644 --- a/TODO +++ b/TODO @@ -10,9 +10,13 @@ GAME +* UI: enable remote game joining + +* implement look/walk/attack modes + * expand player implementation -* generate secondary seeds +* generate secondary seeds to smoothen landscape * split `naledi-ya-africa` package into `naledi-server` and `naledi-client`? diff --git a/TODO b/TODO index 35e8137..dbd2986 100644 --- a/TODO +++ b/TODO @@ -10,9 +10,13 @@ GAME +* UI: enable remote game joining + +* implement look/walk/attack modes + * expand player implementation -* generate secondary seeds +* generate secondary seeds to smoothen landscape * split `naledi-ya-africa` package into `naledi-server` and `naledi-client`? diff --git a/server/server.lisp b/server/server.lisp index fef7304..a1d0baf 100644 --- a/server/server.lisp +++ b/server/server.lisp @@ -278,20 +278,23 @@ (string-upcase (biome-name (patch-biome p))) (first (patch-pos p)) (second (patch-pos p)) (biome-ground (patch-biome p)) - (when (and (patch-occupant p) (not (typep (patch-occupant p) 'human))) + (if (and (patch-occupant p) (not (typep (patch-occupant p) 'human))) + ;;XXX At the moment, this is never called - the player cannot + ;; enter an occupied patch... -> requires "look mode" ;;TODO players -> "$name is here." (format NIL "~%~%There is ~A here." - (leading-vowel (.name (patch-occupant p))))) + (leading-vowel (.name (patch-occupant p)))) + "" ) (if (null (patch-items p)) "" - (format NIL "~%~%The following items are here:~A *~A" #\newline - (string-from-list (mapcar #'.name (patch-items p))) - (format NIL "~% *")))))) + (format NIL "~%~%The following items are here:~% *~A" + (string-from-list (mapcar #'.name (patch-items p)) + (format NIL "~% *"))))))) (defun move-player (dir) "Move a player in the given direction" (let ((plr (player-human (get-player (thread-player))))) ;;TODO If path is blocked, show a message - ;;TODO replace cond with read-from-string? + ;;XXX replace cond with read-from-string? (cond ((equalp dir "n") (move plr 'n)) ((equalp dir "ne") (move plr 'ne)) ((equalp dir "e") (move plr 'e))