https://git.spwbk.site/swatson/clwars/raw/master/ship.lisp
___________________________________
;;; SHIP INFO ;;;
(defun display-crew (player-ship-obj)
 (let ((crew-names
          (loop for member in (crew-members (crew player-ship-obj))
                collect (list (name member)))))
   (format T "~%CREW DETAILS~%~%")
   (format-table T (list (list (sanity-val (crew player-ship-obj)))) :column-label '("Sanity"))
   (format T "~%")
   (format-table T crew-names :column-label '("Name" "Buff" "Buff Amount"))))

(defun display-inventory (player-ship-obj)
 (let* ((inventory (inventory player-ship-obj))
       (inventory-list (loop for slot in (return-slots inventory)
                            collect (list
                                     slot (slot-value inventory slot)))))
   (format T "~%INVENTORY~%")
   (format-table T inventory-list :column-label '("Resource" "Amount"))))


(defun ship-info (player-ship-obj)
 (display-crew player-ship-obj)
 (display-inventory player-ship-obj))
;;; SHIP INFO END ;;;