-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.
Anger Shell:
-Made it print a string from the gStatDownStringIds table while lowering Def and Sp. Def
-Made it use the shiny new modifybattlerstatstage macro.
-Made it activate multiple times per battle, as it should.
Well-Baked Body:
-Turned it into an absorbing ability.
Wind Rider:
-Turned it into an absorbing ability.
-For its Tailwind interaction, I made it activate only when Tailwind kicks in successfully, instead of whenever it's active at the end of a turn.
Guard Dog:
-Updated its check inside BattleScript_EffectHitEscape.
-Moved it from Cmd_forcerandomswitch to BattleScript_EffectRoar.
Wind Power:
-Split off its move end effect from Electromorphosis'.
Electromorphosis:
-Split off its move end effect from Wind Power's.
Hadron Engine:
-Merged its Switch In effect with Electric Surge's.
Protosynthesis:
-Fixed its stat boost.
Quark Drive:
-Fixed its stat boost.
Cud Chew:
-Updated its ENDTURN effect's berry check.
Supreme Overlord:
-Tweaked the looping i variable's data type, the order of the variables and the checks inside ApplySupremeOverlordModifier.
Earth Eater:
-Turned it into an absorbing ability.
Misc changes:
-Added a variable to set the amount of stat stages raised inside AbilityMoveEffects' case ABILITYEFFECT_ABSORBING.
-Added a preproc config to update the text string that they print.
-Limited the scope of atkHighestStat and defHighestStat in CalcMoveBasePowerAfterModifiers to Protosynthesis's and Quark Drive's effects.
Also added a battle preproc config to check if the STATUS3_CHARGED_UP was already applied.
Pokémon Scarlet and Violet don't check if this status flag was already applied on the target of abilities like Electromorphosis (and Wind Power until proven otherwise.)
As a result, the game will trigger the ability multiple times if they're hit by a multihit move.
This directive makes the code end the ability effect preemptively if the target does have the status flag applied.
-Added a modifybattlerstatstage macro to handle stat stages in battle.
-Rewrote the checks inside the case ABILITYEFFECT_MOVES_BLOCK of AbilityBattleEffects.
Misc:
-Made the ability pop up stick around until the ability's effect ends just like in ORAS.
-Updated sText_BadDreamsDmg accordingly while I was at it.
Fix Justified, Berserk, Rattled, Stamina and Water Compaction printing the wrong message when they activate. Steam Engine was also updated to follow the gen 5+ ability activation method style.