Commit graph

2431 commits

Author SHA1 Message Date
Kurt
2e20e75168 Temp handling for bdsp case 2021-12-09 19:53:43 -08:00
Kurt
f1fe2f6a8c Minor clean 2021-12-09 19:30:12 -08:00
Kurt
e84932badd Remove unnecessary trailing comma
nit
2021-12-09 19:10:50 -08:00
Kurt
18469a78aa Set legal default ball for bdsp bred egg templates 2021-12-09 18:39:03 -08:00
Lusamine
e617beb604 Add Lost Tower to zones where Radar can't be used 2021-12-09 11:02:12 -06:00
Kurt
870a38c607 Use primary constructors for some records 2021-12-09 01:08:46 -08:00
Kurt
51c75dd102 Explicitly implement IFixedAbilityNumber on all templates 2021-12-09 00:46:59 -08:00
Kurt
90956f3b05 Flag encounter slots that cannot obtain HA or use ability patch
Ex: old chateau Gastly in bdsp cannot have HA as it is not different from base abilities
2021-12-08 23:43:32 -08:00
Kurt
aa78152856 Implement hidden ability (pokeradar) possibility for slots
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-12-08 23:41:50 -08:00
Kurt
0bb4534870 Reset contest stats to enc instead of zeroed
Can't lower contest stats, but there's no cases of them giving a pkm with contest stats in a game that can't obtain contest stats -- let's just reset instead of zero for futureproofing.

Make them extension methods too; add an overload if you want to purposefully maximize them.
2021-12-08 22:43:56 -08:00
sora10pls
88822b4e68 Update minimum Egg hatch cycle legality
0 is legal in most cases except for Gen2 and BDSP!

...it's technically possible to get 0 in BDSP if you have autosave turned on and have an Egg in your party after hatching one before it, but it will hatch immediately on your next game startup, so disallow it anyway.
2021-12-07 20:38:00 -05:00
Kurt
543359fff6 Add contest stat sheen checking
Closes #3324
2021-12-07 00:54:39 -08:00
Kurt
fcd97d5989 Don't add TR moves as possible for BDSP origin 2021-12-06 00:01:13 -08:00
Kurt
cacd6e9965 More records/sealing 2021-12-05 23:54:59 -08:00
Kurt
40ed5898af Merge extended property patterns 2021-12-04 18:37:47 -08:00
Kurt
88ddc5822e c#10: readonly record structs
Reduces some boilerplate constructors/equality compares
2021-12-04 18:32:35 -08:00
Kurt
f55c5bea66 Minor clean
no functional change
2021-12-04 17:56:56 -08:00
Kurt
9a1b2719ec Add simple legal item filtering for giveall
Closes #3318

Gen8: if held item, only give if can be legally held; if dmax crystal, only give if available.
Gen8b: if held item, only give if can be legally held
Others: unimplemented; pull requests accepted.
2021-12-04 12:24:32 -08:00
Kurt
3e59d481c4 Move bred pokeball short circuit to gen-specific function
Now flags safari-exclusive species in pokeballs
2021-12-04 10:52:57 -08:00
Lusamine
aef7987f82 Enable SWSH restaurant memory
Obtained by eating at the Circhester restaurant in story mode!
2021-12-03 16:58:07 -06:00
Kurt
95454246b8 Skip eggs for EncounterTrade check
yay reusing Link Trade egg met locations wrong, ty ilca
2021-12-01 10:38:12 -08:00
Matt
483547f631
Update Tables8bs.cs 2021-12-01 06:16:45 -05:00
Kurt
1c82b707f3 Add xmldoc, add egglevel get central location 2021-11-30 17:09:46 -08:00
Kurt
091e2c28cd Add safari-only breed balls 2021-11-30 15:41:47 -08:00
Kurt
ef183ca1ff Rearrange special case 2021-11-30 15:16:04 -08:00
sora10pls
03c3f4a343 Force Poké Ball for all Riolu Eggs
Happiny not affected because Chansey is in the wild.
2021-11-30 16:14:53 -05:00
Kurt
5b2bd2ef7e Simplify expression
don't need to re-fetch when it's already in the stack
2021-11-28 14:34:28 -08:00
Kurt
488b411716 Check for bdsp traded eggs being re-flagged for Nicknamed 2021-11-28 14:32:41 -08:00
sora10pls
dfff798855 Label more BDSP flags/work vals 2021-11-27 23:12:29 -05:00
Kurt
b34977d498 Fix feebas prism scale evo criteria ban 2021-11-26 21:16:13 -08:00
Kurt
d9a87f908d Update RibbonVerifier.cs 2021-11-26 19:37:29 -08:00
Kurt
66a2046e5a Fix move search loop 2021-11-26 16:50:30 -08:00
Kurt
435dbb0b57 Disallow sister version exclusive ribbons for exclusive forms
Spiky pichu cannot receive Sinnoh ribbons
Cosplay pikachu cannot receive Kalos ribbons

