It was previously using its April Fool's 2012 learnset. This removes
Magikarp's Revenge from its learnset, and sets its moves to Start
moves since that's what they are.
This doesn't yet handle modded formats that don't validate ability
selection in the ordinary manner. Those formats will continue to work
essentially in the same manner as before, rather than with the correct
mechanics.
I'm calling it a refactor because I'm pretty sure it doesn't actually
change anything. But right now gems require a new code guarantee:
basePowerCallback shouldn't return false under normal circumstances.
(Some of them still do return false, but only under error conditions)
Move results are now passed all the way up to the useMove script.
It's now possible to tell from within useMove whether or not the move
succeeded.
This fixes a bug where successful Memento and Healing Wish were
considered to have failed and so didn't cause the user to faint.
Currently, if a burned Pokemon explodes in doubles, all targets except
the first will take full damage, because it's fainted (and no longer
burned) by the time those damage calculations are done.
The correct solution is to do all damage calculations before dealing
any damage, which I will do someday. Today is not that day.
Today, we move fainting the Explosion user to after damage is dealt.
Which, aside from making the faint order wrong, doesn't really have
any other consequences, and is better than the current buggy
damage calculation.
Specifically, the TryFieldHit event no longer exists.
Instead, Magic Bounce has separate event handlers for TryHit and
TryHitSide.
This also fixes it so Magic Coat/Bounce happen before ability
absoption (like Water Absorb).
Gems now boost all hits of a spread move.
This introduces a new event BasePowerMultiplier, so that gems actually
activate at the right time now.
The name is similar to basePowerModifier but they do the same thing
anyway. We should probably figure something out for their naming,
though.
Technically, they were before, but rather than having sections by
mod or gametype, I've split them into the following sections:
- Singles
- Doubles
- Other Metagames
- Past Generations
(Technically OM of the Month is its own section, to make it stand
out)
Anyway, format list sections should be fairly standardized from
now on.
- Add Hustle counter
- Prevent a few move combinations
- Prevent Simple without a boosting move
- Prevent Swift Swim/Chlorophyll without Rain Dance/Sunny Day
- Set Combee's ability to always be Honey Gather
- Set Deoxys-D and Deoxys-S to level 74