Enemies dont go away when hitting you anymore
[uxul-world.git] / on-collision.lisp
index 8fbaf2a..8647884 100755 (executable)
@@ -28,8 +28,7 @@
     ((moving-rectangle player)
      (standing-rectangle door)
      (collision collision))
-
-  (cond ((find (dungeon standing-rectangle) (keys moving-rectangle))
+  (cond ((find-if #'(lambda (x) (string= x (dungeon standing-rectangle))) (keys moving-rectangle))
         (setf (keys moving-rectangle) (delete (dungeon standing-rectangle) (keys moving-rectangle) :count 1))
         (setf (visible standing-rectangle) nil)
         (setf (active standing-rectangle) nil)
   (setf (autojump moving-rectangle) 5)
   (player-hits-enemy moving-rectangle
                     standing-rectangle
-                    collision))
+                    collision)
+  (setf (colliding standing-rectangle) nil)
+  (move-about moving-rectangle (desired-movement collision))
+  (setf (colliding standing-rectangle) t)
+)
 
 (defmethod on-collision
     ((moving-rectangle player)
                  collision)
   (enemy-hits-player moving-rectangle
                     standing-rectangle
-                    collision))
+                    collision)
+  (setf (colliding standing-rectangle) nil)
+  (move-about moving-rectangle (desired-movement collision))
+  (setf (colliding standing-rectangle) t)
+)