Update 'XenoPoliticsSim002.lisp'
This commit is contained in:
parent
3e5ba3da23
commit
e1aaa579b4
@ -1,85 +1,79 @@
|
||||
;; Xeno Report Chances and Roll Variables
|
||||
;; Grey Variables
|
||||
(defparameter *xeno-grey-rand* 35)
|
||||
(defparameter *xeno-grey-roll* 1)
|
||||
(defparameter *xeno-grey-height-min* 5.0)
|
||||
(defparameter *xeno-grey-height-max* 7.5)
|
||||
(defparameter *xeno-grey-height-result* 0.0)
|
||||
(defparameter *xeno-grey-stance-straight* 90)
|
||||
(defparameter *xeno-grey-stance-hunched* 100)
|
||||
(defparameter *xeno-grey-stance-list* (list *xeno-grey-stance-straight* *xeno-grey-stance-hunched*))
|
||||
(defparameter *xeno-grey-walk-normal* 10)
|
||||
(defparameter *xeno-grey-walk-slow* 50)
|
||||
(defparameter *xeno-grey-walk-fluid* 70)
|
||||
(defparameter *xeno-grey-walk-floating* 100)
|
||||
(defparameter *xeno-grey-walk-list* (list *xeno-grey-walk-normal* *xeno-grey-walk-slow* *xeno-grey-walk-fluid* *xeno-grey-walk-floating*))
|
||||
(defparameter *xeno-grey-skin-lightgrey* 40)
|
||||
(defparameter *xeno-grey-skin-darkgrey* 90)
|
||||
(defparameter *xeno-grey-skin-fleshtone* 100)
|
||||
(defparameter *xeno-grey-skin-list (list *xeno-grey-skin-lightgrey* *xeno-grey-skin-darkgrey* *xeno-grey-skin-fleshtone*))
|
||||
(defparameter *xeno-grey-skintype-sharkskin* 40)
|
||||
(defparameter *xeno-grey-skintype-smooth* 90)
|
||||
(defparameter *xeno-grey-skintype-humanlike* 100)
|
||||
(defparameter *xeno-grey-skintype-list* (list *xeno-grey-skintype-sharkskin* *xeno-grey-skintype-smooth* *xeno-grey-skintype-humanlike*))
|
||||
(defparameter *xeno-grey-eyes-ellipticallarge* 90)
|
||||
(defparameter *xeno-grey-eyes-ellipticalsmall* 95)
|
||||
(defparameter *xeno-grey-eyes-humanlike* 100)
|
||||
(defparameter *xeno-grey-eyes-list (list *xeno-grey-eyes-ellipticallarge* *xeno-grey-eyes-ellipticalsmall* *xeno-grey-eyes-ellpitcalhumanlike*))
|
||||
;; Reptoid Variables
|
||||
(defparameter *xeno-reptoid-rand* 80)
|
||||
(defparameter *xeno-reptoid-roll* 2)
|
||||
(defparameter *xeno-reptoid-height-min* 6.5)
|
||||
(defparameter *xeno-reptoid-height-max* 8.5)
|
||||
(defparameter *xeno-reptoid-height-result* 0.0)
|
||||
(defparameter *xeno-reptoid-stances* (list :a straight :b slightly-hunched :c hunched :d hands-and-feet))
|
||||
(defparameter *xeno-reptoid-walkingpattern* (list :a normal :b rapid))
|
||||
;; Nordic Variables
|
||||
(defparameter *xeno-nordic-rand* 90)
|
||||
(defparameter *xeno-nordic-roll* 3)
|
||||
(defparameter *xeno-nordic-height-min* 5.0)
|
||||
(defparameter *xeno-nordic-height-max* 7.0)
|
||||
(defparameter *xeno-nordic-height-result* 0.0)
|
||||
(defparameter *xeno-nordic-stances* (list :a straight))
|
||||
(defparameter *xeno-nordic-walkingpattern* (list :a normal :b fluid :c floating))
|
||||
(defparameter *xeno-liquidmetal-rand* 93)
|
||||
(defparameter *xeno-liquidmetal-roll* 4)
|
||||
(defparameter *xeno-liquidmetal-size-min* 1.0)
|
||||
(defparameter *xeno-liquidmetal-size-max* 5.0)
|
||||
(defparameter *xeno-liquidmetal-size-result* 0.0)
|
||||
(defparameter *xeno-artificalint-rand* 96)
|
||||
(defparameter *xeno-artificalint-roll* 5)
|
||||
(defparameter *xeno-artificalint-size-min* 1.0)
|
||||
(defparameter *xeno-artificalint-size-max* 10.0)
|
||||
(defparameter *xeno-artificalint-size-result* 0.0)
|
||||
(defparameter *xeno-monsterous-rand* 100)
|
||||
(defparameter *xeno-monsterous-roll* 6)
|
||||
(defparameter *xeno-monsterous-size-min* 6.0)
|
||||
(defparameter *xeno-monsterous-size-max* 15.0)
|
||||
(defparameter *xeno-monsterous-size-result* 0.0)
|
||||
(defparameter *xeno-report-roll* 0)
|
||||
(defparameter *xeno-report-roll-number* 0)
|
||||
(defparameter *xeno-report-result* nil)
|
||||
(defparameter *xeno-report-types* (list *xeno-grey-rand* *xeno-reptoid-rand* *xeno-nordic-rand* *xeno-liquidmetal-rand* *xeno-artificalint-rand* *xeno-monsterous-rand*))
|
||||
|
||||
(defun xeno-random-type ()
|
||||
(setf *xeno-report-roll* (random 100))
|
||||
(dolist (x *xeno-report-types*) (incf *xeno-report-roll-number*) (when (>= x *xeno-report-roll*) (return x))))
|
||||
(defun xeno-random-type-var ()
|
||||
(cond ((= *xeno-report-roll-number* 1) (setq *xeno-report-result* 'Grey))
|
||||
((= *xeno-report-roll-number* 2) (setq *xeno-report-result* 'Reptoid))
|
||||
((= *xeno-report-roll-number* 3) (setq *xeno-report-result* 'Nordic))
|
||||
((= *xeno-report-roll-number* 4) (setq *xeno-report-result* 'Liquidmetal))
|
||||
((= *xeno-report-roll-number* 5) (setq *xeno-report-result* 'Artificalint))
|
||||
((= *xeno-report-roll-number* 6) (setq *xeno-report-result* 'Monsterous))))
|
||||
(defun xeno-biology-rand-grey ()
|
||||
(setq *xeno-grey-height-result* (+ *xeno-grey-height-min* (random (- *xeno-grey-height-max* *xeno-grey-height-min*)))))
|
||||
(defun xeno-biology-rand-reptoid ()
|
||||
(setq *xeno-reptoid-height-result* (+ *xeno-reptoid-height-min* (random (- *xeno-grey-height-max* *xeno-grey-height-min*)))))
|
||||
(defun xeno-biology-rand-nordic ()
|
||||
(setq *xeno-nordic-height-result* (+ *xeno-nordic-height-min* (random (- *xeno-nordic-height-max* *xeno-grey-height-min*)))))
|
||||
(defun xeno-biology-rand-liquidmetal ()
|
||||
(setq *xeno-liquidmetal-size-result* (+ *xeno-liquidmetal-size-min* (random (- *xeno-liquidmetal-size-max* *xeno-liquidmetal-size-min*)))))
|
||||
(defun xeno-biology-rand-artificalint ()
|
||||
(setq *xeno-artificalint-size-result* (+ *xeno-artificalint-size-min* (random (- *xeno-artificalint-size-max* *xeno-grey-height-min*)))))
|
||||
(defun xeno-biology-rand-monsterous ()
|
||||
(setq *xeno-monsterous-size-result* (+ *xeno-monsterous-size-min* (random (- *xeno-monsterous-size-max* *xeno-monsterous-size-min*)))))
|
||||
(defparameter *xeno-greys* nil)
|
||||
(defparameter *xeno-reptoids* nil)
|
||||
(defparameter *xeno-nordics* nil)
|
||||
(defparameter *xeno-artificalint* nil)
|
||||
(defparameter *xeno-liquidmetal* nil)
|
||||
(defparameter *xeno-monsterous* nil)
|
||||
(defparameter *xeno-types* nil)
|
||||
(defparameter *humanoid-stances* nil)
|
||||
(defparameter *trashbin* nil)
|
||||
(defparameter *xeno-count* 0)
|
||||
(defstruct xeno-humanoid
|
||||
xeno-type random height-min height-max)
|
||||
(defstruct xeno-nonhumanoid
|
||||
xeno-type random size)
|
||||
(defstruct humanoid-stance
|
||||
name description stance gait)
|
||||
(defstruct humanoid-skin
|
||||
name description tone type)
|
||||
(defstruct humanoid-eyes
|
||||
name description number color type)
|
||||
(defstruct communication-type
|
||||
name description)
|
||||
;; creating base structures for the three main xenotypes
|
||||
(defun create-greys-base ()
|
||||
(setq *xeno-types* (make-xeno-humanoid))
|
||||
(setf (xeno-humanoid-xeno-type *xeno-types*) "Greys")
|
||||
(setf (xeno-humanoid-random *xeno-types*) (+ 25 (random 10)))
|
||||
(setf (xeno-humanoid-height-min *xeno-types*) (+ 55 (random 20)))
|
||||
(setf (xeno-humanoid-height-max *xeno-types*) (+ 75 (random 20))))
|
||||
(defun create-reptoids-base ()
|
||||
(setq *xeno-types* (make-xeno-humanoid))
|
||||
(setf (xeno-humanoid-xeno-type *xeno-types*) "Reptoids")
|
||||
(setf (xeno-humanoid-random *xeno-types*) (+ 30 (random 15)))
|
||||
(setf (xeno-humanoid-height-min *xeno-types*) (+ 50 (random 20)))
|
||||
(setf (xeno-humanoid-height-max *xeno-types*) (+ 80 (random 20))))
|
||||
(defun create-nordics-base ()
|
||||
(setq *xeno-types* (make-xeno-humanoid))
|
||||
(setf (xeno-humanoid-xeno-type *xeno-types*) "Nordics")
|
||||
(setf (xeno-humanoid-random *xeno-types*) (+ 10 (random 10)))
|
||||
(setf (xeno-humanoid-height-min *xeno-types*) (+ 60 (random 10)))
|
||||
(setf (xeno-humanoid-height-max *xeno-types*) (+ 70 (random 15))))
|
||||
;; create stance/skin/eyes/communication for humanoid xenos
|
||||
(defun create-stance-walking ()
|
||||
(setq *trashbin* (make-humanoid-stance))
|
||||
(setf (humanoid-stance-name *trashbin*) "Walking")
|
||||
(setf (humanoid-stance-description *trashbin*) "Walks in a normal human-like fashion")
|
||||
(setf (humanoid-stance-stance *trashbin*) "Stands straight")
|
||||
(setf (humanoid-stance-gait *trashbin*) "Normal"))
|
||||
(defun create-stance-hunched ()
|
||||
(setq *trashbin* (make-humanoid-stance))
|
||||
(setf (humanoid-stance-name *trashbin*) "Hunched")
|
||||
(setf (humanoid-stance-description *trashbin*) "Moves hunched over")
|
||||
(setf (humanoid-stance-stance *trashbin*) "Stands hunched")
|
||||
(setf (humanoid-stance-gait *trashbin*) "Slow"))
|
||||
(defun create-skin-human ()
|
||||
(setq *trashbin* (make-humanoid-skin))
|
||||
(setf (humanoid-skin-name *trashbin*) "Human")
|
||||
(setf (humanoid-skin-description *trashbin*) "Human-like skin, Pinkish in color and smooth to the touch")
|
||||
(setf (humanoid-skin-tone *trashbin*) "White")
|
||||
(setf (humanoid-skin-type *trashbin*) "Smooth"))
|
||||
(defun create-eyes-humanpair ()
|
||||
(setq *trashbin* (make-humanoid-eyes))
|
||||
(setf (humanoid-eyes-name *trashbin*) "Human")
|
||||
(setf (humanoid-eyes-description *trashbin*) "Human-like eyes with Blue Iris")
|
||||
(setf (humanoid-eyes-type *trashbin*) "Human")
|
||||
(setf (humanoid-eyes-color *trashbin*) "Blue")
|
||||
(setf (humanoid-eyes-number *trashbin*) 2))
|
||||
(defun create-greys-xeno ()
|
||||
(setq *xeno-count* (random 100))
|
||||
(create-greys-base)
|
||||
(push *xeno-types* *xeno-greys*)
|
||||
(cond
|
||||
((>= *xeno-count* 50) (create-stance-walking))
|
||||
((< *xeno-count* 50) (create-stance-hunched)))
|
||||
(push *trashbin* *xeno-greys*)
|
||||
(create-skin-human)
|
||||
(push *trashbin* *xeno-greys*)
|
||||
(create-eyes-humanpair)
|
||||
(push *trashbin* *xeno-greys*))
|
Loading…
Reference in New Issue
Block a user