Quak.
[uxul-world.git] / player.lisp
index a111e43..bbfb7d1 100755 (executable)
              :initform  (make-animation 7
                                        |uxul_small1|
                                        |uxul_small2|))
+   (last-y :initarg :last-pos
+            :accessor last-y
+            :initform nil)
+   (bounced :initarg :bounced
+           :accessor bounced
+           :initform nil)
    (jump-accel :accessor jump-accel
               :initform -50)
    (mayjump :accessor mayjump
 (defmethod invoke ((obj player))
   "Do whatever a player does ^^"
 
+  (cond
+    ((bounced obj)
+     (setf (bounced obj) nil))
+    ((and
+      (last-y obj)
+      (< (last-y obj) (y obj)))
+     (setf (mayjump obj) nil)))
+
+  (setf (last-y obj) (y obj))
+
   ;; SIMPLE GRAVITY HACK
   (setf (key-pressed-down obj) (not (key-pressed-up obj)))