Closes #3286

Co-Authored-By: Kermalis <29823718+Kermalis@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-11-26 15:41:24 -08:00
Kurt
54d54a0f39 Restrict Twinkling to require ContestStar as well 2021-11-25 20:51:17 -08:00
Kurt
a761704a34 Split Trainer verifier into TrainerName and TrainerID
verify BDSP legality restrictions

Enforce nonzero TID/SID in Trainer Editor window (can use Block Data editor to set whatever without restriction, idc).

#3305
2021-11-25 19:15:42 -08:00
Kurt
d9012b7d90 Disallow int.MaxValue seed for roamers
nice RNG quirk
2021-11-25 18:09:31 -08:00
sora10pls
a1fd2bded2 Unban Gold Bottle Cap
Available via Battle Tower rewards. Still can't find EV feathers or Prism Scale anywhere, though.
2021-11-25 19:51:21 -05:00
sora10pls
b7e19cf06a Update BDSP item banlist, ban Prism Scale evo for Feebas 2021-11-25 17:24:23 -05:00
Kurt
3f5c01a0b8 Update shiny-type preserving from faketid
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-11-25 13:34:53 -08:00
Kurt
ae2c5080a5 Set nicknamed flag in GUI depending on encounter
#3311
2021-11-25 12:40:42 -08:00
Kurt
9d55fa9d80 Update ribbon legality for BDSP rules
Closes #3307
2021-11-25 12:28:23 -08:00
Kurt
614ae6855b Allow ignored egg moves for v1.0 unpatched games
They didn't reference the TamagoWazaIgnore table until v1.1 lmao

mimic BDSP's index fetching and just grab the array of eggmoves directly to avoid the abstraction method's overhead

set evotree back to private because don't need direct access anymore
2021-11-25 11:24:34 -08:00
Kurt
56c7c8336a Revise roamer shiny xor checking
shininess unrelated to your trainer ID, lol

probably also applies to other predetermined encounters like underground and radar, but those aren't EC-seed regenerated (?)

Remove unused interface declaration
2021-11-25 08:32:36 -08:00
Kurt
039095d75c Revise zero hw checks
fishy by default, opt in
ignore certain encounters
2021-11-24 23:03:30 -08:00
Kurt
203b764829 Add zero height/weight flagging setting
because people couldn't hacc responsibly, I might as well give them a nudge in the right direction.

Doesn't mean I won't check your "random" choices distribution.
2021-11-24 19:29:02 -08:00
Kurt
199b695c76 Update bdsp 30000 met locations per v1.1 2021-11-24 13:11:08 -08:00
Kurt
ecee6ae8a1 Fix dropdown suggested green moves from showing swsh moves
Extract the IsLandlocked check to the IsMovesetRestricted which already exists.
2021-11-23 22:58:41 -08:00
Lusamine
f34bc9c3fa Add Slippery Slope static encounter Trevenant
Closes #3287
2021-11-23 10:26:11 -06:00
Kurt
cd5c220ddc Show correct HatchCounter value for BDSP traded eggs
Yay abstractions to hide away the quirks.

BDSP traded eggs set HT_Friendship and the CurrentHandler flag, but the HatchCounter is always the OT_Friendship value.

Trades always receive BaseFriendship, instead of a hardcoded 50. Necessary to not hardcode because it's immutable for eggs.

Clicking the hatch counter label now sets it to the legal minimum hatch counter (best), and control clicking sets it to the max (worst). Check the encounter template for the true maximum.
2021-11-21 19:53:13 -08:00
Kurt
1ca1b838c1 Handle traded BDSP eggs & flag HatchCounter=0 2021-11-21 19:29:07 -08:00