Program: 152595
Project: 152595
Buggy source:
private static int calcBasePower(BattlePlayer playerAttacker,BattlePlayer playerDefender,Move move,Battle stats){
  Pokemon attacker=playerAttacker.getPokemon();
  Pokemon defender=playerDefender.getPokemon();
  double hh=1;
  double bp=move.getBasePower();
  double it=1;
  double chg=1;
  double ms=1;
  double ws=1;
  double ua=1;
  double fa=1;
switch (attacker.getHeldItem()) {
case Items.MUSCLE_BAND:
    if (move.getKind() == MoveKinds.PHYSICAL) {
      it=1.1;
    }
  break;
case Items.WISE_GLASSES:
if (move.getKind() == MoveKinds.SPECIAL) {
  it=1.1;
}
break;
case Items.ADAMANT_ORB:
if (attacker.getSpecies().getDexNumber() == 483) {
if (move.getType() == Types.STEEL || move.getType() == Types.DRAGON) {
it=(long)1.2;
}
}
break;
case Items.LUSTROUS_ORB:
if (attacker.getSpecies().getDexNumber() == 484 && (move.getType() == Types.WATER || move.getType() == Types.DRAGON)) {
it=(long)1.2;
}
break;
case Items.GRISEOUS_ORB:
if (attacker.getSpecies().getDexNumber() == 480 && (move.getType() == Types.GHOST || move.getType() == Types.DRAGON)) {
it=(long)1.2;
}
break;
}
if (stats.getSport() == Sport.MUD_SPORT && move.getType() == Types.ELECTRIC) {
ms=(long)0.5;
}
if (stats.getSport() == Sport.WATER_SPORT && move.getType() == Types.FIRE) {
ws=(long)0.5;
}
switch (attacker.getAbility()) {
case RIVALRY:
if (attacker.getGender() == defender.getGender()) {
ua=(long)1.25;
}
 else if (attacker.getGender() != defender.getGender()) {
ua=(long)0.75;
}
 else {
ua=1;
}
break;
case RECKLESS:
if (move.isRecoil()) {
ua=(long)1.2;
}
break;
case IRON_FIST:
if (move.isPunching()) {
ua=(long)1.2;
}
break;
case BLAZE:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.FIRE) {
ua=(long)1.5;
}
break;
case TORRENT:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.WATER) {
ua=(long)1.5;
}
break;
case OVERGROW:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.GRASS) {
ua=(long)1.5;
}
break;
case SWARM:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.BUG) {
ua=(long)1.5;
}
break;
case TECHNICIAN:
if (move.getBasePower() <= 60) {
ua=(long)1.5;
}
break;
}
switch (defender.getAbility()) {
case THICK_FAT:
if (move.getType() == Types.FIRE || move.getType() == Types.ICE) {
fa=(long)0.5;
}
break;
case HEATPROOF:
if (move.getType() == Types.FIRE) {
fa=(long)0.5;
}
break;
case DRY_SKIN:
if (move.getType() == Types.FIRE) {
fa=(long)1.25;
}
break;
}
int basePower=(int)(hh * bp * it* chg* ms* ws* ua* fa);
return basePower;
}

Fixed version (ground truth):
private static int calcBasePower(BattlePlayer playerAttacker,BattlePlayer playerDefender,Move move,Battle stats){
  Pokemon attacker=playerAttacker.getPokemon();
  Pokemon defender=playerDefender.getPokemon();
  double hh=1;
  double bp=move.getBasePower();
  double it=1;
  double chg=1;
  double ms=1;
  double ws=1;
  double ua=1;
  double fa=1;
switch (attacker.getHeldItem()) {
case Items.MUSCLE_BAND:
    if (move.getKind() == MoveKinds.PHYSICAL) {
      it=1.1;
    }
  break;
case Items.WISE_GLASSES:
if (move.getKind() == MoveKinds.SPECIAL) {
  it=1.1;
}
break;
case Items.ADAMANT_ORB:
if (attacker.getSpecies().getDexNumber() == 483) {
if (move.getType() == Types.STEEL || move.getType() == Types.DRAGON) {
it=(long)1.2;
}
}
break;
case Items.LUSTROUS_ORB:
if (attacker.getSpecies().getDexNumber() == 484 && (move.getType() == Types.WATER || move.getType() == Types.DRAGON)) {
it=(long)1.2;
}
break;
case Items.GRISEOUS_ORB:
if (attacker.getSpecies().getDexNumber() == 480 && (move.getType() == Types.GHOST || move.getType() == Types.DRAGON)) {
it=(long)1.2;
}
break;
}
if (stats.getSport() == Sport.MUD_SPORT && move.getType() == Types.ELECTRIC) {
ms=(long)0.5;
}
if (stats.getSport() == Sport.WATER_SPORT && move.getType() == Types.FIRE) {
ws=(long)0.5;
}
switch (attacker.getBattleAbility()) {
case RIVALRY:
if (attacker.getGender() == defender.getGender()) {
ua=(long)1.25;
}
 else if (attacker.getGender() != defender.getGender()) {
ua=(long)0.75;
}
 else {
ua=1;
}
break;
case RECKLESS:
if (move.isRecoil()) {
ua=(long)1.2;
}
break;
case IRON_FIST:
if (move.isPunching()) {
ua=(long)1.2;
}
break;
case BLAZE:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.FIRE) {
ua=(long)1.5;
}
break;
case TORRENT:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.WATER) {
ua=(long)1.5;
}
break;
case OVERGROW:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.GRASS) {
ua=(long)1.5;
}
break;
case SWARM:
if (attacker.getCurrentHealthRatio() < 0.3 && move.getType() == Types.BUG) {
ua=(long)1.5;
}
break;
case TECHNICIAN:
if (move.getBasePower() <= 60) {
ua=(long)1.5;
}
break;
}
switch (defender.getBattleAbility()) {
case THICK_FAT:
if (move.getType() == Types.FIRE || move.getType() == Types.ICE) {
fa=(long)0.5;
}
break;
case HEATPROOF:
if (move.getType() == Types.FIRE) {
fa=(long)0.5;
}
break;
case DRY_SKIN:
if (move.getType() == Types.FIRE) {
fa=(long)1.25;
}
break;
}
int basePower=(int)(hh * bp * it* chg* ms* ws* ua* fa);
return basePower;
}