Commit graph

6060 commits

Author SHA1 Message Date
Kurt
52e22086e9 Extract IMetLevel for level!=met encounters
No longer marks Ranch gifts as Fishy for leveled @ threshold.
Encounter range check now ignores the MetLevel if it can't exist that low.
2024-07-06 01:40:12 -05:00
Kurt
99ebc47866 Extract TrainerName const to static class
Central location for where these values are defined.
2024-07-06 01:35:50 -05:00
Kurt
1dcda6d2e8 Fix sav clone metadata inclusion
Need to not include it when cloning saves into the sav constructor, need to mirror it in metadata instead.
2024-07-04 22:27:53 -05:00
Kurt
21271c2931 Fix jp oras work script filename 2024-07-04 18:43:13 -05:00
Kurt
3f49a01ae8 Sanity check save file personal info
https://projectpokemon.org/home/forums/topic/65409-2-exception-logs-found-on-latest-pkhex/?do=findComment&comment=290422
2024-07-04 18:42:27 -05:00
Kurt
66e8bf2645 Update 24.07.03
Update wc9 pkl
update dependencies (qrcoder got some perf improvements)
deduplicate HOME tracker message in SV by consolidating the methods
2024-07-02 23:51:10 -05:00
Arley Pádua
6de68ac626
feat: allow external consumers to specify AES implementation (#4311)
Allow external consumers to specify AES/MD5 implementation

HOME: Replace direct usage of transforms with built-in wrapper methods for easier API replacement.
BDSP: Replace incremental hash with one-liner for easier API replacement. Handle dirtying manually.
2024-07-02 09:12:03 -05:00
Kurt
298c83bc09 Misc tweaks
Fix dexnav move being allowed when relearn cleared and not learnable in dest game (duskull destiny bond gen9)
Move farfetch'd check to top of not-nicknamed, add deferral for GO match
2024-06-30 19:14:21 -05:00
Kurt
11b1eeb6c8 Allow HOME wrong apostrophe on farfetch'd
Stupid.
Move ash greninja check up with the CanHaveAnyLanguage as it's rectified in Gen8+.
2024-06-30 00:07:27 -05:00
Kurt
3824c2e9f7 SAV3: interact with other extdata sectors
Uninitialized sectors are now no longer updated for checksums
Checksums will be updated if not uninitialized (replacing battle video)
Not that the game really checks the checksum (lol)
2024-06-29 23:59:11 -05:00
Kurt
baac00c130 Invert export flags, fix footer inclusion gen1-3
Closes #4307
2024-06-29 12:55:13 -05:00
Kurt
dc5f1a0b17 Allow nicknaming ot-receive WC7; also WC6-link
Closes #4308
2024-06-29 11:38:30 -05:00
Kurt
37ea71eaa7 Fix pk4->rk4 convert copy 2024-06-29 11:21:37 -05:00
Kurt
00ce859584 Split pgf and wc5full
Importing had a bug where it would retain the metadata when setting to save file, rather than trimming down to the gift.
Split them into separate classes like gen6+

Remove erroneous WB7 size; 0x108 is only valid for a subsection, and won't work with the class since it needs to pull from the localization data. Nobody should be affected by that change.
2024-06-29 11:20:09 -05:00
Kurt
73c5e258b7 Move Breeding.CanGameGenerateEggs to generator
Already have a reference to it, no need to re-pivot off version.
Remove old method for checking if a Daycare exists; not all daycares give eggs, and not all egg-producing games have daycares.
2024-06-29 10:58:30 -05:00
Kurt
07a08fa328 Add some xmldoc 2024-06-29 10:55:01 -05:00
Kurt
8c21541305 Add missing SV->Gen8 transfer tracker check
SWSH format SV origin mon would report Gen9 but skipped the tracker check, no more.
2024-06-29 10:42:19 -05:00
Kurt
a84e59c0fe Use ReadOnlySpan for nest location fetch
skips allocating that big byte[][] entirely
No more static byte[][] references in PKHeX.Core !
2024-06-29 10:41:11 -05:00
Kurt
496c66bd46 Rename box storage slot flag fetch
`IsSlotX` is a little ambiguous; `IsBoxSlotX` much better.
2024-06-29 10:39:59 -05:00
sora10pls
bcb4e8374b Add latest distribution raid data 🦎🐲💞 2024-06-27 20:02:35 -04:00
sora10pls
d1416baf6c Revise SWSH dummied moves bitflag array
Prior implementation only accounted for moves with the description: "This move can't be used. It's recommended that this move is forgotten. Once forgotten, this move can't be remembered."

New implementation now checks for the CanUseMove flag, as is done with BDSP/LA/SV. This catches some oddities, like Kinesis becoming usable in Ver. 1.2.0 (Isle of Armor, Kadabra/Alakazam), as well as some signature moves for unavailable Pokémon, like Judgment and Seed Flare.
2024-06-24 12:19:23 -04:00
BlackShark
9ca0a46715
Fixed some SecretBase3 issues (#4305)
* Fixed some SecretBase3 issues

* Allow settings SpriteItems, use ushort for TID16
2024-06-21 21:27:33 -05:00
Eelen
2ab07201bd
Update CHS Translations (#4301)
Co-authored-by: Professor Dirty <103500840+wubinwww@users.noreply.github.com>
2024-06-15 21:31:59 -05:00
Kurt
6b51250f88 Misc tweaks
PK5-PKMEditor no longer sets Hidden Ability flag for Rotom under HaX -- only set if unique hidden ability.
Differentiate move source tagging for HOME, DexNav, and GB-Evolution
fix some comma spacing
2024-06-15 18:38:05 -05:00
Kurt
10f7ef9d3e Add missing fallthru for HT Language on no memory
Needed to catch the EncounterStatic9 gifts (like Starter).
Update es9->pk9 to use the property instead of duplicating that logic
2024-06-15 01:13:51 -05:00
Kurt
f6bcc8a216 Minor clean
StringBuilder.Append has some fancy interpolation handling in the latest NET8 so it's more clean than multiple append calls.
2024-06-15 00:57:44 -05:00
Kurt
0ffb256052 Add slot source legality checks
Useful for save files with misplaced data (you really have to be using the program weirdly to get these flagged).
Stuff like Eggs deposited in Daycare, non-fuseable species in the Fused slots, etc.

Allow HaX to view any slot, & Delete if Set is allowed
2024-06-15 00:14:49 -05:00
Kurt
0499caa52e Update BK4.cs
Closes #4300
2024-06-14 09:10:08 -05:00
Kurt
b68fb27ccf Update StringConverter5.cs
Closes #4299
2024-06-14 00:06:40 -05:00
Kurt
f2ca406240 Don't set time of day for gift2->pk2 2024-06-13 22:04:54 -05:00
sora10pls
fff4e8a6e6 Add latest distribution raid data 🐗🔜🥓🤤 2024-06-13 20:04:01 -04:00
abcboy101
9817b29483
Add Berry Powder, Pokéblock3, Decoration3, and Record4 editors (#4298)
* Add Berry Powder to Misc3 editor

* Add Pokéblock Case editor for Gen3

* Pokéblock/Poffin localization

* Add Decoration editor for Gen3

* Localization

* Add Record editor for Gen4
2024-06-13 00:01:49 -05:00
Kurt
be79360778 Flag slotnumber instead of Tile
Oops
pk8: check for SV for met location loss
2024-06-11 08:25:20 -05:00
Kurt
4f23efd939 Minor tweaks
Rival_Trash -> RivalTrash
BinaryCodedDecimal better method names
Gift dupe checker differentiate by species
2024-06-10 21:43:27 -05:00
Kurt
992deea183 Fix B2W2 key unlocked get/set
Closes #4295
2024-06-09 08:54:02 -05:00
Kurt
67fc0d0885 Misc tweaks
Add Cap Pikachu const value updating for USUM, also set Magearna const for USUM (not only SM)
Remove `NotDistributed` property from WC3 as only CXD events used it, no longer WC3 type.
Delete ArrayUtil; move remaining methods into the StorageUtil class that used them for compressing/inserting bulk into boxes.
Add shiny wormhole flag
Extract byte array strings into spans, faster tests and less overhead.
2024-06-09 08:52:32 -05:00
Kurt
06b8ec03ae Allow startup to detect memory card single-sav
Closes #4296
2024-06-07 09:42:52 -05:00
9Bitdo
2c687e48fb
Add Nils's Porygon2 date (#4297) 2024-06-07 09:40:39 -05:00
sora10pls
2f9ab3cee0 Add latest distribution outbreak data 🦸‍♂️🌊 2024-06-06 20:07:27 -04:00
Lusamine
d065c7d0d0 Clean up "Gift" from SV MG date comments
The Project Snorlax card comment used "Gift" because using "Snorlax"
twice sounds strange, and then that kept getting propagated to cards
after it. Brings comments back in line to before.
2024-06-06 10:09:19 -05:00
9Bitdo
676819ce4c
add sophia's gyarados.wc9 to mgdb and update Kaito Arii's Talonflame comment (#4294) 2024-06-06 08:23:27 -05:00
Kurt
114ba4c991 Handle BDSP eggs not having any trash 2024-06-05 23:53:01 -05:00
Kurt
de6c1baaf2 Minor tweaks
PK9: Fix writing box bin of self-owned SV eggs clearing nickname trash, also clear any hint of trading completely
SAV1: ensure current box is index:0 if uninitialized
2024-06-05 23:46:03 -05:00
Easy World
d5e5eec082
Update translation (#4291) 2024-06-05 08:24:04 -05:00
Kurt
637a0720a4 Extract manifest reader
Expose string cache dictionary for direct use
Allow plugins to reuse the EmbeddedResourceCache class for their own assembly's resources
2024-06-05 00:50:18 -05:00
Kurt
0bbba81fca Update 24.06.03
Stream translation text when loading. No need to allocate a few thousand strings and an array.
2024-06-03 23:32:45 -05:00
902PM
3ccdba4048
Changes (#4287)
1.Unified with in-game text.(text_cxd_00000_ja.txt)
2.Add Poké Seer's text for clarity.(text_gsc_00000_ja.txt)
3.Fixed some text.(text_rsefrlg_00000_ja.txt)
2024-06-03 19:38:48 -05:00
Kurt
093fca37ec Add enum to GUI translatable list
Improve perf of GUI scrape by only making forms once, don't fully set up Main
Add method to get a list of translated Enum names
Adds translatability for size markings
Closes #4266
2024-06-03 19:37:57 -05:00
Kurt
2d0d0236e3 Handle more RTC footer types
BizHawk Gambatte stores a 0x16 byte footer, but the correlation previously used isn't always true.
Just implement a generic detector that allows for a reasonably sized footer for the Gen1-3 formats.
2024-06-02 12:22:27 -05:00
abcboy101
5014b0c891
Add country/region editor to Geonet editor (#4286)
Adds individual country/region-level editing to the Geonet/Unity Tower editors
2024-06-01 17:56:20 -05:00
9Bitdo
acd2d49cdc
Add Kaito Arii's Talonflame date (#4285)
* Add Kaito Arii's Talonflame Date
2024-06-01 17:44:55 -05:00
Kurt
7d05e12c7f Misc tweaks
Fix pk6/7 pkmeditor export, now retaining status condition instead of wiping it
Abstract b2w2 key system to a save block; better documentation on its odd mechanics
Allow gen1-3 filename language/ver detect to work if the filename is ` `->`_` (discord attachments changing spaces to underscores); also revise canadian French emerald filename pattern
others: negligible perf/using standard library functions
2024-06-01 17:44:32 -05:00
abcboy101
e6cf61330a
Add Seal, Accessory, and Backdrop editors (#4284)
- Adds editors for the Seal, Accessory, and Backdrop inventories in Gen4
- Adds a line in the Gen4 Mystery Gift editor to display which Goods, Seal, Accessory, Backdrop, Pokétch app, or Route Map is contained in a gift
- Changes the HG/SS Apricorn editor to display localized item names instead of hard-coded English strings
2024-05-30 23:42:03 -05:00
sora10pls
8935b95eb4 Add latest distribution raid data ☠️ 2024-05-30 20:02:34 -04:00
Kurt
650f23ab82 Misc tweaks
Rewrites super training editor to not need reflection and special handling for translation
Fixes trash check for traded egg
Fixes Scientist trash applying to Ultra Beasts -- much better comparison
2024-05-30 10:40:08 -05:00
Kurt
b7298a7361 Auto-clean save file names of duplicate suffixes
`main (17)` now backs up as `main [...].bak` instead of `main (17) [...]`
Adds a debug-callable method to clean the main backup folder via:
`CleanBackups(Main.BackupPath, true);`
2024-05-27 19:23:56 -05:00
Kurt
c10c2a0dc2
Add Trash Byte verification for Switch formats (#4283)
* Extract logic, finish impl for switch era
* Extract trash checks to static class
* Reduce some allocations in OT name compares
2024-05-27 18:21:11 -05:00
Kurt
ca2bd3baf4 Minor clean
No functional change
2024-05-27 10:33:25 -05:00
abcboy101
a7421a7ceb
Localization (#4281)
* Display Medal type in SAV_Misc5
* Add CHT localization for Medal names
* Add localization for Medal type names
* Update Chinese localization for DPPt Underground
* Add additional G1/G2/G3 item name localizations
* Fix some typos in the Japanese names
* Add Korean names for G3 items
* Correct e-Reader Berry name format localizations
* Italian games use the format `BACCAENIGMA` (capitalized normally as `Baccaenigma`), so the entire item name needs to be titlecased, not just the Berry name.
* Add missing Gen2/3 location name localizations
* Minor corrections to existing languages to match in-game
* Minor tweaks
2024-05-24 18:51:05 -05:00
Kurt
a79581e965 Add EncounterTime interface for Gen2 encounters 2024-05-24 11:55:46 -05:00
BlackShark
68ea86cc72
Fixed SecretBase3Team (#4280)
* Fixed SecretBase3Team

* Fixed more offsets

* Fixed Species
2024-05-23 21:00:11 -05:00
sora10pls
d4f8c2a5e5 Add latest distribution raid data 🧲🤖 2024-05-23 20:04:05 -04:00
Kurt
cd6eadcd8d Fix daycare slot read
Closes #4279
adds writeback for daycare in gen2 as well
2024-05-23 13:31:23 -05:00
Kurt
93ae048246 Fix sav1 daycare write
was copying wrong data in, clean things up.
#4279
2024-05-23 03:54:06 -05:00
abcboy101
4cb1048139
Implement GBA/GC string conversion (#4278)
* Swap GC nickname fields

The first nickname field is used for the displayed nickname, such as for EFIGS PKM whose names get truncated in Japanese games.
The second nickname field stores the actual nickname, which is restored when a PKM is traded back to the GBA games.

* Add StringFont3GC

* Add GC/GBA string conversion tables/logic

* Refactor GC region conversion

* Minor tweaks

Skip copying nickname/OT on generic conversion method; derived impl will remap the trash for us.
Extract the DisplayNickname truncation function and deduplicate. Use buffers directly when updating
Make CurrentRegion/OriginalRegion properties GCRegion instead of int/byte

Extract local func for font check skip for clarity
2024-05-22 12:22:41 -05:00
Kurt
96bf5a6891 Misc tweaks 2024-05-19 23:29:27 -05:00
9Bitdo
1735fd142d
Add Dot's Quaxly Date (#4277) 2024-05-18 19:16:52 -05:00
Kurt
431b35a287 Remove unnecessary sugar 2024-05-18 17:51:50 -05:00
abcboy101
94e408d445
Use straight apostrophe for Gen3/4 (#4275)
Colosseum/XD/PBR/Ranch/Gen5 all treat the apostrophe/right single quote as a straight apostrophe (U+0027).

This primarily affects unnicknamed Colo/XD Farfetch'd, which need to use `'` instead of `’` to be traded to GBA correctly.
2024-05-18 10:04:25 -05:00
Kurt
3811f8d114 Misc tweaks 2024-05-18 00:40:29 -05:00
Kurt
0674d72fae Add ITrashIntrospection, impl on PKM classes
new api allows for checking for trash byte metadata, makes it much easier to write a verifier now
2024-05-17 15:58:49 -05:00
Kurt
f5c6510b82 7->8 Handle garbage string trash
no terminator? no problem
2024-05-17 13:18:48 -05:00
Kurt
da51291364 PK1/2 edit: Use save language when detecting lang
GBPKM allow spa/ita lang as fallback (so that nicknamed species just use fallback)
SK2 GetNonNickname reuse the passed language ID instead of recomputing
2024-05-17 13:18:25 -05:00
abcboy101
417231a67c
Update how symbols are handled for Bank -> HOME transfers (#4276)
This maps the remaining (legal) symbols in the private use area that are modified on transfer from Bank -> HOME. If any of these replacements are made, any leading or trailing halfwidth spaces are trimmed. This can result in nicknames/OT names that are the empty string or consist entirely of fullwidth spaces, even though these can't normally entered.
2024-05-17 11:56:55 -05:00
Kurt
99857540ae Add version hints to filter name checks
Extract result valid check to less-wide style, add extra sanity checks for Gen3 typed saves.
2024-05-15 23:29:27 -05:00
Kurt
a4a0337162 SAV1/2: Force zeroed slots to be FF
Deleting a slot shouldn't leave a level 0 nameless speciesless mon
2024-05-13 19:47:23 -05:00
Kurt
ca85fba061 Force writeback on addition to uninitialized data
Adding an entity to an uninitialized save's box data will force all data to be flushed unless the final destination was (initially zeroed and has no slots to set).
2024-05-13 19:40:55 -05:00
Kurt
0836d3c670 Mirror handler check to bulk checks 2024-05-13 18:16:26 -05:00
Kurt
bbfec1fb29 GB: Don't read ghost slots
Read count from list, instead of using the full capacity.
Malformed lists (truncated via count) with ghost slots should have those ghost slots ignored.
2024-05-13 18:14:40 -05:00
Kurt
215f892f11 SAV1: Don't reference prior-save boxdata
If the boxes are not initialized, skip reading of box data
If the boxes are empty when saving, don't write if {dest 0} or {boxes uninitialized} to retain old data.
If the boxes have any slots when saving, set the flag that boxdata is good.

Remove flag from SAV2, game is different from SAV1. Only use the boxdata, just mirror to CurrentBox data as Stadium only looks at boxdata.
2024-05-13 17:41:23 -05:00
Kurt
3dc84d6a39 Revise ActiveTrainer checks if unset (unit tests)
No longer need to disable correct-handler-state check for unit tests
Adds indication for HT not matching gender (if active trainer is set)
2024-05-13 17:38:16 -05:00
Kurt
0f7d6e1b6a Handler check for WC7 ash pika reimplemented
The handler state checks to check against current trainer are new, forgot about this edge case.
Reduce allocation of temp strings on wc7->pk7, replicate the HT miss for ash pika wc7->pk7
2024-05-13 12:35:47 -05:00
间辞
89e22337a4
Add Sophia's Gyarados Date (#4272)
* Update EncounterServerDate.cs

* Add files via upload
2024-05-13 09:01:02 -05:00
Kurt
8b68a07dbd SAV1: Use current box span for source of boxdata
Maybe only a GSC thing where Stadium 2 doesn't know better?
2024-05-13 00:16:29 -05:00
Kurt
5af96eab95 Extract switch-entity HT update logic, fix
Closes #4227
SlotWrite no longer revises the data incorrectly

if ot&gender mismatch, clear memories and set new values
can retain wrong values by having ot&gender shared between games
2024-05-12 23:40:50 -05:00
902PM
28add13282
Fix some typos in Japanese localization (#4264)
* Update LegalityCheckStrings_ja.txt

* Update lang_ja.txt

* Update lang_ja.txt

* Update MessageStrings_ja.txt

* Update const_hgss_ja.txt

* Update const_rs_ja.txt

* Update const_e_ja.txt

* Update text_ItemsG3_ja.txt

* Update text_ItemsG2_ja.txt

* Update text_ItemsG1_ja.txt

* Update text_Character_ja.txt

* Update lang_ja.txt

* Update lang_ja.txt

* Update lang_ja.txt

* Update MessageStrings_ja.txt

* Update LegalityCheckStrings_ja.txt

* Update flags_dp_ja.txt

* Update flags_pt_ja.txt
2024-05-12 16:02:59 -05:00
Kurt
7b6abc0520 Reduce alloc for ot/nick by raw trash reads
Legality check now catches buffer overflow mons.
Now that I have each type exposing a trash length & charcount, should be easy to have some reusable trash byte measuring methods (see the old branch)
2024-05-12 14:46:58 -05:00
Kurt
08ed482555 Revise gender symbol remapping
Handles Nidoran's shenanigans as well as more clear method names
- Add normalization for PK7->PK8 (no more 0xE... usage for the gender symbols... maybe more chars?)
- Not sure if Gen3 gamecube encoding needs sanitizing. Who is transferring Nidoran to CXD? :)

Requires some silly usage of Language passing as arguments. Future improvements can be made to revise the half/full encoding determination when setting a string. Probably has issues since we're just doing a naive check without considering nicknames w/ special chars.

Closes #4174
2024-05-12 10:47:55 -05:00
Kurt
a33884895f Remove IsNative property
Not something worth retaining if we can check directly.
2024-05-11 16:20:12 -05:00
Kurt
326e790e4b Handle and ' behaviors for 4->5->6
Gen5 does not use the slanted apostrophe for anything. 4->5 converts to ' for both strings.
Gen6 fixes all to be slanted. Even nicknames.
Importing to HOME (PK7, GO) resets nicknames, and the default name is not slanted. Nicknames/OTs are unaltered; again, only the "default" species name is wrong.

Closes #4066
2024-05-11 11:35:55 -05:00
Kurt
dcb23c7981 Allow adding/hiding extra properties in Report grid
#3933 3.
top level settings for Report

1. was already implemented with the file namer settings on dump

not sure how I want to do dragdrop-multi, but I did recently add a record type for `ConcatenatedEntitySet`...
2024-05-10 19:32:28 -05:00
Kurt
e0172b601c Allow randomizing IV32
Really shouldn't use it.
2024-05-10 19:30:01 -05:00
Kurt
bd4ea9656d Misc tweaks
Fix block editor GUI not showing named blocks (`Equals` is easily repointed...)
No functional change for the others, just reusing/cleaning irks.
2024-05-10 01:22:26 -05:00
sora10pls
58a6d453b8 Add latest distribution raid data 🦭 2024-05-09 20:04:38 -04:00
sora10pls
bcb7135940 Add handling for Wonder Ticket Poipole
See 1ec0f91e08
2024-05-06 13:20:51 -04:00
Kurt
5af6678784 Update 24.05.05
Fix devutil text update
swap tox & poison icons, move picturebox to the right
add some Legality settings util functions
2024-05-05 23:24:32 -05:00
9Bitdo
19951f10e1
Add 신여명's Flutter Mane distribution date (#4261)
* Add 신여명's Flutter Mane distribution date
2024-05-05 23:15:32 -05:00
Kurt
e72ff1a899 Misc tweaks
No noticeable change besides correctly indicating N's Pokemon in hover text (instead of Dream Radar)
2024-05-05 15:33:30 -05:00
902PM
004795b329
Changes (#4257)
* Create const_sm_ja.txt

* Update const_pt_ja.txt

* Create const_oras_ja

* Update flags_oras_ja.txt

* Update const_rs_ja.txt

* Update flags_rs_ja.txt

* Update flags_e_ja.txt

* Create const_b2w2_ja.txt

* Create const_bw_ja.txt

* Update flags_bw_ja.txt

* Update flags_b2w2_ja.txt

* Update lang_ja.txt
2024-05-04 15:10:43 -05:00
Kurt
2d61c833bc MysteryGift drop: use extension-less method if w/o
New Korean WC9 is restrict:0 so just make it behave like restrict:3 -- verifies all possible versions that way.
2024-05-04 14:48:19 -05:00
sora10pls
6855c842ca Permit Ranked Ribbon on Legendaries for Regulation G 2024-05-02 20:28:57 -04:00
Kurt
ad0c9b147d SAV6AO: Fix dexnav get/set
Was looking in the wrong segment of save data. Now points to the correct span (pokedex).

Extract a few more save blocks and interactions.
Basically try to get rid of any remaining `SAV.Data` references. Still a few left, but aren't broken.

Closes #4259
2024-05-01 22:58:47 -05:00
Kurt
0f4024952e Minor clean
indexof -> contains
trailing space
some variable reuse
pcdata/boxdata less janky handling
2024-05-01 00:49:43 -05:00
Kurt
78fde1367d Add more per-context settings 2024-04-28 18:19:55 -05:00
Kurt
9231f37be4 Move outbreak iteration after slots
essentially wild slots... can have wild marks like slots
need to check before static encounters (cannot have marks)
2024-04-28 16:44:28 -05:00
902PM
eb273d05a4
Japanese language translation updates (#4255)
Revises gen3/4 japanese strings as well as some program messages.
2024-04-28 10:27:11 -06:00
Kurt
e9de611735 Fix sav2 clone
Regression from the version-detect enhancement where we weren't expecting specific versions to be passed, only the lumped ones.
2024-04-28 11:25:46 -05:00
Kurt
e7f79be41d Minor clean 2024-04-28 00:35:26 -05:00
Kurt
bb6e45db60 Refactor out legality settings, add more settings
Extract PP verifier
Add disabling of wordfilter for formats < 6
Add context-specific bypasses for nickname/handler checks
2024-04-26 14:33:03 -05:00
Kurt
94f93d41c5 Update EvolutionGroup4.cs
Handles arceus-9 in future generations (reads as "not present in current game" via personal info if not stripped).
2024-04-26 08:35:54 -05:00
Kurt
3358038172 Add ball deferral & met level leniency for gen3/4
Fixes some issues reported via discord
2024-04-26 01:33:19 -05:00
Kurt
4e56a2b756 Fix zhs/zht table swap
simplified is the first set, not the second
Closes #4254
2024-04-26 01:27:53 -05:00
sora10pls
9788f007a3 Add latest distribution outbreak data 🐟🚗🦁💩 2024-04-25 20:06:07 -04:00
Kurt
c0e44d6375 PA8: add missing marking interface 2024-04-25 10:24:38 -05:00
Kurt
2296d34df3 Gen1/2: Fix party read
Oopsie false->true ez
Closes #4253
2024-04-24 19:24:49 -05:00
Kurt
9ff94455b9 Add setting to retain met date on 4->5 transfer 2024-04-24 02:11:14 -05:00
Kurt
093264bc24 Add IStringConverter, impl on PKM & SaveFile
use in trash editor to translate strings, from PKM instead of SAV.
Closes #4222
2024-04-23 00:57:17 -05:00
Kurt
1b294f7c97
Refactor: Split Gen1/2 string & pokelist conversion methods (#4251)
* Split Gen1/2 string & pokelist conversion methods

* Refactor pokelist to direct read/write, skip on save if blanked

* Add settings editor for SaveLanguage overrides
2024-04-22 14:42:22 -06:00
902PM
3087519c62
Translated to Japanese. (#4249)
* Update lang_ja.txt

* Update flags_hgss_ja.txt

* Create const_hgss_ja.txt

* Create const_dp_ja.txt

* Create const_pt_ja.txt

* Update lang_ja.txt
2024-04-22 14:40:03 -06:00
Kurt
f93b616ca8 SV: Fix EV yield bit ordering
Closes https://github.com/kwsch/PKHeX/issues/4252

see dcf6b0043b
2024-04-22 13:33:12 -05:00
Kurt
54525da20b Add tradeback wipe of Gen2 initial moves 2024-04-20 14:04:54 -05:00
Kurt
35bf97eaf1 Add status indication & switcher popup
Shows on all tabs to make it clear.
Obviously, status condition is only saved in formats that save status condition in their slot's resting format. Gen3 box mons won't store Burn, etc.
2024-04-17 00:35:42 -05:00
Kurt
b60648627a Add setting to show Gender in Gen1
Default false, current behavior.
Previous commits (years ago) would show Gender, but only current-format properties are shown now.

Fix some form scaling settings that haven't been reported, match other controls.
PKM property copy now checks if src==dest property type; for Gen6<-Gen7 markings, converting ushort -> byte can cause the conversion to fail if more than 8 bits are used. Just ignore copying the marking value, by only copying properties that have the same name AND type.
2024-04-16 21:01:14 -05:00
Kurt
2e62e41ab1 Add gen5 trainer record edits
Refer to src (Record5) for indexes; documented a few.
Closes #4245
2024-04-13 09:06:16 -05:00
ネイ
9caab05aab
Change gen4-gen7 Japanese location names (#4246)
* Fix gen4 Japanese translations

* Add Japanese descriptions where location names are different between games
2024-04-11 22:32:29 -06:00
sora10pls
ce666680f7 PK2: Expose Fast Ship as accessible met location 2024-04-11 10:04:28 -04:00
9Bitdo
8f65874ba4
Add Marco's Iron Hands distribution date (#4238) 2024-04-10 22:01:19 -04:00
ネイ
5794ffd78a
Update text_rsefrlg_00000_ja.txt (#4242)
Translate the remaining untranslated location, from text dump.
2024-04-09 19:31:54 -06:00
ネイ
4972ab469c
Update text_cxd_00000_ja.txt (#4240)
Translate the remaining untranslated location names with reference to text dump
2024-04-09 07:28:46 -06:00
Lusamine
a6868834c8 Add alternate met location for LA static Unown N
Closes #4237
2024-04-06 15:53:59 -05:00
Kurt
0552dcd37c Crystal: Add e-speed-less dragons den dratini
VC has no move relearner so can't unlearn espeed & relearn the level up move to look the same.
Rearrange moves to match how the game gives them.
2024-04-06 09:06:45 -05:00
Kurt
9c1538f503 Disallow HOME move share w/ battleversion & <=Gen7
HOME's SWSH moveset is disqualified from having <=Gen7 moveset permissions if the battle version was applied in SW/SH.
2024-04-05 14:49:46 -05:00
sora10pls
f0b127e13e Add latest distribution raid data 🦕🔮 2024-04-04 20:02:00 -04:00
Kurt
d222d4bb2e CXD location on hover
CXD is a stored version and does not contain others
2024-04-01 17:28:05 -05:00
Kurt
5f4cf2af29 Better guard against bad gender requests
Can infinite loop gen3/4 generators by requesting from an invalid gender (eg Male Blissey) in Gen5+
2024-03-30 17:44:21 -05:00
Kurt
a2f36760e6 EncounterCriteria: ignore genderless gender values
Shedinja (genderless) was filtering when trying to generate gendered nincada
Also fix method2 reattempt & comments while we're here (comments were copypasted from Unown's method)
2024-03-30 11:28:15 -05:00
Kurt
a71d74b1ea Split gen3 memorycard into subfolder 2024-03-30 01:17:18 -05:00
Kurt
8b039ae786 Rework card 0184 deferral 2024-03-30 01:13:52 -05:00
Kurt
8f60ad546c Extract DEntry reading logic 2024-03-28 23:07:13 -05:00
sora10pls
9888479021 Add latest distribution outbreak data 👶 2024-03-28 20:07:13 -04:00
Kurt
d8689e4074 Update EncounterTrade2.cs 2024-03-28 00:41:23 -05:00
Kurt
69f7413387 Revise Gen8 HOME gift 0/0 scale rolling 2024-03-25 23:12:59 -05:00
Kurt
af228b0fec Re-add gsc rock smash
ede3296c31

also sneak in SV Ride legend having trash bytes/HT data
2024-03-25 22:28:51 -05:00
Kurt
fed6b41950 Update EncounterTrade2.cs 2024-03-25 19:27:23 -05:00
Kurt
45444578ab Handle Gen8 ability tradebacks
HOME 3.1.0 change (Teal Mask)
https://www.smogon.com/forums/threads/pokemon-home-update-adds-ability-tradebacks-to-swsh.3727789/

delete all the handling for 3.0.0 tradeback gating since it's no longer correct.
2024-03-25 17:18:44 -05:00
Kurt
bf476f4de5 Update ChannelJirachi.cs 2024-03-25 12:52:59 -05:00
Kurt
c95d56bfd6 Update 24.03.26 2024-03-25 00:46:21 -05:00
Kurt
2b4ecee899 Rename EggEncounter to IsEgg 2024-03-25 00:39:30 -05:00
Kurt
024bd85cc3 Minor tweaks
make PL6 use memory instead of byte[]
make GP1 use memory instead of byte[]
move IEncounterable properties higher to IEncounterTemplate
2024-03-24 20:12:33 -05:00
Kurt
905c80521e Trade2: hard match on nickname, not OT
Webster (RANDY) Spearow in Italian uses the same OT, with different nickname.
2024-03-24 14:46:23 -05:00