Commit graph

174 commits

Author SHA1 Message Date
Kurt
4e13a0261d Update 23.08.23 2023-08-22 21:27:29 -07:00
Kurt
108708dcda Add gsc union cave B2F shore fishing slots
6180be355e/data/maps/maps.asm (L115-L117)

https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=285012

Also handle the SID==0 fishy for VC (which is fine)
2023-08-21 20:09:35 -07:00
sora10pls
910415ea8d Clean up Encounters9 encounter definitions
Pad species IDs to 4 digits, maintain a consistent order of fields
Also re-order trades to match the order seen in the ROM (more to be added in DLC)
2023-08-19 11:10:21 -04:00
sora10pls
7dc40735f3 Mighty Mewtwo: A Show of Supporters! 2023-08-17 20:04:33 -04: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
sora10pls
a483bf9a24 Mighty Mewtwo: Prepare the Offense! 2023-08-08 20:07:21 -04:00
sora10pls
96fa89188a Add latest distribution raid data 🦍 2023-07-27 20:03:28 -04: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
sora10pls
30df059544 Add raid data for raids that got delayed by 2 months 2023-07-06 20:04:09 -04:00
sora10pls
e7d60a88de Add latest distribution raid data 🪙 2023-06-21 19:31:51 -04:00
sora10pls
02eabfb10c Add latest distribution raid data (for real this time) 🐘
it took them a month but they did it
2023-06-15 20:03:19 -04:00
Kurt
cd22cc64ce Restrict old WC8 HOME gifts for 0 EC
Restores strict checks for stuff prior to May 30th that were removed via 36a696e446

Add sim cards for Gen9 HOME starters

Allow tracker-less transfer matching for WC8

