code: function getPlayerCounters(player, attacker, game) {
    return player.hand
      .map((card) => {
        return card.validCounters ? card.validCounters(player, attacker, game) : []
      })
      .reduce((acc, array) => {
        return acc.concat(array)
      }, [])
      .sort((counterA, counterB) => counterB.weight - counterA.weight)
  }
docs: Get a list of possible counter moves, sorted by best option