Kurt
1b57acc6a7
Check all locks for legality checking
...
Single->All
2018-10-28 20:28:56 -07:00
Kurt
a728e97d40
Fix Butterfree lock
...
Ninetales is female
2018-10-28 20:28:02 -07:00
Kurt
7c0a74337e
Update shadow lock checks
...
Passes all 3 lock3 cases in addition to some bulk checks
(VerifyPIDResults).
Lock4 has an issue on one; will have to investigate why.
2018-10-28 20:10:35 -07:00
Kurt
4268239c12
Continue work on shadow lock checks
...
Now gets count=2 tests working
yield return new SeedFrame { FrameID = ctr + (l.Seen ? 5 : 7), PID = pid
};
used to be ctr + 6, needs to alternate even-odd
all 2 lock cases pass, but didn't make lock3's pass. Something else is
still amiss :)
break out some classes for the solidified lock objects
2018-10-28 11:15:40 -07:00
Kurt
39f98a4a94
Misc qol updates
...
Check max case for level first, then iterate upwards (eliminates inner
if)
change wc* nature to sbyte (update comparisons, 0xFF too magic-y)
use Rand.Next(x) instead of (0, x)
2018-10-27 21:59:31 -07:00
Kurt
ed3699fbb4
Update Ho-Oh mattle check
...
More languages than Italian have a rule-breaking name. Rework checks a
bit
Flag eggs more accurately
Update force hatch to move Link Trade met location to Egg Location
fix Ho-oh -> Ho-Oh text strings (correctness is key!)
2018-10-27 16:06:06 -07:00
Kurt
a3e7c4837e
Rewrite trade OT/Nick verification, g4 shuckie
...
Shuckie in HG is not the same as Shuckie in SS.
Use the relatively-recent Nick/OT properties instead of digging through
the encounter table & strings. Ends up being slightly faster.
Thanks theSlayer!
https://projectpokemon.org/home/files/file/3048-kirks-shuckie/?tab=comments#comment-1424
2018-10-27 13:37:03 -07:00
Kurt
ed180f1b5f
Allow traded eggs when checking g6+ receivability
...
As noted in the EncounterEgg generator, Gen6+ update the origin game to
the OT's when hatched.
Thanks Zaskarel!
2018-10-27 09:44:47 -07:00
Kurt
f91a1c1d31
Add gg species / maximum placeholder
...
Will eventually have to fill these in during gg update
pretty sure they've revealed all the new species; total move/item count
still unknown
2018-10-27 09:08:39 -07:00
Kurt
359a529870
Misc updates
...
Move some logic around, fix style warnings
2018-10-27 08:53:09 -07:00
Kurt
e8ad1e227f
Update shadow lock table
...
Thanks @ijuintekka ! Closes #2148
Will check later for commented out tests that should pass.
May end up turning on the first-shadow-lock check feature prior to
release.
2018-10-26 11:14:42 -05:00
Kurt
3d0d8fa649
Add first shadow lock check
...
Currently toggled off, can be optionally toggled on (I'm not sure that
it's perfect? Random save files have stuff flagged since they don't
match the lock; will have to investigate later)
2018-10-21 21:07:33 -05:00
Kurt
8c4a17335f
Add first shadow lock test method
...
Everything should always pass the first lock check; will add shortly to
any cxd encounter checks
2018-10-21 20:55:02 -05:00
Kurt
c0aae6ab78
Add cxd lock check info & begin troubleshooting
...
commented out test calls = not working
will have to debug in more detail later; the first lock is always
working at least.
data sourced from
https://github.com/ijuintekka/Eligor/blob/master/Eligor/Spread.cs , not
sure if it's perfect.
can't cleanly condense deviating team appearances as double-shadow leads
can't be selectively encountered. didn't feel like modding lockfinder's
recursive algo to be smarter.
2018-10-20 21:03:04 -05:00
Kurt
06cca185e4
Add edge case for pidiv kor g4 pichu
...
Closes #2144
미케나 pichu 12179/20300
2018-10-19 22:27:18 -05:00
Kurt
93af3e61b7
Add handling for Mt Battle Ho-Oh (italian) edgecase
...
https://projectpokemon.org/home/forums/topic/47917-colosseum-italian-ho-oh/
there's no shadow ID, so it can have both the short (transferred back)
or full name (never transferred) as CK3 without side effects.
allow 10chars in pkmeditor
2018-10-13 08:07:15 -07:00
Kurt
f7f5d78beb
Misc perf tweaks
...
hopefully resolves the image corruption issue (dont use unsafe?)
remove some linq
2018-10-13 08:02:55 -07:00
Kurt
b7acb7fa1d
Add memory rarity table
2018-10-12 17:45:52 -07:00
Kurt
e8552affca
More gb restriction relocations
2018-10-10 16:32:02 -07:00
Kurt
2db8daa07b
Add specified ability no-hidden check
...
ability=0 allowed abil1/2 but not 4; catch that scenario
2018-10-10 16:31:40 -07:00
Kurt
2ad103dd46
Extract gb specific core logic to separate class
2018-10-09 21:07:13 -07:00
Kurt
0a62506e11
Micro optimization
...
wow such use
length eq to max will always pass
2018-10-09 19:28:18 -07:00
Kurt
b481358e92
Add number count check for OT/nick
...
https://projectpokemon.org/home/forums/topic/47850-legality-issue-names-with-multiple-numbers/
let me know if there's any implications for transferred content (name
reset on 1-3=>n?)
2018-10-08 17:57:34 -07:00
Kurt
47f20b8c0e
Update fixed ability comparison for 6+
...
4aa44c90c1
only updated it for gens 3-5
Closes #2136
2018-10-08 15:26:43 -07:00
Kurt
f65bc2e984
Reduce allocations for gen1 move parse
...
use shared interfaces
2018-10-07 15:36:32 -07:00
Kurt
4aa44c90c1
Update fixed ability comparison
...
ignores <= 0 now
2018-10-07 15:36:04 -07:00
Kurt
fd1009476e
Minor logic simplifications
...
reduce size of encountermoves, split into separate object
only execute gb movedata adjustments for gb
2018-10-06 19:44:50 -07:00
Kurt
4deb5080d1
Misc tweaks
...
rearrange getmove with respect to tutors; verifycurrentmoves was getting
tutor moves in levelup
extract not-found hint fetch
Expose gen5 block objects (so I can play with saves in linqpad)
2018-10-06 18:45:15 -07:00
Kurt
dc839333b7
Add more parse settings
...
allows consumers to tweak debatable settings
2018-10-06 13:43:05 -07:00
Kurt
66faa43e03
Add gen6+ fixed ability hot path
...
Closes #2135
2018-10-06 11:24:46 -07:00
Kurt
f507ab7081
Misc parse settings reorg
...
makes it more centralized for defining parsing settings, maybe can have
flags to change severity of certain preferential checks
2018-10-05 19:58:30 -07:00
Kurt
59af7fef35
Remove unnecessary properties
2018-10-05 19:57:45 -07:00
Kurt
ce9d3abbe4
Misc reorganization
...
Move logical checks using encounter data out of Core.cs
might be possible to excise legality checking objects from
Legal/PKHeX.Core so that a 'slimmer' core can be made
2018-10-04 18:52:00 -07:00
Kurt
03a05364ab
Update colo suicune ++
...
location ID was originally added by:
afde4514e2 (diff-83a32d69355a64376bc77bd07e338a33R446)
I
have another save file that uses met location 110 (like this one) so I
assume it was originally a copypaste error from Sudowoodo.
Change Trade strings to not allocate separate empty arrays.
2018-10-04 08:14:53 -07:00
Kurt
4bbb1f54b9
Change burned tower suicune encounter type
...
was initially set by this commit
0e3815b048
field test resulted in Cave/HoO type
https://projectpokemon.org/home/files/file/2953-burned-tower-suicune/
2018-10-03 16:46:55 -07:00
Kurt
5d6c932353
Spit out move learn generation on verbose
...
helps indicate any restrictions on learn source outside of the current
format
2018-09-30 11:50:08 -07:00
Kurt
db30fea38c
Remove gsc dodrio trade OT trailing space
...
Closes #2126
Rewrite trade OT validation by using the trade's OTs property
2018-09-19 19:09:29 -07:00
Kurt
d5816795bf
Remove split gsc trade levels for tradeevo species
...
#2126
Receiving a lower leveled species from GSC will evolve it away from the
required species, ruling it unavailable.
Receiving a Machoke will evolve it, so can't reuse for Haunter trade
2018-09-19 19:08:10 -07:00
Kurt
65272d460a
stricter mysterygift references
...
results in:
- precomputed GetTable() reference
- no casting when iterating for matches
- no db null checks, as they are initally Array.Empty<T>();
reduces noise a little & slightly faster
2018-09-15 16:22:07 -07:00
Kurt
df321d14b5
Reorder checks
...
most common path is now first
2018-09-15 16:13:17 -07:00
Kurt
b280ffcfef
style updates
...
should be pretty much it
2018-09-14 22:37:47 -07:00
Matt
165757d590
Fix Meteorite/Mega Cuff mixup ( #2120 )
...
Meteorite (2) is legal, Mega Cuff is not.
2018-09-12 22:10:13 -07:00
Kurt
ff25e3cbd0
Remove illegal items from legal key items
2018-09-12 21:52:09 -07:00
Kurt
d511fccdb4
Move basement key item ID to illegal group
...
no functional change, item is unobtainable but still can be 'give all'
and in permitted list
2018-09-12 21:30:24 -07:00
Matt
fc91819410
Add XY Magikarp trade IVs ( #2117 )
...
* Add XY Magikarp trade IVs
* Add Cosplay Pikachu IVs
2018-09-12 11:02:11 -07:00
Kurt
0c02a0cbbc
Add splitbreed mantine to pastgen alolanoffspring
...
thanks kr, beast ball now recognized as legal
2018-09-09 17:19:50 -07:00
Kurt
f444c41ee3
Remove nick req on g5 gigalith trade
...
Closes #2114
2018-09-08 10:45:30 -07:00
Kurt
d02b87a7b2
Expose checkresult properties
...
can now check individual strings / identifiers in a LegalityAnalysis
object by:
var la = new LegalityAnalysis(pkm);
var parse = la.Info.Parse;
if (parse.Any(z => ReferenceEquals(z.Comment, LegalityCheckStrings.X))
...
should be faster than doing string.Contains
2018-09-05 21:27:52 -07:00
Kurt
1750c69b01
Update pcd version distro check
...
some events have fixed version IDs in the gift data
https://projectpokemon.org/home/forums/topic/47365-vgc-shiny-milotic-usa-pkhex/
2018-09-05 16:09:30 -07:00
Kurt
cc20bb38d7
misc updates
...
use arrays instead of list when capacity known
use enums for const decoration
remove unnecessary aliases
2018-09-01 19:55:08 -07:00
Kurt
91c37ab573
Update legality check message string style
...
V### names weren't enjoyable to work with; use similar verbose style as
the program message strings.
updating the translation files with the remapped variable names shortly
remap list: https://pastebin.com/jybkVDAK
2018-09-01 14:11:12 -07:00
Kurt
1fe304e78f
Rework mg nick/lang checks
...
add common interface
https://projectpokemon.org/home/forums/topic/47295-bug-event-golduck-name-not-matching-species/
2018-08-30 18:09:52 -07:00
Kurt
c6e4c39bc5
Fix gen1 single chain for gen2 tradeback scenario
...
invalid mon -> make sure array is big enough for later move parsing
https://projectpokemon.org/home/forums/topic/47283-unhandled-exception-when-importing-set-from-clipboard-after-opening-gen-i-save-file/
2018-08-29 21:58:44 -07:00
Kurt
ebae14e6ad
Add unnicknamed forced languageID wc7 handling
...
https://projectpokemon.org/home/forums/topic/47295-bug-event-golduck-name-not-matching-species/
another edge case
2018-08-29 20:36:32 -07:00
Kurt
f89d9ca323
Split apart headbutt tree logic
...
precompute Index & make readonly when initializing as we use Index at
least once when initializing the treesarea
2018-08-28 15:10:08 -07:00
Kurt
f74c1e321a
no mo go to yo
...
pull goto default into 'when' so other cases continue to default
this is a goto free codebase ( ͡° ͜ʖ ͡°)
2018-08-27 20:48:57 -07:00
Kurt
4dc04cb4b9
Add pelago status value check + etc
...
0, [9,19] are set (didn't see 15), but there's also a switch case which
references all values 0-19.
these values are used by a 80 sbyte array (4*20) in the Resort.cro
remove usages of "goto case"
2018-08-27 20:44:26 -07:00
Kurt
102430ebf5
Update trade nickname check
...
reorder for simplicity, add test
Thanks ThePunish3D!
2018-08-26 18:32:39 -07:00
Kurt
4656909d98
Misc reorg
...
use shared class for pk1/2 setnotnicknamed
fix extendedeurope values (copypaste from extendedAmericas)
move ball out of verifiers, move nature/movetype with ball
2018-08-26 16:29:52 -07:00
Kurt
f7b5a5579d
sync missing content
...
yay rename
2018-08-26 11:29:47 -07:00
Kurt
7f87d43c41
Add enum for ball; use in checks
...
Increases readability instead of using hex IDs
2018-08-26 11:15:32 -07:00
Kurt
6a225ad091
Add mr mime to usum additions for egg balls
2018-08-26 09:43:11 -07:00
Kurt
a9f65a4617
add lock for cross thread dictionary manip
...
could use concurrentdictionary but after reading some perf drawbacks vs
manual locks, just do it manually. regex checking is the real slow part,
whatever
add some comments to describe
2018-08-25 10:48:37 -07:00
Kurt
5fe9226c62
Ignore fixed language trades for gen4 korean check
...
Closes #2103
Thanks @Narithegreat !
2018-08-22 22:36:56 -07:00
Kurt
7ccaf8783b
Unban bred HA sableye
...
yeah totally genderless
https://projectpokemon.org/home/forums/topic/47101-gen-v-hidden-ability-sableye/
2018-08-20 20:08:42 -07:00
Kurt
d7f39ea343
Extract pkm searching to separate classes
...
search logic can now be reused by core projects
adds option to provide extra filters run at the end (prior to clone
check)
2018-08-16 20:06:40 -07:00
Kurt
eec14645ef
Lessen string length severity on egg encounters
...
Hatched eggs can have mismatched languages<->OT/Nick restrictions
2018-08-15 15:26:42 -07:00
Kurt
5514530dfb
update OT name edge case
...
traded ENG->KOR egg was getting flagged
#2094
2018-08-15 15:19:54 -07:00
Kurt
b6de41bfa7
Add OT name max length checks
...
Closes #2094
2018-08-15 14:58:55 -07:00
Kurt
bc262a7cdf
Remove Plasma Fists from unsketchable
...
Closes #2095
split out unsketchable moves (struggle/chatter) to separate array
remove trailing spaces (auto fixed by my visual studio plugin), add
space before comment //
2018-08-15 14:52:25 -07:00
Kurt
57c6de2825
Add nickname length check for gen>2
...
Closes #2091
2018-08-14 20:13:15 -07:00
Kurt
6edc828cc3
misc style updates
2018-08-12 19:27:11 -07:00
Kurt
6b62dd29ee
Update xy fashion edits
...
different for each gender
2018-08-08 21:27:14 -07:00
Kurt
7403c0f91a
Add more pokewalker moves
...
igglybuff wish, happiny heal bell, and the elemental punches to round
things out even though they can be tutored
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=234991
2018-08-08 17:35:06 -07:00
Kurt
279c9d4665
Fix tradeback detect for gen2->1->2 evolve case
...
https://projectpokemon.org/home/forums/topic/46909-certain-gen-i-moves-are-showing-invalid/
Thanks Raptor385!
2018-08-04 13:36:05 -07:00
Kurt
53857df647
Copy addmoves special case to individual fetch
...
see prior commits
2018-08-04 10:05:47 -07:00
Kurt
0f63b0a0ee
Allow bw movepool except for kyurem
...
workaround provided for kyurem movepool (which is same bw-b2w2) but the
AddMoves logic with form != 0 points to the form == 0 data
Closes #2085
2018-08-03 07:46:53 -07:00
Kurt
30a614484e
Update STADIUM ot checks again
...
jp: 1999 if stadium1, 2000 if stadium2
en: 2000
jp: always same OT
en: lowercase if stadium2, uppercase if stadium1
https://projectpokemon.org/home/forums/topic/46893-pkhex-bug-stadium-ot-issue/
2018-08-03 07:38:29 -07:00
Kurt
1486b7f14a
Misc style & minor tweaks
...
Remove move combobox flicker hack (no longer necessary)
Add more Array.Empty usages
cache mysterygift sizes
seal some classes
no functionality changes
2018-08-02 20:11:42 -07:00
Kurt
19a897923d
Reference original encounter for sensitive checks
...
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=234360
thanks paf!
2018-08-01 20:39:20 -07:00
Kurt
f4bfdb8311
Remove unnecessary empty array allocations
...
yay net 4.6
read more: http://justinvp.com/2015/07/20/array-empty/
2018-08-01 18:30:51 -07:00
Kurt
007ec93d85
Update trade nick check for non-nicknamed
...
Closes #2084
2018-07-31 17:27:28 -07:00
Kurt
cfa3479a4b
Add egg experience check
...
Closes #2083
2018-07-28 18:09:29 -07:00
Kurt
c46924d220
Use wcxfull version/language restriction data
...
some cards may permit being recieved on incorrect games
some wcxfulls permit games they shouldn't (tapu koko flags permit USUM
but games released after the distribution window)
lots of wcx lacking restrictions completely
tested flagging USUM rockruff & zeraora
might be worth discarding MysteryGiftVerifier and instead just using
unused fields for prior formats to supply the data.
2018-07-27 22:26:27 -07:00
Kurt
3d0a2946eb
Allow only one movepool for BW-B2W2 source
...
they're both the same, but bw's pool does not have b2w2 formes
Closes #2078
2018-07-26 21:51:11 -07:00
Kurt
c8563a3737
Respacening
...
Style guidelines, handle a bunch of files
no functional change
2018-07-26 19:34:27 -07:00
Kurt
75801e22e0
Update egg location -> encounter generating checks
...
WasEgg only checks for EncounterEgg valid locations; check for any value
instead.
2018-07-26 14:55:49 -07:00
Kurt
711157f3ea
Refactoring
...
Extract trainer pkm origin check to interface extension
2018-07-25 20:40:57 -07:00
Kurt
f0fc4b0693
remove alias'd properties
2018-07-25 19:43:02 -07:00
Kurt
f0090669bb
Update catch rate related logic
...
#2071
2018-07-24 19:33:42 -07:00
Kurt
3c4ba0d52b
Misc cleanup
2018-07-22 17:26:19 -07:00
Kurt
b97e967304
Misc cleanup
2018-07-22 17:14:22 -07:00
Kurt
c9408e6af4
Misc clean
2018-07-22 12:00:03 -07:00
Kurt
abe6ef1be3
Move ribbon verifiers to appropriate folder
...
no functional change
2018-07-22 11:50:11 -07:00
Kurt
4b0a2d90b9
Add xmldoc
2018-07-20 20:22:46 -07:00
Kurt
c9abeda508
Update stadium check again
...
#2065
2018-07-20 05:57:57 -07:00
Kurt
1ff8ebf777
Misc overload add/use
...
Some values are already computed; pass them in to overloads for quicker
execution
2018-07-19 19:38:44 -07:00
Kurt
614d2629ce
Remove unnecessary ref passing
...
object is already passed byref, don't need to repoint the reference
2018-07-19 18:09:37 -07:00
Kurt
9a91619580
Update vc1 invalid transfer pruning
...
Closes #2065 Thanks @WEERSOQUEER !
Single evo species weren't getting flagged in the evolution verification
as they early returned (species matched), just move the sanity check
before that
2018-07-19 16:42:45 -07:00
Kurt
69e7d49d03
Simplify Stadium OT Check
...
TID is always 2000 : #2065
2018-07-19 15:54:34 -07:00
Kurt
ff4ca47ebe
Remove GBEncounterData boxing
...
Interfaces implement enough detail, so can simplify
extract local methods (likely will be inlined)
less obj allocations = faster!
2018-07-18 16:37:21 -07:00
Kurt
1c75093e27
Specify altform for ranch shellos
...
1 not 0
https://projectpokemon.org/home/files/file/336-shellos/?do=findComment&comment=1290&tab=comments
2018-07-18 07:15:46 -07:00
Kurt
a100488142
add gen12 generator kadabra catch rate case
...
https://projectpokemon.org/home/forums/topic/46259-yellow-kadabra/
Thanks Cloud AC !
update misc verifier for catchrate to better indicate for
any->nontradeback scenarios
2018-07-17 16:54:23 -07:00
Kurt
fe7fea877b
Replace boolean OrderBy with DeferBy
...
orderby consumes the entire input enumerable in 'sorting' the list;
since we don't care about the order besides a yes/no, just manage the
yield order ourselves.
don't bother using this method more than the spot it's in; was a fun
exercise but other spots are set up for easier debugging
(overall flow is where->deferby->yield), could make things easier to
read but meh
2018-07-17 16:28:42 -07:00
Kurt
e4aa16f396
Fill out gen5 hidden ability banlist
...
now flags gen5 contrary serperior ;)
2018-07-16 21:53:46 -07:00
Kurt
bdb5aaee36
Ignore mismatch if explicitly permitted by prior check
...
Closes #2062
2018-07-16 16:12:19 -07:00
Kurt
7ec1cab9a7
Update gen1/2 trade generator to emit gen1 if match
...
Closes #2060
2018-07-16 15:22:40 -07:00
Kurt
0f17445ef4
Update gen3 event pidiv method check for eggs
...
closes #2057
Thanks @kamronbatman !
(nothing currently implemented uses BACD_U_S)
2018-07-14 20:19:13 -07:00
Kurt
625a77589b
Extract geolocation logic to interface
...
mixins would be nice but I guess extensions cover this
2018-07-14 10:34:34 -07:00
Kurt
83e61923f7
Add bw/2 jellicent deferral case
...
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?tab=comments#comment-233860
Thanks paf!
2018-07-13 13:48:27 -07:00
Kurt
e4e5018aa7
Extract some methods
2018-07-11 19:13:09 -07:00
Kurt
6816c2de43
Update OT affection check for 3-5 memories
...
https://projectpokemon.org/home/forums/topic/46180-oras-transfered-pokemon-invalid-ribbon/
Thanks piplupwater!
(there's no other usages of V129)
2018-07-11 17:43:48 -07:00
Kurt
8a83b9bde8
Update manaphy ability check again
...
57250823a8
covered it for format>=6, in 4/5 the abilitynumber is derived from
PIDAbility
Closes #2052
2018-07-10 21:30:13 -07:00
Kurt
f8c43d4a06
Rework gen1 trade OT handling
...
convert all dictionaries to char-byte instead of string (saves 50KB on
compressed dll, lul)
update OT string comparison for pre/post transfer specimens
Showing "TRAINER" for all languages isn't correct, just show a mapped
character
Closes #2049 , thanks @egzonqj & @WEERSOQUEER !
2018-07-10 16:45:24 -07:00
Kurt
027d898f3d
Update Yancy Curtis trade OT checks
...
Thanks paf!
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/
2018-07-10 12:37:40 -07:00
Kurt
c8897161b7
Fix gen6 evo tree resize miss
...
https://projectpokemon.org/home/forums/topic/46144-a-couple-of-new-problems-in-the-pkhex-version/
Thanks CreamatedReptile2018 !
2018-07-09 22:51:01 -07:00
Kurt
93876d98eb
Fix CanInhabitGen1 comparison
...
extracted and forgot to double check the boolean comparison when
inverting the return value
https://projectpokemon.org/home/forums/topic/46148-bug-gen-1-moves-and-legendaries-incorrectly-flagged-in-gen-2-game/
Thanks Raptor385!
2018-07-09 21:59:38 -07:00
Kurt
d45a8afef2
Remove erroneous chain trim logic
...
latter half of the method seems to do everything that is required
Closes #2048
2018-07-09 21:26:45 -07:00
Kurt
9a57469ec3
Update shedinja chain handling
...
Closes #2045
4ac92b9418
had added it; assuming to undo lvl-1 => lvl for gen3/4.
Level Up, Learn Nincada Move, Evolve to Ninjask & spawn Shedinja, then
learn any Ninjask Moves. Gen3 reverses the spawn&learnNinjask steps,
which is handled separately
Thanks @XxPhoenix1996xX !
2018-07-09 20:18:31 -07:00
Kurt
57250823a8
Add ranger manaphy ability check
...
PCD != PGT
Closes #2044
2018-07-09 17:33:31 -07:00
Kurt
6bb076aecf
Fix mysterygift hidden ability comparison
...
Closes #2047
2018-07-09 17:08:26 -07:00
Kurt
d70990f9cc
Fix SOS hidden ability <-> flawless IV count
...
3->2
https://projectpokemon.org/home/forums/topic/46142-two-illegal-pokemon/
2018-07-09 17:02:18 -07:00
Kurt
8b1ec36242
fix volbeat/illumise sport comparison
...
#2047
2018-07-09 06:28:29 -07:00
Kamron Batman
5ecd3b1875
Adds distribution for Negai Boshi Jirachi ( #2043 )
...
* Adds distribution for Negai Boshi Jirachi
* Updates negai boshi to have the proper game origins
2018-07-08 16:21:49 -07:00
Kurt
fe82fe8eab
Show language name instead of index
...
prefer to keep the '0' case as zero
2018-07-06 17:22:56 -07:00
Kurt
397de97f3c
Remove excessive references to Util.Rand32()
...
all usages besides fetching a 32bit random value should use rand.next
remove unnecessary do-while loop for calculating random EVs (always
returns 510 in total)
2018-07-04 11:30:43 -07:00
Kurt
326522c76f
Misc simplifications
...
cache splitbreed species as another class
reduce linq usage in evolution validity check
reuse egg hatch method
2018-07-04 09:15:20 -07:00
Kurt
fdc4dd2811
Fix encounter ability comparison
...
-1 is the 'no fixed ability parameters defined'
Closes #2041
(optimize abilitynumber check for early return)
2018-07-03 18:43:11 -07:00
Kurt
8e950e83b3
Rewrite ability verification
...
Closes #2040 , adds test cases:
invalid bulbasaur.wc3: hidden ability
invalid charmander.pcd: hidden ability
valid camerupt: gen3->4 unevolved mismatch
valid leafeon: pcd mismatch -> evolved now matching
should be much easier to maintain; methods are reused with less overall
nesting
2018-07-02 20:34:41 -07:00
Kurt
d11a89d52d
Move relearn required flag to checkmoveresult
...
reduce usage for non gen6+ relearn move cases
save contains result for later usage instead of recomputing the inverse
2018-07-01 21:34:17 -07:00
Kurt
7f6f7a7bad
Misc simplifications
...
reduce nesting (evo.RequiresLevelUp is checked twice, only check once
and handle path)
compact some methods
seal some classes
add a little xmldoc to exposed members
2018-07-01 19:55:23 -07:00
Kurt
c40a284174
Misc simplifications / xmldoc
2018-07-01 19:17:37 -07:00
Kurt
3674a11cfe
Misc simplifications
...
absorb verifier calls into the parsing methods
2018-07-01 17:07:29 -07:00
Kurt
bc6c361746
Reduce linq usage
...
reuse variables instead of re-fetching (pkm.Species)
add overload for HashSet<int> contains vs ICollection
merge BattleOnly to one hashset
2018-07-01 10:49:11 -07:00
Kurt
e5ac193e8e
Remove unused field
...
Encounter used to be used to determine if the original encounter was
valid; we now store the encounter object and checking is fast enough --
we don't really care to short-circuit individual verification steps
anymore.
2018-07-01 10:15:10 -07:00
Kurt
d477e19cf0
Simplify ball/catchrate lineage checks
...
should speed up egg ball checking a bit since we've already computed the
original species
gen1 catch rate, just move the chain fetch there.
2018-07-01 10:15:10 -07:00
Kurt
177604e2cb
Refactoring
...
Simplify some verifier logic
2018-06-30 15:01:16 -07:00
Kurt
aa3b64dc6d
Simplify ball check logic
...
fetch a single result and add it to the analysis
can probably remove the GetLineage call since the encountermatch stores
the original species
2018-06-30 10:34:09 -07:00
Kurt
77aed3ea14
Adjust levelmin on single evochain
...
Early return wasn't adjusting the minimum level; closes #2035
2018-06-27 17:41:53 -07:00
Kurt
3cf78ff3a2
Permit metronome for Pokewalker Cleffa
...
Closes #2033
2018-06-25 19:15:37 -07:00
Kurt
fba8adb32f
Add XY wild undiscovered egg group IV check
...
Closes #2025
add misc updates/simplifications (personal stuff used in pkNX)
2018-06-24 21:55:00 -07:00
Kurt
09c96558ea
Disable gen2 chain clamp
...
not sure of the implications, but fixes #2031
might have to rework this method to clean up the optional params if
things are misbehaving
2018-06-24 08:02:22 -07:00
Kurt
e29cf2a903
Rework secondary check flow
...
Checks.cs initially started out small, but over the years it has grown
to handle multiple types of checks. With all these checks next to
eachother, it's hard to see the overall groups. Splitting them up
(potentially further?) allows for more focused maintenance &
understanding.
Not sure if I'm happy with the overall bandaids used (checks no longer
done within LegalityAnalysis so variable repointing is excessively
used), but I'm happier the way it is now compared to the huge Checks.cs
2018-06-23 22:00:01 -07:00
Kurt
ea6842e5eb
Refactoring
...
improve readability
2018-06-23 12:37:01 -07:00
Kurt
0d3c6eef74
Refactoring
...
Relocate fixed OTs to core (iencounterable & checks now reference same
values)
2018-06-23 09:49:04 -07:00
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
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