Commit graph

9673 commits

Author SHA1 Message Date
Kurt
6a373ee5db Tweak pokerus load indication
Closes #3957
2023-08-15 17:47:12 -07:00
Kurt
0a9300874b Check current level on GB Era event gift eggs
Closes #3963
2023-08-15 16:09:08 -07:00
BlackShark
218a29a16a
Fixed FRLGE Enigma Berry size (#3962) 2023-08-14 23:23:39 -07:00
Buggz Evol
e1499398f6
Add Eduardo Gastrodon eligible date (#3959) 2023-08-14 20:13:46 -07:00
Kurt
c6a961bda6
Add Xoroshiro128Plus Solver, SW/SH Raid verification (#3961)
Due to how the game generates the Pokémon data, the first two (or three) RNG calls are used to set the 32-bit `EncryptionConstant` and `PID`. With 2x 32-bit and 1x 64-bit values, we can algorithmically reverse the movement & manipulation of bits to recover the initial seed. Notably, certain bits of the initial state are not captured by our first two (or three) outputs, so we must brute-force guess at the initial state, and verify the RNG's output yields the expected values.

**With the ability for real-time Xoroshiro128+ seed reversal, we can now validate RNG correlations for SW/SH raid encounters natively within the program.** For now, the legality fail error message is extremely vague and any validated seed won't be "remembered" for the Legality Parse like other RNG methods. These seeds are 64bit, while every other "remembered" `PID/IV` seed-info is 32-bit.

Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
2023-08-14 20:01:38 -07:00
Kurt
534dc02154 Misc enc template -> pkm fixes 2023-08-13 17:23:16 -07:00
Kurt
3afcfcdfa3 Add setters for Dynamax/Gmax static8 2023-08-12 16:45:43 -07:00
Kurt
f632aedd15
Encounter Templates: Searching and Creating (#3955)
We implement simple state machine iterators to iterate through every split type encounter array, and more finely control the path we iterate through. And, by using generics, we can have the compiler generate optimized code to avoid virtual calls.

In addition to this, we shift away from the big-5 encounter types and not inherit from an abstract class. This allows for creating a PK* of a specific type and directly writing properties (no virtual calls). Plus we can now fine-tune each encounter type to call specific code, and not have to worry about future game encounter types bothering the generation routines.
2023-08-12 16:01:16 -07:00
Eelen
18812550e8
Update CHS Translations (#3956)
Update CHS Translations

Co-authored-by: Professor Dirty <103500840+wubinwww@users.noreply.github.com>
2023-08-12 11:35:42 -07:00
Momonopopotee
6d098cc848
Update gen 2 event flags and PLA blocks (#3944) 2023-08-09 00:44:34 -07:00
Eelen
89eff1fe19
Add Foongus and Amoonguss flags (#3952)
Add Foongus and Amoongus flags

Fix translation errors

Translation New flags in CHS

Co-authored-by: Professor Dirty <103500840+wubinwww@users.noreply.github.com>
2023-08-09 00:43:59 -07:00
Kurt
d647f15f23 Fix indexing check for tile rotation
Closes #3950
Does not resolve #3953 , separate issue as caused by the April refactor. Need to debug old & new and see where the data is being copied wrong
2023-08-09 00:43:29 -07:00
sora10pls
a483bf9a24 Mighty Mewtwo: Prepare the Offense! 2023-08-08 20:07:21 -04:00
sora10pls
3e13b1bc29 Add Tatsugiri/Mew eligible date ranges 2023-08-08 17:58:12 -04:00
alvv-z
498391ea04
Add battle subway trophy flags (BW) (#3949)
* Add battle subway trophy flags

* Spelling: posess -> possess
2023-08-02 14:03:21 -04:00
sora10pls
96fa89188a Add latest distribution raid data 🦍 2023-07-27 20:03:28 -04:00
Manu
4ca9f2a905
Add Nontaro's Shiny Grimmsnarl Server Date (#3946)
* Add Nontaro's Shiny Grimmsnarl Server Date

* Corrected end date typo
2023-07-27 07:37:46 -04:00
Kurt
22aaea63df Update LearnGroupHOME.cs 2023-07-21 19:54:19 -07:00
Lusamine
92d65dc6a4 Add legal date range for Dark Tera Charizard 2023-07-21 21:05:58 -05:00
Lusamine
cf4de45c03 BDSP Valley Windworks Drifloon is 3 IV guaranteed 2023-07-21 21:05:06 -05:00
Kurt
c596804578 Minor clean
Inline logic for Meowstic form branch evo
Pass levelup byte value directly instead of recompute
With EvolutionSet all shared, reorder the constructor so the primary ctor doesn't need manually ordered properties (8 byte total struct size)
2023-07-21 15:19:12 -07:00
Kurt
171ee0d222 Misc tweaks 2023-07-21 13:41:19 -07:00
Kurt
c5d35fbce5 Handle Volt Tackle for HOME sharing GetAllMoves 2023-07-21 12:24:31 -07:00
Kurt
75ec6ca38d Use PKH as PK7->PK8 route
Slightly less efficient as we need an intermediary object, but this mimics the official implementation and will catch any future modifications HOME does (like the current Height/Weight rerolling from 0).
2023-07-21 12:04:11 -07:00
Kurt
e3b62cf80d Update EncounterMovesetGenerator.cs 2023-07-21 11:48:29 -07:00
Kurt
6c6d02fad2 Fix oopsie
partially reverted change forgot to undo adding these
2023-07-16 20:42:51 -07:00
Kurt
06720dec83 FormArg handling for Hoopa visiting SV 2023-07-15 14:17:03 -07:00
Kurt
8c5773969a Add HOME hoopa move share, add form specific check
Hoopa cannot know both moves due to form reversion
Kyurem cannot know both moves due to form reversion
Kyurem cannot know Scary Face when fused in past games

Add dexnav for AtAnyTime/HOME lookback when original moveset deleted (no longer in local relearn moves)
BDSP Underground encounters w/ egg moves can be shared by other means
2023-07-15 13:58:41 -07:00
Kurt
18fd790657 Minor perf tweaks
Relocate checksum adders to Checksums class, improve performance by eliminating slice calls
Improve HOME sharing for GO8 and IMoveset encounters: actually sanity check GO8, and skip other non-PK7/PB7 cases.
2023-07-15 11:22:48 -07:00
Lusamine
2aef48172e Allow SV Mini & Jumbo Pikachu to be valid until Aug 1 2023-07-14 15:25:02 -05:00
Kurt
ee9ae63c22 Misc tweaks
Move enum -> ushort instead of int
Redo handling of HOME Volt Tackle (disallow on SWSH Cap Pikachu)
Pass spans instead of strings to use span methods
Reset encounter filters on early abort
2023-07-13 22:18:34 -07:00
Kurt
b212ef42b5 Add HOME rejuvenations for SV and SWSH
When we lack data for HOME transfers on their original data, we must fabricate something instead of defaulting to whatever the HOME mutation logic gives us. Stuff like the original Relearn moves, etc.

Reset tera types and relearn for SV
Reset relearn for BDSP, SWSH
2023-07-12 21:49:16 -07:00
Kurt
3a88190613 Unify EvolutionSet deserialization
Reformat all pickles to the same serialization format (latest)
(format ignores all empty evo entries, to skip allocation of dead entries)
346KB -> 60.3KB, -200 lines of code
2023-07-12 19:09:23 -07:00
Kurt
292ea5ba44 More encountertrade workarounds
probably not entirely correct, but better than flagging incorrectly
2023-07-11 16:25:05 -07:00
Kurt
75e7965803 Update GameDataPK8.cs 2023-07-11 12:46:49 -07:00
Kurt
a49508b354 Check scale copy in non-SV formats
Rather than ignoring it
2023-07-11 11:05:55 -07:00
Kurt
4f560c3ba6 Indicate moves currently known in TechRecordEditor 2023-07-11 09:12:24 -07:00
Kurt
6a5dc5caa5 Revise baby species-form check for SWSH/SV
Evolutions fail to reverse Alolan Raichu in these local contexts, so revise the sanity check to use Personal instead since seedpoke data is available.
2023-07-11 08:52:46 -07:00
Kurt
4f014a9275 Gen4: Load altform tutor bits
They can be different between alt forms.
2023-07-10 19:17:09 -07:00
Kurt
0876c8044a Set TR flags for all evos, indicate yellow 2023-07-10 18:41:56 -07:00
Kurt
2e0a2ed7eb Adjust head evo max level for 345 vc7 transfers
https://projectpokemon.org/home/forums/topic/63635-pkhex-230709-bugs/
2023-07-09 21:06:47 -07:00
Kurt
478413e8cd Discard Fairy type Arceus when reversing
https://projectpokemon.org/home/forums/topic/63635-pkhex-230709-bugs/
2023-07-09 20:22:01 -07:00
Kurt
7fb5dc2fde Update go pickles, add fr bdsp chatot goof
Nintendo + ILCA = no nicknames allowed ;)
While we're here, streamline Gen4/5 evo pickles too -- trim out unused bytes, no longer need to scan for array length (perf). Adjust method IDs for gen4 so we can use the same code for gen4 & gen5.
2023-07-09 19:59:37 -07:00
Kurt
26cabd022b Update 23.07.09 2023-07-09 14:10:40 -07:00
Zazsona
b340e2327a
Crystal (International) Checksum 2 Fix (#3939)
* Correct invalid OverallChecksumPosition2 offset for International Crystal

* Update SAV2 Checksum validation to check against both Checksum values
2023-07-08 20:21:43 -07:00
Kurt
2ea6ee4e10 Misc fixes
Add sound for adding all XY fashion items (was silent)

Fix Gen7 Resort PKM loading (4 bytes extra per slot)
Fix Gen6 HallOfFame TID/SID validation dropping leading zeroes
Fix Gen6 Best Friends ribbon validation
Treat GO8 as server date restricted, give detailed message outside window
HasTracker => must have HT name
2023-07-08 20:00:41 -07:00
Kurt
04e7baaeee Fix Stat Editor randomize buttons centering
Hiding and Showing doesn't trigger an update to the FlowLayoutPanel's width; force a layout to happen so the size updates prior to re-centering controls. Only move if it is a different X coordinate (perf?)
2023-07-08 19:29:46 -07:00
Kurt
b5f0296fe6 Skip yielding GO8+ encounters if PB7
No backwards transfer to LGP/E, and this behavior is only encountered if you turn off specific filtering settings as the generator filters them out afterwards.
2023-07-08 18:28:09 -07:00
Kurt
cbb5ab0971 Fix Memory editor Gen7 editor of Geolocation
set up binding for both comboboxes before setting data source
skip setting up if entity does not expose these
2023-07-08 18:21:17 -07:00
sora10pls
7bfaad8e20 Update tera type icons
now sourced from HOME assets, which have far less compression
2023-07-08 19:03:33 -04:00