Now they can say something:
-When their last Pokémon's HP is between 25% and 50%.
-When a critical hit is dealt to their first Pokémon for the first time.
-When a super effective hit is dealt to their first Pokémon for the first time.
-When a STAB move is used against (but doesn't faint) the opponent's Pokémon.
-When the Player's Pokémon's move doesn't affect the opponent's Pokémon.
-When they're about to trigger a Mega Evolution.
-When they're about to trigger a Z-Move.
Misc. changes:
-Split GetEnemyMonCount for readability's sake.
-Optimized the size allocated to trainerSlideLowHpMsgDone.
Mimicry is now a proud member of ABILITYEFFECT_ON_TERRAIN.
Misc. changes:
-Ditched the dependency on and usage of gBattlerAttacker for the effects inside ABILITYEFFECT_ON_WEATHER and ABILITYEFFECT_ON_TERRAIN.
-Made Cmd_switchineffects activate ABILITYEFFECT_ON_TERRAIN to take into account overworld weather-induced field terrains.
-Updated the text strings printed by the battle scripts inside the aforementioned AbilityBattleEffects caseIDs.
-Removed constant label of unused VARIOUS_TRY_TO_APPLY_MIMICRY which I forgot about.
-Updated ChangeTypeBasedOnTerrain, partly as a result of the aforementioned changes but also for optimization purposes.
-There was never a reason to establish an empty scope, or to use GET_MOVE_TYPE and the variables that complemented it.
-Removed case ABILITY_QUARK_DRIVE from AbilityBattleEffects' case ABILITYEFFECT_ON_SWITCHIN.
A new, probably better way to handle the announcement trigger that abilities such as Protosynthesis and Quark Drive have, when the battle weather or the field terrain change.
Misc. changes:
-EFFECT_DAMAGE_SET_TERRAIN -> EFFECT_HIT_SET_REMOVE_TERRAIN
-It's more appropriate as the effect can be used to force set a terrain or simply to remove an active terrain, after all.
-The main reason for the rename was the inconsistency with the battle script's label.
-Reverted accidentally committed change to B_DOUBLE_WILD_CHANCE, performed back in c8abf00c.
-Renamed TryActivateWindRiderLoop to BattleScript_TryTailwindAbilitiesLoop
-Modified how it handles the check for Wind Rider by using a various and incorporated Wind Power into the mix because that ability is affected by Tailwind as well.
Make this more versatile by allowing it to check parentalBondOn instead of only checking if parentalBondOn == 2. Also, fix Dragon Tail/Circle Throw switching the target on the first hit.
Track the side that originally set Sticky Web, and if it matches the side the target of the speed drop is on, don't activate Defiant. Hard to tell if this is a bug or a feature in gen 8 - maybe the swapped webs are considered a "friendly" effect?
Also, fix Sticky Web not activating Defiant.