Commit Graph

28674 Commits

Author SHA1 Message Date
Slayer95
f5bbea09f6
Let Format#pokemon be merged just like battle, side, actions (#11926) 2026-04-14 15:51:02 -06:00
Kris Johnson
72b341ec5e Add OMMPL tournament formats 2026-04-14 15:49:50 -06:00
Slayer95
7fc9597193
SSBU: Turn off debug mode (#11928) 2026-04-14 13:27:50 -06:00
Slayer95
5ec8a0311f
Move checks for obsolete FormatData fields to loader (#11931) 2026-04-14 13:27:24 -06:00
Slayer95
96871d0fc9
Linked: Improvements to queue and targetting (#11935)
* Linked: Support dynamic turn order after megaevo

The original approach was a minimally invasive hack meant to support
the theoretical yet never playable Doubles/Triples Linked formats.

However, in the playable Singles formats, it had the effect of only
resorting the queue once, before the second player Pokémon moves.
Notably, in a custom format with megaevolutions allowed, the resorting
after mega evolutions are done but before they move was not omitted. In
fact, it could be said that any significant re-sorts were removed.

This commit adds support for proper turn ordering for newly mega-evolved
Pokémon, by implementing a flag specific to Actions for linked 2nd moves,
so that all standard re-sorts before moves are done, while linked 2nd moves
are exempt.

* Linked: Support tracking originalTarget

Implements Propeller Tail, Snipe Shot, and Stalwart,
for compatibility with non-Singles game types.
2026-04-14 13:20:40 -06:00
André Bastos Dias
b1e754ecb8
Champions: Fix Belch, Fake Out, and Freeze-Dry (#11937)
* Fix Belch, Fake Out and Freeze-Dry

* Fix descriptions

* Change Belch's TryMove event to Try because it is the one that Stuff Cheeks uses

* Fix Try event
2026-04-14 13:18:06 -06:00
André Bastos Dias
29944af64a
Champions: Add Min Team Size (#11938)
* Add Min Team Size to Champions

* Remove Beat Up Nicknames Mod from Champions
2026-04-14 13:17:41 -06:00
ry
e6de3f60c4
Fix Kubfu event data (#11940)
* fix tha eventData

* remove nature
2026-04-14 13:17:04 -06:00
Aurastic
c1950e3256
UNO: Fix autodq crash during wild color selection (#11942)
* UNO: Fix autodq crash during wild color selection

* improve error message

Co-authored-by: Slayer95 <ivojulca@hotmail.com>

* Update server/chat-plugins/uno.ts

---------

Co-authored-by: Slayer95 <ivojulca@hotmail.com>
2026-04-14 13:16:25 -06:00
Kris Johnson
67ee00f975 Champions OU: Ban Mega Gengar and Bright Powder 2026-04-14 13:15:27 -06:00
Slayer95
b86dd3ae5c
Test: Add subfolders for rules and OMs (#11932)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
2026-04-12 23:58:17 -05:00
Slayer95
d5c5f4e414
TestTools: Let common.getFormat() error out on bad format IDs (#11929)
Cherry-picked from #11641. Thanks, @TurboRx
2026-04-12 23:57:38 -05:00
Slayer95
e03a832594
Fix support for Best Of + Triples (#11927) 2026-04-12 23:56:29 -05:00
Soul-8691
55725c3ade
FRLG OU: Split OU and UU (#11924)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-04-12 11:07:32 -06:00
Kris Johnson
e778a05d69
Champions: Mark more illegal formes as nonstandard 2026-04-12 11:06:39 -06:00
André Bastos Dias
51e701b212
Champions: Fix Piercing Drill and Unseen Fist (#11917)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Fix Piercing Drill and Unseen Fist

* Change variable name

* Fix

* Rename onBypassProtect to onHitProtect

* Fix
2026-04-11 23:55:02 -06:00
André Bastos Dias
0855a80287
Champions: Slowbro-Galar can't mega evolve (#11921) 2026-04-11 23:53:07 -06:00
André Bastos Dias
98bf26a3f5
Champions: Berserk is not suppressed by Sheer Force (#11919)
* Berserk is not suppressed by Sheer Force

* Fix checkedAngerShell
2026-04-11 23:52:50 -06:00
André Bastos Dias
9493eeb7d6
Fix Mega Sol's Fire damage boost (#11918)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-04-11 18:47:01 -06:00
Kris Johnson
013f2b0cad Champions: Remove Item Clause from Draft 2026-04-11 17:41:57 -06:00
André Bastos Dias
d31a3e8ba2
Clean Effect Spore implementation (#11838)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Clean Effect Spore implementation

* Use sample
2026-04-11 10:34:26 -06:00
Kris Johnson
871e13646c Champions OU: Ban Moody, Shed Tail, and evasion moves 2026-04-11 10:30:51 -06:00
André Bastos Dias
322a3161a0
Champions: Encore, Mega Sol and validations fixes (#11914)
* [Champions] Encore and validations fixes

* Check Mega Sol in all weathers

* Fix

* Fix comment

* Comment

* Remove Trick Room underflow

* Refix

* Re-add Mega Starmie stats in Legends Z-A OU
2026-04-11 10:07:58 -06:00
Soul-8691
00d8fc0afd
Unban Sea Incense/Ban King's Rock (FRLG OU) (#11904)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Unban Sea Incense/Ban King's Rock (FRLG OU)

* Correct King's Rock format
2026-04-11 02:40:23 -06:00
André Bastos Dias
26f8b4ecce
Fix Gen 4 decreased Fractional Priority (#11905)
* Fix Gen 4 Fractional Priority

* Lint

* Fix test (invert order)
2026-04-11 02:40:03 -06:00
Kris Johnson
03d7ac6bcf FFA: Remove Species Clause 2026-04-11 02:37:34 -06:00
André Bastos Dias
d509ca3230
Griseous Orb can't be tricked or knocked off in Gen 4 (#11885)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Griseous Orb can't be tricked or knocked off in Gen 4

* Refactor Multitype check

* Remove unnecessary inheritances

* Lint

* Revert Embargo changes

* Griseous Orb is suppressed by Klutz

* Add onSetAbility to Multitype

Added 'onSetAbility' property to multitype ability.

* Dont suppress the 'SetAbility' event

* Use non-Giratinas in Griseous Orb test
2026-04-11 02:30:36 -06:00
demir
420def6e1b
35 Pokes: Fix ruleset (#11902) 2026-04-11 02:29:59 -06:00
missshowdown
fdb08bf19f
Fix ZU by usage NFEs (#11906)
I forgot in the last fix that Primeape fell out of ZU by usage in the last three month period.
Jan: 4.25%
Feb: 4.71%
Mar: 2.17%
Avg: 3.71%
2026-04-11 02:29:37 -06:00
André Bastos Dias
e3a67c9789
Champions: Fix learnsets of species' formes (#11911)
* Fix learnsets of species' formes

* Remove Electric Seed and Normal Gem
2026-04-11 02:29:07 -06:00
Kris Johnson
367e1c3ff8 Champions: Fix some validation issues 2026-04-11 02:28:31 -06:00
Leonard Craft III
b0b9f9932a Remove Beat Up Nicknames mod from Flat Rules 2026-04-10 22:15:54 -05:00
Kris Johnson
cbd8d39cd9 MnM: Ban Starminite 2026-04-10 21:09:06 -06:00
Karthik99999
cd0c18a14e Don't show Tera Type in OTS if format doesn't support Tera 2026-04-10 20:02:04 -07:00
Kris Johnson
d2db2bdb66 Champions: Spell Tag is in the game 2026-04-10 20:54:07 -06:00
Kris Johnson
3d1a4f20e9 Finish server-side Champions changes 2026-04-10 20:38:50 -06:00
Kris Johnson
b555f4d8ce
Implement Champions (#11910)
* Make a mod file

* Add Pokemon in Champions (#3)

* Add new Megas abilities (#4)

* Add new Megas abilities

* Apply suggestion from @KrisXV

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add conditions for Champions (#5)

* Add conditions for Champions

* Add a turn limit to freeze

* Swap the order of the checks

Co-authored-by: André Bastos Dias <80102738+andrebastosdias@users.noreply.github.com>

---------

Co-authored-by: André Bastos Dias <80102738+andrebastosdias@users.noreply.github.com>

* Disable Fake Out if it is not the first active move action (#7)

* Disable Fake Out if it is not the first active move action

* Remove unnecessary code

---------

Co-authored-by: André Bastos Dias <dias.andre@siemens.com>

* Implement Piercing Drill, Spicy Spray and Unseen Fist (#2)

* Add Piercing Drill and Spicy Spray

Fix ability numbers

Refactor condition

Disallow Piercing Drill/Spicy Spray in formats !Obtainable Abilities without +Future

Refactor condition

* Rename blockStatus

* CFZ-moves completely bypass Protect

* Update Gen 4 Protect

* Old gen Wide Guard and Quick Guard

* Fix Wide Guard

* Clean Mat Block implementation

* Nerf Unseen Fist

* Fix condition

* Update sim/battle.ts

---------

Co-authored-by: André Bastos Dias <dias.andre@siemens.com>
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Implement PP mechanics (#8)

* Implement PP mechanics

* Clip all moves to 20 PP

* Apply suggestion from @KrisXV

* Update scripts.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add Champions stat calculaiton

* Fix conflicts with smogon/master (#11)

* Fix stat formula (#12)

* Implement PP mechanics (#8)

* Implement PP mechanics

* Clip all moves to 20 PP

* Apply suggestion from @KrisXV

* Update scripts.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Fix stat formula

* For clarity like we do with friendship in letsgo

* If we don't allow IVs and Level to be modifiable, there is not point in having `Adjust Level = 50`

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add Champions Items (#9)

* Remove Mega Raichus, Mega Z, and Greninja-Bond (#10)

* Remove Mega Raichus and Mega Z

* Remove Greninja-Bond

* Implement Mega Sol's activation message (#13)

* Implement Mega Sol's activation message

* Update ModdedBattlePokemon interface

* Implement move changes (#6)

* Implement move changes

* Re-implement Salt Cure changes

* Update moves

* Implement Blood Moon package

* Mimic https://github.com/smogon/pokemon-showdown/pull/11838/

https://github.com/smogon/pokemon-showdown/pull/11838/

* Implement accuracy and PP changes

* Mark Double Shock and Revival Blessing as Past moves

* Import learnsets from Serebii (#19)

* Import learnsets from serebii

* floette -> floetteeternal

* Update learnsets

* Apparently I forgot to give Gourgeist-Small its tier (#15)

* Move Pikachu to NFE (#21)

* Oops

* Add Pokemon I forgot the first time (#24)

* Add 'Past' moves (#23)

* Add past moves

* Fix move availability

* AfterHit effects should activate even if the source faints (#20)

* AfterHit effects should activate even if the source faints

* Change Gens 3-4 event order

* Ups

* Announce 4x and 0.25x effectiveness (#14)

* Reset Encore priority and choose random target (#17)

* Reset Encore priority and choose random target

* Allow onOverrideAction

* Quash + Encore interaction

* Don't send target

targetLoc was actually thing being checked but wtv

* Activate White Herb after choosing the Parting Shot switch (#26)

* Activate White Herb after choosing the Parting Shot switch

* Add comment

* Add formats

* Implement flag changes (#25)

* Implement flag changes

* Fix Gen 5 Rage Powder (remove poder immunity check)

* Add moves and abilities descriptions

* Apply suggestion from @KrisXV

* Comment Rage Powder

Leave this comment and I would choose the implementation depending on what we see from the healing flag.

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Announce status immunities from abilities (#22)

* Mega Sol boosts the damage of Fire-type moves as if they were under sun (#18)

* Remove hardcoded Utility Umbrella

* Check effective weather on attacker

* Don't activate Mega Sol under sun

* Add TODO comment

* TODO: check interaction with Utility Umbrella

* Move implementation to base mod

* Do not revert Mega Evolutions upon fainting (#16)

* Revert Mega Evolutions on fainting

* Allow diferent levels in the team builder

* TODO: confirm interaction with Revival Blessing

* Add Species Clause and Obtainable

* Update team-validator.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Update abilities percentages (#27)

* Healer has a 50% chance of curing the status conditions of its allies

* Update Shed Skin

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Fix crashes

* add custom game

* Fix typo

* update flat rules

* Update data/mods/champions/scripts.ts

Co-authored-by: Slayer95 <ivojulca@hotmail.com>

---------

Co-authored-by: shrianshChari <30420527+shrianshChari@users.noreply.github.com>
Co-authored-by: André Bastos Dias <80102738+andrebastosdias@users.noreply.github.com>
Co-authored-by: André Bastos Dias <dias.andre@siemens.com>
Co-authored-by: Karthik Bandagonda <32044378+Karthik99999@users.noreply.github.com>
Co-authored-by: Slayer95 <ivojulca@hotmail.com>
2026-04-10 20:29:01 -06:00
André Bastos Dias
f53616001a
Fix Max PP for copied moves (#11844)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
* Fix PP and Max PP for copied moves

* Missed spot

* Fix Ripen + Leppa Berry

* Lint

* Fix PP formula

* Remove Trump Card checks

* Default PP UPs to 3 in calculatePP

* Lint
2026-04-08 12:44:10 -06:00
Guangcong Luo
94639756a6
Refactor editbattle not to use eval (#11898)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
With this, editbattle no longer relies on `>eval`, but gets its own
inputlog protocol.
2026-04-07 13:58:01 -07:00
Kris Johnson
839d46bfb3 Fix weights of various Z-A Mega Evolutions
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-04-06 20:58:52 -06:00
Kris Johnson
9ca5a16af2 Old gens: Respect !obtainableabilities properly
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-04-06 15:22:47 -06:00
Mia
1e2048e2a4 Github: Up cooldown on PR displays to one hour 2026-04-06 13:50:18 -05:00
Guangcong Luo
cfbffd0339 Fix documentation for connection URL
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
Fixes #11899
2026-04-05 23:30:01 -07:00
shrianshChari
dd3e9bf64b
gen3rs and gen3frlg: Implement the multihit contact glitch (#11836)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* `gen3rs`: Implement the multihit contact glitch

* Add to `gen3colosseum` as well

* Update hint text

* Satisfy linter

* Update `move.lastHit` assignment

* Update `move.lastHit` assignment for current gen

* Remove second ability activation message

* Update `move.lastHit` assignment for the stadium mods

* Move shared code into a function

* Use Gen 3 Effect Spore instead of Gen 4

* Rework hint text and make hint appear only if defender gets statused

* Remove `attackerStatused` check

* The glitch does not affect `gen3colosseum` bc it's not in Pokemon XD

* Apply glitch to `gen3frlg` and update message

* Ensure that the target may only get slept if the attacker actually gets slept
2026-04-05 22:27:59 -06:00
Kris Johnson
f2ebeac6c3 NFE: Ban Dusclops 2026-04-05 22:15:48 -06:00
André Bastos Dias
68df315d27
Fix Gen 1 multi-turn move interactions with Haze, Metronome and Mirror Move (#11859)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-04-05 02:43:15 -07:00
iforgetwhyimhere
6c1aeba4b2
STAAABmons: Update bans (#11893)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* STAAABmons: Update bans

* Update formats.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2026-04-04 22:44:44 -06:00
André Bastos Dias
479c4c5162
Fix Pressure PP deduction for Snatch in Gen 4 (#11845)
* Fix Pressure PP deduction for Snatch in Gen 4

* Lint
2026-04-04 22:43:15 -06:00
missshowdown
78cdce345a
Update ZU-by-usage NFEs (#11896)
* Ban Oricorios from ZU & update ZU by usage NFEs

Oricorio Baile and Pa'u got banned from ZU
https://www.smogon.com/forums/threads/np-zu-stage-18-flower-tier-shifts-28.3770736/post-10933930

Sneasel and Gurdurr are both ZU by usage
Sneasel: 7.50598% Jan, 12.92988% Feb, 10.38042% Mar, 10.27% Avg
Gurdurr: 5.14278% Jan, 4.96214% Feb, 5.45889% Mar, 5.19% Avg

* Apply suggestions from code review

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2026-04-04 22:41:59 -06:00
iforgetwhyimhere
856002f191
Update Psychic Terrain hint (#11873) 2026-04-04 22:40:08 -06:00