* Fix move validation involving prevo-only moves
https://www.smogon.com/forums/threads/bug-report-validator.3759104/
This is something that should've always been in #10574. Setting setSources.babyOnly becomes useless here because it eventually gets set after validating a move is complete.
* Actually fix DW
* Gen 9 Battle Factory updates
* Force Stealth Rock on non-Uber teams
* update ru spreads for no conk
* Implement Mienshao NU ban
* Random Battles: January 2025 balance patch
* some work
* continued
* baby and lint
* lint and stuff
* Gen 5 Shuckle
* Fix doubles HP EVs
* Remove most terrain abilities from spotlight and add fur coat
* Fix Ursaring roles in old gens
* cacturne and seel
---------
Co-authored-by: livid-washed <115855253+livid-washed@users.noreply.github.com>
Co-authored-by: adrivrie <adriaan.de.vries@hotmail.com>
* PiC: Don't activate abilities when a solo switch-in faints to hazards
* Better namespacing
* Another nickel in the saveReplay jar
Co-authored-by: HiZo <96159984+HisuianZoroark@users.noreply.github.com>
---------
Co-authored-by: HiZo <96159984+HisuianZoroark@users.noreply.github.com>
A private command table named /foo - say, with /foo bar and /foo baz - would leak its existence when /foo is used, reporting back that the command '/foo ' does not exist - whereas a nonexistent command would not have the trailing space.
* Gen 9 Battle Factory updates
* Force Stealth Rock on non-Uber teams
* update ru spreads for no conk
* Implement Mienshao NU ban
---------
Co-authored-by: livid-washed <115855253+livid-washed@users.noreply.github.com>
* SSB: Fix null reference error in 'Drifting' ability
Fixed a crash caused by a `TypeError` when the `defender` is `null` in the `Drifting` ability. Added necessary null checks in the `onModifyAtk` and `onModifySpA` methods to ensure `defender` is valid before accessing its properties.
**Stack Trace:**
```TS
A battle crashed: TypeError: Cannot read properties of null (reading 'activeTurns')
at Battle.onModifyAtk (/home/ps/main/data/mods/gen9ssb/abilities.ts:1725:18)
at Battle.runEvent (/home/ps/main/sim/battle.ts:845:34)
at Pokemon.getStat (/home/ps/main/sim/pokemon.ts:602:23)
at Battle.onModifyMove (/home/ps/main/data/mods/gen9ssb/moves.ts:6018:16)
at Battle.singleEvent (/home/ps/main/sim/battle.ts:585:25)
at BattleActions.useMoveInner (/home/ps/main/data/mods/gen9ssb/scripts.ts:1308:16)
at BattleActions.useMove (/home/ps/main/sim/battle-actions.ts:386:27)
at BattleActions.runMove (/home/ps/main/data/mods/gen9ssb/scripts.ts:1216:34)
at Battle.runAction (/home/ps/main/data/mods/gen9ssb/scripts.ts:443:17)
at Battle.turnLoop (/home/ps/main/sim/battle.ts:2802:9)
```
* put check on both modify events