You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
3.4KB

  1. (defparameter *xeno-greys* nil)
  2. (defparameter *xeno-reptoids* nil)
  3. (defparameter *xeno-nordics* nil)
  4. (defparameter *xeno-artificalint* nil)
  5. (defparameter *xeno-liquidmetal* nil)
  6. (defparameter *xeno-monsterous* nil)
  7. (defparameter *xeno-types* nil)
  8. (defparameter *humanoid-stances* nil)
  9. (defparameter *trashbin* nil)
  10. (defparameter *xeno-count* 0)
  11. (defstruct xeno-humanoid
  12. xeno-type random height-min height-max)
  13. (defstruct xeno-nonhumanoid
  14. xeno-type random size)
  15. (defstruct humanoid-stance
  16. name description stance gait)
  17. (defstruct humanoid-skin
  18. name description tone type)
  19. (defstruct humanoid-eyes
  20. name description number color type)
  21. (defstruct communication-type
  22. name description)
  23. ;; creating base structures for the three main xenotypes
  24. (defun create-greys-base ()
  25. (setq *xeno-types* (make-xeno-humanoid))
  26. (setf (xeno-humanoid-xeno-type *xeno-types*) "Greys")
  27. (setf (xeno-humanoid-random *xeno-types*) (+ 25 (random 10)))
  28. (setf (xeno-humanoid-height-min *xeno-types*) (+ 55 (random 20)))
  29. (setf (xeno-humanoid-height-max *xeno-types*) (+ 75 (random 20))))
  30. (defun create-reptoids-base ()
  31. (setq *xeno-types* (make-xeno-humanoid))
  32. (setf (xeno-humanoid-xeno-type *xeno-types*) "Reptoids")
  33. (setf (xeno-humanoid-random *xeno-types*) (+ 30 (random 15)))
  34. (setf (xeno-humanoid-height-min *xeno-types*) (+ 50 (random 20)))
  35. (setf (xeno-humanoid-height-max *xeno-types*) (+ 80 (random 20))))
  36. (defun create-nordics-base ()
  37. (setq *xeno-types* (make-xeno-humanoid))
  38. (setf (xeno-humanoid-xeno-type *xeno-types*) "Nordics")
  39. (setf (xeno-humanoid-random *xeno-types*) (+ 10 (random 10)))
  40. (setf (xeno-humanoid-height-min *xeno-types*) (+ 60 (random 10)))
  41. (setf (xeno-humanoid-height-max *xeno-types*) (+ 70 (random 15))))
  42. ;; create stance/skin/eyes/communication for humanoid xenos
  43. (defun create-stance-walking ()
  44. (setq *trashbin* (make-humanoid-stance))
  45. (setf (humanoid-stance-name *trashbin*) "Walking")
  46. (setf (humanoid-stance-description *trashbin*) "Walks in a normal human-like fashion")
  47. (setf (humanoid-stance-stance *trashbin*) "Stands straight")
  48. (setf (humanoid-stance-gait *trashbin*) "Normal"))
  49. (defun create-stance-hunched ()
  50. (setq *trashbin* (make-humanoid-stance))
  51. (setf (humanoid-stance-name *trashbin*) "Hunched")
  52. (setf (humanoid-stance-description *trashbin*) "Moves hunched over")
  53. (setf (humanoid-stance-stance *trashbin*) "Stands hunched")
  54. (setf (humanoid-stance-gait *trashbin*) "Slow"))
  55. (defun create-skin-human ()
  56. (setq *trashbin* (make-humanoid-skin))
  57. (setf (humanoid-skin-name *trashbin*) "Human")
  58. (setf (humanoid-skin-description *trashbin*) "Human-like skin, Pinkish in color and smooth to the touch")
  59. (setf (humanoid-skin-tone *trashbin*) "White")
  60. (setf (humanoid-skin-type *trashbin*) "Smooth"))
  61. (defun create-eyes-humanpair ()
  62. (setq *trashbin* (make-humanoid-eyes))
  63. (setf (humanoid-eyes-name *trashbin*) "Human")
  64. (setf (humanoid-eyes-description *trashbin*) "Human-like eyes with Blue Iris")
  65. (setf (humanoid-eyes-type *trashbin*) "Human")
  66. (setf (humanoid-eyes-color *trashbin*) "Blue")
  67. (setf (humanoid-eyes-number *trashbin*) 2))
  68. (defun create-greys-xeno ()
  69. (setq *xeno-count* (random 100))
  70. (create-greys-base)
  71. (push *xeno-types* *xeno-greys*)
  72. (cond
  73. ((>= *xeno-count* 50) (create-stance-walking))
  74. ((< *xeno-count* 50) (create-stance-hunched)))
  75. (push *trashbin* *xeno-greys*)
  76. (create-skin-human)
  77. (push *trashbin* *xeno-greys*)
  78. (create-eyes-humanpair)
  79. (push *trashbin* *xeno-greys*))