Commit graph

6060 commits

Author SHA1 Message Date
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
Kurt
8b09d9467d Misc fixes 2024-11-10 19:22:59 -06:00
Kurt
de57e197ad Fix gen3 reversal exploration for 50% of seeds
line 340 - variable reuse!

In looking at the emerald disassembly, when Pressure/Hustle/Vital Spirit fails, it reduces the max level of the slot by 1 so that the max level doesn't randomly appear. Essentially 50% flat for the max to appear, for varied slots, not 50% + (1/range). Thus we require a separate branch of logic to check for this scenario.

f8119bedd4/src/wild_encounter.c (L298)

DPPt (and assumedly HGSS) do not decrease the random range on failure.

ty TFS for bringing this to my attention on discord
2024-11-10 19:11:30 -06:00
Kurt
947bbc7274 Fix Sirfetch'd deferral, add Tera deferral
Marill and Azurill need deferral cases as they change primary type
(normal-fairy => fairy || water-fairy => water)
2024-11-10 15:32:57 -06:00
Kurt
e4e3d929a0 Handle Gift method2 eggs better
Set PID correctly
Defer on fateful (wynaut egg clash, hot springs)
2024-11-10 15:16:19 -06:00
Kurt
c8726c4e2d Fix T2/Channel jirachi enc->pk3 generating 2024-11-10 15:00:31 -06:00
Kurt
1ffbd46e3c Extract some logic, deduplicate 2024-11-10 13:25:30 -06:00
Kurt
3c574a45f1 Revise enc1/2 -> pk1/2 nickname set
Skip the IsNicknamed evaluation, saving at least 1 string allocation on ctor. Remember the IsNicknamed state when we set false.
GUI: provide the selected language rather than recalculate
2024-11-10 09:32:33 -06:00
Kurt
51464fb4af Update PK9.cs 2024-11-09 22:34:33 -06:00
Kurt
d77d6b7ce6 Fix MethodJ enc->pkm nature check
silly differences; MethodJ should have been /A3E not %25
Make GetNature public, and have the MethodK esv modulo be uint instead of long for better clarity.
2024-11-09 21:37:03 -06:00
Pasquale Nardiello
38756b44c7
Added Lilycove museum manipulation (#4385)
* Added method to extract pokémon data from lilycove museum and experimental way to set paintings active and change their subject in order to obtain 2nd trainer star and crystal decoration
2024-11-09 18:58:23 -06:00
Squid
62b58f78e7
Labels for Gen 5 Trainer Records (plus renamed flag) (#4362) 2024-11-09 09:08:57 -06:00
Professor Dirty
4bad2e3cdf
Add CHS Event Flag translations (#4383) 2024-11-06 10:59:20 -06:00
sora10pls
50ff039c1b Adjust HOME Tandemaus gift date range
Like with Shiny Zeraora in the past, the only limitation is the distribution of the gift itself. Once added to your Gift Box, it can then be claimed at any time, giving it no end date.
2024-11-01 09:30:04 -04:00
9Bitdo
26fd23a338
Add PokéCenter Birthday Tandemaus date (#4379)
submitting the date based on

- hard copy serial code issued out at Pokemon center in japan on 1st Nov 2024 1000hr (JST)(operating hous : 1000hr), hence countries in the UTC-11 would be able to redeem it on 31th oct 2024 1400hr earliest

- Serial code expiry date is from 1st Nov 2024 - 31th Jan 2026 (JST) or 1st Feb 2026 (UTC+11 )
2024-11-01 09:28:15 -04:00
sora10pls
56bd4e6486 Add latest distribution raid data 🐊💥 2024-10-31 20:02:09 -04:00
sora10pls
e2d73eb866 Add latest distribution raid/outbreak data 👻🎃🍭 2024-10-27 20:05:52 -04:00
abcboy101
e7be55242d
Support SWSH gender/fashion item editing (#4374)
* Support SWSH gender/fashion item editing

* Update translations
2024-10-25 17:00:54 -05:00
BlackShark
693cb3a70b
Renamed DLC Editor button (#4372) 2024-10-24 11:14:25 -05:00
BlackShark
d2cc13da3d
Updated badwords.txt (#4373) 2024-10-24 11:14:01 -05:00
Lusamine
dfd23f18b3 Add more LGPE crossovers from Route 11 & Route 21
Route 11 -> Vermilion City
Route 21 -> Pallet Town
2024-10-24 00:19:27 -05:00
Lusamine
9adedf429e Remove inaccessible tree encounters from LA pkl
Trees of type "gimmick_tree10" don't have leaves and can't be activated
2024-10-22 11:58:19 -05:00
Lusamine
451fd0e0a0
Handle crossover encounters in LGPE (#4371)
* Handle crossovers in LGPE

Ty @sora10pls, @LegoFigure11, @Skadiv, and @PP-theSLAYER for research!
2024-10-22 08:13:41 -05:00
abcboy101
d19acdb6ec
Support G6/7 player gender editing (#4370) 2024-10-22 08:06:39 -05:00
Lusamine
34f0c715ef Correct Vermilion City typo in comments 2024-10-21 22:41:38 -05:00
sora10pls
ec32302a5c Add latest distribution outbreak data 🐒🐿️ 2024-10-17 20:05:26 -04:00
Kurt
48abd8d080 Revise WC8+ ribbon set logic
For making fake WC*'s, revise logic to use the ribbon span instead of the entire range of bytes.

Fix Partner Ribbon not showing up in Ribbon Editor affix list.

Closes #4369 (superset, I wanted to change the underlying usage)

Co-Authored-By: Manu <52102823+Manu098vm@users.noreply.github.com>
2024-10-16 18:44:54 -05:00
sora10pls
325649b19b HOME: Add Meloetta/Tandemaus legal date ranges 2024-10-16 18:42:01 -04:00
Kurt
bc94f7b9ec Update EncounterGift3.cs 2024-10-16 15:42:41 -05:00
Kurt
b068027ba8 Add 32bit FnvHash methods
With all the abstractions since SW/SH's release, the string hash method used by some SW/SH blocks is the 32bit method, not the 64bit one used by PLA/SV.

`FnvHash.HashFnv1a_32("ZukanData_Pokemon")` = `0x4716c404` as noted in the block accessor list.

Expose in the API as 32bit for documentation purposes. Good to know if we ever go back to bruteforce like is being done for SV file paths.
2024-10-16 00:15:30 -05:00
Kurt
b389cd3acd Rework Gen3 Event PIDIV detection & checks
Detect base algorithm (regular, regular-anti, anti, shiny) and check for sub-patterns that differ per encounter (such as OT gender).
Implement PIDIV generators within the Gift3* template, remove old branches
Add Table Weight detection (still need to test) for PCJP 5anniv
Add PCJP GCEA campaign 1-6 templates
Differentiate Mystry Mew seeds; disallow Mews that were deleted b4 cart cloning
Need to double check some gen3 events (esp hadou titans), but is 99% there

Thanks Sabresite, for your continued support
2024-10-16 00:01:10 -05:00
Lusamine
71c9c43eef Add alternate met location for LA static Unown O 2024-10-13 13:18:15 -05:00
Lusamine
a98e5137d3 Add remaining LGPE static gift event flags 2024-10-13 13:12:16 -05:00
Kurt
4f6ac58622 Add KeyData extdata, revise Link chunk set 2024-10-09 21:46:56 -05:00
Kurt
b9768c14b5 Update WB8.cs
Closes #4352
2024-10-08 21:43:44 -05:00
abcboy101
34c4d5c90f
Properly detect if G3 Mail is Japanese (#4363)
International author names are padded with spaces to at least 6 characters.
On display, it's treated as Japanese only if the name is 5 characters or less.
2024-10-07 13:27:26 -05:00
Kurt
53b9c27ec9 Add Battle Test metadata properties
Set the magic, set the flags to whatever, and refresh the checksum -> NPC recognizes you have DLC battle test ready and lets you challenge it immediately when starting a conversation with him.
Of course, it crashes immediately because we don't know what the 0x000 - 0x5C1 region data should be, but hey, this is progress for unlocking unreleased content.
2024-10-06 15:32:46 -05:00
Kurt
ec24b8b8d5 Enhance Gen5 download content I/O
Initially just C-Gear, can do better!
Adds i/o for Pokedex skins, Musicals, Battle Videos, Movies & PWT (B2W2), and a research-only tab for Battle Test (never distributed by GameFreak, so doesn't work).
2024-10-06 01:10:32 -05:00
Lusamine
dfac093e43 Add LGPE event flags for Porygon and Lapras 2024-10-06 00:15:29 -05:00
sora10pls
52c32292d2 Add latest distribution raid data 🪨🐒 2024-10-03 20:02:41 -04:00
Kurt
1dc94152c3 Fix array reference
GC strings are 22 bytes long, but GBA strings are 10 & 7 bytes long. If a 7-char OT name is generated in C/XD and transferred, it would try iterating to the 8th char which is OOB for dest.
Iterate over the smaller array, which is always dest (in this method).
2024-10-03 14:44:22 -05:00
abcboy101
7632230edf
Support G2 mail in all languages (#4359)
* Support G2 mail in all languages

- Handle Japanese/Korean mail
- Handle both NPC and user-entered mail (#3470)
- Display European mail based on mail language (#4027)

* Fix shift

* Add support for Stad2 mail
2024-10-01 00:02:37 -05:00
Kurt
4aacffb99b Move Color15Bit 2024-10-01 00:00:34 -05:00
Kurt
e5c3c43bda EncounterCriteria: sbyte IVs
Narrow fields to reduce allocation < 16 bytes (maybe make this a struct?)
Add method to get combined IVs (gen3/4 format) for RNG purposes
use ^ method in RNG methods
Change GetExpectedLevel to be generic rather than interface, better codegen
Change Gender to enum for clarity

breaks ALM and potentially other plugins, just need to recompile if using IVs
2024-10-01 00:00:19 -05:00
Kurt
b187633ec6 Fix Misc7 wormhole shiny property r/w
Redirect reader to r/w the Misc block property rather than the buffer directly
2024-09-30 23:54:54 -05:00
Kurt
ee00a21f90 Minor clean 2024-09-30 23:54:03 -05:00
Kurt
a970f05a62 Too many tiles: return excess rather than clamped 2024-09-30 23:53:02 -05:00
Kurt
5b5418cd3f Update EncounterText.cs 2024-09-23 15:27:27 -05:00
Kurt
327585d1b4 Fix gender sanitization
g is `byte`, ternary returns `byte`, not `byte?`
be explicit
2024-09-23 08:21:02 -05:00