Should work with run-room.
((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)
(add-object (make-instance 'flying-nasobem
:x (* 128 x)
:y (* 128 y)) room))
+ ((eq type 'key)
+ (add-object (make-instance 'key
+ :x (* 128 x)
+ :y (* 128 y)
+ :dungeon arg1) room))
+ ((eq type 'door)
+ (add-object (make-instance 'door
+ :x (* 128 x)
+ :y (* 128 y)
+ :dungeon arg1) room))
((eq type 'burning-marshmallow)
(add-object (make-instance 'burning-marshmallow
:x (* 128 x)