(defstruct player-ship armor-val rep-shield-val warp-drive ; tuple, first ele is power state (0,1), second is fuel cost reactor-str ; 0 - low power, 1 - full power, 2 - overdrive warp-field ; 0 - low power, 1 - full power weapons credits crew inventory) (defstruct player-inventory petrofuel gruel spice ammo archeotech) (defstruct crew sanity-val ; Max 100 crew-members) ; List of *uniq-crew-mem* ;;; Unique crew member that can provide an abstract buff ;;; or nerf to some internal game system (defstruct uniq-crew-mem name armor-buff rep-shield-buff sanity-buff warp-drive-buff reactor-str-buff warp-field-buff plasma-buff expl-buff beam-buff credit-buff) ;; Crew name generators (defvar *name-prefixes* (list "Precepitor" "Auriga" "Basileus" "Pontiff" "Palatine" "Centurion" "Conjugator" "Principus" "Executor" "Commonus" "Gothicus" "Augusta" "Calligraphus" "Imperator" "Consul" "Signifier" "Tribune" "Praetorian" "Prefect")) (defvar *name-values* (list "Atticus" "Aurelia" "Cassius" "Maximus" "Aurelius" "Magnus" "Lucius" "Augustus" "Caeser" "Remus" "Julius" "Octavius" "Cato" "Tiberius" "Nero" "Romulus" "Septimus" "Cicero" "Cyprian" "Justus" "Quintus" "Decimus")) (defun make-crew-mem-name () (let ((name (nth (random (length *name-values*)) *name-values*)) (prefix (nth (random (length *name-prefixes*)) *name-prefixes*))) (concatenate 'string prefix " " name))) (defstruct weapon name shield-dmg hull-dmg ammo-cost) (defstruct market price-of-petrofuel price-of-ammo price-of-archeotech price-of-spice price-of-gruel) ;; This gets created when travelling to a ;; new sector (defstruct sector market ; contains market struct hazards ; Contains hazard for sector boons) ; Contains boon for sector