     if @storage.nextRespawn? and ! respawnTimeouts[@id()]
       msDelay = moment(@storage.nextRespawn).diff(moment())
       fn = => @respawn()
-      respawnTimeouts[@id] = setTimeout fn, msDelay
+      respawnTimeouts[@id()] = setTimeout fn, msDelay
 
     # Reset the healing timeout if necessary.
-    if @hp() > 0 and @hp() < @maxHP() and ! @storage.inCombat and ! healTimeouts[@id()]
-      @healOverTime()
+    unless healIntervals[@id()]?
+      fn = => @healOverTime()
+      healIntervals[@id()] = setInterval(fn, 5000)
 
   id: -> @user.id
 


  levelUp: (amount) -> @storage.exp += amount

  # Public: Revive this Challenger with full HP.
  #
  respawn: ->

moment = require 'moment'

respawnTimeouts = {}
healIntervals = {}

# A participant in the hammersportening.
#
