{
  name: "Eject Button",
  spritenum: 118,
  fling: {
  	basePower: 30,
  },
  onAfterMoveSecondaryPriority: 2,
  onAfterMoveSecondary(target, source, move) {
  	if (source && source !== target && target.hp && move && move.category !== 'Status' && !move.flags['futuremove']) {
  		if (!this.canSwitch(target.side) || target.forceSwitchFlag || target.beingCalledBack || target.isSkyDropped()) return;
  		if (target.volatiles['commanding'] || target.volatiles['commanded']) return;
  		for (const pokemon of this.getAllActive()) {
  			if (pokemon.switchFlag === true) return;
  		}
  		target.switchFlag = true;
  		if (target.useItem()) {
  			source.switchFlag = false;
  		} else {
  			target.switchFlag = false;
  		}
  	}
  },
  num: 547,
  gen: 5,
}