Skip to content

Custom Showdown Datapacking

YajatKaul edited this page Jan 18, 2026 · 19 revisions

Abilities

To add custom Pokémon abilities in the game

data/namespace/mega_showdown/showdown/abilities/ability_name.js

{
    onSwitchIn(pokemon) {
      this.effectState.switchingIn = true;
    },
    onStart(pokemon) {
      if (this.effectState.switchingIn) {
        this.add("-ability", pokemon, "Air Lock");
        this.effectState.switchingIn = false;
      }
      this.eachEvent("WeatherChange", this.effect);
    },
    onEnd(pokemon) {
      this.eachEvent("WeatherChange", this.effect);
    },
    suppressWeather: true,
    flags: {},
    name: "Ability Name",
    rating: 1.5,
    num: 76
}

This wiki wont exactly teach you how to make abilities and showdown logic, you can refer other existing abilities to craft your custom one from Showdown

Conditions

HeldItems

Moves

Scripts

TypeCharts

Clone this wiki locally