Commit graph

5631 commits

Author SHA1 Message Date
Kurt
7a0b65e74f Add low bound range check for species not in chain
Closes #2028

Thanks @iiippppk !
2018-06-23 08:23:05 -07:00
Kurt
40d2f71e10 Sanity check suggested current moves
invalid formes can trip up gen1/2 origin encounter moves, just double
check when suggesting.

Closes #2018
2018-06-22 23:33:42 -07:00
Kurt
173c9f7904 Update evo chain trim for transfer
Now trims correctly for g3 sneasel -> weavile (gen4 having both) at
level = met level
2018-06-22 23:18:52 -07:00
Kurt
5dd58c7197 Update gen1 evo chain detect
Closes #2017
2018-06-22 22:48:10 -07:00
Kurt
b502d11428 Replace evolution check
already have evolution obj from parsing moves, use it instead
2018-06-22 21:40:41 -07:00
Kurt
76e52fa2cd Simplifications
Rearrange some logic, track decrement, remove unnecessary checks
2018-06-22 20:16:31 -07:00
Kurt
3000a8d007 Reduce linq usage
No longer recreates collections with ToArray/ToList by instead altering
the original chain
2018-06-22 19:40:17 -07:00
Kurt
346c401727 Rework initial evochain trim
push unsaved IVTotal/EVTotal stuff from prior commit
rework exposed types for evo chain
initial trim now uses much less linq

