   # Secondary boosts
   if @boostChance > 0 && battle.rng.randInt(0, 99, "secondary boost") < @boostChance * chanceMultiplier
     pokemon = (if @boostTarget == 'self' then user else target)
-    pokemon.boost(@boostStats)
+    pokemon.boost(@boostStats, user)
 
   # Flinching. In the game, flinching is treated subtly different than
   # secondary effects. One result is that the Fang moves can both inflict

        !(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, ->
