{
  onStart(pokemon) {
    pokemon.removeVolatile('truant');
    if (pokemon.activeTurns && (pokemon.moveThisTurnResult !== undefined || !this.queue.willMove(pokemon))) {
      pokemon.addVolatile('truant');
    }
  },
  onBeforeMovePriority: 9,
  onBeforeMove(pokemon, target, move) {
    if (!move) return;

    if (pokemon.volatiles['truant']) {
      if (move.heal || move.id === 'rest') {
        pokemon.removeVolatile('truant');
        return;
      }

      this.add('cant', pokemon, 'ability: Truant');
      return false;
    }

    pokemon.addVolatile('truant');
  },
  condition: {},
  flags: {},
  name: "Truant",
  rating: -1,
  num: 54,
}
