Riccardo Boninsegna
8ffcdc9570
FR/LG: More variables! ( #2363 )
...
* FR/LG/E: Altering Cave variable
* FR/LG: Pokemon Tower related variables
* FR/LG: Pokedex/Oak/Rival (part 1) related variables
* FR/LG: more story related variables
2019-07-23 16:08:54 -07:00
Riccardo Boninsegna
c508d49f87
FR/LG flag names ( #2362 )
...
* FR/LG: Event flags for eventually reaching event-only places
(required to enable processing of the appropriate items; officially set by DLC scripts)
* FR/LG: Badge names and Running Shoes
2019-07-23 09:40:41 -07:00
Kurt
9ed47cc8fd
Minor tweaks, no functional change
2019-07-21 12:30:21 -07:00
Matt
9cab2e366d
Misc Let's Go updates ( #2361 )
2019-07-15 09:05:53 -07:00
Kurt
894237449b
Allow differentiation between SAV2 blanks
...
Choosing G/S will initialize as GS
Choosing C will initialize as C
calling via their own code (GSC/GS) will choose the most recent (crystal
if possible).
Closes #2359
2019-07-14 15:13:13 -07:00
Kurt
a608e0b252
Minor clean
...
Remove some unnecessary properties from SaveFile
Enumerate checksum flag results for GC memcard checking
Remove unnecessary checks on savefile type
Add some documentation
Decapitalize some method parameters
2019-07-14 15:06:45 -07:00
Kurt
839500a7ee
Fix medicine offset for AO
2019-07-13 17:43:29 -07:00
Kurt
c7eecf5976
Extract summary object to core
2019-07-13 17:43:05 -07:00
Kurt
82f305cd36
Fix dex gender set again
...
Closes #2356
update test case to actually set a genderless gender
2019-07-12 23:43:12 -07:00
Kurt
f37a587a1c
Minor simplifications
...
move some pk3->pk4 stuff into object constructor
annotate pk3->pk4 string buffer (trash) quirks
split Heal into Party/PP method uses. Setting suggested stats no longer
refreshes PP
apply current level to Stat Level (wasn't being set previously)
2019-07-12 16:41:13 -07:00
Kurt
d153224af1
Add traded egg allowance for nickname
...
store bool for reuse, not any slower :)
Closes #2320
2019-07-11 22:55:41 -07:00
Kurt
face8d64a9
Fix gen5 dexflag set
...
Add unit tests to check
Closes #2356
2019-07-11 00:13:52 -07:00
Kurt
c64ff5dd76
Fix sav5 behavior
...
Closes #2356 ty @Ammako
2019-07-10 00:19:59 -07:00
Kurt
ab735de2d9
Revert "Decapitalize non-nicknamed on 4->5 transfer"
...
This reverts commit 904dc84b52
.
2019-07-09 20:24:47 -07:00
Kurt
1de685c6d8
Add Happy Hour/Hold Hands
...
per confirmation from @PP-theSLAYER
https://projectpokemon.org/home/forums/topic/53818-these-events-are-flagged/?do=findComment&comment=246918
they probably won't release these two moves tho, LGPE has become stale
2019-07-08 22:18:15 -07:00
Kurt
90cc8ca3ec
Add Celebrate for lgpe valid move filter
...
event move only
still haven't bothered finding the table in the exefs that results in
the pkm with an oob move being dummied. hardcoded based on data for now
:)
2019-07-08 22:14:21 -07:00
Kurt
3f4f02cee1
Add string quality tests
...
Expect no duplicates in met locations, items, or moves. These are arrays
with common duplicate strings (poor localizations).
Should help futureproof / help implementation for this type of err:
https://projectpokemon.org/home/forums/topic/53818-these-events-are-flagged/
2019-07-08 22:05:59 -07:00
Kurt
605b410d52
Make Distribution Super Training missions invalid
...
Was initially implemented as fishy during SM's initial implementation. Any nonzero value in this byte is invalid, don't even bother checking unused/count.
Now that Gen6 (and Gen7) are no longer current gen, any hope for them being released is the same as hoping for Gen4's Azure Flute Arceus. Thus we mark as invalid :)
Closes #2353 by effect of no longer flagging as Fishy. I think that my initial implementation of VC stuff had assumed the Generation==7, but later used 1/2 for factual correctness.
2019-07-08 12:12:16 -07:00
Kurt
cf0908a21e
Remove check for impossible conditions
...
#2354
SUBE is never < 0 with the latest change (blank saves behave same as
retail saves).
2019-07-08 10:03:53 -07:00
NotTsunami
e29da1a8e8
Remove check for impossible condition in XY Save ( #2354 )
...
XY can't be ORASDEMO
2019-07-07 22:58:33 -07:00
Kurt
fef4dbb9dc
More super training checks
...
Check the secret unlocked/complete flags for eggs
Check the count for VC, and flags too (even though they're checked
later, just do it here)
#2353
2019-07-07 15:04:58 -07:00
Kurt
15c44139c3
Fix record read offset
...
Closes #2353
first 100 are u32, second 100 are u16; shift accordingly
2019-07-07 14:54:38 -07:00
Kurt
8f88e630c2
Fix ORAS inventory class type
...
now no longer removes items from pouch
https://projectpokemon.org/home/forums/topic/53761-oras-item-problems-with-new-version/
2019-07-07 08:43:58 -07:00
Kurt
772a2715c0
Fix SecondsTo* read offset
...
copypasted from gen6's, oops
Thanks CreamatedReptile2018!
2019-07-07 08:43:04 -07:00
Kurt
f2ac29ff4e
Relocate some logic
...
slightly reduces savefile.cs footprint
2019-07-05 22:02:29 -07:00
Kurt
9a61f0de0f
Minor relocation of logic
...
and the gradual shift to full-oop continues
2019-07-05 21:39:47 -07:00
Kurt
c0eda5eb61
Add more dex bulk manip options
...
unused, not sure how an abstraction can work for all games (needs some
virtual methods to actually work, since 1-3 don't have langflags)
2019-07-05 18:49:43 -07:00
Kurt
aa94c70df2
Hide gen6 dex logic behind zukan class
...
Same as prior commit for gen5 & gen7
2019-07-05 18:04:36 -07:00
Kurt
adbb3e842a
Hide gen7 dex logic behind zukan class
...
Same as prior commit for gen5
2019-07-05 17:05:42 -07:00
Kurt
79a9269fbe
Hide gen5 dex logic in Zukan class
...
Didn't change any of the bulk modifications, but the data get/set is now
done via the Zukan object rather than raw data manipulation
2019-07-05 16:21:53 -07:00
Kurt
7f186048fb
Really fix dex lang flag offset style
...
c345688f6d
base(x) -> base(x - y) resulted in incorrect offsets for LGPE. Great.
Just make PokeDexLanguageFlags a shift offset instead of absolute;
update all usages.
Closes #2348
2019-07-05 12:16:09 -07:00
Kurt
599ec4ed45
Fix checksum offset fetch
...
#2348
2019-07-05 11:57:40 -07:00
Kurt
810f7271c6
Clear boxes after initialize
...
Closes #2349
2019-07-05 11:53:13 -07:00
Kurt
808c1d2992
Update 19.07.05
...
Update event binaries with latest from the Event Gallery
2019-07-04 22:00:48 -07:00
pokecal
6b3d6999d1
update MailBoxEditor ( #2344 )
...
fixed FRLG offset, etc.
2019-07-04 21:48:18 -07:00
Kurt
5a8b421672
Add jp crystal eventflag offset
...
was pointing to an FF'd region, was added back via
e86b8c670f
Closes #2347
2019-07-04 15:07:37 -07:00
Kurt
7a2b27ebbe
Provide min level to evochain fetch
...
Feels pretty brittle with all the optional parameters; if things get
funky for SW/SH it may warrant a rewrite of this portion
Closes #2345 ty @iiippppk !
2019-07-02 08:34:28 -07:00
Kurt
b5945624eb
Add VC2 trade OT gender check
...
Closes #2343 ty @WEERSOQUEER !
#2338 was referenced by
4d08e21126
, that commit was incorrect. Looks like these 2 have OT Gender female.
Instead of marking every trade MALE except for these two, just update
the handling (i'll probably regret this lol)
2019-06-29 17:43:09 -07:00
Kurt
4eb3f8529b
Filter Species & Moves for legal combobox display
...
LGPE will missingno your pokemon if it's not a Kanto/M&M, or one of its
moves is not obtainable. For the user's benefit, filter down these
sources to the non-baddata list.
Item filtering and ball filtering might be something to think about for
the future, but not much benefit vs effort.
2019-06-29 08:19:01 -07:00
Matt
08ea140f17
Update GO Shiny banlist for GO 3rd Anniversary ( #2342 )
...
* Update GO Shiny banlist for GO 3rd Anniversary
2019-06-28 11:04:23 -07:00
Kurt
c8747d4ede
Apply OT mismatch deferral to gen2
...
Check the OT length for the deferral
other encounters are more permissive than trades, hence why we defer
unless we know for certain. Same OTs are possible, except for the
too-long ones!
Closes #2338 , thanks @WEERSOQUEER !
2019-06-27 21:38:24 -07:00
Kurt
4d08e21126
Explicitly check VC in-game trade gender
...
can't have Female ever, so check == 0
#2338
2019-06-27 21:24:08 -07:00
Kurt
da93a19c05
Add edge-case transfer OT cases
...
Needs to be checked prior to the strict Array Index search, as we can't
have an exact string match.
can probably be revised to a StartsWith to only check for the specific
language match, but that's a little less obvious & extra work :)
#2338
2019-06-26 21:19:37 -07:00
Kurt
7e0fc61428
Add unused character encodings to dictionary
...
Two of the inaccessible keyboard chars are used by Spanish trades, so
they aren't completely unused.
#2338
2019-06-26 21:16:18 -07:00
Kurt
71fdd01a93
Fix Stationary haxorus encounter gen
...
remove unnecessary %25 check (only applicable for gen4 encounters),
unneeded for gen5 method.
add a test case to generate a haxorus for all natures, verify shininess
Closes #2336
2019-06-26 20:37:26 -07:00
Matt
4ff5fcb25c
Add SM Poké Ride flags ( #2341 )
2019-06-26 11:39:39 -07:00
Matt
a47036d2f4
Add USUM Poké Ride flags ( #2337 )
2019-06-26 06:35:27 -07:00
Kurt
444eab0756
Add mystry mew seed table
...
no validation for wc3 encounters yet, dunno when that will happen
2019-06-25 21:15:56 -07:00
Matt
7472ba8152
Encounters cleanup ( #2335 )
2019-06-25 10:55:35 -07:00
Kurt
6b18208ccb
Fix g2 trade OT check
...
Closes #2332 thanks @WEERSOQUEER !
2019-06-24 15:45:52 -07:00
Kurt
59ddd4b3dd
Add lure ball to ball color table
2019-06-22 20:00:17 -07:00
Kurt
c345688f6d
Fix dex lang bitflag offset write
...
LangFlags is expected to be less than 0x500 or whatever, zero indexed to
the start of the dex block; NOT an absolute position.
I don't feel like making every usage consistent (gen5, gui editors)
which use the absolute position, so just adjust in the zukan
constructors
2019-06-22 16:53:25 -07:00
Kurt
cbd039b18c
Extract datasource filtered lists to object
...
GameInfo has been the storage for the current Game Language environment
When using GameInfo, only one environment is tracked at a time, which is
initialized by the PKM editor (items, moves). Rework things to allow
multiple filtered sources to exist, and keep the filtering logic in
PKHeX.Core for reuse in other programs... ;)
2019-06-22 10:50:32 -07:00
Kurt
e81e5f31da
Remove shadow info index shift
...
Thanks @PP-theSLAYER !
https://projectpokemon.org/home/forums/topic/53405-bug-oddity-with-shadow-recognition/?do=findComment&comment=246125
2019-06-20 20:39:34 -07:00
Kurt
63c705061d
Add recognition for Method 3 encounters
...
Pass them as Legal for wild encounters similar to M1/M2/M4.
Add test cases & test pkm validation
Add pid generator support
I decided against checking these PIDIVs after all others; inlined
methods.
Closes #2328 , thanks @pokecal !
2019-06-19 19:15:06 -07:00
Kurt
dc813da2f7
Add DisplayTID/SID getset
2019-06-19 17:49:56 -07:00
Matt
08835d5d97
Fix ORAS held items/personal reference ( #2329 )
2019-06-19 12:18:09 -07:00
Kurt
5fbf9ba278
Fix cloning of a bad-checksum pk3
2019-06-18 20:55:35 -07:00
Kurt
e02f7ef30f
Reduce allocation required for ability check
2019-06-18 20:54:59 -07:00
Kurt
523c36d982
Add qr parse util
...
used in pkhex.mobile, might as well migrate some logic into core
I'd rather not untangle the decode-api response parsing to use QRUtil.
2019-06-18 20:10:01 -07:00
Kurt
55d486af31
Extract event block diff logic
2019-06-18 18:10:48 -07:00
Kurt
de77f949da
Prevent assert on non-exportable saves
2019-06-17 20:55:01 -07:00
Matt
59a7e247cb
Update GO Shiny banlist ( #2325 )
2019-06-13 08:46:53 -07:00
Matt
186adca755
Unban GO Shiny Onix ( #2323 )
2019-06-10 22:33:34 -07:00
Kurt
7225b2b87b
Add more sav1/2 option properties
...
Closes #2321
Closes #2322
no gui as SimpleTrainer is kinda getting overloaded; use linqpad or wait
for someone to make a GUI for the specific games
2019-06-09 14:15:42 -07:00
Kurt
455ab32722
Retain override version on clone
...
Also hide the pika friend label when YW features hidden #2283
2019-06-09 13:48:51 -07:00
Kurt
a30a00317f
Add missing trainer location overrides
...
Was missing from #2319
2019-06-08 20:19:39 -07:00
Kurt
904dc84b52
Decapitalize non-nicknamed on 4->5 transfer
...
Closes #2320
2019-06-08 20:16:30 -07:00
Kurt
1b028198ad
Split gen5-7 saves with inheritance ( #2319 )
...
refer to pull request comments for summary
2019-06-08 19:56:11 -07:00
pokecal
84d1354e2f
Update EncounterArea.cs ( #2318 )
...
fix FishingTable of Route12,13(same as R32), R14(water inaccessible).
Some issues about Qwilfish will be solved.
2019-06-07 19:24:59 -07:00
Kurt
de774ed131
readonly ComboItem
...
create once, never modified after
2019-06-01 19:12:41 -07:00
Kurt
2b8ef9236a
use some explicit dex numbers as enum
2019-06-01 10:22:49 -07:00
Kurt
36114e6ff9
Update checksum on templating
...
pk3 loading tries to decrypt shuffle or something; this makes it work
2019-05-29 22:50:34 -07:00
Kurt
9cdbc46740
Relocate apply basic template out of gui
2019-05-29 22:40:39 -07:00
Kurt
a9152d36a4
Minor tweaks
...
make some enums non-int (in favor of byte etc)
return current nickname if desired
clamp nature top bound too
2019-05-29 22:40:07 -07:00
Kurt
5879cc8a18
Extract some pkm gui logic
...
probably won't stay this way if things are eventually rewritten; too
much business logic in the pkmeditor.cs, would need a ton of abstraction
2019-05-29 21:35:52 -07:00
Kurt
144a78d688
Relocate method
2019-05-29 16:42:48 -07:00
Kurt
8d781fd167
Simplify sorting to remove linq usage
...
create custom comparer to do the work
reorder some parameters
simplify gb hm set (All and FindIndex is duplicate work)
only usages of linq remaining are for the bulk action Where filtering
(ok)
2019-05-28 22:55:41 -07:00
Kurt
513648638f
Fix incompatible hax conversion (1/2->3 etc) error
...
Shared base classes throw a new snag, where the property may be Declared
in the shared class.
eg:
PKM -> _K12 -> PK2
just filter all public ones that have a setter; works well enough idk
2019-05-28 16:52:59 -07:00
Kurt
a45cddd3ed
Add missing hax item clamp early return
...
Closes #2281
remove unnecessary "else", and break for visual separation
2019-05-27 21:38:04 -07:00
Kurt
33a07a6fcd
Try and force destination language on transfer
...
Closes #2314
2019-05-27 11:23:47 -07:00
PP-theSLAYER
88d7be62d9
Removed Special Funfest Poliwag & updated min Lvl. ( #2315 )
...
According to the link below, the official page states that Poliwag's announcement was a mistake, and they clarified it would not be appearing.
This message was echoed across various pages (Sapporo, Fukuoka, Tohoku), not just the Yokohama one.
https://voice.pokemon.co.jp/stv/yokohama/2013/08/post-2286.html
Additionally, based on tests from me and jojo, Funfest missions forces the grotto encounters to be max level (of the individual grottoes).
https://projectpokemon.org/home/forums/topic/39810-unlock-all-funfiesta-missions/?do=findComment&comment=245303
2019-05-27 00:39:36 -07:00
PP-theSLAYER
968f850138
Added Funfest week 3 encounters ( #2312 )
2019-05-21 23:37:47 -07:00
Kurt
6e8f7fe680
Fix pgf gender criteria roll
...
got stuck in an infinite loop for PID (gender invalid from the start)
https://projectpokemon.org/home/forums/topic/52873-pkhex-mystery-gift-database-not-working/
2019-05-20 18:35:57 -07:00
Kurt
9b8b8f784a
Revert "Add another vc nature checks"
...
This reverts commit b51bdc9230
.
2019-05-20 17:05:53 -07:00
Kurt
d1bc1d07c8
Disallow shiny aura
...
if hadou were here, it'd get the same anti treatment too
2019-05-17 17:48:45 -07:00
Kurt
827eb94f3c
Add GameSync r/w for lgpe
...
https://projectpokemon.org/home/forums/topic/52797-request-lgpe-game-sync-like-value-to-be-added/
ty @PP-theSLAYER !
2019-05-16 22:26:51 -07:00
Kurt
7f9328e883
Fix vivillon comparisons
...
Fix template->pkm form fetch too; would return 0 for non-subregion
countries rather than the Country Specific form ID
https://projectpokemon.org/home/forums/topic/52800-invalid-internal-error-with-the-spewpa-evolution-line/
2019-05-16 22:01:11 -07:00
Kurt
73b61e5bf0
Add gender changed azurill evo pokewalker edge case
...
Closes #2311 , thanks @SpiredMoth !
2019-05-15 17:14:48 -07:00
Matt
25985f11e6
Fix Static/Gift IV method call ( #2310 )
2019-05-15 12:07:48 -07:00
Kurt
b7f024e3ea
Fix arceus held item compare
...
https://projectpokemon.org/home/forums/topic/52771-bug-report-pkhex-20190515-arceus-forms-error/
2019-05-15 09:46:52 -07:00
ReignOfComputer
7625ab66b4
Fix Import Count on Load Boxes ( #2308 )
...
Calculation was wrong if non-overwrite is selected. Also fixed OCD-triggering extra space in output message.
2019-05-15 09:11:48 -07:00
Kurt
be8e8851e2
Update 19.05.15
2019-05-14 22:47:48 -07:00
Kurt
1d44136e54
Update xd fateful flag leniency
...
not enough documentation to know what every single flag does; just be
lenient
I assume that flags being present XK3->PK3 will set fateful, so we could
remove that logic...
Exposing bitflags for editing isn't fun for the editor, so just ignore
it behind the fateful bool get/set.
fateful required for all xk3 origin
#2289
2019-05-14 20:14:15 -07:00
Kurt
555e81205d
Update fateful encounter read location
...
Closes #2289
2019-05-14 18:36:48 -07:00
Kurt
091b9e2281
Add g4 poffin editor (misc edits)
...
Thanks @sora10pls for docs!
https://pastebin.com/jNeVJQi0
2019-05-13 22:56:45 -07:00
Kurt
5140350ceb
Bump to net standard 2
2019-05-13 22:33:24 -07:00
Kurt
76e3174d8c
Add gen4 poffin logic
...
800 bytes starting at Offset = SAV.DP ? 0x5050 : 0x52E0;
8 bytes per poffin, 100 poffins.
2019-05-13 18:42:30 -07:00
ReignOfComputer
6c42e3b1bb
Enhance Invalid Convert Error ( #2305 )
...
Makes it clearer for conversion failure with Pokemon files - prevent confusion with save files.
2019-05-13 15:38:33 -07:00
ReignOfComputer
2b39d75141
Allow Open WB7Full / WB7 ( #2304 )
2019-05-13 15:35:40 -07:00
ReignOfComputer
9d6127dfc2
Fix C# 7.2 Build Error ( #2303 )
...
Explicitly target LangVersion 7.2.
2019-05-13 15:35:19 -07:00
Kurt
15f93216bd
Fix record flag clearing
...
yay missing ~, Closes #2301 ty @CanoeHope !
rewrite flag loading to not use linq
2019-05-12 15:08:04 -07:00
Kurt
bad16adcee
Fix sav7b clone method
...
underlying data should be a different reference when cloned
2019-05-12 15:06:50 -07:00
Kurt
4703a3d364
Fix incorrect method call
...
IVs for regular trade gifts can have random IVs; only VC-era have purely
fixed IVs.
Closes #2300
2019-05-11 17:03:22 -07:00
Kurt
4b770e62d9
Simplify and relocate wurmple evo logic
2019-05-11 14:25:58 -07:00
Kurt
feb36f58b5
Minor simplification
...
#2298
#2299
2019-05-11 13:10:51 -07:00
Andrew Johnson
b1ad10d8ad
Add shiny check for Ash-Greninja ( #2299 )
2019-05-11 13:08:22 -07:00
Kurt
21e7f4317e
Minor updates
...
increase readability, simplifly some expressions
relocate hot path for legality report string creation
2019-05-11 10:12:14 -07:00
Kurt
332784d34b
Misc updates
...
parameter name lowercase
simplify some comparisons/calcs
reuse comparison methods
wrap memory dump into readonly struct
2019-05-11 00:59:07 -07:00
Kurt
55189a6967
Extract most common location numbers to class
2019-05-10 20:46:49 -07:00
Kurt
72edb6aa72
Misc tweaks to 3->4+ branching
...
more lines, a little clearer
2019-05-09 22:47:37 -07:00
Kurt
b51bdc9230
Add another vc nature checks
...
transfer level exp and current exp not being different enough, which
limits the amount of natures possible. Could handle the 100&<=2 cases
the same way, but keep the branches for faster cases.
fix bad test cases
2019-05-09 01:56:44 -07:00
Matt
316430985a
Unban Shiny Seel ( #2293 )
2019-05-01 14:23:08 -07:00
Kurt
042e5176a6
Remove hardy shuckie & version split
...
Not version specific; I'm assuming the 00020003 PID is a result of
hacking the save file to change OT gender. Legitimate saves haven't
yielded the Hardy PID. Changing gender probably results in a bad
pointer, fetching the wrong value.
Closes #2290
2019-04-30 17:03:12 -07:00
Kurt
520c9da5c9
Update string loading
...
Remove usage of linq for sorting, use array.sort for in-place sorting.
Wasteful creating temp sorted buffers then enumerating them to dump into
the list.
2019-04-29 21:55:43 -07:00
Kurt
7094132eac
Fix b2w2 fr trade OT name
...
Closes #2291 ty @WEERSOQUEER
2019-04-29 17:42:39 -07:00
Kurt
be50830975
Relocate method to extension logic class
...
GetLocationString is now right below GetPotentialString
PKX no longer has extension methods aside from the two CopyTo sugar
2019-04-29 17:36:29 -07:00
Kurt
300ef4d60a
Minor simplifications
...
Use "SetData" method to automatically apply the Edited flag
Use appropriate method for CopyTo
simplify expressions a tad
2019-04-29 17:21:19 -07:00
Kurt
7c380a29c3
Make sort skip delegate more general
2019-04-29 17:20:16 -07:00
Kurt
9838ea9a2b
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-04-29 16:40:58 -07:00
Matt
091e64571b
Update GO shiny banlist ( #2292 )
2019-04-29 15:32:17 -07:00
Kurt
0dc45c00ec
Check block index before calculating
...
Missing/Duplicate blocks (???) result in -1, so skip them.
https://projectpokemon.org/home/forums/topic/52437-cant-export-unmodified-sav-file/
replace linq with manual allocation
2019-04-27 17:19:54 -07:00
Kurt
0bd6caf927
Fix male-only dex bit wiping
...
only wipe the index specific bits, don't wipe everything but the index
specific bits
2019-04-22 22:25:14 -07:00
Matt
963cb1aa99
Unban GO Shiny Lapras ( #2287 )
2019-04-17 22:49:58 -07:00
Kurt
d8f064409f
Fix pk1->pk2 conversion parameters
...
https://projectpokemon.org/home/forums/topic/52273-replicable-issue-cant-inject-pk1-in-silvercrystal-save/
Thanks Maddaren!
2019-04-17 18:35:51 -07:00
Matt
b8c490ae2e
Update GO shiny banlist ( #2286 )
2019-04-17 12:53:13 -07:00
Kurt
35851fcf5c
Simplify and enhance expression
...
cache fetch of PersonalInfo (avoid re-fetching)
If event, the pkm wasn't bred with ditto
If genderless or male-only (except nido/volb), assume ditto
2019-04-16 23:07:47 -07:00
Kurt
ab64eb5850
Trim unused
2019-04-16 22:58:37 -07:00
Kurt
a481757b45
Relocate CheckEncrypted to PKX
...
PKX references within the method; no dependence on anything in
PKMConverter
2019-04-16 22:51:01 -07:00
Kurt
5a53c2490a
Simplify expression, emit inner error messages
...
existing logic had been overwriting the inner error messages with the
generic fail message
Remove backwards conversion precondition check; the ConvertPKM method
has no branches that allow conversion so it'll naturally fail -- end
result is the same with less upfront logic.
2019-04-16 22:38:50 -07:00
Kurt
86d10af78b
Minor clean
...
cache Generation value, store arceus stuff as ushort
2019-04-16 22:14:21 -07:00
Matt
7e553155e1
Fix PKM conversion prompt order ( #2285 )
2019-04-16 10:54:29 -07:00
Kurt
934595126f
Simplify qr gender
...
use personalinfo object to do majority of work,
end result has the 4 sequential bytes set neatly
2019-04-15 15:43:48 -07:00
Kurt
286df71c5a
Hide sound type for nonyellow gen1 saves
...
Closes #2283
Fix label name & update translation file for them
2019-04-15 15:38:49 -07:00
Kurt
9736efd332
Updates continued
...
Use clone track bool
could instead track the result for each pkm step instead, for extending
functionality to mass-delete any flagged entry (cleanup).
2019-04-14 16:04:36 -07:00
Kurt
34ea56c2a7
Minor updates
...
Fresh day, fresh tests of the new code :)
Fix assert conditions
Add extra considerations
Detected clones should be skipped for PID/EC/TID checks -- should
probably detect this a different way rather than checking a computed
string (bool array of flags for the clone check results)
2019-04-14 09:06:43 -07:00
Kurt
0fdd9d98e6
Fix xmldoc typo
2019-04-14 09:04:40 -07:00
Kurt
3d60bea245
Add savefile-wide pkm legality checks
...
clone checks, duplicate PID/EC/TID
untested & no gui access for now
2019-04-14 01:06:34 -07:00
Kurt
74a45c436a
Remove machoke trade catchrate restriction
...
reverts to 90
Closes #2282 , also evident in RoC's PC files (as 90 catch rate).
2019-04-12 22:46:05 -07:00
Kurt
289a36cbd4
Relocate tables to folder
...
less overpopulated folders
2019-04-12 14:12:30 -07:00
Kurt
ba2b9ace8d
Use byte for pp value storage
...
more appropriate storage; for 3887 indexes -> saves 11.3KB
2019-04-10 22:05:57 -07:00
Kurt
27dfffd5b2
Add model-gender/starter-gender get/set
...
https://projectpokemon.org/home/forums/topic/52127-lgpe-save-research/?tab=comments#comment-243751
Thanks theSlayer!
(starter gender not modifiable via gui)
2019-04-10 17:03:05 -07:00
Kurt
82fb95b436
Add ConfigSave language get/set
...
This value is what determines what language the game runs with
2019-04-09 21:19:08 -07:00
Kurt
f4740bbe52
Capture reused variables
2019-04-09 20:58:19 -07:00
Kurt
1a343c3b21
Add more xmldoc
2019-04-09 20:57:44 -07:00
Kurt
2f2512b09c
Reduce allocations for checking file write time
...
FileInfo inherits from FileSystemInfo, which initializes a bunch of
strings that we don't need
this isn't a great optimization, just a fun exercise finding a quicker
approach to get these values
2019-04-05 18:45:59 -07:00
Kurt
054d498619
Add vc transfer nature checks
...
Closes #2279 thanks @SadisticMystic !
2019-04-03 20:13:35 -07:00
Matt
21e7d82468
Update GO shiny banlist ( #2278 )
2019-04-02 13:59:43 -07:00
Kurt
9e83e13559
Update 19.04.02
...
Update mgdb too
2019-04-01 18:35:01 -07:00
Evan Dixon
1ccbddd442
Merge pull request #2276 from kwsch/nupkg-license
...
Add NuGet metadata
2019-04-01 19:47:55 -05:00
Kurt
bbe56a3318
Simplify trade trainer parameters
...
Bank was always false, don't try to minimalize gets by fetching before
call (be simple)
remove unreachable branches now that dust has settled
2019-03-30 22:05:28 -07:00
Kurt
e614aa9ac8
Relocate xd/batrev encryption
...
update some xmldoc too
2019-03-30 21:28:32 -07:00
Kurt
f212ba29c9
Misc reductions
...
same stuff as previous commit but for Gen2
EventConstMax is always > 0, remove guards
2019-03-30 16:38:52 -07:00
Kurt
4f347fbfa9
Misc reductions
...
no functional change
2019-03-30 16:21:45 -07:00
Kurt
609db23dc5
Consolidate pouch load/set
2019-03-30 16:10:14 -07:00
Kurt
db7feaa8eb
Update translations with latest additions
2019-03-30 12:37:18 -07:00
Kurt
e1a3c8edb3
Add RTC reset, allows game to define on continue
...
Closes #2273 , thanks @SatoMew !
2019-03-30 12:34:51 -07:00
Kurt
bb8cf5d3d8
Simplify get/decrypt pkm access
2019-03-29 19:43:33 -07:00
Kurt
5dcf2f4dc8
Use enum instead of nullable bool tristate
2019-03-29 17:52:26 -07:00
Kurt
4f2b9baede
Add missing stamp
...
Closes #2274
2019-03-29 09:40:31 -07:00
Kurt
86db3e85e7
Unban HA g7 monkeys
...
https://twitter.com/SerebiiNet/status/1111223652178112513
bank gift can breed to pass on HA
2019-03-28 21:44:46 -07:00
Kurt
c7a610b02b
Fix typo in method names
...
Transferrable->Transferable
2019-03-28 21:44:06 -07:00
Kurt
e83f313281
Remove unnecessary abstraction
...
less objects with only 1 property/field, less objects created = faster
2019-03-23 18:59:45 -07:00
Kurt
55c7bf9858
Remove unnecessary abstraction
...
EvolutionSet was just an object that hides an array, with no logic
was planning to use the EvolutionSet to do the evolution checks, but
EvolutionTree was required to connect the evolution chains together
2019-03-23 10:36:28 -07:00
Kurt
41e066c562
Consolidate duplicate logic
...
Reformat g1/2 evolution data binaries for easy loading
precomputed count => no unnecessary allocation/resizing
2019-03-23 10:05:33 -07:00
Kurt
20f023e619
Reduce allocations
...
GetMethod used to create new array every time; reuse static hashset
(same arrays)
use scan approach to allocate required count
2019-03-23 01:01:04 -07:00
Kurt
4650a6f5b5
Reduce sizes
2019-03-22 21:19:47 -07:00
Kurt
583fcfa449
Use builtin struct instead of anonymous object
...
faster overall
2019-03-22 18:46:31 -07:00
Kurt
bc5ed2d218
Misc reductions
...
Removes empty trashbyte array allocation (less objects)
Change int[] to byte[] (less filesize/mem) (-256*6)
Change int[] to ushort[], precompute reverse table in saved space
removes dictionary lookup for array index fetch (faster, less memory, no
temp obj allocations!)
could make the ushort[] arrays into byte[] by changing them to be value
shifts? Not worth saving filesize for cpu.
2019-03-22 18:42:03 -07:00
Kurt
687da38e2e
Add pkrs infected/cured setters
2019-03-21 16:48:17 -07:00
Kurt
cce362b98a
Relocate FFFF trim (and 0000) to same location
2019-03-20 22:13:09 -07:00
Kurt
b1ead9e630
Split StringConverter into smaller pieces
...
reduces loading time (don't have to allocate conversion arrays when
launching a gen7 game), and separates things to easier to manage
locations
reworks gen3 string encode/decode, no longer does 3->4->5 and 5->4->3;
instead goes straight to the end result without an intermediary format.
String sanitization should probably be broken up rather than reused, oh
well.
2019-03-20 21:50:44 -07:00
Kurt
8bc949152d
Enhance IEncounterable list summarization
...
separates by type (wild, egg, etc) then groups by generation, listing
the locations and games that can obtain it in that location
2019-03-19 22:05:13 -07:00
Kurt
fad5e4bdee
Expand comboitem loading for simple cases
...
slightly less gc pressure, precompute capacity
2019-03-18 21:55:33 -07:00
Kurt
82a40cb965
Misc updates
...
add comboitem list to string[]
add regions list as cached comboitem list
lock resource cache on fetch
extract alola time list generating
2019-03-18 21:34:21 -07:00
Kurt
7e8154fa62
Make parsing flexible / diacritic insensitive
...
Flabébé if users manually type it :)
2019-03-18 18:09:48 -07:00
Kurt
53dbdf62f7
Add more test cases, case insensitive parse
2019-03-18 00:04:17 -07:00
Kurt
5e3b390fe1
Add learnability API and tests
2019-03-17 22:19:46 -07:00
Kurt
d975081a86
Add short/long name property differentiation
2019-03-17 22:19:37 -07:00
Kurt
9f7f9f9e75
Use glyph dictionary instead of creating 19 strings
...
muh optimization
2019-03-16 20:15:12 -07:00
Kurt
3eed1370c1
Minor simplification
...
if conditional checks >=3, and all subsequent checks require Valid; add
this to the continue condition, and remove unnecessary comparisons
update some comments
2019-03-16 20:07:30 -07:00
Kurt
99baca5f5e
Use min parameter count
...
PK2 doesn't like getting passed null for the byte[] parameter (rightly
so); don't depend on the src code order having the first constructor
being the one with the least arguments
fix it in pk1/2 so that the first constructor has the least args, anyway
2019-03-16 20:04:44 -07:00
Kurt
8a08d32dff
Simplify pkm constructors
...
remove Identifier param. 99% of the time, identifier is not provided,
resulting in a useless call
end result:
provide 'create new' and 'create from' constructors
2019-03-16 18:41:56 -07:00
Kurt
fb76032a39
Remove unnecessary null checks on constructors
2019-03-16 18:23:50 -07:00
Kurt
5765ce8229
Extract gc version IDs to separate logic
2019-03-16 16:48:38 -07:00
Kurt
ebc7c6ae29
Remove PKX.LCRNG method
...
Duplicate with RNG.LCRNG
reuse cryptarray for gen5 mysterygift r/w
2019-03-16 16:25:25 -07:00
Kurt
fc10fd3d60
Simplify transfer xor, extract glyph conversion
2019-03-16 16:19:00 -07:00
Kurt
9ca4ef1e09
Move pkx hidden power logic to HiddenPower.cs
2019-03-16 12:07:22 -07:00
Kurt
13a6d16cb9
Relocate checksum/dexform logic
2019-03-16 12:01:21 -07:00
Benjamin Sinkula
e4d59b8b98
Add PlayerNames and MatchDate to BV7
2019-03-15 14:35:55 -05:00
Kurt
41bc3f6182
Fix header'ed file export
...
For xd, getfinaldata returned a standard 344KB save, but then slapped it together with the inner savedata (0x28000 bytes) rather than using the GCI header. Don't use 'Data'
2019-03-15 10:26:16 -07:00
Kurt
94c80fd32c
Update 19.03.11
...
update mgdb latest
2019-03-10 22:56:30 -07:00
Kurt
e0ca0ac1f4
Add decoration / unown puzzle flags
...
UnlockAllDecorations already exists in SAV2.cs , but expose these in the
GUI with names
2019-03-09 23:13:07 -08:00
Kurt
e8a5a55323
Add union/berry crush stat ids
2019-03-09 10:26:43 -08:00
Kurt
88e2bce495
Sync gs en flags
...
match zh/ja
2019-03-09 00:16:16 -08:00
Kurt
0d5ee9489b
Fix memcard sav cloning
...
Closes #2267 , Thanks @PMArkive && @Subject21J !
2019-03-07 18:05:55 -08:00
Kurt
bd00680545
Fix incorrect block index ref
...
https://github.com/kwsch/PKHeX/issues/2267
Still doesn't fix the underlying issue
2019-03-07 17:30:50 -08:00
Kurt
ee787a0f71
Fix HoF size check
...
now matches the code in ChecksumsValid (< instead of <=)
2019-03-07 15:45:51 -08:00
Kurt
9b783dd047
Unban mankey/machop shiny pgo transfers
...
https://pokemongolive.com/en/post/battleshowdown2019/
Mar. 5, 2019, at 1:00 p.m. PST (GMT −8) to Mar. 12, 2019, at 1:00 p.m.
PDT (GMT −7)
2019-03-05 23:09:39 -08:00
Kurt
61bf82e2bd
Add gs event flags
...
https://projectpokemon.org/home/forums/topic/49717-pkhex-flag-editing/?tab=comments#comment-240804
via pret repo; looks like 2000 event flags, and 0x100 event
consts/work-vals (byte)
add more rebattle toggles
2019-03-05 23:06:05 -08:00
Kurt
8d49400b07
Change SecondsTo* from int to uint
...
having a year > 2050 can result in a 32bit seconds value (top bit set);
instead of being negative, keep it as a 32bit number.
2019-03-05 15:55:26 -08:00
Kurt
bb2c7e22cb
Add HoF checksum verification and saving
...
Thanks @av🥑 cado#0315 (discord)
2019-03-02 09:16:03 -08:00
Kurt
174f9758a1
Fix gen1 hm index check
...
Closes #2266
2019-02-28 10:01:28 -08:00
Kurt
e8ade4dd63
Add swsh placeholders
...
no point adding for legality until much closer to game release
2019-02-27 06:37:11 -08:00
Kurt
fb818f203d
Add gb pp/stat calc test
...
refer #2265
2019-02-25 17:39:41 -08:00
Russell Jones
2909c4afef
Update _K12.cs
2019-02-26 01:26:19 +00:00
Kurt
51bdd7d67c
Unban shiny rattata & pidgey
...
available on pokemon day 2019
https://twitter.com/SerebiiNet/status/1100138566833852421
2019-02-25 17:09:03 -08:00
Kurt
925167bd33
Fix Invalid/Missing Ribbon string format swap
...
Thanks TORNADO (discord)
2019-02-24 22:20:02 -08:00
Kurt
28823bd437
Split optional into overload
2019-02-24 22:16:30 -08:00
Kurt
30e36579be
Misc updates
...
add more xmldoc
revise some comments for clarity
redo a little bit of logic for perf
rename some methods for better description
2019-02-24 13:57:10 -08:00
Kurt
993bb00a61
Remove powersave unused logic
...
unused & deprecated in favor of using cfw (powersaves price >>>
ntrboot-b9s flashcart)
2019-02-23 18:02:50 -08:00
Kurt
7ba21c5d8c
Use subsection fetch
2019-02-23 17:59:46 -08:00
Kurt
52dd2d6701
Misc tweaks
...
replace linq for Encrypt/Decrypt pkmdata fetch with faster length check
& optional resize (Span pls!?)
update pk6 comment for why affection is not cleared
2019-02-23 16:05:01 -08:00
Kurt
d792c0d3a0
use u/L
...
use 'u' to denote uint values, so that less IL ops are required
~(21->17) in the case of IVs
no functional change, just a fun exercise looking at generated IL and
finding ways to use less ops
2019-02-23 15:36:26 -08:00
Kurt
5b29e71954
Misc tweaks
...
no functional change, just rewrite some logic for better flow
fix subform popup count restriction (OwnedForms requires forms to be
added/removed manually; it doesn't automatically update)
sanitize box names when dumping boxes with separate folders (and bad box
names)
2019-02-23 14:58:48 -08:00
Kurt
17f954b4e8
Xmldoc
...
Reorder to match parameter order
add more xmldoc
2019-02-23 14:57:35 -08:00
Kurt
ca51edbdcf
Change sav.LoadBoxes to return int
...
make MysteryGift specific method flexible so that any IEncounterable
enumerable can be passed.
2019-02-23 14:37:06 -08:00
Kurt
a339cc9289
Extract pouch manipulation logic
...
add overloads for API syntactic sugar
make ItemConverter internal again
2019-02-22 22:48:34 -08:00
Kurt
05ba7c519c
Misc simplifications
...
removed duplicate sorting GUI logic
extract grid fetch method
2019-02-21 23:17:50 -08:00
Kurt
df94afa711
Misc updates
...
extract some enums to core, use Enum.GetNames to do string fetch
make stamp listbox taller
clean up Display*ID setters
2019-02-21 21:54:41 -08:00
Kurt
5f4241063f
Misc verbosity reductions
...
hide enum name
2019-02-21 20:44:31 -08:00
Kurt
c9e894a46d
Misc reductions
...
hide setters for LegalInfo outside assembly (shouldn't overwrite the
stored values)
update GenNumber to Gen* if appropriate; GenNumber checks for first Gen*
to match, is a little more explicit and quicker than calling twice when
checking a range
2019-02-21 20:41:04 -08:00
Kurt
ba65580a8c
Rename parameter names for consistency
...
pkm->pk
2019-02-20 22:23:54 -08:00
Kurt
f30b2766cb
Use Heal methods
2019-02-20 22:16:38 -08:00
Kurt
941b1b5c47
Extract some reused logic
...
Put the methods in Tables4; kinda breaks the 'only arrays here' rule but
they only reference values in this file(partial class).
2019-02-20 22:10:15 -08:00
Kurt
1b221e052c
Add PP Heal method
2019-02-20 22:08:28 -08:00
Kurt
cffa6e681d
Add OT name setter
2019-02-20 21:52:22 -08:00
Kurt
ba6a958a1d
Add xmldoc, make manip not fetch all BoxData
2019-02-20 19:39:49 -08:00
Kurt
d3dd4fb2a5
Track slot modified count on sort/delete/mod
...
Sorting will always show multiples of boxcount since it repositions
empty slots
2019-02-20 17:59:54 -08:00
Kurt
72ec264f4c
Prevent g7 silvally from learning fire/water pledge
...
https://bulbapedia.bulbagarden.net/wiki/Silvally_(Pok%C3%A9mon)#Trivia
has the two bitflags set but the game only tutors the first bitflag it
sees
2019-02-19 22:57:07 -08:00
Kurt
40963c012a
Add sav3 BP Earned editing
...
misc editor, first tab (main)
2019-02-19 20:59:47 -08:00
Kurt
fa4318ae2f
Add gen3 record editing
...
in misc edits window
2019-02-19 20:46:58 -08:00
Kurt
fb8aa3bba0
Lowercase parameter
2019-02-19 20:26:20 -08:00
Kurt
a385a8481d
Misc tweak to savefile export
...
Use flags to request header/footer in the output
gets rid of the DSV/GCI bool arguments
2019-02-18 21:59:57 -08:00
Kurt
726f69240a
Update translations
...
no localization for new settings/sort options, just expanding from
csharp->english
2019-02-18 19:09:31 -08:00
Kurt
fdc97885c5
Speed up clone detection purge
...
override Execute's default behavior to use a HashSet
2019-02-18 17:19:25 -08:00
Kurt
98b21eaaa8
Add clone deletion quick action
...
kinda slow, if a save has 900 mons, it has to check 900*900 which is
O(n^2), takes a few seconds
as opposed to just doing a hashset checking contains, would be O(n)
gotta do some fun stuff to make it faster
2019-02-18 17:00:16 -08:00
Kurt
9171055fd4
Add box sort by encounter type
...
grabs encounter name and orders by that (Egg/Static/Wild etc)
2019-02-18 15:34:55 -08:00
Kurt
7c3e5aa83c
Make RandomGender a method instead of property
...
See pkNX for similar change; the functionality is really *method*
2019-02-17 22:13:40 -08:00
Kurt
258f0f0ad4
Minor refactoring
...
clean up some gc logic, no functional changes
2019-02-17 10:42:43 -08:00
Kurt
202f911d45
Tidy up comboitem fetch naming
2019-02-15 11:47:35 -08:00
Kurt
d1f6a5a3ff
Misc clean
...
no functional change
2019-02-15 11:46:46 -08:00
Kurt
9c521919e5
Reverse array in place
2019-02-15 11:46:02 -08:00
Kurt
858760fa28
Misc updates
...
relocate program language enum
test that test case is proper
move getcompatible & gettemplate to core
remove catch rate changing for pk1 (catchrate editor now used instead)
2019-02-15 00:50:23 -08:00
Kurt
7acdf0d16d
Expose parse results for external consumption
2019-02-14 20:14:46 -08:00
Kurt
3d01617c93
Fix safari unlock
...
dat 0 -> o
Closes #2262
2019-02-14 18:17:16 -08:00
Kurt
c67b774e1e
use enum to decorate rather than comments
2019-02-14 18:12:25 -08:00
Matt
7538a33c81
Update GO shinies ( #2260 )
2019-02-14 10:49:37 -08:00
Kurt
e7486e4534
Update gender check
...
showdownset now no longer leaks nulls
2019-02-13 15:50:48 -08:00
Kurt
e82b4de657
Misc clean
...
replace Friendship control click to match shortcut description (used to
do nothing)
Remove some duplicate translation strings
fix gameselect string formatting
apparently systemsounds changed in a recent win10 update, Question is
now silent?? Exclamation is now the same as Asterisk (same as Beep?) Use
hand instead of Exclamation.
only use asterisk for notifications
2019-02-11 22:39:12 -08:00
Kurt
684191772f
Misc refactoring (showdownset null)
...
Set default values to prevent any properties from being null
extract ClearNickname logic for hot path & reusable method
extract item conversion and move to appropriate logic class
2019-02-11 21:49:05 -08:00
Kurt
2498b6bf50
Misc updates
...
Simplify unknown gen expression
allow mutation of FormIndex if desired
2019-02-10 21:31:27 -08:00
Kurt
304203262d
Add species & ability enumerations
...
remove hardcoded 810 in unit test, add ability test too
2019-02-10 21:28:32 -08:00
Kurt
182348526c
Add display TID/SID get/set
2019-02-10 10:31:20 -08:00
Kurt
9715a08342
Fix custom hex parse
...
hurr dont write your own parsers
Closes #2256
2019-02-10 10:19:05 -08:00
Kurt
a39f917f84
Simplify expression
...
ternary with a null check and long method signature is pretty ugly
2019-02-09 23:22:22 -08:00
Kurt
54ba9a0312
Update file->open for pb7 filtering
...
add pb7 to pkm extension list, ignore it in gen7 (sm/usum), update gg
filtering (allow pb7, not bk7)
add comments indicating format source game
2019-02-09 20:33:37 -08:00
Kurt
e96ef76dcd
Add xmldoc
...
no code changes
2019-02-09 20:24:38 -08:00
Kurt
48e2bbcfed
Refactor DumpBox to return 1 value
...
count < 0 implies an error; values >= 0 can be used to indicate actual
dumped count
2019-02-09 20:19:55 -08:00
Kurt
9a93b20515
Minor rework
...
use hashset instead of new[] every call
precompute empty arr
allow criteria input for better gen requests
2019-02-09 20:07:15 -08:00
Kurt
ec1d3069a5
Remove SaveFile dependency for wallpaper data fetch
...
reusability++
2019-02-09 20:05:32 -08:00
Kurt
dc5cdc34d7
Remove FieldsInitialized and rename check method
2019-02-09 17:07:44 -08:00
Kurt
cb98c83bd2
Remove references to Stat_HPMax
...
use computed value to check if Party Stats are present
maybe I want to use Span and stop resizing all pkm arrays to party
format years from now idk
2019-02-09 13:17:00 -08:00
Kurt
e79f46673c
Refactoring iencounterable->pkm
...
SetPINGA{S}(pk, criteria) -> pid,iv, nature, gender, ability (stats
future?)
memes aside, this is where criteria data is forced
Split N encounterstatic (has fixed PID and special flag) from
EncounterStaticPID
2019-02-09 11:37:20 -08:00
Kurt
cda06bc701
Increase custom parse speed
...
remove double string replace (now less allocations); only add up values
if they're valid numbers.
builtin int.Parse throws with "1 2", but users can type stupid stuff
like that in the program (so we parse as 12).
2019-02-08 18:29:26 -08:00
Kurt
383d4b7700
"" -> string.Empty
...
be explicit that the string is empty rather than possibly missing
disallow encrypted export for BK4 (they're not encrypted), removes type
check
simplify replaceall in showdownset (don't call ReplaceAll 4x, just get
valid chars and rebuild)
simplify get ribbon sprite name (precompute ToLower and appended values
2019-02-07 21:40:20 -08:00
Kurt
3474d97fb2
Weaken float comparison for weight/height
...
ThePunish3D was able to find examples with less precise calcs
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=240188
assuming these were unmodified
2019-02-07 16:57:17 -08:00
Dixon, Evan
8f8e8020b7
Add NuGet metadata
2019-02-07 17:39:15 -06:00
Kurt
59b41937e1
Misc variable name changes
...
readability++
2019-02-06 23:28:02 -08:00
Kurt
d03ff30140
Fix ita traded lgpe diglett OT
...
ty ThePunish3D!
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=240159
2019-02-05 17:09:47 -08:00
Kurt
a97ae79086
Unban m&m go shinies
...
https://twitter.com/SerebiiNet/status/1092892163782991873
2019-02-05 15:33:59 -08:00
Kurt
29253ed636
More cleaning
2019-02-03 20:28:03 -08:00
Kurt
264c7d1cbc
Replace null return val
...
Closes #2255
2019-02-03 20:01:56 -08:00
Kurt
893f98d667
Misc clarity
...
no functional change
make batch editor prefix list readonly
2019-02-03 10:28:33 -08:00
Kurt
2eef523475
Misc clean
...
meh
2019-02-02 15:20:08 -08:00
Kurt
f481404503
Misc clean
2019-02-02 10:19:41 -08:00
Kurt
6ed9f979de
Continued refactoring
...
removing null results as indicators of no data (c# 8 sooooon)
2019-02-01 23:26:43 -08:00
Kurt
aa022fad40
Misc refactoring
...
remove some null usages, return an empty array instead
reduce as arg
2019-02-01 23:08:03 -08:00
Kurt
d29f670840
Add QRPK7 to PK7
...
roughly converts the data into a PK7
2019-01-29 21:07:42 -08:00
Kurt
8cfd6d5a63
Expose SetBoxData
2019-01-27 21:57:33 -08:00
Kurt
6353e8d84d
Add special set operation for alph rocksmash
...
closes #2253
ty @Subject21J & @ReignOfComputer
2019-01-27 11:08:21 -08:00
PMArkive
5cb93be681
add legendary pokemon to wormhole slots ( #2252 )
...
changed slot numbering from 0-4 to 1-15
fixed drapion's pokedex number in wormhole slot table
2019-01-27 10:40:19 -08:00
Kurt
147b676d8c
Misc api accessibility tweaks
...
disable GeneratePKMs from throwing an exception (it's a testing flag,
not to leak out if someone wants a debug dll I guess)
expose FixedGenderFromBiGender
expose ribbon interfaces
2019-01-26 14:48:32 -08:00
Kurt
0b5429ebbc
Relocate wormhole edit logic to separate class
...
#2250
make arrays static (only spin up one copy ever)
2019-01-25 19:58:00 -08:00
PMArkive
3f0a5b3ffa
Add USUM Wormhole functions ( #2250 )
...
The current wormhole's shiny flag & pokemon can be changed with these functions.
The flags & offsets were found by @PP-theSLAYER https://projectpokemon.org/home/forums/topic/39433-gen-7-save-research-thread/?page=3&tab=comments#comment-239090
2019-01-25 19:52:46 -08:00
Kurt
a7323ef484
Misc updates
...
Reuse some code in netutil for fetching stream (provide useragent for
all uses)
make sav4ranch use dynamicly read offsets to handle both variants
(quicker) #2248
2019-01-25 16:51:58 -08:00
PMArkive
194ddb7c18
add offsets & save-size for ranch's platinum update ( #2248 )
...
I don't know yet if the OT offset is the same though
2019-01-25 15:24:01 -08:00
Kurt
7bb3f14e1f
Add wishmkr flag fetch
...
rs only
thx @PMArkive !
2019-01-22 22:28:30 -08:00
Kurt
c033fe2741
Increase precision for cp/size calc
...
still isn't close enough, but removes the usage of decimals for cp calc.
redd.it/ahac9i
CP calc doesn't flag anything I have that is legal, but the calc is
still off by 2 bits at most... whyyyy? Even the same code run in cpp
results in the same inaccuracy? Maybe this is some arm64 difference?
2019-01-22 21:08:48 -08:00
Kurt
13c13d5f49
Update 1MB invalid savefile message
...
trickles down to memcard, which is still invalid. Use a more generic
message if a memcard is the same size as a regular savefile.
2019-01-22 19:32:22 -08:00
Kurt
13090c0ced
misc gen1 updates
...
sav1: assign personal table based on (detected/provided) version
catchrate editor: allow to use savefile personal
remove gb era prompt whenever gb/blank loaded; have it as a setting (can
be overridden for VC now). keep allowgbera as autodetect
personaltable: track format for debugging purposes/info
update translations
2019-01-21 20:06:02 -08:00
Kurt
8652677a79
Misc tweaks
...
showdownset: contains char instead of string
gameinfo: static readonly array instead of redefining new on update
legality: order of operation / value reuse / simplification / comments
pkx: compare char instead of single character string
header/footer: move assignment into method as an out instead of ref
2019-01-20 21:55:28 -08:00
ShadowMario3
3f759058ce
Update SAV3.cs ( #2247 )
...
Fix PC max item count in RSE
2019-01-16 12:13:58 -08:00
Kurt
53b2ca93b8
Update blank sav3 behavior
...
can now be selected & loaded without exception/hassle
2019-01-15 22:14:19 -08:00
Kurt
b6261e57a3
update structure docs
2019-01-15 16:47:54 -08:00
Kurt
ae6010f169
Add ranch r(/w?) support
...
not gonna edit the metadata
properly handle an irregular sized display box
2019-01-14 21:31:53 -08:00
Kurt
f0d9e3f2e5
Fix encounter link wc6's
...
Closes #2244 thanks @kamronbatman & @NinFanBoyFTW !
2019-01-14 18:53:05 -08:00
Kurt
2969a42ad4
add missing ot name check
...
Closes #2246 , needed to mirror wc7 via this commit but failed
41a3989b53
2019-01-14 18:33:00 -08:00
Kurt
ab33f7123b
add null check for invalid relearn scenarios
...
Closes #2245
2019-01-14 16:39:11 -08:00
Kurt
d62a69a6a7
Misc fixes
...
Provide gen1/2 gb only version origin fetch for personal/moves ty
shadowmario (i assume this fixes things)
make listbox use ingame font for special characters
2f6e30bb3c (r31924945)
ty @pmarkive
2019-01-13 18:12:31 -08:00
Kurt
41a3989b53
Consolidate encounterlink into mysterygift
...
use synthetic wondercards to match link gifts
2019-01-12 23:50:31 -08:00
Kurt
ce11bda416
Update mystery gift database
2019-01-12 23:49:16 -08:00
Kurt
f60926d200
Add slotview stuff
...
future implementation
2019-01-12 20:53:50 -08:00
Kurt
4f1375ad6a
Add route 1 to sky location table
...
Closes #2241 ty @Ninjistix !
2019-01-12 17:21:57 -08:00
Kurt
b5cf02a933
Add more party related properties/methods
2019-01-12 10:54:38 -08:00
Kurt
ca0e012c5c
Add Heal, make status_condition a pkm property
...
also split out battle box slot offset fetch
if anyone finds where colo&xd store their status bits, lmk 👍
2019-01-11 22:25:48 -08:00
Kurt
c591d2a69d
Misc updates
...
condense some logic
2019-01-11 17:44:51 -08:00
Kurt
ec76bd6b03
Fix ability bit inversion
...
one of these was not like the other
ty TORNADO (discord)
2019-01-11 08:09:52 -08:00
Kurt
19f49eb4a7
Misc update
...
remove duplicate pb7 method (present in _K6); note that the fixed length
should not be changed to SIZE_STORED
comment out useless assignment
2019-01-09 21:11:14 -08:00
Kurt
e08ecb21c1
Bypass tradeevo check for gen1 if sav gen >= 3
...
Closes #2237
2019-01-09 08:52:56 -08:00
Kurt
3bbde6fc19
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-01-08 18:35:29 -08:00
Kurt
d85bb76208
Mirror order of operations from pb7
...
see prior commit; this doesn't make any difference since
CurrentFriendship isn't being called; but we're just matching the flow.
Closes #2235
2019-01-08 18:35:26 -08:00
Kurt
fef80d5a05
Fix pb7 trade logic
...
Update handler after friendship update (CurrentHandler needs to update
afterwards)
Fix argument order (gender & nonpresent region data)
#2235 side effect
2019-01-08 18:32:42 -08:00
Kurt
bc8b48eb88
Fix sort writeback for locked slots
...
clear flag, update properties
#2235
2019-01-08 18:31:14 -08:00
Kurt
6bd0e87ea3
Fix copyto discarding elements
...
don't continue; instead seek forward
#2235 part 1, need surgery for part 2 (starter/locked prevents writing
data to the slot, but the slot can still be swapped)
2019-01-08 16:45:16 -08:00
Mitsuki
3c552cc1e7
Update for Latest Berry Event ( #2234 )
...
Because the Berry are now Released on Gen7, allow Items now on Legality Check: Enigma, Micle, Custap, Jaboca
2019-01-08 06:14:41 -08:00
Kurt
c1fa7d3916
Fix fish slot read
...
oops, final slot was dropped
Closes #2231
2019-01-07 15:41:20 -08:00
Kurt
f97417fe85
Remove some unused bitflag regions
...
cuts down memory footprint by quite a bit (bool[] is 4bytes per bool)
2019-01-06 22:21:25 -08:00
Kurt
c42c019149
Fix split-evolution regression
...
Closes #2230
ty @NinFanBoyFTW !
2019-01-06 22:18:14 -08:00
Kurt
1095fd0811
misc alloc reductions
...
scan the data to determine the size of the result array
prevents list buffer resizing-copy (many times) and the final ToArray()
2019-01-06 21:00:27 -08:00
Kurt
950ddcf9fd
Reduce npclock object size
...
24 bytes per object -> 16 bytes
2,624 objects are made for legality checking; reduces from 73KB to 41KB
removing unnecessary clone recreation -> count from 2624 -> 414 (41KB to
6.6KB)
yay 10x reduction; not huge in the big picture but a fun exercise
2019-01-06 20:58:57 -08:00
Kurt
2a8b43d9c7
Remove temporary test
...
Shadow lock checks were finished; teams with 5 locks are working.
Relocate member data to the full team verifier.
2019-01-06 20:58:17 -08:00
Kurt
75202c7a89
Misc updates
...
reducing allocations, increasing clarity by removing some magic numbers
probably can rewrite some of the evo loading/checking for even less, but
good for now.
2019-01-06 16:22:45 -08:00
Kurt
744646e30d
Add gold bottle cap bypass for LGPE
...
All IVs are flagged in LGPE even if they're perfect :(
Might have to revisit this for future games and if LGPE transfer out and
maintain these bad flags (this is bad for inspecting parents before
breeding).
Closes #2229 , thanks @SteelPhase (report) and @sora10pls (verified)!
2019-01-06 16:21:34 -08:00
Kurt
0cdaae1d51
Update cxd antishiny tracking
...
check antishiny rerolls as required, reduce allocations
2019-01-06 01:26:18 -08:00
Kurt
154f122369
Allow changing of default savefile type
...
kinda have to restrict these to 'valid' choices; should be enough of a
selection->result to be adequate for changing version
restart the program after changing the setting; won't take effect until
rebooted.
2019-01-05 15:42:20 -08:00
Kurt
9a4f12c279
Misc updates
...
rearrange pkm version groups for clear break between
twins/siblings/family
clear pokelist for sav7b on non-exportable saves (prevents b1s1 from
showing markings)
rename horohoro (pgo) to non romaji lol, hide daycare/party tabs on
nonexportable save
remove some unnecessary operations
rewrite getallcontrolsoftype to remove ToList() and make generic
2019-01-05 15:40:25 -08:00
Kurt
435c429dfc
Allow colo to be a blank savefile
2019-01-05 15:37:06 -08:00
Kurt
174eb81986
Fix xmldoc comment
2019-01-05 15:36:44 -08:00
Kurt
e028214eab
Update dex form handling for dex4
...
still not sure if it's entirely right, but at least there's no more
exceptions
https://projectpokemon.org/home/forums/topic/48288-pokedex-error-gen-4/
2019-01-05 12:37:41 -08:00
Kurt
0c9b760470
Move GetIV to pkm, misc simplifications
...
remove linq for characteristic calc (get max IV) and others
remove some reliance on new[] for iv/ev
pk5 replace bitmagic with property get->set copy for cleanliness
2019-01-05 10:51:41 -08:00
Kurt
4dad475fcd
Fix colo lock check regression
...
oops; tests pass now
2019-01-04 00:10:44 -08:00
Kurt
7ab42e7cc2
Misc improvements
...
remove alloc on gc key advancement; advance keys in place
make g6 sizes an explicit comparison instead of new[].Contains
replace Any/Count with Array.Find calls (removes linq dependency from
savetype detection!)
2019-01-04 00:07:37 -08:00
Kurt
bdcabfa573
Update gen4 save detection
...
footer is different for Korean saves; checked JP/EN and they use the
2006 date. Probably the same for everyone-but-KO.
Simplify check further, only check the 0x4.... sav as it's the first
region saved to. No point wasting time checking the other!
a previous commit alluded to general/storage being initialized in
different slots
e8644280a1
, gonna ignore what was stated as I can't find any proof with the few
tests I did today (all init on second, and found no backups from that
time)
2019-01-03 23:37:49 -08:00
Kurt
90e5776dbc
Update ereader 0IV detection
...
the ereader mons are nature/gender locked too, so unroll a little prior
to rechecking the overall team (with ereader mon included). Have to do
it this way as a lock can pop if the ereader data matches a prior spread
before the prior teammate can be generated.
2019-01-03 21:29:19 -08:00
Kurt
272a29a641
Differentiate DP/Pt Shaymin
...
fateful isn't on dp shaymin even though it's an illegal encounter
2019-01-03 17:04:32 -08:00
Kurt
bd6494d8c7
recognize gen12 italian trade OT
...
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?page=3
Thanks ThePunish3D!
2019-01-03 15:47:41 -08:00
Kurt
e99c9a0999
Add pokestock gst/stk (3 & 4) bulk r/w
...
ezpz @kamronbatman
2019-01-02 21:56:33 -08:00
Kurt
8c05b9f391
add g3 hall of fame r/w
...
no GUI
var sav3 = new SAV3(File.ReadAllBytes(path));
var hof = HallFame3Entry.GetEntries(sav3);
hof.Dump();
2019-01-02 18:15:29 -08:00
Kurt
81a660c2dc
Update 2019.01.02
...
Update event binaries with latest from the Event Gallery
2019-01-01 20:52:25 -08:00
Kurt
b5f82f6535
Update translations with latest
2019-01-01 20:27:00 -08:00
Kurt
6929b637cc
Misc clean
...
refactor some common operations
2019-01-01 20:05:36 -08:00
Kurt
80ef196468
fix info output off by one
2019-01-01 20:05:00 -08:00
Kurt
552e7a1a39
Fix pokewalker pid check for female-only
...
pidGender check failed as 0xFE (female only) returned male if pid ended
in 0xFE or 0xFF
jump out early if the pkm is fixed gender rather than genderless only
https://projectpokemon.org/home/forums/topic/48956-pokewalker-happiny-pid-mismatch/
Thanks Taargüs Taargüs!
2019-01-01 20:04:29 -08:00
Kurt
2b5272a395
Simplify gen4 save type detection
...
footer identifiers work just fine for any legitimately created save
file; I might have had the checksum check code for pokesav blank
savefiles
dropping support for bad-blanks in favor of a non-negligible speedup is
favorable :)
2019-01-01 11:16:31 -08:00
Kurt
7ba2860db8
more block details
2019-01-01 00:57:51 -08:00
Kurt
8129e91694
Add more detailed block offset docs
2018-12-31 22:19:40 -08:00
Kurt
92d633e8ad
Allow IsPokeStar=false
2018-12-31 21:04:13 -08:00
Kurt
5fcd8541ba
Add pokestar studio fame / star stat pk5[0x87]
...
how did this get forgotten so easily lol
added legality check; eggs can't participate in pokestar studio.
not editable from GUI, use ExtraBytes editor.
Re-add 0x86 (array was copied from pk4?) and reorder/comment
2018-12-31 21:01:58 -08:00
XxPhoenix1996xX
ede44aaa1b
Update text_Ribbons_es.txt ( #2225 )
2018-12-31 16:07:34 -08:00
Kurt
6c4fdfa559
Merge pull request #2224 from XxPhoenix1996xX/patch-9
...
Update lang_es.txt
2018-12-31 16:07:22 -08:00
Kurt
758ec7f55b
Update MessageStrings_es.txt ( #2223 )
2018-12-31 16:07:06 -08:00
XxPhoenix1996xX
fe57789160
Update LegalityCheckStrings_es.txt ( #2222 )
2018-12-31 16:06:59 -08:00
XxPhoenix1996xX
31b5b4eea4
Update lang_es.txt
2018-12-31 19:30:29 -03:00
XxPhoenix1996xX
f6c9c7b265
Update MessageStrings_es.txt
2018-12-31 18:50:00 -03:00
Kurt
bd56999b20
Increase search flexibility
...
add more version fetch methods, add reset method to reset encounter
priority
#2219
2018-12-30 17:30:57 -08:00
Kurt
2ecd3f1f30
Replace IV3 with FlawlessIVCount
...
Other games may vary the flawless IV count so best to have consistent
declarations
(the vc transfer encounter has 5 or 3 depending if it's a mew/celebi)
2018-12-30 10:33:00 -08:00
Kurt
82eae79823
Remove cosplay fixed IV
...
Was added a few months ago
https://github.com/kwsch/PKHeX/pull/2117
Game ignores the fixed IVs and instead does 3 flawless IVs
2018-12-30 01:10:53 -08:00
Kurt
bf1a56af9d
Add xmldoc
2018-12-29 23:38:59 -08:00
Kurt
4fcee0ae7a
Move wr7 to mysterygift folder
2018-12-29 23:34:34 -08:00
Kurt
e7531dca30
Add wr7->pkm
...
Not sure if one of the 'level' fields is a move ID instead. Pound=1,
Level=1
Maybe a Chansey record would shed more light.
2018-12-29 23:33:36 -08:00
Kurt
78ff441e8b
Update iencounterable api with new criteria arg
...
rearrange some logic for clearer function (extract some methods)
2018-12-29 22:24:34 -08:00
Kurt
c2422d6927
Misc updates
...
possibly gonna update the iencounterable api for criteria
check/enforcement, rather than just generating random encounter data.
2018-12-29 22:19:44 -08:00
Kurt
03ad20dd16
Improve card title/filename logic
...
mystery gift editor still fails to generate a description (heldItem < 0
-> exception), the fallback behavior is fine I guess.
2018-12-29 22:15:40 -08:00
Kurt
8a33a95974
Add mystery gift record getset
...
Mystery Gift button now appears for GG, doesn't work yet
2018-12-29 22:09:59 -08:00
Kurt
f5e3358aaf
Split up WR7 to separate files
...
settled on the class name; looks like it'll be roughly readable as a
mystery gift so inherit some properties. maybe can get r/w in the
mystery gift editor :)
2018-12-29 22:09:27 -08:00
Kurt
71dc944cbd
Add wb7 gift record rw
...
another block documented ;)
https://projectpokemon.org/docs/gen-7/lets-go-pikachu-eevee-wonder-card-album-r109/
names subject to change
2018-12-29 21:24:38 -08:00
Kurt
6f22599baf
Prevent slot overwriting on bulk import
...
https://projectpokemon.org/home/forums/topic/48912-how-to-batch-import-pokemon-boxes-without-erasing-existing-pokemon/
2018-12-28 17:58:13 -08:00
Kurt
3e05e9655e
Store hidden power type
2018-12-28 16:54:01 -08:00
Kurt
d5a8d29088
Misc updates
...
reduce some allocs, clearer names/enum usage
2018-12-27 20:24:24 -08:00
Kurt
d90f099a68
Next unoccupied after starting position
2018-12-27 13:10:55 -08:00
Kurt
f9eb1746ea
Add NextOpenBoxSlot fetch for empty slot overwrites
...
< 0 is storage full
2018-12-27 01:08:42 -08:00
Kurt
2d75e93ef0
Move encounter matching logic to iencounterable
...
generator logic is now clean
2018-12-27 01:00:08 -08:00
Kurt
3481780e06
Add initial sizes
...
maximum is always 3; sometimes we know the max size so specify.
bcl has default size = 0, which then resizes to 4 on first addition
wow such optimization
2018-12-26 22:13:04 -08:00
Kurt
988e71bec5
Remove QRText property
...
removes PKM<-QRPKM class dependency
fix invalid value oob exception (nature & ability fuzz)
2018-12-26 17:31:23 -08:00
Kurt
950d0a8525
Add nature bounds check & legality
...
expand string array check to cast and check against length; batch editor
Nature>=25 causes problems in hover tooltips. Previous commit fixed for
pb7 stat calcs for invalid natures, pretty sure the actual game is
exploitable for stat calcs and invalid natures (bad access), but isn't
exploitable as it's only used to retrieve an enum to switch against.
2018-12-25 22:59:52 -08:00
Kurt
9db771c0d5
Split out common 6+ pkm format to abstract class
...
Didn't really feel like pulling out the shared structure get/set
operations, only the derived properties & overall fixer methods. Should
be easier to maintain if any handling updates.
Clean up pb7 unused stuff; removes ribbon logic since none are used.
c# 8.0 interface defaults can maybe pull out more logic (ex making
FixRelearn and relearn moves into an interface); multiple inheritance
can be useful as features are added/dropped between generations.
2018-12-25 22:56:32 -08:00
Kurt
69a3272036
Remove fossils from key item (count==1) list
...
Closes #2215
can't depend on 'key item' item flag since the game allows you to get
multiples
2018-12-25 12:31:13 -08:00
Kurt
2cef99e444
Add setter for pk1/2 Language
...
https://projectpokemon.org/home/forums/topic/48873-batch-editor-language-is-not-working/
2018-12-22 14:47:31 -08:00
Kurt
75d2b8d0bc
Split out location bank fetch
...
Getting a little congested in one method
2018-12-22 14:45:47 -08:00
Kurt
f7cf96be65
Add version name fetch
...
only for pkm game IDs that have already been localized; not game
groupings.
use version name long description if hide-savefile details is enabled.
2018-12-22 13:16:16 -08:00
Kurt
ec140431c0
Fix box sort for empty locked slot(s)
2018-12-22 13:13:06 -08:00
Kurt
0da3fd2aec
Add resource include references for new fr xlation
...
#2206
2018-12-20 20:34:51 -08:00
Ntonio36
2e698d99da
Add French translations for ORAS, BW flags ( #2206 )
...
* Add French ORAS Flags
* Add French BW Flags
2018-12-20 20:30:23 -08:00
Kurt
2e6466c132
fix wc6full date set
...
Closes #2213
2018-12-20 20:30:01 -08:00
Kurt
24e5f70144
Differentiate colo card key
...
Closes #2212
2018-12-20 15:23:57 -08:00
Kurt
2d774ac7cc
Allow dynamic default savefile type load
...
Make extrabytes a pkm property (don't mutate array pls)
reconfigure startup loading to only initialize after initial load of sav
& pkm (using blanks if not provided)
2018-12-19 22:10:32 -08:00
Kurt
d7a501c168
Relocate some logic to interfaces
2018-12-18 17:15:35 -08:00
Kurt
ff649009ca
Misc tweaks
...
misc perf adjustments
add utility for slot locked check (without box argument, absolute slot
index)
localize dragdrop strings
increase dragdrop file delete delay (dropping files into discord waits
until you confirm; 10s gives enough time to hit confirm)
2018-12-17 11:17:19 -08:00
Kurt
22b9da58e2
Add priority setting for yielding possible encs
2018-12-15 21:34:50 -08:00
Kurt
ea07b9636d
Speed up pkm data present check for pk3 format
...
see
6dbeb24b6f
ensure bad egg flag isn't set, and the species flag is set.
2018-12-15 19:37:19 -08:00
Kurt
269524849e
Fix crystal-only base move case
...
Qwilfish has crystal-only move for the encounter, and the encounter is
available on G,S,C. Check both origin games always, better to be
complete & exhaustive than faster & incorrect :)
Thanks Brittany!
https://projectpokemon.org/home/forums/topic/48802-bugemerald-eggs-crystal-learnsets/
2018-12-15 15:10:20 -08:00
Kurt
5d5259ddd2
edge case for egg OT name length
...
https://projectpokemon.org/home/forums/topic/48802-bugemerald-eggs-crystal-learnsets/
2018-12-14 23:30:21 -08:00
Kurt
6dbeb24b6f
Clarify mystery flags
...
thanks pret!
0ad332124e/include/pokemon.h (L277-L279)
2018-12-14 23:26:46 -08:00
Kurt
fb10a1f983
add size rating indications when viewing pkm data
2018-12-13 21:10:38 -08:00
Kurt
fc65a65fd9
Add go random IVs method
...
https://projectpokemon.org/home/forums/topic/48779-go-park-melmetal/
2018-12-12 18:06:39 -08:00
Kurt
96ec0ff28b
Fix broken tests
...
some gen6 cards have bad data? trickled out to tests which failed to
generate a celebi
revert to old code, add in some year-set safety checks
2018-12-12 18:00:26 -08:00
Kurt
f6da84b699
add batch editor cp/h/w suggest routes
...
https://projectpokemon.org/home/forums/topic/48773-problem-with-lets-go-pikachueevee-batch-editor/
2018-12-11 22:27:42 -08:00
Kurt
2c1717a409
Misc updates
...
extract programlanguage to enum
fix parse fail for settings' version; old syntax fails to parse
delete unused file from recent pull
2018-12-10 20:48:21 -08:00
Kurt
efb9b7eba2
Misc cleanup
...
removes clickonce logic/reference
2018-12-10 20:32:08 -08:00
Kurt
8a0b9cd88c
Add indication for party/starter slots
2018-12-09 23:18:37 -08:00
Kurt
7054b38e44
Fix bw volcarona spawn flag
...
Closes #2201
2018-12-08 10:04:59 -08:00
Kurt
3038c1eedb
Fix pb7 zh string handling
...
no remapping ok
2018-12-08 10:02:37 -08:00
Ntonio36
89028b8a41
French Translation update ( #2205 )
...
* translation update
* shorten problematic fields
2018-12-08 09:17:59 -08:00
Kurt
d84ceabe93
speculate on unused stat
...
there's a value in trainer pokes that gets set to an unused pkm byte
this byte is fetched in the stat/cp calc, but is never used (param
unused)
plans for future? it's right next to friendship in trpoke7b, maybe there
might be another stat amp?
https://www.serebii.net/magikarpjump/trainerrank.shtml
stronger trainer => stronger monz /speculation
2018-12-06 22:58:35 -08:00
Kurt
8a98a89f6e
Add height/weight and float->scalar
...
pgo transfer logic disassembly
FF 83 02 D1 FC 6F 04 A9 FA 67 05 A9 F8 5F 06 A9
2018-12-06 21:03:33 -08:00
Kurt
eb69e86722
Unban go sandshrew/slash & shiny
...
https://twitter.com/serebiinet/status/1070583259875237888?s=21
2018-12-06 07:10:39 -08:00
Kurt
20e3da7e5f
Add pb7 evo check continuation
...
oops
Closes #2202
2018-12-05 20:55:57 -08:00
Kurt
06d8b6609b
Add outsider evo check for beluga
...
Closes #2200
2018-12-05 18:38:05 -08:00
Kurt
71fab815bf
Provide more slot information
...
remove lockedslots, store & save all teamslots for sav7
differentiate locked slots from overwrite protected slots by emitting an
enum containing info about the slot
locked = can't be replaced, period.
starter/battleteam = can't be pasted over by bulk-pastes
can eventually show more specific sprite layers to denote party
indexes/team#/starter
2018-12-04 22:59:28 -08:00
Kurt
4c1232855f
Add getstring method with non-sav data
2018-12-04 22:00:57 -08:00
Kurt
cb8585f423
Minor optimization
...
2d array -> 1d
skip copy by cloning instead
eliminate %24 (number is 0-31) by duplicating 0-7 as 24-31
dropping a modulo, >1 bounds check, and a half loop unroll should be
less cpu cycles :)
2018-12-03 23:12:54 -08:00
Kurt
cc59c3cbe8
Remove variable naming hiding
...
new property named Stats
update sav7b/pb7 to delete unused handling trainer parameters too
2018-12-03 20:59:48 -08:00
Kurt
1d76d799fd
Add stats get/set and batch editor suggest
...
Closes #2196
2018-12-03 20:53:37 -08:00
Kurt
7229ca76f6
Update party stat level on level max mod
...
Closes #2194 , pb7 are always stored in party format -- also PK1/2 store
it in their box format
2018-12-03 15:40:09 -08:00
Kurt
3d7f3caef8
Add status condition prop to all mainline formats
...
Closes #2160 , use Batch Editor to modify slots; it's not worth GUI
presence as it's only saved for party format mons and is undocumented
for anything besides affliction flags
2018-12-02 21:23:10 -08:00
Kurt
ec4088b1fe
Cleanly lay out hgss swarm data
2018-12-02 14:46:17 -08:00
Kurt
77a4691a58
Add remainder of relicanth swarm data
...
https://projectpokemon.org/home/forums/topic/48702-bug-ss-relicanth-encounter-error/
Thanks finalevil151!
2018-12-02 14:39:24 -08:00
Kurt
5750eabcc8
Add user protection for moved starters
...
Closes #2191
2018-12-02 11:48:44 -08:00
Kurt
2c2e5f60b3
Fix AV message for go transfers
...
formatted now
2018-12-02 09:08:42 -08:00
Kurt
c0960fdedb
Fix hyper trained data editing
...
pb7 do have hyper training flags; add interface so code works
appropriately.
Closes #2190
2018-12-02 09:01:35 -08:00
Kurt
9e23ca6efd
Add met location to version sort chain
...
Closes #2189
2018-12-02 08:55:32 -08:00
Kurt
8c73259d9b
Update 2018.12.02
...
Update event binaries with latest from the Event Gallery
2018-12-01 22:39:07 -08:00
Kurt
0f01068d0d
Update mystery match for dppt
...
off by one
2018-12-01 10:44:38 -08:00
Kurt
8e3e218d54
Update translations
2018-11-30 17:09:40 -08:00
Kurt
add025798f
update control names
2018-11-30 17:05:13 -08:00
Ntonio36
b3b8bf1d6d
French translation update ( #2187 )
...
* French translation update
2018-11-30 15:16:42 -08:00
Kurt
f6508bec5b
Add dex size record editing via pokedex editor
...
Closes #2186
2018-11-29 21:40:20 -08:00
Kurt
660b7cc399
update articuno flag
...
turns out there's 2, seems like the second is what's used
2018-11-29 19:05:50 -08:00
Kurt
d41197828b
Misc fixes
...
apply version after adding (was previously left as Unknown version ID)
add Route 9 to rarespawn flying list (thanks @sora10pls )
2018-11-29 16:06:25 -08:00
Kurt
35a85670b3
Set height/weight dex values
...
Closes #2167
Based off sub_71001D16A0 with shortcut modifications:
* code marks new entries for evolution processing later using the low
bit (hence the << 1); in save files I can't see any bits set, but I
can't see anywhere in the code that DOESNT set this bit. Thus the
assumption of post-processing.
As noted in gameplay, a new capture doesn't set Min and Max; it only
sets it if it is above the usual sizing values.
Megas apparently don't set until seen in battle, so don't worry about
setting the other forme based indexes.
2018-11-27 22:05:36 -08:00
Kurt
15b6ef0597
Increment wild encounter count on add capture
2018-11-27 08:53:56 -08:00
Kurt
20c42a0f01
re-add colo valid override
...
Closes #2161 ; can't figure out xd one
2018-11-26 19:24:49 -08:00
Kurt
085a6e2a2b
Misc cxd format updates
...
fix friendship for xk3
fix colo fateful read
2018-11-26 19:21:48 -08:00
Kurt
76a2e4f527
Add AltForm parameter to exp/level fetch
...
Starter Pikachu & Eevee have different growth rates than their base
forms (seriously WHY?)
remove old api surface in PKX as a breaking change as adding the
parameter is necessary.
2018-11-26 16:55:16 -08:00
Kurt
5ca597d44b
Add height scalar classification
2018-11-25 19:46:32 -08:00
Kurt
5f0d1d423b
Disallow volt tackle tutor for pb7
2018-11-25 19:44:19 -08:00
Kurt
2a51eb1745
Update wb7 def
...
AV offsets were incorrect
sub_71001C79E0
2018-11-25 15:52:30 -08:00
Kurt
adeaaea0b4
Allow folder import to import mystery gifts & gp1
...
Closes #2176
2018-11-23 12:22:51 -08:00
Kurt
ab4c3fc7ac
Add go park slot delete (&all)
...
Closes #2179
2018-11-23 12:15:25 -08:00
Kurt
17b3732a7d
Rework filename / nickname checks
...
Closes #2178
2018-11-23 10:31:55 -08:00
Kurt
71f1e6238a
Misc fixes
2018-11-23 10:15:49 -08:00
Kurt
f27816e622
Add party pointer sort
...
Pulls party members (and follower index if not already in party?) to the
first slot(s) in the (current/all) box.
2018-11-22 23:02:57 -08:00
Kurt
1d27f64235
Allow currentbox to be changed if not overriden
...
Now allows modifying/deleting 'current' box.
2018-11-22 10:55:20 -08:00
Kurt
f358c0e4cf
Handle all deviating met location string versions
2018-11-22 10:11:51 -08:00
Kurt
6a62075c47
Fix version check
...
Encounter browser entered infinite loop waiting for valid version
2018-11-22 10:10:25 -08:00
Kurt
6c0ad30b9a
Add gp1-pb7 conversion
...
Add drop to pkmeditor & drop to saveditor
2018-11-21 20:48:55 -08:00
Kurt
9cf46d5bcb
Add CP and Date to GP1 properties
...
thanks theslayer
2018-11-21 15:25:50 -08:00
Kurt
cfbdb7c26c
Add parameter-less constructors
...
Removes null check for hot path where data is actually provided
2018-11-21 14:15:48 -08:00
Kurt
95776d8520
Set default savefile to gg
2018-11-21 13:51:26 -08:00
Kurt
03dd61bc58
Reset CP on common modifications
2018-11-21 12:31:05 -08:00
Kurt
58080f36c9
Add WB7 and legality detection logic
...
Derived from WC7 with minor alterations (dynamic OT/Nickname which is
stored in the Full data). Since the 0x108 is not stored in the save
file, just keep the full data around.
2018-11-21 12:24:41 -08:00
Kurt
0cc82edc48
Reset CP on import
2018-11-20 23:57:38 -08:00
Kurt
0ebfb38717
Add Route 20 to sky encounter rarespawn list
...
Thanks @ReignOfComputer !
2018-11-20 23:00:16 -08:00
Kurt
eb6e3fbbe9
Don't reset friendship, only for this format
...
Friendship affects stats, keep current friendship when updating the
trainer.
2018-11-20 19:15:38 -08:00
Kurt
7bd3bfc52e
Update rarespawn restrictions for birds
2018-11-20 13:38:49 -08:00
Kurt
3e711acd05
Disallow egg moves in suggestions for cxd/gg encs
...
https://projectpokemon.org/home/forums/topic/48547-remove-eggmoves-from-green-learnables-move-in-lets-go/
2018-11-20 13:38:05 -08:00
Kurt
916ac84a98
Force clear EVs on showdown import pb7
...
Closes #2173
2018-11-19 18:26:46 -08:00
Kurt
ec7fc8e2f0
Fix maxgameID for pkm reference
...
threw a snag in pkm generator since it doesn't reference savefile max
2018-11-19 16:15:09 -08:00
Kurt
ba1a7c2bcf
Fix broken tests
...
rework getblank for version specific
2018-11-19 16:14:49 -08:00
Kurt
4022d7fea9
Add check for invalid pgo shiny transfer
...
Thanks @sora10pls !
2018-11-19 13:07:21 -08:00
Kurt
3841df1234
Temp workaround for cp calc precision
...
float -> decimal
https://projectpokemon.org/home/forums/topic/48524-cp-height-weight-calculations/
2018-11-18 23:14:08 -08:00
Kurt
70fe7f58ee
Remove eevee, revert porygon
2018-11-18 20:39:15 -08:00
Kurt
34f8a71ad0
Always writeback pointer data
...
User sort isn't tracked, and reorganizes pointers. Set it back always,
no harm as values should always be sensical.
Closes #2171
2018-11-18 20:32:55 -08:00
Kurt
67cc6bdead
Account for wild catch combo/lure level boost
...
Route 4 sandshrew captured at level 13 (12 is max)
+1 for now, not sure if it can go higher
2018-11-18 16:17:39 -08:00
Matt
04de361792
Update GG flag names ( #2169 )
...
* Update GG flag names
2018-11-18 16:07:44 -08:00
Kurt
65febae125
Clamp max CP at 10k
...
ingame max is 10k
2018-11-18 15:32:47 -08:00
Kurt
b818aff48a
Remove evo tree sanitization
...
Evo data doesn't provide evolution values for these, fortunately.
2018-11-18 15:25:03 -08:00
Kurt
a1cc1a95c2
Fix species fetch, add altform
...
Thanks theSLAYER!
2018-11-18 13:54:47 -08:00
Kurt
17348c1808
Add bird rare spawns
2018-11-18 10:36:28 -08:00
Kurt
1c0b2488ef
Update lapras/porygon gift locationIDs
...
Thanks Asia81!
2018-11-18 09:41:52 -08:00
Kurt
c268d5ad05
Set party format values always
2018-11-17 19:42:48 -08:00
Kurt
edce01a857
More strict egg nickname length check
...
only fishy if it was traded & within bounds
2018-11-17 18:29:05 -08:00
Kurt
029e0e0a08
Manually add rare slot locations
...
placeholder; hopefully this isn't permanent
2018-11-17 15:12:32 -08:00
Kurt
cff1ec68fd
Update filter
...
savedata.bin, not extensionless
cosmetic fix for the dialog window
Closes #2166
2018-11-16 22:17:18 -08:00
Kurt
d3534781db
Allow premier ball for captures
2018-11-16 18:59:18 -08:00
Kurt
1c26c7713f
Fix starter bypass
...
lol oops, hotfix inc
2018-11-16 18:17:01 -08:00
Kurt
e619ba41fe
Update 18.11.16
...
Update event binaries with latest from the Event Gallery
2018-11-16 17:53:44 -08:00
Kurt
013bc70ed9
Add more pb7 legality checks
...
can give nicknames to chinese mons now! Encoding looks the same
@wwwwwwzx :)
2018-11-16 17:42:50 -08:00
Kurt
a2eef9deae
Misc fixes
...
it is version exclusive; fix magikarp speed IV
2018-11-16 16:44:25 -08:00
Kurt
43ffde0918
Differentiate past gen moves with same names
...
Not sure if there'll be ones for other languages, hopefully not.
dupe checker:
var langs = new string[] {"en", "ja", "ko", "es", "it", "de", "fr",
"zh"};
foreach (var l in langs)
{
var names = new GameStrings(l).itemlist;
var dupe = names
.Select((z, i) => new {Index = i, Value = z})
.GroupBy(z => z.Value)
.Where(z => z.Key != "???")
.Where(z => z.Key != "???")
.Where(z => z.Key != "(?)")
.Where(z => z.Count() >= 2)
.ToArray();
if (dupe.Length == 0)
continue;
l.Dump();
dupe.Dump();
}
2018-11-16 15:15:42 -08:00
Kurt
ea4d9861c8
Disallow starter friendship move in learnset
...
Joycon shake only, never actually in moveset
2018-11-16 14:56:20 -08:00
Kurt
720e04ff91
Allow 7b trades to be shiny
...
remove the todo, thanks twittersphere
remove version exclusivity for puppycat (can be done on either ver)
2018-11-16 14:20:06 -08:00
Kurt
dae4a0a0ae
Add EV/AV verification for pb7
2018-11-16 14:19:24 -08:00
Kurt
7da46623b8
Ignore ball check for invalid encounters
...
Defaulting to pokeball isn't entirely appropriate
2018-11-15 18:40:08 -08:00
Kurt
ed5abbd686
Add puppycat NPC location
...
Thanks (twitter) thelostdogg!
2018-11-15 18:39:30 -08:00
Kurt
95c5ce08d5
Fix movepool suggestion for go transfers
...
needed dict references
2018-11-15 17:37:25 -08:00
Kurt
5652e76728
Split go entities and go storage, rename classes
2018-11-15 17:36:29 -08:00
Kurt
94b924fdfc
Add ingame trade IVs and random AV notes
...
exclusive maximum, not inclusive
2018-11-15 17:35:34 -08:00
Kurt
93ff395875
Add more succinct go park IV check string
2018-11-15 17:35:11 -08:00
Kurt
43a9d4eb99
Add gg evolution tree
...
turns out it was totally needed; am glad I didn't do the silly stuff of
past gen evo tables (gen6/7 is just raw evo data)
2018-11-15 17:34:54 -08:00
Kurt
22063d3907
Add ingame trade met locations
2018-11-14 23:04:40 -08:00
Kurt
6a0a6aa82a
Add methods for 7b quirks
...
nidoran m/f when sanitized with the old way show the gender symbols as
'?'
2018-11-14 22:51:53 -08:00
Kurt
bf9344087e
Update slot storage compression algo
...
now iterates for all boxes, and restores to the correct offset at the
end
update direct offset pointers to box specific (so that it can work on
gen3 rsefrlg saves if ever used on them).
2018-11-14 22:33:30 -08:00
Kurt
644fa4e929
Call slot compression
...
Doesn't work correctly (data shifted down still persists)
2018-11-14 22:20:59 -08:00
Kurt
1feecef874
Add go park summarizer
2018-11-14 22:02:01 -08:00
Kurt
fc44022836
Add gopkm block/abstraction
2018-11-14 19:34:21 -08:00
Kurt
a64d08e7e9
Add GO transfer IV verification
2018-11-14 18:25:43 -08:00
Kurt
830c2cbb29
Add GO encounter area/slots
...
Level ranges per species TBD
2018-11-14 17:40:41 -08:00
Kurt
adb6b345be
Treat GameVersion.GO like other GG vers
2018-11-14 17:40:11 -08:00