{
      duration: 5,
      durationCallback(source, effect) {
        if (source?.hasAbility("persistent")) {
          this.add("-activate", source, "ability: Persistent", "[move] Distortion Room");
          return 7;
        }
        return 5;
      },
      onFieldStart(field, source) {
        if (source?.hasAbility("persistent")) {
          this.add("-fieldstart", "move: Distortion Room", "[of] " + source, "[persistent]");
        } else {
          this.add("-fieldstart", "move: Distortion Room", "[of] " + source);
        }
      },
		  onEffectivenessPriority: 1,
		  onEffectiveness(typeMod, target, type, move) {
		  	if (target.hasType("Ghost")) return;
		  	if (move && move.id === 'freezedry' && type === 'Water') return;
		  	if (move && move.id === 'digdeep' && type === 'Ground') return;
		  	if (move && move.id === 'shortcircuit' && type === 'Electric') return;
		  	if (move && move.id === 'lethalinjection' && type === 'Poison') return;
		  	if (move && move.id === 'unknownpower') return;
		  	if (move && !this.dex.getImmunity(move, type)) return 1;
		  	if (typeMod) return -typeMod;
		  },
      onFieldRestart(target, source) {
        this.field.removePseudoWeather("distortionroom");
      },
      onFieldResidualOrder: 27,
      onFieldResidualSubOrder: 5,
      onFieldEnd() {
        this.add("-fieldend", "move: Distortion Room");
      }
}