Commit Graph

6191 Commits

Author SHA1 Message Date
Kurt
87fb241a98 Update 25.02.23
fix bvid5 checksum check
Gen7b: add ReceivedDate/Time editor to OT/Misc tab, enable Ribbon button
2025-02-23 23:16:43 -06:00
Kurt
c8ec63992b Rework entity import settings param passing
Closes #4418

Introduce a readonly record struct to contain all the settings selected. Add simple static get for none/all to disable/force the updates.

Split the UpdateRecord behavior out of UpdatePKM (adapt to save file) so that it behaves similarly to UpdateDex.
Only AdaptToSaveFile when opening a file in the PKM Editor.
2025-02-23 15:50:17 -06:00
sora10pls
8f86e3fec0 GO: Handle Road to Unova Timed Research encounters
First time Level 20 Mythicals have been encounterable in Research, need to account for the minimum IV difference should any more occur in the future.
2025-02-23 15:49:29 -05:00
Kurt
65df18ae66 Extract entity/template game presence filter 2025-02-23 11:25:47 -06:00
Kurt
7279af79b2 Extract pk5->pk6 PID mutation logic 2025-02-23 11:19:33 -06:00
Kurt
a1ea915b52 Extract CuteCharm4 api 2025-02-23 11:19:03 -06:00
Kurt
8ac937b83c Fix Coronet Feebas SlotNumber tags
#4450
0deb19d1e8
2025-02-23 11:18:04 -06:00
Kurt
5716ec25e3 Misc tweaks
Add some ease of use interaction to Trainer Database objects
Throw exception on bad picturebox early, instead of writing the file and aborting
2025-02-21 20:07:42 -06:00
Manu
e93425e137
Handle HOME Keldeo & Meltan; Revise WB7 (#4446)
* WC8: Handle HOME Keldeo
* WB7: Handle HOME Meltan fixed ability, scalars, AND HeightAbsolute and WeightAbsolute
* WB7: Fix PID get/set offset
* PB7: add ribbon get/set (Meltan has Souvenir ribbon and is retained on transfer to LGP/E)
* Legality: Verify Size Absolute for WB7 Home gifts, only check absolute scale when PB7
2025-02-21 20:00:28 -06:00
9Bitdo
96d779f9b5
Add Marco's Jumpluff date (#4448) 2025-02-21 19:43:51 -06:00
Kurt
3f3d43dca5 Gen1: Add Japanese tour mews 2025-02-19 19:19:39 -06:00
ShadowMario3
757f84db9e
Update EncounterGift1.cs (#4447)
Add more OTs for Gen 1 GB Mews.
2025-02-18 13:07:32 -06:00
sora10pls
f069b950ff Add latest distribution raid data 💘🍬 2025-02-13 19:04:23 -05:00
Taylor Rodríguez
b2f962f442
Fix LGPE local time validation (#4445)
The function `IsTimeValid` checks if the received hour, minute, and
second of the Pokémon is below 24, 60, and 60 respectively. For some
reason the current code includes a "+1" for each check, which results in
some legitimate Pokémon being marked as having an invalid timestamp.

Fixed edge cases:
- Received on the 23rd hour.
- Received on the 59th minute.
- Received on the 59th second.
2025-02-13 07:46:49 +00:00
Kurt
806548a456 Update MiscVerifier.cs 2025-02-13 05:08:30 +00:00
Kurt
93179c0281 Add LGPE received datetime r/w/lc 2025-02-13 04:53:37 +00:00
sora10pls
1fd1c0f67c Add preliminary handling for Keldeo & Meltan events
Shiny Meltan marks the first (and likely only) time where a LGPE event is server date restricted, so we need to extend those checks to include WB7s.

Also revise Manaphy & Enamorus start dates due to server date assignment logic changing at some point. In the past, it was always assigned according to UTC, but it is now determined by local server time, making January 27 possible in early time zones (Mountain, Pacific, etc.)
2025-02-12 14:58:08 -05:00
9Bitdo
03627b641e
Add Pokémon Day 2025 Flying Tera Type Eevee's date (#4440)
* Add Pokémon Day 2025 Flying Tera Type Eevee's date

* Refactor: add date bias for generate

---------

Co-authored-by: Kurt <kwsch@users.noreply.github.com>
2025-02-07 22:16:39 -06:00
BlackShark
c784edbe1b
Added setting to export with box and slot index (#4443) 2025-02-07 00:21:10 -06:00
Professor Dirty
4a706bcae7
Addition and correction of CHS translation (#4439) 2025-02-07 00:20:39 -06:00
sora10pls
7c25229236 Add latest distribution outbreak data 🐦🐦🐦 2025-02-06 19:06:15 -05:00
Ka-n00b
a1914105bf
Update Event Flags/Constants (#4437)
Adds some new and fixes grammar and formatting of existing ones. Additionally, renamed 2 Sword/Shield block names.
2025-02-03 23:38:13 -06:00
Manu
cb7cfef5fa
Fix CHT OriginalTrainerName setter for crafted WCs (#4438) 2025-02-03 22:18:56 -06:00
Manu
8d5866f118
Handle Arbok Mainland China wondercard (#4436)
* Add Arbok wondercard to Mainland China Gifts

* Always pick CHS OT/nickname for Mainland China gifts
2025-02-03 22:17:58 -06:00
Kurt
f538d2c4be Skip random level check if criteria not in range 2025-02-02 23:18:15 -06:00
Kurt
9dedd33694 Duplicate locations: across lists, not each array
BD/SP has Pokémon HOME as location 30018 and 40086; need to differentiate.
Revise the unit test to share the unique-check set across all location lists of that context

Ignore "empty" location values (dashes, empty). For deduplicating, ignore empty indexes as well.
2025-02-01 19:23:11 -06:00
Kurt
e04ad2c6b2 Misc tweaks
Fixes shiny rayquaza
some lowering int->byte
Fix event3 random restricted seed fetch for gender
Fix gen8a encdb filters excluding static encounters, now will be properly excluded
2025-02-01 10:42:26 -06:00
Professor Dirty
f36963d6e6
CHS: Update gen1-3 translations of some items/flags (#4430) 2025-02-01 09:41:02 -06:00
Manu
c456e8e212
Handle generation and legality for HOME Manaphy and Enamorus (#4432)
* Home Enamorus actually uses Cherish ball

* Handle Enamorus fixed scalars

* Handle Manaphy fixed scalars
2025-01-31 22:30:35 -06:00
Kurt
8e5de20881
Add Form to EncounterCriteria, apply from seed interface (#4433)
When generating from templates with randomly correlated forms, the EncounterCriteria will now seek for a match for that feature if specified. Granted this is just a cosmetic seek for Generation 4 Unown -- Gen3 Unown is locked to a specific form for each encounter slot.

Also adds an interface to templates that expose a shortcut to SetPINGA's randomness, for those who know what seed they want to generate from. This is currently only implemented into encounters from Gen8 (Raids/8b Roamers), Gen9 (Tera Raids), and Gen3 events (Channel, as others can be found via IVs quickly -- Channel's reversal from IVs isn't performant).
2025-01-31 21:08:27 -06:00
Kurt
538374b33f FRLG: fix gift magikarp location check
The Route 4 (Pokémon Center) location (099) is only used for the Town Map tags; the gift yields Route 4 (104) only.

https://projectpokemon.org/home/forums/topic/66281-frlg-magikarp-salesman-oddity/
2025-01-29 23:10:26 -06:00
Kurt
46bb7e3d3b Add trainer ID checks for cxd/rs
Templates: Add more interfaces for trainer ID properties
Closes #4431
2025-01-29 22:34:45 -06:00
sora10pls
f3f89c1f4b Update BDSP Met4 to match SWSH/LA 2025-01-29 20:33:13 -05:00
sora10pls
4089b8197a Add date ranges for Shiny Manaphy/Enamorus events 2025-01-28 08:39:00 -05:00
Kurt
7d59e3416a Minor tweaks
== null
to
is null
2025-01-27 16:37:37 -06:00
Kurt
2592dfec19 Revise RSBox slot display order
Revises prepended box name to better indicate left/right
Closes #4429
2025-01-27 11:59:36 -06:00
Professor Dirty
f63ad4372e
Additional event flags CHS translation (#4427) 2025-01-26 11:28:50 -06:00
abcboy101
6c3eec3314
Support Gen5/3DS/Switch word filters (#4423)
* Support Gen5/3DS/Switch word filters

- Separate 3DS/Switch word filters
- Add/implement Gen5 word filter
- Adjust behavior of DisableWordFilterPastGen

* Implement halfwidth/fullwidth conversion

Only applies to alphanumeric and kana
2025-01-26 10:38:21 -06:00
9Bitdo
53195d0233
Add Pokémon Lucario & The Mystery of Mew Movie Gift KOR 아론's Lucario Date (#4422)
* Add Pokémon Lucario & The Mystery of Mew Movie Gift KOR 아론's Lucario Date
2025-01-23 23:43:13 -06:00
sora10pls
659e2ad099 Add latest distribution raid data 😡🎤🐧🤖 2025-01-23 19:03:37 -05:00
Kurt
0316404f46 Fix ageto antishiny recognition
Must have been omitted in the refactor

while we're here, revise the other gift3's to be records for the autogen'd ToString
2025-01-21 22:40:45 -06:00
Kurt
82d74e6950 Add TIDseed for emerald frame indicator 2025-01-18 22:40:31 -06:00
Kurt
5fbf867613 Show seed-frame-time for rsefrlg slot/static encs
Easy indication for painting-skips or changed-seeds.
2025-01-18 19:50:02 -06:00
sora10pls
c7881b5c4a GO: Permit Master Ball for Max Battles
When Max Battles first launched, the Master Ball was not available in the Poké Ball tray in the bonus challenge. This did not apply to the tutorial Wooloo or Skwovet/Wooloo from Special Research.

0.333.0, which released on September 27 2024, added a property named `canUseMasterBallPostBattle` for Max Battles. Players noted being able to use a Master Ball on Gigantamax Charizard when it debuted in the game, meaning this is the likely culprit.

Since all past Max Battles have other, less restrictive encounter methods where the Master Ball is permitted, this does not cause any potential invalid legality overlaps. Gigantamax Pokémon also can't be transferred, so they don't need to be accounted for.
2025-01-18 12:59:32 -05:00
santacrab2
74a52d946b
Encounter to PA8 generation tweak (#4419)
* use pa8's current level for determining Mastered flag for Move Shop Records to ensure all flags are checked on encounters who learn moves close to their level mins

* use met level instead of current level to reduce unnecessary calculations
2025-01-17 22:08:54 -06:00
Kurt
c1d2babc5c Set all purchased on MoveShop all 2025-01-17 22:08:38 -06:00
Kurt
2976480792 Minor tweaks
File.WriteAllBytes now accepts span on .NET 9 yay
2025-01-16 22:16:40 -06:00
Kurt
0549cfda4a Rework SCBlock to Memory<byte> 2025-01-16 20:55:07 -06:00
sora10pls
2442165907 Add latest distribution raid/outbreak data 🌴🦩 2025-01-16 19:05:01 -05:00
Kurt
eced651024 Pokewalker: Handle 539 stroll, revise signatures
Was missing the worst case scenario; ran a bruteforce script to find a 539 after adding the final logic. We try to do the least amount of cpu instructions so this is probably the better arrangement anyway.

Revise the method signatures to exclude the scratchspace span reuse (not-obvious behavior). Just stackalloc a new span.

Add seed indication to legality formatting. #4416
2025-01-15 01:26:49 -06:00