Code: Select all
;;----------BLIZZARD--------;;
(defparameter *Blizzard* (make-instance 'Moves))
(setf (slot-value *Blizzard* 'NAME) "Blizzard")
(setf (slot-value *Blizzard* 'BASEDMG) 120)
(setf (slot-value *Blizzard* 'PP) 5)
(setf (slot-value *Blizzard* 'ACCURACY) 90)
(setf (slot-value *Blizzard* 'STATUS) nil)
(setf (slot-value *Blizzard* 'TYPING) "Ice")
(setf (slot-value *Blizzard* 'CATEGORY) "Special")
;;Cloyster
(defparameter *Cloyster* (make-instance 'Pokemon))
(setf (slot-value *Cloyster* 'HP) 156)
(setf (slot-value *Cloyster* 'ATK) 146)
(setf (slot-value *Cloyster* 'DEF) 231)
(setf (slot-value *Cloyster* 'SPECIAL) 136)
(setf (slot-value *Cloyster* 'SPEED) 121)
(setf (slot-value *Cloyster* 'TYPEONE) "Ice")
(setf (slot-value *Cloyster* 'TYPETWO) "Water")
(setf (slot-value *Cloyster* 'LEVEL) 50)
Code: Select all
(defclass Pokemon ()
(HP
ATK
DEF
SPECIAL
SPEED
TYPEONE
TYPETWO
LEVEL
ATTACKONE
ATTACKTWO
ATTACKTHREE
ATTACKFOUR))
(defclass Moves ()
(NAME
BASEDMG
PP
ACCURACY
STATUS
TYPING
CATEGORY))
Code: Select all
(defun Damage (Moves Pokemon)
(+ (/ (* (* (+ (/ 100 5) 2) BASEDMG) (/ ATK DEF)) 50) 2))
Thanks much!