can probably redo the get initial chain to provide a species to break
on...
2018-06-22 17:59:02 -07:00
Kurt
7591f54de3 Misc updates
Add safari min flawless IVs to reroll (can expand if #2025 is required
for egg group15)
Use EV/IVTotal (faster, not linq array based)
Fix missing pumpkaboo form regression, Closes #2026
Relocate swapbits to appropriate class, unneeded in PKM.cs
2018-06-22 06:24:33 -07:00
Kurt
15593a2179 Merge branch 'master' of https://github.com/kwsch/PKHeX 2018-06-21 20:33:52 -07:00
iiippppk
cc3c47f85d Update Chinese translations (#2024) 2018-06-21 20:26:31 -07:00
Kurt
eb35d71fcc Flag East Gastrodon from Friend Safari... correctly
Closes #2023
2018-06-21 20:26:21 -07:00
Kurt
8387da64fb Disallow East Gastrodon friendsafari
Closes #2023
2018-06-21 20:22:14 -07:00
Kurt
c1f4e2a9ff Refactoring
Relocate & simplify some logic
2018-06-21 20:13:41 -07:00
Kurt
1db41c8b21 Add vc2 evo chain check
queue should be checking against none left rather than any left.
Add test cases
2018-06-20 21:43:54 -07:00
Kurt
ce667729f3 More simplifications
Can't have species == 0 or invalid gameversion; check for
EncounterInvalid instead.
Egg chain is always valid (since it is not EncounterInvalid) thus always
provide the chain.
Since these 2 are the same, simplify the logic to be shared.

rearrange some parameters for easier flow
2018-06-20 21:38:56 -07:00
Kurt
47d8220915 Evo chain Simplifications
Rename "Flag" to "Method"; isn't used besides for indicating the evo
Method.
Remove some unnecessary duplicate checks
- always >=1 in chain at start
- mostEvolved already checked for > maxspeciesgen
2018-06-20 19:42:45 -07:00
Kurt
bfdd7247ba Rewrite most evolved species check loop
Use queue collection rather than rebuilding with .Skip(1).ToArray()
move size checks to dequeue location
2018-06-20 18:25:23 -07:00
Kurt
2ef12f635f Continued refactoring
move sylveon check to requireslevelup
need to make this generic for transfer species gaps
2018-06-20 15:59:57 -07:00
Kurt
c5ea35a1a1 Continued refactoring
Move chain prune from Analysis to evochain spawn
2018-06-19 17:50:10 -07:00
Kurt
9728d7a09f Fix gender formes carrying over to others
Closes #2022
Thanks @iiippppk !
2018-06-19 17:27:44 -07:00
Kurt
f10cc183a7 Refactoring
Relocate Evolution Chain logic
minor reorg of check arguments for nesting / grouping
2018-06-19 17:14:22 -07:00
Kurt
f3ef122214 Refactoring
continued simplification

core.cs is pretty much the following:
misc one-off junk
moveset fetch
encounter table fetch
evo chain fetch

might eventually move things around a bit further for cleanliness so
that misc meta junk is the only thing that remains in core.
2018-06-18 21:56:30 -07:00
Kurt
c6e968c77d Only generate encounter moves if species unmodified
Closes #2020
2018-06-18 21:54:32 -07:00
Kurt
0c06506a8d Refactoring
remove some unneeded logic
moves in gen1/2 can be reordered, sequence match should be intersect
(full) contains match.
2018-06-18 19:57:32 -07:00
Kurt
2e1081086d Refactoring
Split evolution data specific DexLevel properties from DexLevel

use IReadOnlyList instead of IList for covariant collection
2018-06-18 19:10:21 -07:00
Kurt
bff5a3cd9a Add altform permissive checks for gen1/2
Should always be zero, but necessary for regional variant evolutions
needing to be excluded
#2018 (not fixed yet)
2018-06-17 21:54:04 -07:00
Kurt
2813b19be0 Fix out of bounds species fetch
provide max species ID rather than table length check; this[>#] can
return forme specific values which do not relate to the species

#2020
2018-06-17 21:52:52 -07:00
Kurt
7791020cb4 Check format before trim
Closes #2016
2018-06-17 21:01:07 -07:00
Kurt
a6915030ca Remove duplicate dict entries
oops
2018-06-17 20:51:02 -07:00
Kurt
33eded08d1 Add missing learn/personal references for pairs
Closes #2019
2018-06-17 20:49:03 -07:00
Kurt
9a0ddf1f5e Handle farfetch'd ’ nickname check case
https://projectpokemon.org/home/forums/topic/45837-g3%C2%A0farfetch’d-nickname/
Thanks Davil!
2018-06-17 11:34:39 -07:00
Kurt
e91cfeb707 Handle pre-VC2 era tradeback status for suggestions
#2015

Can't get a shiny female 1:7 f:m gender ratio transfer after the VC2
bank update; need to respect that when generating random moves for the
pkm by removing any gen2 evo chain data.
2018-06-17 09:55:07 -07:00
Kurt
dd57558e98 Update moveset suggestion for vc origin
Closes #2014
2018-06-17 09:39:01 -07:00
Kurt
d15acea6b4 Flag KOR on Battle Revolution savefiles
Closes #2013
2018-06-17 09:27:14 -07:00
Kurt
3a7a257a01 Add export current box to showdown pastes
Rework box fetch in SaveFile to be a little more flexible, can now fetch
a single box

Hold control to... export all boxes :)

I wonder if there's a decorator that showdown skips when importing lines
that can help differentiate the boxes since there's the potential for
hundreds output (ie comments in a showdown set?) doubt it.
2018-06-16 21:56:16 -07:00
Kurt
1ab7acc958 Ignore empty pkms when exporting a list of sets
chain method calls
2018-06-16 21:46:43 -07:00
Kurt
39ce7e56e4 Cancel boxmenu if not clicking tab
contextmenu is set causing it to open for anywhere in the box area
that's white
only show if right clicking the tab at the top
2018-06-16 17:03:22 -07:00
Kurt
cb0ae14a50 Set gender for gen3-5 reroll
#2012
2018-06-16 13:27:50 -07:00
Kurt
b81cad84ab Fix arg providing for GetRandomPID call
Closes #2012
2018-06-16 10:51:53 -07:00
Kurt
efe77e3b5c Don't clear unown forme on pk4->bk4
Closes #2011
2018-06-16 10:29:36 -07:00
Kurt
c3cbb0fc44 Fix gen2 vc1 evo prune
https://github.com/kwsch/PKHeX/issues/1999#issuecomment-397818377

evo chain had already pruned tyrogue due to level 20 transfer level
(lvl19 tyrogue not possible), can't just remove last entry. Remove any
entry after the g1 species.
2018-06-16 09:06:12 -07:00
Kurt
be3eeb4036 Hide batrev trainer/inventory buttons
Closes #2010
2018-06-16 07:52:45 -07:00
Kurt
f8a1d26694 Fill empty ability values with ability1
update handling that checked for this case to instead check for
equivalence to ability1 instead of 0

was generating a PGF with ability[1] = 0, which is not correct. Just fix
the binaries to behave and get rid of all the workarounds since future
tables don't have missing values.
2018-06-15 23:41:07 -07:00
Kurt
88b5277062 Misc mg gen fixes
Fixed gender PCD with dynamic PID needs to check gender validity (some
korean card had it)
Fixed wc3 generated force-hatching to unflag fateful for non-frlg and to
hatch on the designated game just in case

stuck on a PGF issue where ability doesn't match PID, need to revisit
that PID creation...
Card #: 0002 - がくえんさい×ポケモンプレゼント
2018-06-15 22:00:51 -07:00
Kurt
b0b2fb5d4b ShowdownSet parse refactoring
Rework line parse to be simpler
Closes #2009 , now handles case
2018-06-15 20:30:23 -07:00
Kurt
49c36e2173 Misc legality gen tweaks
bypass savefile language checks if no language set
fix gen2 static gift egg that is really a wild encounter -- egg flag was
set & not cleared -> no wild pkm, bad! Adds test case for this.
(probably isn't a better place to clear, enforces only once per
generation rather than on every yield/end of every static yield)
2018-06-15 18:47:17 -07:00
Kurt
6fc33f4b19 Fix level fetch arg order 2018-06-15 16:53:28 -07:00
Kurt
cb5e1239ae Refactoring
Extract game value limits
Rearrange GameVersion util logic extensions
add better gameversion fetch for generator (equivalent to pkmeditor)
2018-06-15 16:00:28 -07:00
Archit Date
b9f4a554f0 Reset IV backcolor if pkm cannot be hypertained (#2008)
fixes #2007
2018-06-15 13:45:56 -07:00