         !(user.gender == 'F' && target.gender == 'M'))
       @fail(battle)
     else
-      target.boost(specialAttack: -2)
+      target.boost(specialAttack: -2, user)
 
 makeBoostMove 'Charge', 'self', specialDefense: 1
 extendMove 'Charge', ->

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

makeWeatherMove = (name, weatherType) ->
  extendMove name, ->

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

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