         when 'falling' then @_changeAnimation 31, no
         when 'landing' then @_changeAnimation 'land'
 
+    _updateBaseMovement: ->
+      @nextAction = 'none'
+
+      if @state is 'falling' and @physics.touching.down
+        @nextState = 'landing'
+      else unless @isInMidAir()
+        @nextState = 'running'
+
     _updateXMovement: ->
       ###
       Basically handle switching direction, and running or being still


    _updateYMovement: ->
      ###
      Basically handle starting and ending of jump, and starting of falling. The
      tracking of previous velocity is an extra complexity. The possibility of
      hitting the ceiling during jump is another one.
      ###

      if @cursors.up.isDown and not @isInMidAir() and not @_jumpTimer.running

    isRunning: (direction) -> direction is @direction and @velocity.x isnt 0

    update: ->
      @_updateBaseMovement()

      @_updateXMovement()
      @_updateYMovement()
