   extendMove name, ->
     @use = (battle, user, target) ->
       pokemon = (if boostTarget == 'self' then user else target)
-      pokemon.boost(boosts)
+      pokemon.boost(boosts, user)
 
 makeWeatherMove = (name, weatherType) ->
   extendMove name, ->

        !(user.gender == 'F' && target.gender == 'M'))
      @fail(battle)
    else
      target.boost(specialAttack: -2)

makeBoostMove 'Charge', 'self', specialDefense: 1
extendMove 'Charge', ->

  extendMove name, ->
    @afterSuccessfulHit = (battle, user, target) ->
      pokemon = (if boostTarget == 'self' then user else target)
      pokemon.boost(boosts, user)

makeCounterMove = (name, multiplier, applies) ->
  extendMove name, ->
