anchor.diff:                  | BattleCease (outcome, timeStart) -> tickCease time timeStart outcome model
               (model, sigs)
   
  -        let inputBindings index =
  +        let battleBindings (battle : Screen) =
  +            [battle.SelectEvent =>! InitializeBattleCmd
  +             battle.DeselectEvent =>! FinalizeBattleCmd
  +             battle.OutgoingStartEvent =>! FadeSongCmd
  +             battle.UpdateEvent => Tick]
  +
  +        let allyBindings index =
               let regularMenu = Simulants.RegularMenu index
               let specialMenu = Simulants.SpecialMenu index
               let itemMenu = Simulants.ItemMenu index
  
positive.code:              reticles.TargetSelectEvent =|> fun evt -> ReticlesSelect (evt.Data, AllyIndex index)
               reticles.CancelEvent =>! IndexedCommandCmd (ReticlesCancel, index)]
  
          override this.Bindings (_, battle, _) =
              [battle.SelectEvent =>! InitializeBattleCmd
               battle.DeselectEvent =>! FinalizeBattleCmd
               battle.OutgoingStartEvent =>! FadeSongCmd
               battle.UpdateEvent => Tick] @
               inputBindings 0 @
               inputBindings 1 @
               inputBindings 2
  
          override this.Message (message, model, _, world) =
              match message with
  
negative.code:                   ActionQueue = Queue.empty }
               model)
  
          let [<Literal>] AllyMax = 3
  
          let getAllies model =
              model.BattleCharacters |> Map.toSeq |> Seq.filter (function (AllyIndex _, _) -> true | _ -> false) |> Seq.map snd |> Seq.toList
  
  