{
  num: -1000,
  name: "Forbidden Spell",
  pp: 5,
  priority: 0,
  accuracy: true,
  basePower: 0,
  category: "Status",
  type: "Dark",
  target: "self",
  flags: { mystery: 1 },
  secondary: null,
  contestType: "Clever",
  onHit(source) {
    const randomMoves = [
      'shellsmash',
      'healingwish',
      'darkhole', 
      'tailglow',
      'roaroftime',
      'quiverdance',
      'noretreat', 
      'soulrobbery'
    ];
    const moveName = this.sample(randomMoves);
    const move = this.dex.moves.get(moveName);

    let target = source;
    if (move.target !== 'self' && move.target !== 'ally') {
      const foes = source.foes(true).filter(foe => !foe.fainted);
      if (foes.length) {
        target = this.sample(foes);
      }
    }

    this.actions.useMove(move, source, target);
  },
} 