Commit Graph

10426 Commits

Author SHA1 Message Date
sora10pls
e6a8df366d Add latest distribution raid/outbreak data ⚫🐉✨ 2024-12-19 19:03:51 -05:00
Kurt
341106d48f Gift leniency: wish m2>1/4 & frlg togepi m1>4
Closes #4404
Future improvements can add value ranges to restrict based on PIDs (e.g. M1 Wish must be below X, M4 must be above Y, or if it's a range, likewise. Or, if it's a certain %24 result for shuffling considerations).

Co-Authored-By: notblisy <50887637+notblisy@users.noreply.github.com>
2024-12-18 18:35:02 -06:00
R-YaTian
c198ab08e0 Gen 6: Fix Pokemon Link data saving, enable modify BP and PM (#4401)
* Gen6: Fix Pokemon Link data saving, enable modify BP and PM
2024-12-16 20:35:48 -06:00
Pasquale Nardiello
8e42776610 Fixed HallFame3 logic and added GUI for manipulation (#4395)
* Fixed HallFame3 logic and added GUI for manipulation
2024-12-16 20:28:42 -06:00
Pasquale Nardiello
a75e09780c Added Initial edito for Secret Bases in RSE (#4386)
* Started making Secret base 3 editor

* Completed Initial RSE secret bases manipulation.
2024-12-16 20:23:50 -06:00
Kurt
872c79f124 Add gen1 hall of fame editor
Closes #4403

Co-Authored-By: ShadowMario3 <36941677+ShadowMario3@users.noreply.github.com>
2024-12-16 19:37:58 -06:00
Kurt
013cf4cf93 Fix cloning of gen1-3 saves in subeditors
Clone'd saves no longer retain same byte[] refs as original

evident in GUI editors and canceled changes somehow being saved
(gen3 isn't required, because it's unpacked into the blocks, but just be consistent)
2024-12-16 19:37:03 -06:00
sora10pls
e83ae026d6 Add latest distribution raid/outbreak data 😡🐵♟️🦒 2024-12-12 19:04:20 -05:00
Kurt
c6307b40ef Misc tweaks
SAV3: extract struct slice fetch
Metadata: allow setting `Memory<byte>` instead of `byte[]`
Stats: deduplicate gen1/2 mask set
remove some unnecessary spaces (lol)
2024-12-09 01:02:14 -06:00
Kurt
6397cf7723 Revise Gen7b FlagCount
Closes #4396

Co-Authored-By: Fábio H. Attard <fattard@users.noreply.github.com>
2024-12-07 08:20:03 -06:00
Professor Dirty
933c9d03cd Added CHS translation and some corrections to the detection prompts (#4402) 2024-12-06 12:14:34 -06:00
Ka-n00b
0a27880ce6 Update Event Flags (#4398) 2024-12-06 12:13:59 -06:00
sora10pls
a2c03fc0a9 Add latest distribution raid/outbreak data 🐰🔵🟤 2024-12-05 19:04:03 -05:00
sora10pls
ff452bf5a6 Add latest distribution raid/outbreak data 🐦‍⬛🐸🥚 2024-11-28 19:15:36 -05:00
Professor Dirty
7fdd5abc52 Added CHS translation and corrected typos (#4393) 2024-11-27 17:03:06 -05:00
9Bitdo
a4b1da542c Add Korea(KOR) Operation Get Mythical Keldeo, Zarude & Deoxys's date (#4394) 2024-11-27 17:02:35 -05:00
NimbusFox
f2dfeb20af Fixing StatusCondition to report sleep correctly (#4397) 2024-11-27 16:45:56 -05:00
9Bitdo
a60e76f16d Add Operation Get Mythical Keldeo, Zarude & Deoxys's date (#4392) 2024-11-21 21:43:17 -06:00
Kurt
231b3ffe57 IEncounterable: Add down-level interface 2024-11-18 21:58:09 -06:00
Kurt
8c37d9b4b5 Slot3/4: Filter met level on generate 2024-11-18 21:19:53 -06:00
Kurt
c30a335404 Update EncounterCriteria.cs 2024-11-18 20:46:50 -06:00
Kurt
594d133fae Update WA8.cs 2024-11-18 20:40:03 -06:00
Kurt
0b686d428b Change EncounterCriteria to use Level Range 2024-11-18 20:33:33 -06:00
Kurt
52351bf0e7 Generator: Gen3/4 slots w/ IVs & not-min level
Previously would only generate with minimum levels when IVs are provided
Now that it generates not-min levels, need to set the correct level.

Might be possible in the future to have IV-spec also respect a Level request, but for now it's only forceMin which nobody currently uses (no usage of the setter).
2024-11-18 18:56:18 -06:00
Kurt
5c338f5f74 Misc tweaks
Extract better signatures for BallApplicator.ApplyBallLegalRandom
Slot1: swap interface order (consistency with other classes, no impact)
IEncounterTemplate vs IEncounterable interface usage
2024-11-18 14:12:57 -06:00
Kurt
61526fad8d Add missing IV interface tag to trades 2024-11-17 21:15:07 -06:00
Kurt
4af95f63b3 Update BallApplicator.cs 2024-11-17 20:59:54 -06:00
Kurt
1a5d06d0d0 Update BallVerifier.cs 2024-11-17 18:52:42 -06:00
Kurt
076bbbbd77 Update BallApplicator.cs 2024-11-17 15:12:09 -06:00
Kurt
ceb669c112 Update to .NET 9, c# 13 (#4390) 2024-11-17 13:13:58 -06:00
Kurt
adb67922c5 Set dex skin active flag on import 2024-11-17 12:47:38 -06:00
Kurt
8b071073d8 Improve BallApplicator performance
Previous logic would check a new LegalityAnalysis for each ball attempted, and would additionally allocate a new PKM for testing the balls.

With the refactoring to BallVerifier, we can just pass in the template and ball and get a truth, skipping the entire re-check. There might be a deficiency when the current ball invalidates the encounter (GO) but I don't think that's worth considering at this time.
2024-11-17 12:08:22 -06:00
Kurt
b5e3e17987 Update BallVerifier.cs
No longer need to assign ball, can be used to check if ball can be assigned.
2024-11-17 08:59:48 -06:00
Kurt
89e705c6ae Extract ball verification result 2024-11-15 23:39:33 -06:00
Kurt
55b75e8061 Merge branch 'master' of https://github.com/kwsch/PKHeX 2024-11-15 23:07:11 -06:00
9Bitdo
46739891e7 Add Patrick's Pelipper date (#4389) 2024-11-15 10:25:05 -06:00
sora10pls
d028cb0aed Add latest distribution raid data 🐢🌲 2024-11-14 19:03:08 -05:00
Lusamine
1959eb34a5 Further refine memory 29 restrictions in SWSH 2024-11-12 21:10:21 -06:00
Lusamine
bf0e0e2a4b Further refine memory 29 restrictions in SWSH 2024-11-12 18:43:15 -06:00
Kurt
cccce007b8 Update EncounterSlot7GO.cs 2024-11-12 12:08:11 -06:00
Kurt
5955319883 Add expected PP check for stored-healed slots 2024-11-12 10:33:34 -06:00
Kurt
b60c6e5f14 Update 24.11.11 24.11.11 2024-11-11 23:25:02 -06:00
Cynthia Coan
f2a6abbb6c validate nickname characters within gen4 (#4382)
pkmnclassic has recently had some pokemon traded that cause game
crashes when viewing the pokemon's information, or when trying to
remove the pokemon for these boxes. most of these pokemon were reported
legal by pkhex however. this fixes the biggest use of these we've seen
actively traded (some of the other checks require more validation, as
they seemed to be buggy, we intend to validate those & send more PRs if
needed).

this check effectively covers "NULL Bytes" within the trainers name,
or the pokemon's nickname. We have attached an example pk4 that was
traded through our service that exhibits this issue, a couple notes:

- Generation 5+ seem to not be affected and replace character names with
  '?'
- Not all screens crash inside of Generation 4, the big ones our users
  noticed were viewing the pokemons information, and removal from the
  boxes.
- I also got a crash in pokemon ranch, but my testing setup was pretty
  hacky, and I'm not confident it wasn't something else, but we know
  it's potentially possible.

- We check for the terminator character '\uffff' which the pkhex string
  converter inserts implicitly when encountering an invalid character,
  but the actual underlying character when performing a hex dump is
  `\0`.
2024-11-11 22:28:01 -06:00
Kurt
fced599119 Fix HGSS box saving (empty->not)
HGSS tracks each box if it is changed, to skip writing it on in-game save. PKHeX (and other editors) weren't updating these bitflags, so when empty boxes had Pokémon added and saved once in-game, the save file would corrupt as it was copying the checksum but not the box's data.

Saving twice in-game will cause the checksums to get updated even without the flags being set. I don't think we understand it fully, but this hacky workaround of noting all boxes as "changed" will cause the first-save to properly copy all contents of the boxes to the new primary save section. Rather than tracking which boxes we are reading/writing slots for, or fixing/comparing against a backup -- we need to account for API usage where people might write directly into the save (pcdata.bin/boxdata.bin too). Best to play it safe and let the game fix it.

Most wouldn't have noticed this issue as the box they're modifying is usually their most-recently-changed in-game box.

Closes #4368
2024-11-11 22:25:34 -06:00
Kurt
6153d6c851 Restrict gen3 PCNY OTs further
last 4 sets were only on the D memcard
add notes regarding Dragon runs using B memcard (staff)
https://pokemonhistorian.com/pcny-project/pcny-preservation-records/
2024-11-11 15:17:01 -06:00
Kurt
b0a2c7911e Fix Met tab startup binding
`ListControl._dataManager` is null until some event fires, which never happens until the Visible state is normally triggered by flipping to that tab.

The met tab Version/Location can skip Visibility changes on startup, resulting in never being initialized by the GUI framework, thus ignoring any calls to change SelectedValue. Really weird, but setting the BindingContext here forces it to create a `_dataManager` when setting a new `DataSource`.

Closes #4384
2024-11-11 15:11:47 -06:00
Kurt
5d4976303d Add manual handling for Mainland China gifts
Closes #4375
ty manu for clarifying transfer restrictions on discord
2024-11-11 10:05:17 -06:00
Kurt
52437d1712 Gen3 PCNY: remove OT gender checks
Same as PCJP, uses the recipient's save file gender. Not random.
2024-11-11 08:16:58 -06:00
Eelen
4414b34fe7 Update lang_zh.txt (#4387) 2024-11-11 00:00:34 -06:00
Kurt
8b09d9467d Misc fixes 2024-11-10 19:22:59 -06:00