Commit Graph

1213 Commits

Author SHA1 Message Date
pyuk-bot
2bc2100a7b
Make -Ate abilities share a ...Boosted property (#9174) 2022-12-13 21:43:52 -06:00
ACakeWearingAHat
686a020e2c
Implement Gen 9 Random Battle (#9169)
* Move gen 8 rands code to gen8 folder

* Add test data file

* Remove hidden power from random-teams

* Remove BDSP

* Remove item selection for now

* Remove ability culling for now

* Remove move culling for now

* Obtain allowed pokemon from random-sets.json

* Add tera blast counter

* linting

* Remove Dynamax from random-teams

* Remove unnecessary check

* Add role and tera type + fix data format

* remove gmax

* Disable tier for now

* movePool should have move ids not names

* linting

* Add required moves

* Create an individual function for moveset generation

* Return moves early if <= 4 moves available

* Add counter for individual STABS, including tera

* Tera Blast is tera stab

* Add some moves (help with testing)

* Remove culling moves from moveset

* Add new hazard removing moves

* Test STAB and recovery moves

* Cull movepool each time a move is added

* Black Sludge only if tera type is Poison

* teratype and role to functions

* Test some 'High Priority' items

* Move ability selection to its own function

* Fix ability sorting/selection

* No need to go through the move adding process if number of moves in set + movepool is 4

* lint

* Remove some pokemon that aren't in gen 9 randbats

* Tera STAB example

* Allow for forcing abilities

* Silvally not in gen 9

* Move level calculation to getLevel

* Tier-based levelling and doubles coverage

* Sitrus Berry default item for doubles

* Avoid hard-coding for species frequency

* Linting + replace hail with snow

* Change a comment slightly

* Fix STAB moves: need to check that they do damage

* minor thing

* Comment out tera type requirement

* comments

* Add gen 9 randbats format

* STAB counter

* Remove setupType

* Add cullMutlaExclusive()

* Remove unnecessary functions

* Move CC/HC to the bottom

* Allow movesA and movesB to be overlapping

* Initialization of fill-out

* linting

* Setup moveEnforcementCheckers

* Type/STAB counter only updates for moves that aren't in noSTAB

* Account for type changing abilities earlier

* STAB enforcement

* Setup moves array

* linting

* Revert Setup change

* More fillout

* move tweaks

* Tera STAB enforcement

* Remove rest from recovery moves

* Enforce setup

* Add Facade if Guts

* Misc enforced moves

* Enforce more moves

* Enforce STAB priority

* Setup forced on tera blast user

* check if there are moves of the desired kind before sampling

* move tweaks

* Need to check if setupMoves is empty

* fix brute bonnet

* fix scream tail

* Finish up move incompatibilities

* fix scream tail harder

* Formatting

* Fix some things

* End culling early if movepool gets too small

* Paired moves: end culling early if movepool gets too small

* Remove 'stop cull' for testing purposes

* If 2/4 moves are filled, remove single unpaired move

* Remove now unnecessary hardcodes

* Use MovePairs instead of hardcoding pairs

* addMove function for adding moves to moveset

* Move updates

* Extra check is unnecessary, moves and movePool should never have moves in common

* Mach Punch required on Breloom

* lint

* Remove Synthesis from Brute Bonnet (5 enforced moves)

* adjust oranguru tera types

* finish up moves

* Force abilities

* Update my favorite pokemon

* linting

* Add shouldCullAbility

* fix setup counter

* Move sorting abilities below hardcoding

* minor change

* Add fields

* fix sawsbuck typo

* Improve the species generation + remove Basculegion and Houndstone as possible leads

* Fix Species frequency

* Linting

* veluza can actually run sharpness

* code all ability rejections

* Update random-sets.json

* EVs/IVs tinkering change

* fix capitalization error

* Perform small fixes

* fix moves that don't exist

* linting

* Magnezone hardcode

* Items

* Update random-teams.ts

* linting

* prep for leveling

* long list for ditto

* comment out a line of text

* finish individualizing levels and also melop sucks

* add lokix thing

* revavroom

* updates from testing

* komala probably shouldn't have dark as an option

* tropius fix

* intim mence is ok

* kleavor should not get sheer force

* why did we give hydre earth power lmao

* why did we put leech seed on toed

* forgot to sitrusify cheek pouch mons

* fix enamorus

* Syntax error

* Change Zoroark lastmon condition to level >= 72

* Fix Zoroark-level constraint to allow for level forcing

* Fix singles vs doubles definition

* Use species.id as much as possible for set generation

* updates from testing

* allow flash fire heatran

* additional sash parameters

* reject stakeout if the user has zero attacks

* fixes

* update pawmot abilities

* Change iron fist counter to a number

* Force Own Tempo on Petal Dance Lilligant

* Add T-wave to SD groudon set

* Slush Rush guaranteed with Snowscape + possible if team has snow

* Rework ability sorting: find list of non-culled abilities before sorting and selecting

* Move S/V rands to The Forefront

* fix regidrago

* Small fix to choosing allowed abilities

* update aliases

* Update Arcanines

* Change from forEach to for, since index is no longer being used

* first impression is bug stab now

* set updates from the randscord

* Update /randbats to gen 9

* Add Tera Type to /randbats output

* things to do with steel

* Update data/random-teams.ts

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

* Update data/random-teams.ts

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

* Update data/random-teams.ts

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

* Update data/random-teams.ts

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

* Update data/random-teams.ts

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

* Apply suggestions from code review

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

* Move Battle Factory and BSS Factory to mods/gen8 folder

* Remove gen8 factory sets test

* Copy over random-sets.json when building

* add missing heatran-based incompatibility

* fix sableye not always getting Recover

* set updates

* start movin' cap 1v1

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

* finish movin' cap 1v1

* Update random-battles.ts

* Update random-teams.ts

* Update random-teams.ts

Co-authored-by: livid washed <liuc.kelvin9901@hotmail.com>
Co-authored-by: livid washed <115855253+livid-washed@users.noreply.github.com>
Co-authored-by: Alexander B <4866817+MathyFurret@users.noreply.github.com>
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2022-12-13 17:56:29 -07:00
Karthik
fd1fa2b53d
Properly remove Charge after using an Electric move (#9167) 2022-12-12 22:39:27 -06:00
Leonard Craft III
fcb159ba27
Fix coins text for Pay Day and Make it Rain (#9158) 2022-12-12 18:52:47 -06:00
livid washed
dc29389347
Gen 1: Actually fix Metronome calling Counter (#9156)
* Actually fix Metronome calling Counter

* Use set instead of array for lastDamage skipping moves

* Add Metronome-Counter test
2022-12-11 14:31:43 -08:00
pyuk-bot
eb79405b45
Mark more nonstandard items in Gen 9 (#9144) 2022-12-09 19:14:21 -06:00
livid washed
d59bce51c6
Gen 1: Fix more Counter bugs (#9136)
* Gen 1: SonicBoom can be Countered

* OHKO moves do 65535 damage (matters for Counter against sub)

* Move damage comparison with target hp outside getDamage()

* Remove a blank line

* Move damage comparison with target hp outside getDamage() (Stadium)

* Add counter test

* Fix Metronome not failing if calling Counter (move setting lastDamage before tryMoveHit)

* Do the same for Stadium

* Start phasing out pokemon.lastDamage from Gen 1 code

* Failed Counter doesn't zero lastDamage

* When a move misses, battle.lastDamage is set to 0

* Remove all pokemon.lastDamage

* Remove a couple of comments
2022-12-08 16:07:39 -08:00
livid washed
04e2401688
Gens 2-3: Fix accuracy of moves (#9143)
* Gen 2: Lock-On and Pain Split have 100% accuracy and check for accuracy

* Gen 3: Moves that don't check accuracy should be listed as true accuracy

* Gen 3: Nightmare doesn't check for accuracy

* Gen 3: Foresight and Odor Sleuth check accuracy

* Gen 3: Memento does not accuracy check

* Gen 3: Mind Reader checks accuracy

* Gen 2: Nightmare doesn't check accuracy
2022-12-08 16:06:03 -08:00
WeWuzNidokangz
580ed48329
OMs: Fix generation consistency (#9088)
* Linked: Fix generation consistency

* Fix same issue with Pokebilities

* Clean up
2022-12-05 16:05:08 -07:00
Hisuian Zoroark
58dcf59b9a
Update Partners in Crime to Gen 9 (#8987)
* PP from ally moves is no longer infinite in PiC

* add deductpp to modded pokemon

* eep

* Refactor when start effects activate upon switching in.

* Add new effects for leppa berry consumption

* I forgot about these items ngl

* add some new support for moves

* Restrict Wandering Spirit, add extra failsafe

* fix things

* Last minute bugfix

* Update banlist

* start working on gen 9

* update nextturn

* a

* more stuff

* Update formats.ts

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2022-12-05 16:02:58 -07:00
pyuk-bot
7a6a8441cc
Fix Protosynthesis/Quark Drive/Booster Energy (#9118) 2022-12-04 16:20:21 -05:00
Karthik
98544fe5f9
Fix Charge/Wind Abilities (#9113) 2022-12-04 12:53:18 -05:00
kittenchilly
30c41dcfbf
Fix Last Respects and Supreme Overlord (#9111) 2022-12-04 12:46:28 -05:00
livid washed
cdb10c9016
Gen 1: Minor corrections for stat down overflow (#9099)
* Minor fixes for stat down overflow gen1

* Remove clamping from above for screens

* Add space for hint
2022-12-01 20:47:08 -08:00
Kris Johnson
dd22d76de9 Actually fix Lapras legality 2022-12-01 21:10:04 -07:00
Kris Johnson
5422ce0c58 Fix build 2022-12-01 00:55:02 -07:00
Kris Johnson
90ac55a11e Full Potential: Fix crash 2022-12-01 00:44:46 -07:00
Kris Johnson
7221bb97ce Fix build 2022-11-30 23:13:18 -07:00
pyuk-bot
1a6668b3b0
Fix unobtainable move validation (#9096)
* Fix validation of moves unobtainable in Gen 9

* remove hyphen

* Update data/rulesets.ts

* Shorten unobtainable move rule name

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2022-11-30 23:08:08 -07:00
Kris Johnson
58a196017b Add December 2022 OMotM/RoA Spotlight 2022-11-30 23:06:50 -07:00
Kris Johnson
0b53ab2d5a Berry Juice isn't in Gen 9 2022-11-30 20:43:22 -07:00
livid washed
6cc75a6f88
Gen 1: Fix some more Counter inaccuracies (#9091)
* Move Gen 1 Counter tests into its own section

* Confusion damage, (h)jk recoil, and draining can be countered in gen 1

* Recoil and Drain round down in gen 1 (against substitute)

* Add tests for Counter + fix linting issue

* lastSelectedMove is updated when Mirror Move or Metronome calls another move

* Move pokemon.side.lastMove setting into a (more) correct location

* move pokemon.lastMove as well

* Remove unnecessary seed in test
2022-11-30 13:14:03 -08:00
livid washed
11dfeb3179
Gen 1: Fix Toxic-Haze interaction (#9085)
* Haze resets Toxic counter

* Update comment

* Change Haze test to one that should be correct regardless of implementation
2022-11-30 12:56:26 -08:00
livid washed
153377a5b8
Gen 1: Fix stat modification, implement stat overflow glitch (#9071)
* The volatiles don't actually do anything

* Gen 1: implement stat down overflow glitch

* Change the wording of the hint slightly

* Add hint for division by zero avoidance
2022-11-30 12:55:47 -08:00
Leonard Craft III
70cdd5a4cb Pixie Plate is unobtainable 2022-11-29 21:01:06 -06:00
Leonard Craft III
2d4e89d53e Lansat Berry is obtainable 2022-11-29 20:59:01 -06:00
Karthik
912aedb326
Use MoveFlags interface for MoveData#flags (#9090) 2022-11-29 20:56:32 -06:00
pyuk-bot
ba920c135d
Update Ability Shield with new research (#9081) 2022-11-29 13:27:39 -05:00
Leonard Craft III
9d207ee288 Mark some Berries as unobtainable 2022-11-27 12:20:46 -06:00
livid washed
534cd35119
Gen 1: Fix inaccuracies in damage calculation (#9054) 2022-11-25 16:48:37 -08:00
livid washed
0c0fb305b2
Gen 1: Remove unnecessary RNG rolls for secondaries (#9062)
* Gen 1: remove unnecessary RNG rolls for secondaries

* remove a check that is now unnecessary
2022-11-25 16:48:12 -08:00
Karthik
3c862682be
Fix Moody stat drops being blocked by Clear Amulet (#9048) 2022-11-24 13:15:14 -06:00
livid washed
fc6050ae78
Gen I: Clean up screens implementation (#9053) 2022-11-24 13:08:47 -06:00
Kris Johnson
f18c8b1dd2 National Dex UU: Unban Hydreigon 2022-11-24 12:06:20 -07:00
livid washed
38945f6a49
Gen 1 Stadium: fix battle crash when Wrap KOs an enemy (#9032) 2022-11-23 12:47:09 -08:00
livid washed
017c5557d0
Gen 1: Fix Confusion/Psybeam confusion chance and substitute interaction (#9044)
* Gen 1: Confusion/Psybeam can confuse enemies with substitute, and with probability 25/256 (not 26/256)

* Add explanatory hint for secondary effect confusion against Substitute
2022-11-23 12:45:45 -08:00
livid washed
66a930d4fe
Gen 1: Fix Explosion not fainting user when target is semi-invulnerable (#9034)
* Gen 1 Stadium: fix battle crash when Wrap KOs an enemy

* Fix explosion against semi-invulnerable enemies + shift disable-rage message location

* Add relevant Explosion test

* Add explanatory hint for Disable/Explosion boosting Rage

* Move rage interaction back to where it was
2022-11-23 12:44:55 -08:00
Kris Johnson
f50cc6aba3 Fix dexited battle-only formes in past gens 2022-11-23 12:25:36 -07:00
Marty
6fed8728d1 Correct Hisuian Decidueye's HA 2022-11-23 13:49:26 -05:00
Kris Johnson
3cc1cc1d79 Gen 8: Move Indeedee-F to NUBL 2022-11-22 19:22:37 -07:00
livid washed
27495dd4bb
Gen 1: Sonic Boom can hit Ghost-types (#9019) 2022-11-20 13:23:00 -08:00
livid washed
52a77a5e79
Gen 1: Fix Wrap when hitting a substitute (#9015)
* Gen 1: Fix Wrap against a substitute

* Gen 1: Fix Wrap when it hits Ghosts behind a substitute

* Remove unnecessary 'else' statement

* Fix Stadium as well

* Fix Gen 1 Japanese as well
2022-11-19 18:13:35 -08:00
Kris Johnson
2d9e83066e Fix Caterpie line and Cramorant forme legality 2022-11-18 23:37:53 -07:00
Kris Johnson
fd7155841c
Fix various forme and move legality (#9013) 2022-11-18 22:17:09 -08:00
livid washed
ebdda4f691
Gen 1: Fix Rage not being triggered by missed Disable/Explosion (#8991)
* Gen 1: Fix Rage not being triggered by failed Disable/Explosion

* Gen 1 Stadium doesn't have the same behavior
2022-11-17 21:01:45 -08:00
livid washed
2947318816
Gen 1: Fix probabilities for 2-5 hit multihit moves (#8992) 2022-11-17 21:01:31 -08:00
livid washed
335de05c6c
Gen 2: Fix Metal Powder and other Pokemon-dependent items (#8993) 2022-11-17 21:01:16 -08:00
livid washed
61a6915ccc
Gen 2: Fix Tri Attack not statusing Normal-types (#8994) 2022-11-17 21:00:59 -08:00
livid washed
5ab83c75d6
Gen 1: Fix Special stat for Scalemons and 350 Cup (#8996) 2022-11-17 21:00:33 -08:00
Kris Johnson
266e8be500
Add remaining Gen 9 formats (#9000) 2022-11-17 23:58:57 -05:00