*/
public MoveListEntry getTransformedMove(Pokemon poke, MoveListEntry entry) {
if (!hasEffects(poke.getField()))
return entry;
PokemonMove move = entry.getMove();
PokemonType type = move.getType();
String name = entry.getName();
if (type.equals(PokemonType.T_FIRE)) {
move.setPower((int)((double)move.getPower() * 1.5));
} else if (type.equals(PokemonType.T_WATER)) {
move.setPower((int)((double)move.getPower() / 2.0));
} else if (name.equals("Solarbeam")) {
if (move instanceof StatusMove) {
StatusMove statusMove = (StatusMove)move;
// Assume that the first effect is the ChargeEffect!
ChargeEffect charge = (ChargeEffect)statusMove.getEffects()[0];
charge.setTurns(0);
}
} else if (name.equals("Thunder")) {
move.setAccuracy(0.5);
} else if (name.equals("Weather Ball")) {
move.setPower(100);
move.setType(PokemonType.T_FIRE);
} else if (name.equals("Moonlight") || name.equals("Morning Sun") || name.equals("Synthesis")) {
StatusMove statusMove = (StatusMove)move;
// Assume that the first effect is the PercentEffect!
PercentEffect perc = (PercentEffect)statusMove.getEffects()[0];
perc.setPercent(2.0/3.0);