   :group "Orc-Battle"
 ;;  (define-key orc-battle-mode-map (kbd "SPC") 'orc-battle-function)
 ;;  (define-key orc-battle-mode-map (kbd "n") 'orc-battle-start)
-  )
+  (define-key orc-battle-mode-map (kbd "s") 'player-stab)
+  (define-key orc-battle-mode-map (kbd "d") 'player-double-swing)
+  (define-key orc-battle-mode-map (kbd "r") 'player-roundhouse))
 
 (defun orc-battle-init ()
   (init-monsters)
   (init-player))
+
+(defun phase-one ()
+  (show-player)
+  (dotimes (k (1+ (truncate (/ (max 0 orc-battle-player-agility) 15))))
+    (unless (monsters-dead)
+      (show-monsters)
+      (player-attack)))
+  (newline))
+
+(defun phase-two ()
+  (newline)
+  (map 'list
+       (lambda(m)
+         (or (monster-dead m) (monster-attack m)))
+       orc-battle-monsters)
+  (phase-one))
 
 (defun game-loop ()
   (unless (or (player-dead) (monsters-dead))

(defmethod monster-hit ((m hydra) x)
  (decf (oref m health) x)
  (if (monster-dead m)
      (progn (insert "The corpse of the fully decapitated and decapacitated hydra
falls to the floor!")
             (newline))
    (progn (insert "You lop off ")
           (insert (int-to-string x))

(defmethod monster-attack ((m brigand))
  (let ((x (max orc-battle-player-health orc-battle-player-agility orc-battle-player-strength)))
    (cond ((= x orc-battle-player-health)
           (insert "A brigand hits you with his slingshot, taking off 2 health points! ")
           (newline)
           (decf orc-battle-player-health 2))
          ((= x orc-battle-player-agility)
           (insert "A brigand catches your leg with his whip, taking off 2 agility points! ")
           (newline)
           (decf orc-battle-player-agility 2))
          ((= x orc-battle-player-strength)
           (insert "A brigand cuts your arm with his whip, taking off 2 strength points! ")
           (newline)
           (decf orc-battle-player-strength 2)))))

