   @use = (battle, user, target) ->
     target.attach(new Attachment.Yawn())
 
+# Keep this at the bottom or look up how it affects Metronome.
+# TODO: Figure out a better solution
 moves['confusion-recoil'] = new Move "Confusion recoil",
   "accuracy": 0,
   "damage": "physical",

    user.currentHP = 0
    target.boost(attack: -2, specialAttack: -2)

extendMove 'nightmare', ->
  @use = (battle, user, target, damage) ->
    if target.hasStatus(Status.SLEEP)

# Generate the initial versions of every single move.
# Many will be overwritten later.
@moves = moves = {}
@moveList = moveList = []
for name, attributes of @MoveData
  @moves[name] = new Move(name, attributes)
  @moveList.push(name)

# Extends a move in the move list using a callback.
#
