123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- ;; This gets created when travelling to a
- ;; new sector
- (defclass sector ()
- ((market
- :initarg :market
- :accessor market)
- (hazards
- :initarg :hazards
- :accessor hazards
- :initform NIL)
- (boons
- :initarg :boons
- :accessor boons
- :initform NIL)
- (player-ship-obj
- :initarg :player-ship-obj
- :accessor player-ship-obj
- :initform NIL)
- (enemy-ships
- :initarg :enemy-ships
- :accessor enemy-ships
- :initform NIL)))
- (defclass ship ()
- ((armor-val
- :initarg :armor-val
- :accessor armor-val
- :initform 10)
- (rep-shield-val
- :initarg :rep-shield-val
- :accessor rep-shield-val
- :initform 10)
- (warp-drive-power ; 0 off, 1 on
- :initarg :warp-drive-power
- :accessor warp-drive-power
- :initform 1)
- (reactor-str ; 0 - low power, 1 - full power, 2 - overdrive
- :initarg :reactor-str
- :accessor reactor-str
- :initform 1)
- (warp-field ; 0 - low power, 1 - full power
- :initarg :warp-field
- :accessor warp-field
- :initform 1)
- (weapons
- :initarg :weapons
- :accessor weapons)
- (credits
- :initarg :credits
- :accessor credits
- :initform 1000)
- (crew
- :initarg :crew
- :accessor crew
- :initform NIL)
- (inventory
- :initarg :inventory
- :accessor inventory
- :initform (make-instance 'player-inventory))))
- (defclass ai-ship (ship)
- ((name
- :initarg :name
- :accessor name
- :initform NIL)
- (ai-type
- :initarg :ai-type
- :accessor ai-type
- :initform NIL)))
- (defclass player-inventory ()
- ((petrofuel
- :initarg :petrofuel
- :accessor petrofuel
- :initform 20)
- (gruel
- :initarg :gruel
- :accessor gruel
- :initform 20)
- (spice
- :initarg :spice
- :accessor spice
- :initform 0)
- (ammo
- :initarg :ammo
- :accessor ammo
- :initform 20)
- (archeotech
- :initarg :archeotech
- :accessor archeotech
- :initform 0)))
- (defclass crew ()
- ((sanity-val ; Max 100
- :initarg :sanity-val
- :accessor sanity-val
- :initform 100)
- (moral-val
- :initarg :moral-val
- :accessor moral-val
- :initform 100)
- (crew-members
- :initarg :crew-members ; List of *uniq-crew-mem*
- :accessor crew-members)))
- ;;; Unique crew member that can provide an abstract buff
- ;;; or nerf to some internal game system
- (defclass uniq-crew-mem ()
- ((name
- :initarg :name
- :accessor name)
- (buff
- :initarg :buff
- :accessor buff
- :initform NIL)))
- (defclass crew-buff ()
- ((name
- :initarg :name
- :accessor name)
- (buff-type
- :initarg :buff-type
- :accessor buff-type
- :initform NIL)
- (buff-value
- :initarg :buff-value
- :accessor buff-value
- :initform NIL)))
- (defclass weapon ()
- ((name
- :initarg :name
- :accessor name)
- (shield-dmg
- :initarg :shield-dmg
- :accessor shield-dmg)
- (hull-dmg
- :initarg :hull-dmg
- :accessor hull-dmg)
- (ammo-cost
- :initarg :ammo-cost
- :accessor ammo-cost)))
- (defclass market ()
- ((price-of-petrofuel
- :initarg :petrofuel
- :accessor price-of-petrofuel
- :initform 10)
- (price-of-gruel
- :initarg :gruel
- :accessor price-of-gruel
- :initform 5)
- (price-of-spice
- :initarg :spice
- :accessor price-of-spice
- :initform 100)
- (price-of-ammo
- :initarg :ammo
- :accessor price-of-ammo
- :initform 20)
- (price-of-archeotech
- :initarg :archeotech
- :accessor price-of-archeotech
- :initform 2000)))
|