Kurt
39daa6c65d
Split GetIsLevelUp to individual versions
...
static the GameVersion reference as we're excessively using it in the
switch cases, for clearer reading
2018-06-12 22:15:06 -07:00
Kurt
b9652a835d
Weaken gen2 egg species checks for pre-evos in gen1
...
VC can inhabit both gens
Add Tradeback setting setter for legality tests
Add GBCartEra setting setter for legality tests
Thanks @iiippppk !
2018-06-12 18:46:31 -07:00
Kurt
64a64b8ce1
Add special handling for gen1 encounter move fetch
...
Begin splitting of GetMovesLevelUp per-gen into per-version
2018-06-12 18:35:56 -07:00
Kurt
33fb382c3c
Hide ResetMoves for Gen1/2
...
Legally resetting data is too much of a pain, just hide the option.
Closes #2000
2018-06-12 17:54:21 -07:00
Kurt
c3314f1b8e
Remove Mirage Island met location from valid gen3
...
Although Pokémon Ruby, Sapphire, and Emerald include a location pointer
for "Mirage Island", any Wynaut caught here will simply display "Met on
Route 130" in their summary. This is because the player is technically
still on Route 130's map.
Can't get anything with that location ID as an egg or as wild
2018-06-12 16:41:44 -07:00
Kurt
5ad8a4e5a4
Return version-sensitive moves for nonspecial fetch
...
Closes #1998 , GetValidMoves returns moves without sensitivity for
current version for pre gen6 moves... can resolve that later.
2018-06-11 20:23:28 -07:00
Kurt
fb6e28112a
Update emerald event flags
...
0x60 + RS offset, add some E exclusive flags (frontier)
update const a little
Closes #1997
2018-06-11 16:27:42 -07:00
Kurt
4778c9c758
Fix RSBOX checksum
...
Closes #1995
clean up variable names
2018-06-11 09:12:41 -07:00
Kurt
32a83c16f1
Add egg relearn/move sequence match check
...
#1994
2018-06-11 08:13:50 -07:00
Kurt
e5a2e12fa5
Check held items for pk2 eggs
...
Closes #1993
Thanks @iiippppk !
2018-06-11 08:05:15 -07:00
Kurt
242fc295b4
Handle smeargle egg case
...
#1993
Just use precomputed array since it can only know sketch
2018-06-11 08:03:10 -07:00
Kurt
9faba26e90
Add egg base move branch
...
Closes #1991
Thanks @iiippppk !
Improve pk2 version detect to better provide gs vs c egg base moves
2018-06-11 07:23:48 -07:00
Kurt
1d24e459f9
Fix box data report out of range gen1/2
...
Closes #1992 , val was -1
2018-06-11 06:36:43 -07:00
Kurt
ca9f21fa49
Fix base move count vs inherit check
...
Closes #1990
Thanks @iiippppk !
2018-06-10 20:26:59 -07:00
Kurt
c9d0811281
Handle evolutions-in-eggs case for past gen (2/3)
...
Closes #1989
Thanks @iiippppk !
(eggs don't always come at level 1, past gen has level 5)
2018-06-10 19:38:06 -07:00
Kurt
c9181963f2
handle pichu array->interface when adding egg list
...
egg fetch returns array, need to add to the collection
force everything as readonly to prevent adds outside of the constructor
Closes #1988
Thanks @iiippppk !
2018-06-10 19:07:55 -07:00
Kurt
e105f2b589
Refactoring
...
fix b2w2 egg base levelup reference (not bw, b2w2!), doesn't really
matter much except for better indication (possibly?)
remove some unnecessary linq ToArray() calls
continue relocating code out of Core
2018-06-10 17:55:03 -07:00
Kurt
d94fc65367
Refactoring
...
continued reduction in Core size, simplify/clean up usages
2018-06-10 14:45:25 -07:00
Kurt
c6765fd26b
Remove ORAS arg
...
...
2018-06-10 14:07:36 -07:00
Kurt
19cb2cda2e
Remove MAX giveRegular for ORAS
...
level 3 is the legitimate max
2018-06-10 12:27:53 -07:00
Kurt
75f4318335
Split S/MAX from base 1-3 levels
...
ORAS can unlock MAX & Full Recovery flags, add special handling for that
2018-06-10 11:28:20 -07:00
Kurt
29c610870e
Rename opower6
...
match type
2018-06-10 11:03:14 -07:00
Kurt
3f1195a2d4
Refactoring
...
Remove duplication of levelup fetch
relocate some stuff to a more appropriate area
2018-06-10 10:44:05 -07:00
Kurt
3b84f33776
Misc changes
...
Revert linq chain
Closes #1987
change encountermatch comparison (never null), add comparison for vc
output
remove unused strings (will get removed from translation files in later
update)
2018-06-10 00:26:33 -07:00
Kurt
26f45d44d0
Rework OPower editor
...
https://projectpokemon.org/home/forums/topic/45683-pkhex-made-odd-number-of-zygarde-cells-usm/?do=findComment&comment=232476
Thanks @sora10pls for documenting what each flag does
2018-06-09 21:04:34 -07:00
Kurt
021ac7c54f
Refactoring
...
where!contains -> except
relocate special tutor
2018-06-09 16:04:06 -07:00
Kurt
79f0b3665f
Differentiate C/XD cologne IDs
...
https://projectpokemon.org/home/forums/topic/45685-pokémon-xd-and-scent-bag/
Thanks Asia81!
2018-06-09 12:44:30 -07:00
Kurt
cb4761403a
Relocate oras setopower data to sav6
2018-06-09 12:32:55 -07:00
Kurt
7ec7ca312d
Don't increment cell count for usum on giveall
...
show cell total for usum
2018-06-09 10:07:35 -07:00
Kurt
f351e9550f
Add contest stat check for VC
...
https://projectpokemon.org/home/forums/topic/45681-virtual-console-pkm-with-beauty-stats-marked-as-legal/
Thanks yologgebolo!
2018-06-09 08:39:16 -07:00
Kurt
b5962d6b50
Emit final showdownset from lines if present
...
Closes #1986 , was missing a check if there were any lines in the list.
Calling the method with an empty line set would have yielded an empty
set (behavior unknown). Although calling the method without lines is
unintended, should handle behavior correctly now.
Fix yielding an empty set if the first line(s) are empty.
Add test to verify parsing works for multiple lines.
Add test to verify parsing yields nothing for no lines.
Add test to verify parsing yields nothing for empty lines.
2018-06-09 08:12:47 -07:00
Kurt
ee3fda46f2
fix method name typo
2018-06-09 08:04:40 -07:00
Kurt
3239305ce5
Refactoring
...
GetMoves logic can now be expressed concisely with the prior refactoring
2018-06-08 20:37:35 -07:00
Kurt
a494a6b37a
Don't generate move check order for an invalid ver
2018-06-08 20:36:52 -07:00
Kurt
9b43677bb9
Refactoring
...
pull out some move data fetching to separate class
add methods to quickly fetch if the move is learnable via that method
eventual plan is this:
replace
'fetch all possible moves then look within' move validation
with:
'peek if learnable, and get info how' move validation
advantages:
- returns game the move was learned in and the level (if appropriate)
- infinitely less object creation (garbage collection)
- only looks for a given move, doesn't have to fetch everything before
checking
- faster than full fetch, can be made even faster by optimizing lookups.
subject to change :)
2018-06-08 20:10:41 -07:00
Kurt
b1cd68e3f3
Convert GetLevelLearnMove to use lazy dictionary
...
faster move lookup
2018-06-07 19:05:28 -07:00
Kurt
17553e6b6a
Fix parse exception
...
deleting tid/sid text -> int.Parse("") fails
2018-06-06 21:51:43 -07:00
Kurt
1202474cd5
Defer & flag VC korean unobtainable encounters
...
Closes #1985
2018-06-06 21:49:30 -07:00
Kurt
19e9e4e761
Update form gender update
...
#1982
2018-06-06 18:59:01 -07:00
Kurt
dcdeb361f0
Handle meowstic formes
...
Closes #1984
2018-06-06 16:22:14 -07:00
Kurt
e52ae06721
Add version check
...
16 bits for version flags, should be more than enough.
should probably rework it from a packed ushort to a class...
2018-06-05 22:20:30 -07:00
Kurt
323db29374
Handle volt tackle special egg move
...
edge case turns the [] into an ienumerable, better than calling another
to-list.
2018-06-05 21:38:38 -07:00
Kurt
450d40535d
Relocate hypertraining properties to interface
...
lessen temp array creation, speed++
2018-06-05 21:31:42 -07:00
Kurt
75ff28925c
Dummy out pokespot validation
...
needs more research, nobody cares, just mark as todo and anyone can dig
deeper at any time in the future
Closes #1359
2018-06-05 19:08:31 -07:00
Kurt
94652e2c95
sync missing refactorings
...
oops
2018-06-05 19:07:27 -07:00
Kurt
e7fc30ac7a
Add mysterygift region/language restriction code
...
Closes #1317
Needs the events crew to produce serialized binaries with hash-flag data
for each generation before proceeding any further. I'm not really
interested in doing all the work for events since it doesn't impact
battle legality.
2018-06-05 18:27:08 -07:00
Kurt
fffc943668
Differentiate Colosseum DNA Samples
...
https://projectpokemon.org/home/forums/topic/45609-bug-colosseum-dna-sample-incompatibility/
Thanks KonohaDaze!
2018-06-05 17:02:22 -07:00
Matt
e7e54552db
Update text ( #1981 )
2018-06-05 10:57:38 -07:00
Kurt
a5af7a443b
Revert outer comparison
...
type check done in loop, whatever comes out of ConvertPKM is either the
desired type or null.
2018-06-04 21:32:15 -07:00
Kurt
59b4b8f755
Simplify pkm conversion
...
just loop instead of goto, let the jit handle optimization
src looks quite pretty now!
some tradeoffs made but much more maintainable now
2018-06-04 21:28:14 -07:00