Commit Graph

1607 Commits

Author SHA1 Message Date
André Bastos Dias
341f1663df
Merge branch 'master' into mirror-move 2026-04-11 23:55:47 +01: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
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
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
Kris Johnson
367e1c3ff8 Champions: Fix some validation issues 2026-04-11 02:28:31 -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
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
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
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
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
André Bastos Dias
0045ef6732
Fix Mega Evolution formes (#11860) 2026-04-02 00:48:59 -06:00
André Bastos Dias
d8f06fe26c
Fix Metronome/Mirror Move PP in Gen 1 (#11871)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-04-01 11:34:29 -04:00
Guangcong Luo
d9f5e2a560 Fix AFD ability modding
Fixes #11877
2026-04-01 05:29:30 -07:00
Kris Johnson
da0643cd46
Add AFD 2026 formats (#11876)
* Start AFD

* Create sets.json

this has been rather draining for me so far

i'll fix and finish it in time

* Update sets.json

* More stuff

* ewps

* Update sets.json

* Update sets.json

* Update sets.json

* Add some basic team gen logic

* Fix crashes

* Remove unncessary assertion

* OOPS!

* qwe

---------

Co-authored-by: ACakeWearingAHat <45981036+ACakeWearingAHat@users.noreply.github.com>
2026-04-01 03:32:19 -06:00
André Bastos Dias
ae608f5fcf
Fix Order Up's interaction with Sheer Force (#10891)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
2026-03-27 17:40:55 -05:00
André Bastos Dias
3e9010dae4
Merge branch 'master' into mirror-move 2026-03-26 12:12:42 +00:00
André Bastos Dias
91628f0b68
Implement Meganium, Emboar and Feraligatr Mega abilities (#11852)
* Implement Meganium, Emboar and Feraligatr mega abilities

* Check for activePokemon

* Update comment to reflect Utility Umbrella
2026-03-24 21:08:02 -06:00
dot-Comfey
ee0cf5e37d
Optimize Pokemon Go validation (#11840)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-03-23 22:33:36 -07:00
André Bastos Dias
0effd41ff7
Comment inherited mod field removals (#11833) 2026-03-23 17:10:06 -07:00
André Bastos Dias
2d66d56524
Gen 1: Implement move slot tracking (#11812)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-03-21 23:20:38 -07:00
andrebastosdias
ff074f8e95 Merge remote-tracking branch 'upstream/master' into mirror-move 2026-03-20 20:08:21 +00:00
André Bastos Dias
815b5f260a
Support inheritance of ability, item, and move conditions (#11754)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-03-19 03:44:48 -07:00
André Bastos Dias
6938f1f807
Show the hint message for Ogerpon Terastallization only on one side (#11810)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
2026-03-17 23:40:12 -06:00
André Bastos Dias
e7b13b7df3
Implement Pomeg Glitch Clause (#11800) 2026-03-17 16:37:23 -07:00
Kris Johnson
cc68e3e967 Linked: Fix modified-priority moves in a link 2026-03-09 12:00:37 -06:00
Slayer95
55f9e85172
Linked: Fix inconsistent implementations of twoturnmove, lockedmove (#11804)
* Linked: Fix inconsistent implementations of twoturnmove, lockedmove

* Linked: Sturdier implementation for Torment
2026-03-08 12:06:19 -06:00
Karthik99999
cb47056b1b Fix Skill Swap messages
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
2026-03-07 02:35:15 -05:00
André Bastos Dias
f494d48434
Fix injective field position indexing (#11789) 2026-03-03 14:32:45 -07:00
Kris Johnson
4c8c7cbdef FIx lint 2026-03-02 21:15:53 -07:00
Kris Johnson
6545c74486 Linked: Fix bugs with Encore, Stalwart, Propeller Tail, and Snipe Shot 2026-03-02 21:14:50 -07:00
Kris Johnson
8ce95e4a2c Linked: Fix crash 2026-03-02 19:53:51 -07:00
livid washed
1d8968acdf
Randomized formats update (#11782)
* Randomized set updates

* fix some things

* add resttalk primarina gen 7

* Create Pokemon incompability system

* Simplify code

* tghost oinkolognes

* Give sash back to doubles smeargle

* Give sash back to doubles smeargle
2026-03-01 03:20:05 -07:00
André Bastos Dias
1091524b94
Gen 1: Fix underflow glitch applied to mimicked duplicate moves (#11746)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
* Fix underflow glitch applied to mimicked duplicate moves

* Remove flags

* Remove console.log
2026-02-17 18:36:37 -07:00
André Bastos Dias
f4889cac74
Implement Zacian and Zamazenta transformations as species conditions (#11748)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Implement Zacian and Zamazenta transformations as species conditions

* Remove custom transformation from gen8linked
2026-02-17 18:34:52 -07:00
dot-Comfey
42f591a330
Remove hardcoding of formes inheriting learnsets (#11750)
* Remove hardcoding of formes inheriting learnsets

* Fix learnset inheritance

* Update learnsets.ts
2026-02-17 18:33:57 -07:00
TurboRx
7a55285dd1
Fix Stomping Tantrum incorrectly doubling after canceled two-turn moves (#11760)
* fix stomping tantrum not doubling when fly is canceled by smack down

* Update sim/battle-actions.ts

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

---------

Co-authored-by: TurboRx <TurboRx@users.noreply.github.com>
Co-authored-by: André Bastos Dias <80102738+andrebastosdias@users.noreply.github.com>
2026-02-13 09:57:20 -07:00
André Bastos Dias
737a8095ac
Add Full Arceus Clause (#11725)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
* Enable Arceus EV Limit Mod

* English

* Add comment with implementation location

* Add Full Arceus Clause

* Add event for clause

* Move comment

* Lint

* Simplify assignments

* Revert Melmetal changes

* Revert "Revert Melmetal changes"

This reverts commit 8c4a04e67c.

* Reapply "Revert Melmetal changes"

This reverts commit 7553972011.

* Add explanation comment

* Remove test

* Comment
2026-02-08 10:24:39 -07:00
Karthik Bandagonda
df367633bc
Refactor Skill Swap to its own function (#11563)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
2026-02-06 08:47:29 -05:00
André Bastos Dias
08562488b0
Refactor Illusion switch out check (#11742)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2026-02-03 16:09:04 -07:00
André Bastos Dias
117cb69c89
Expand Arceus EV Limit to all level 100 events (#11724) 2026-01-26 09:24:43 -06:00
Kris Johnson
f5011b81ec EBC: Auto tie should kick in after turn 1000 ends 2026-01-10 20:16:28 -07:00
André Bastos Dias
684150d9d7
Implement Mega Stones as {key: value} pairs (#11684)
* Implement Mega Stones as pairs {key: value}

* Fix Mega Evolution check

* Add constructor guards to Dex getters

* Update config/formats.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2026-01-08 14:59:22 -07:00
André Bastos Dias
9acdaad6d8
Also abilities 2026-01-06 19:13:32 +00:00
André Bastos Dias
1a18b3dd55
Make Battle#debug more flexible (#11685) 2026-01-05 11:03:25 -06:00
André Bastos Dias
ce3cff6168
Legends Z-A: Multiple fixes (#11617)
* Legends Z-A: multiple fixes

* Fix knocking Mega stones

* Revert Tatsugiri-Mega naming

* Revert "Revert Tatsugiri-Mega naming"

This reverts commit 49b97f1e06.

* Revert Tatsugiri-Mega renaming

* Renam Meowstic-Mega to Meowstic-M-Mega

* Apply suggestions from code review

* Remove type mismatch error for megaStone

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2025-12-12 12:39:15 -07:00
Kris Johnson
30ff784f2c
Z-A: Add DLC Pokemon (#11613)
* Z-A: Add DLC Pokemon

* za ou learnsets

* zaou changes

* skip test 4 now

* dfadasas
2025-12-12 00:04:05 -07:00
André Bastos Dias
c1e7db7735
Sort Dex entries (#11565)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
* Sort Dex entries

* Fix ExhaustiveRunner
2025-11-09 00:04:57 -07:00