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
Kurt
6cff642ff1
Skip format check on pk* init
...
also remove ck3/xk3 no-op call (no encryption for those formats, like
bk4).
2018-06-04 20:25:54 -07:00
Kurt
27e917551f
Simplify conteststat editor usage
...
make consistent with interface names
2018-06-02 22:04:32 -07:00
Kurt
ae3b6a7fa1
Simplify IContestStats usage
...
remove new[] creating for checking if any contest stats exist
(HasContestStats)
2018-06-02 21:19:03 -07:00
Kurt
ab393e1f99
Rework set PID-ability checks
...
Closes #1979 , adds test cases.
2018-06-02 13:22:52 -07:00
Kurt
15b5de11c0
Handle hatched wc3 metlevel oddballs
...
Closes #1978
Met Level at 5, when hatched ingame is reset to 0.
2018-06-02 07:50:48 -07:00
Kurt
e0aa1934e7
Update translations
...
yield the Box Sort/Modify/Delete menustrip
2018-06-01 19:10:05 -07:00
Kurt
d724dffcc3
Update translations
...
Add secret debug hotkey to trigger update of translation files
2018-05-31 22:40:55 -07:00
Kurt
89f95c20af
Update 18.06.01
...
Update event binaries with latest from the Event Gallery
2018-05-31 21:43:20 -07:00
Kurt
1d9795f774
Fix batch modify filter bool
...
rename methods for clarity
Closes #1977
2018-05-31 19:59:05 -07:00
Kurt
f237476ccc
Add nickname reset modify
...
nickname reset clears except for encountertrades (some have fixed
nicknames).
remove untraded check for HT memory verification, has to be traded if it
has a HT memory.
2018-05-31 19:49:47 -07:00
Kurt
e82dcdb124
update memory captured check
...
gen5 landorus witnessing another species should use gen6
https://projectpokemon.org/home/forums/topic/45424-landorus-memory-flagged-as-illegal/
2018-05-30 21:50:11 -07:00
Kurt
01c36bb3ad
Update control anchoring & form minsize
2018-05-28 16:40:36 -07:00
Kurt
5475da05c3
entree forest updates
...
clamp species list based on savefile
fix form control index set
remove slot from list (avoid duplicates, there's 530 slots and both
games have more than that available).
Closes #1974
2018-05-28 12:49:41 -07:00
Kurt
4b8cb9b8fb
Add entree forest editor & randomizer
...
ezpz
(clear trailing spaces from entree forest comments)
2018-05-28 08:26:52 -07:00
Kurt
2061f23e26
Misc simplifications
...
fixes suggestion requests for invalid gameversion pkms
2018-05-27 17:57:45 -07:00
Kurt
c31ab63a1a
Initialize mgdb for tests that need it initialized
...
don't initialize multiple times
2018-05-27 15:57:28 -07:00
Kurt
f2f2b8aa00
Toggle fateful for xd wc3s
...
created as pk3 thus the xk3->pk3 setting fateful has already happened.
#1972
2018-05-27 15:04:21 -07:00
Kurt
a57cdb5f48
Update fateful handling
...
#1970
add files as test cases
2018-05-27 14:38:03 -07:00
Kurt
730709b33b
Add entree forest abstractions
...
make cryptarray public
2018-05-27 14:19:19 -07:00
Kurt
4c1e014a53
Fix mgdb viewing cxd gifts
...
Closes #1972
2018-05-27 14:16:56 -07:00
Kurt
7278b2486a
Fix filter comparison
...
filtered out != filtered to
want to check if the filter matches the data.
2018-05-27 12:27:44 -07:00
Kurt
ae27c10dc2
Misc cxd fixes
...
#1970
2018-05-27 12:18:27 -07:00
Kurt
1b8fe201c0
Misc simplifications
...
Simplify some pkmeditor logic, pull out togglemarking
2018-05-27 10:24:28 -07:00
Kurt
6a3b422a14
Fix xd fateful gift pkm
...
stored as wc3's, make "Version" from IVersion rather than int so that
"WasXD" recognizes it.
Update handling for fateful encounter trade-away cases.
#1970
2018-05-27 10:11:01 -07:00
Kurt
ec2816379e
Restore unk mystery gift message
...
no match & fateful -> 'hey maybe pkhex doesn't know about this one yet'
2018-05-27 07:01:46 -07:00
Kurt
98895bd365
Ignore fateful as xk3 if not a shadow
...
Duking etc trades
Closes #1970
2018-05-27 07:00:07 -07:00
Kurt
f7a61cf72c
Flag version exclusive trades with incorrect ver
...
Closes #1969
2018-05-27 06:59:27 -07:00
Kurt
e6765d3691
Flag langid=0 when appropriate
...
only jpn bw ingame trades can lack a languageID.
skip language checks for pk1/pk2 as they have no language stored.
2018-05-26 14:40:02 -07:00
Kurt
05e10860ed
Flag gen5 origin footprint ribbon if Δlvl<30
...
Closes #1965
Also fix vc transfers ignoring some restrictions (ie footprint ribbon on
lvl 16 magneton, was incorrectly allowed as gen < 6).
2018-05-26 09:58:01 -07:00
Kurt
3eecb0cf8f
Switch to textchanged
...
more responsive; checking legality won't update (could always force
validation to all...)
2018-05-25 20:42:56 -07:00