Add a new event ModifyAccuracy that affects all moves other than OHKO
moves and switched many event handlers that originally used the Accuracy
event to ModifyAccuracy instead.
Knock Off no longer broadcasts the source so Arceus can knock off a Plate
from a non-Arceus, Genesect can knock off a Drive, etc. Updated Sticky
Hold to check for Knock Off specifically as a result.
TakeItem is no longer suppressed by Mold Breaker, fixing interaction with
Unburden. Updated Sticky Hold to check for Mold Breaker instead.
Items that prevent their own removal do not have that effect negated by
Klutz and other item-negating effects.
Thief and Covet can steal Mail.
onSource event handlers only trigger when the event has the Pokemon with
the effect as a source, and doesn't actually track when effectData.source
is used as the event target. This means an onAny event handler is needed
instead.
Give the move demoted by Quash a negative priority when rearranging it in
the queue so that it does not get re-sorted to its original position when
self switch moves run.
Treat Thousand Arrows' effectiveness as if it were the second hit on, but
add a warning to the relevant commands informing the user that the first
hit will have a different effectiveness.
This fixes the crash in /effectiveness and /coverage when Thousand Arrows
is used.
Knock Off's function call for target.takeItem was written in such a way
that Sticky Hold could not actively notice and trigger its TakeItem event.
This fixes the function to have the handler called properly.
A mod is PS functionality that cannot be replicated in a real
cartridge battle. Preventing someone from pressing the Mega Evolution
button is possible on-cart. It's completely different from changing
the results of pressing a button, which is what Sleep Clause
Mod does.
Replace the pokemon.negateImmunity object with a new `NegateImmunity`
event that handles all the immunity negation.
Also deprecate 'IgnoreEffectiveness' in favor of having relevant moves
and items use `Effectiveness` event handlers instead.