Helpful for generating bots who can't assign a legitimate tracker for direct-in-Gen9 injects.
2023-06-10 21:40:30 -07:00
Kurt
e3d8d167be Update 23.06.03 2023-06-03 18:29:07 -07:00
sora10pls
1de4e4eaab Add latest distribution raid data 🐘 2023-05-18 20:04:39 -04:00
Kurt
401c545ca8 Update 23.05.11 2023-05-11 21:44:36 -07:00
sora10pls
54b663ae6f Add latest distribution raid data 🪨 2023-05-11 20:04:24 -04:00
sora10pls
caf4a103dd GO ahead and add latest pickles 🥒 2023-05-11 16:07:56 -04:00
Kurt
ec586683d6 Disallow crossover slots for Mesagoza (8)
Crossovers into Mesagoza should be disallowed since everything is too low in the water, and there's no way to get anything into a gate.
2023-05-07 22:03:44 -07:00
sora10pls
94f98d66f5 Add latest distribution raid data 🦎 2023-04-27 20:03:51 -04:00
Eelen
ce431d1df4
Update CHS translations (#3869)
Co-authored-by: Leo <103500840+wubinwww@users.noreply.github.com>
2023-04-27 15:35:10 -07:00
Lusamine
b08581aecf Final adjustments to SV Trainer Editor, update localization files 2023-04-16 18:16:41 -05:00
sora10pls
47f5799fef Add latest distribution raids
Scale: 0
tiny boi
2023-04-13 20:04:00 -04:00
Kurt
0dfb012e5c Add Ditto distribution raids 👛
Adds a helper method for SCBlock to measure a size from header.
2023-04-06 19:28:10 -07:00
Kurt
0d3bbe15b7 Add lechonk wc9 to pickle 2023-04-01 15:20:14 -07:00
Kurt
c81c0d84d4 Add GSC swarm fishing slots
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=282691
9f52f8fb7c

Thanks SegNin !
2023-03-31 13:02:27 -07:00
sora10pls
3bfd302633 Add latest distribution raid data 🦦 2023-03-30 20:07:19 -04:00
sora10pls
a68165cdd8 Add latest distribution raid data 🥚 2023-03-23 20:06:11 -04:00
sora10pls
5110c62d25 Add latest distribution raid data 🦉 2023-03-16 20:05:39 -04:00
Kurt
94d5ca491f FormRandom SV Vivillon 2023-03-04 14:48:40 -08:00
Kurt
57d32456f6 Update 23.02.27 2023-02-27 19:21:56 -08:00
Kurt
0f1fba86f7
S/V 1.2.0 Support (#3819) 2023-02-27 19:12:27 -08:00
Eelen
353ca40f42
Update CHS Translations (#3802)
Co-authored-by: wu professor <103500840+wubinwww@users.noreply.github.com>
2023-02-27 18:15:13 -08:00
Kurt
52f1bf081c Add SizeType9 for fixed range Scale values 2023-02-26 16:14:11 -08:00
sora10pls
0a07edb705 Add latest distribution raid data 🐭💧 2023-02-23 19:08:08 -05:00
Lusamine
0d9d2e6a3d Add Sylveon and Garchomp Distribution Tera Raids 2023-02-16 20:06:01 -06:00
sora10pls
00bc21f8ff Add latest distribution raids 🫃 2023-02-12 19:47:12 -05:00
Kurt
fe2cbeac31 Add date restrictions for WC9, pika diff 2023-02-03 20:30:41 -08:00
sora10pls
3ade5794f2 Add latest distribution raid data 🧍‍♂️🔥 2023-02-02 20:01:44 -05:00
Kurt
3572097c96 Update 23.01.26
Hello .NET 7
2023-01-26 21:58:04 -08:00
Uiharu
0e897dc1f1
Update CHT and Japanese translations (#3738)
Update CHT and Japanese translations.
2023-01-26 19:03:28 -08:00
Manu
1205a2c0ae
update italian translation (#3737) 2023-01-26 19:03:19 -08:00
sora10pls
8419ee017d Add latest distribution raid data 🐸🥷☠️ 2023-01-26 19:03:59 -05:00
Kurt
5aca291a7a Update translatables via devutil dump 2023-01-25 20:36:47 -08:00
Manu
c5a9f0d6e3
update italian translation (#3734)
* it text updates

* update italian translation

* mistakenly renamed string in fr file
2023-01-23 10:48:19 -08:00
Uiharu
b47dd9c877
Update CHT translation (#3732) 2023-01-22 22:16:32 -08:00
Kurt
88830e0d00
Update from .NET Framework 4.6 to .NET 7 (#3729)
Updates from net46->net7, dropping support for mono in favor of using the latest runtime (along with the performance/API improvements). Releases will be posted as 64bit only for now.

Refactors a good amount of internal API methods to be more performant and more customizable for future updates & fixes.

Adds functionality for Batch Editor commands to `>`, `<` and <=/>=

TID/SID properties renamed to TID16/SID16 for clarity; other properties exposed for Gen7 / display variants.

Main window has a new layout to account for DPI scaling (8 point grid)

Fixed: Tatsugiri and Paldean Tauros now output Showdown form names as Showdown expects
Changed: Gen9 species now interact based on the confirmed National Dex IDs (closes #3724)
Fixed: Pokedex set all no longer clears species with unavailable non-base forms (closes #3720)
Changed: Hyper Training suggestions now apply for level 50 in SV. (closes #3714)
Fixed: B2/W2 hatched egg met locations exclusive to specific versions are now explicitly checked (closes #3691)
Added: Properties for ribbon/mark count (closes #3659)
Fixed: Traded SV eggs are now checked correctly (closes #3692)
2023-01-21 20:02:33 -08:00
sora10pls
4265407d45 Add latest distribution raid data 👻 2023-01-19 19:04:06 -05:00
sora10pls
9e1df853b0 Add latest distribution raid data 2023-01-05 19:05:44 -05:00
sora10pls
67ac1e7378 Add Cinderace raid handling 2022-12-29 19:20:01 -05:00
sora10pls
b8f6b5f434 Add Delibird distribution raids 🎁 2022-12-22 19:04:35 -05:00
Kurt
1e086798fb Update 22.12.18 2022-12-18 00:06:04 -08:00
Kurt
c776d8db43 Treat level2 yungoos as scripted encounter 2022-12-17 14:54:57 -08:00
Kurt
62204a81fc Level 2 wild yungoos game start handling 2022-12-17 00:12:33 -08:00
Kurt
41930dd2bd Handle crossover flying dragonite
Update pkl from pkNX
2022-12-16 22:34:01 -08:00
Kurt
7d4a4846f7 Disallow area0 crossover
Coordinates are nearby, but the points are on distinct loaded maps.
2022-12-12 23:56:25 -08:00
Kurt
3ef12c3ebe
Encounter Crossover/Wander tolerance (30f) (#3683)
* Update encounter_wild_paldea.pkl

* Add weather/time mark checks

* Set tolerance to 30f, swap crabrawler evos
2022-12-10 19:53:59 -08:00
sora10pls
af660dd299 Add Tyranitar/Salamence distribution raids 2022-12-08 19:04:29 -05:00
Kurt
2e67526db1 Update 22.12.01 2022-12-01 22:40:11 -08:00
Yarkis
ce0251004f
Improvement of the French translation (#3658)
* Update lang_fr.txt

* Update LegalityCheckStrings_fr.txt

* Update MessageStrings_fr.txt

* Update lang_fr.txt
2022-11-27 10:56:41 -08:00
Easy World
d22d5786a1
More translations (#3654) 2022-11-27 10:56:31 -08:00
Kurt
ccac23bb6d Initial raid eevee checks (wip) 2022-11-26 00:39:32 -08:00
Egzon
2757985d53
Update spanish translation (#3642)
* Update lang_es.txt

* Update lang_es.txt

* Update LegalityCheckStrings_es.txt

* Update LegalityCheckStrings_es.txt

* Update MessageStrings_es.txt

* Update LegalityCheckStrings_es.txt

* Update LegalityCheckStrings_es.txt

* Update LegalityCheckStrings_es.txt

* Update lang_es.txt

* Update lang_es.txt

* Update LegalityCheckStrings_es.txt

* Update lang_es.txt

* Update LegalityCheckStrings_es.txt
2022-11-25 14:57:17 -08:00
Kurt
c965cb7077 Fix mass outbreak psyduck inverted level range
ROM data has min:24, max:22 (24-22) instead of (22-24).

In-game test shows all Psyduck are level 22 (max), and 24 (min) is not considered since it is greater than the max.

Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-11-25 13:53:21 -08:00
Uiharu
608e8c86d2
Update CHT translations of SV for PKHeX (#3638)
* Update CHT translations of SV for PKHeX

Update Traditional Chinese translations of SV for PKHeX.

* Remove useless blank line

Remove useless blank line.

* Minor tweak for GUI translations

Minor tweak for GUI translations.

* Minor tweak for GUI translations

Minor tweak for GUI translations.
2022-11-25 06:52:10 -08:00
Manu
e033205f29
Update Italian translation (#3636)
* Update Italian translation

* Translation for PLA dex task button
2022-11-25 06:50:41 -08:00
Kurt
490a865e66 Regenerate localizations, remove System.String 2022-11-24 20:06:46 -08:00
Kurt
9131febef0 Remove incorrect line start for translation files 2022-11-24 20:03:05 -08:00
Kurt
03182ebd3d Update 22.11.24
Adds support for Scarlet & Violet.

Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-11-24 17:42:17 -08:00
Uiharu
e1f2a90c6b
Correct Linguistic Errors in CHT Translation (#3616)
Correct a linguistic error in CHT translation based on feedback.
Correct abilities error in CHT translation
Add missing CHT translation text for Pokémon type.
2022-10-27 17:15:31 -07:00
Manu
aecaca7298
Corrected typo in ITA translation (#3613) 2022-10-20 19:06:59 -05:00
Kitcham
d70794668f
Add Traditional Chinese Support for PKHeX (#3597)
Add zh-HK README translation for README. It was wrote in Traditional Chinese Hong Kong style.

Add Traditional Chinese translation resource and make PKHeX support for tradition Chinese.
2022-10-02 13:15:58 -07:00
Kurt
72410e1619 Fix genderless walker genders
Raw ROM data wasn't clean genders (0 for staryu, needed 2)
2022-09-30 19:27:29 -07:00
Kurt
583f96a598 Specify full movesets & course for Pokewalker encs
Didn't trust the existing manual transcribing, and both Bulbapedia and Serebii contain errors that don't match the original raw data. So, let's rip the raw data ourselves and use our own parse pickle (just raw bytes) instead of 162 manual entries.

For ripping logic, see: 203874da12

Partial match if language cannot access walker course
Re-do language override for EncounterStatic->pkm:
- Override gen1/2 event OT/language only if requested language is not possible
- Override walker OT/language if requested language is not possible (->japanese)

Closes #3594
2022-09-27 23:14:42 -07:00
sora10pls
4fd73d201f Remove unused GBLZero PogoType
This was implemented because Niantic messed up some GBL encounters in the past, but it was fixed quick enough for it to not matter for legality, so no encounters actually use this PogoType.

Also rename GBLDay => GBLD to match other PogoTypes for consistency across enum names.
2022-09-26 20:37:55 -04:00
Kurt
8c93fd1cbd Fix honeytree RNG frame matching
See EncounterSlotDumper for associated change (forgot to retain SlotType)
2022-09-23 13:36:44 -07:00
Kurt
5875d76468 Update 22.09.13 2022-09-12 23:55:30 -07:00
Kurt
d350bb7fee Misc fixes & pickle updates 2022-08-30 21:15:07 -07:00
Kurt
855e28b086 Update GUI translation text files
winforms control localization has some issues (discarding mgdb/encdb/pkmdb stuff)
2022-08-15 22:05:04 -07:00
Kurt
768047cd80
Legality: Rewrite Ribbon Verifier (#3570)
* Rewrite ribbon verification
* Explicitly verifies all ribbons instead of chained iterators.
* Verifies using only the stack, using `struct` and `Span<T>`. No allocation on heap, or `IEnumerable` iterators.
* Verifies all egg ribbons using a separate method, explicitly implemented. No reflection overhead.
* Separates each ribbon interface to separate `static` classes. Easier to identify code needing change on new game update.
* Extracted logic for specific ribbons. Can easily revise complicated ribbon's acquisition rules.
* Simplifies GiveAll/RemoveAll legal ribbon mutations. No reflection overhead, and no allocation.
* Can be expanded in the future if we need to track conditions for ribbon acquisition (was Sinnoh Champ received in BDSP or Gen4?)

End result is a more performant implementation and easier to maintain & reuse logic.
2022-08-15 21:04:30 -07:00
Kurt
46655147ba Update underground pickles: nat dex considerations
4354cd736e
2022-08-03 13:33:27 -07:00
Kurt
7d35517614 Revise AV check string to show which stat invalid 2022-07-10 17:34:46 -07:00
Kurt
54a7966c75 Update 22.06.26
Split the 2020 changelog out of the release binary; archived for posterity.
2022-06-26 22:18:19 -07:00
Kurt
569010c402 Handle nicknamed PGT gifts
https://github.com/projectpokemon/EventsGallery/pull/278
2022-06-20 14:36:25 -07:00
Manu
7ae4e0769b
Translated MessageStrings_it.txt, text_ItemsG2_it.txt and some tweaks (#3514)
* Added Gen2 italian items text

* Italian translation text_ItemsG2_it.txt

* Translated MessageStrings_it.txt and improved some other italian messages/strings for better comprehension.

* Some tweaks
2022-06-04 01:00:33 -07:00
Kurt
48ace3ca49 Update translatables 2022-06-01 21:58:56 -07:00
Kurt
f2356f1865 Update 22.06.01 2022-06-01 21:27:54 -07:00
Manu
2f44d7486f
Italian translation for lang_it.txt and LegalityCheckStrings_it.txt (#3508)
* Italian translation for lang_it.txt and LegalityCheckStrings_it.txt

* Readme update

* Update README-it.md
2022-06-01 11:51:08 -07:00
Kurt
5bcccc6d92
HOME 2.0.0: Handle conversion behavior & restrictions (#3506)
* Revises legality checks to account for traveling between the three game islands (PLA/BDSP/SWSH)
* Adds conversion mechanisms between the three formats, as well as flexible conversion options to backfill missing data (thanks GameFreak/ILCA for opting for lossy conversion instead of updating the games).
* Adds API abstractions for HOME data storage format (EKH/PKH format 1, aka EH1/PH1).
* Revises some APIs for better usage:
  - `PKM` now exposes a `Context` to indicate the isolation context for legality purposes.
  - Some method signatures have changed to accept `Context` or `GameVersion` instead of a vague `int` for Generation.
  - Evolution History is now tracked in the Legality parse for specific contexts, rather than only per generation.
2022-05-30 21:43:52 -07:00
Kurt
e34d03d2e5 Update 22.05.08 2022-05-07 14:30:16 -07:00
Kurt
9deafa851a
Create initial movesets for Alpha entities correctly, verify initial mastery (#3489)
* Draft checks for encounter slot mastery

* Check encounter mastery flags

* Add moves for LA static encounters that don't follow learnset

* Add moves on crossover LA static encounters

* add alpha moveset population method

Now generates and applies moves as the game does
Updates some handling of other methods to use Span

* Show better message for bad mastery init flags

* Insert descending if candidates have same level

Level 78 Yanmega:
- [01] [10] Quick Attack
- [06] [15] Gust
- [11] [20] Silver Wind
- [18] [28] Hypnosis
- [25] [35] Air Slash
- [34] [45] Ancient Power
- [43] [54] Crunch
- [43] [54] Bug Buzz

Yields:
AlphaMove
Crunch*
Bug Buzz*
Ancient Power

* Descending order due to iteration

Co-authored-by: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-05-06 15:43:23 -07:00
Kurt
ad249dbb76 Differentiate MO + MMO slot types 2022-04-22 20:33:12 -07:00
CanoeHope
adcbc0221f
Update LegalityCheckStrings_ja.txt (#3478) 2022-04-11 15:10:04 -07:00
CanoeHope
cf901861e7
Update Shortcuts and Legality texts (#3477)
* Update LegalityCheckStrings_en.txt

* Update LegalityCheckStrings_de.txt

* Update LegalityCheckStrings_es.txt

* Update LegalityCheckStrings_fr.txt

* Update LegalityCheckStrings_it.txt

* Update shortcuts.txt
2022-04-11 15:09:42 -07:00
Kurt
1a26ecbf40 Update 22.03.18 2022-03-18 15:59:07 -07:00
Kurt
4841a01b4e Update GO pickles, move Shiny.Never before Always 2022-03-12 17:39:01 -08:00
Kurt
8c9c5e0198 Update 22.03.01 2022-02-28 23:16:17 -08:00
Kurt
85e422c225 Compress PLA wild bin resource
Change the data structure so that different locations are tied to the table, rather than separate usages of the table.

This de-bloats from 344KB->85KB and has less runtime memory consumption.
2022-02-27 15:08:53 -08:00
Kurt
c2e9401468 Add computed new huge outbreak slots 2022-02-27 13:51:33 -08:00
Kurt
3bef0452d6 Update bdsp underground table for area6
819b90f931
Closes #3450
2022-02-26 11:54:24 -08:00