Closed Golisopod-User closed 2 years ago
Your second point is misleading, as the code change relating to it only applies to Intimidate. It's also unnecessary, because all the stat stage reduction-preventing effects are checked anyway. The repetition of the prevention effects in def pbLowerAttackStatStageIntimidate
are only for the sake of making them say the appropriate things (i.e. naming Intimidate, because if you've gotten to that part of the code, you're not showing ability splashes so Intimidate needs to be identified in messages instead). The note in the code right there says as much. If the splash is shown, it instead calls pbLowerStatStageByAbility
which itself calls pbCanLowerStatStage?
which has the same checks in it.
The note about Beak Blast is also inaccurate. Beak Blast only has the standard failure checks, and doesn't care about whether PBEffects::BeakBlast
is set. That effect is only for burning other Pokémon attacking the user. Yes, it's set to false twice at the start and end of the user actually executing the move, which makes one of those instances superfluous. That's all.
I would prefer there to be a Setting for whether weather-based battle terrains apply, rather than directly checking Settings::MECHANICS_GENERATION
.