Kurt
be285917b9
Update ingame trade data
...
https://projectpokemon.org/home/forums/topic/44726-bug-in-game-trader-pokemon-flagged-illegal/
Thanks Jimmy Cerno!
2018-04-07 12:34:06 -07:00
Kurt
caa32c1516
Add alolan evo species check
...
can't change to a local variant form if it was originally obtained as a
non-variant form (no evolutions!)
2018-04-06 21:46:27 -07:00
Kurt
d794e71175
Extend contest-affection check to pre-gen6 transfer
...
Closes #1881
Thanks @ijuintekka !
Thanks @sora10pls !
2018-03-28 16:07:03 -07:00
Kurt
5b4b6e4158
fix ability comparison
...
a==a obviously, need to check against the current ability
2018-03-27 09:02:56 -07:00
Kurt
a25425a277
Add pcd ability mismatch edge case
...
yay set PID but nah lets force an ability that doesn't agree with the
PID
https://projectpokemon.org/home/forums/topic/43724-gen-4-events-flagged-as-illegal/
2018-03-26 23:23:27 -07:00
Matt
ff675ed6e5
Detect event contest affection boost ( #1880 )
...
* Detect event contest affection boost
* Re-order check
2018-03-26 10:43:42 -07:00
Kurt
a24e5aa742
Update personalinfo usages
...
less temp array usages, add methods for cleaner understanding
2018-03-25 13:54:30 -07:00
Kurt
e9a3b4acf1
Merge PIDType and bool? shiny property
...
Gen5 does not follow the same convention, 0 = non, 1 = rnd, 2 = always;
not gonna bother updating for just that one
bool? occupies 2 bytes; enum:byte is 1 byte.
should probably move validity checking logic into the IEncounterable
objects instead...
2018-03-16 19:35:55 -07:00
Kurt
274d2200a3
Correctly flag hidden7apricorn
...
[0] -> Last()
Thanks Davil!
https://projectpokemon.org/home/forums/topic/44374-bug-about-hidden-apricorn-voltorb-bronzor/
2018-03-15 19:04:14 -07:00
Kurt
94811d9052
Split up IEncounterable generators
...
Can break the filtering out into smaller methods such that the generator
can return results with less strict filtering
2018-03-10 19:51:09 -08:00
Kurt
452ffe2369
Refactoring
...
relocate location of stuff
2018-03-08 21:18:32 -08:00
wwwwwwzx
c9a54307c4
Fix WC6/7 IV generation ( #1857 )
...
https://pastebin.com/bbpS6svw
IV lock doesn't work for IV3 case
2018-03-02 16:17:14 -08:00
Kurt
89d3437d0b
prevent blue flabebe apricorn/beast
...
closes #1850
impossible SOS's were already removed from the SOS list (e.g. no slots
in the SOS table with w.Species == 669 && w.Form == 3)
2018-02-24 17:28:07 -08:00
Kurt
033d5baa06
Check EC-PID same for gen1/2 transfers
...
Fix PID->EC on gen<3 transfers
https://projectpokemon.org/home/forums/topic/43779-about-vc-pokemons-pid-and-encryptionconstant/
2018-02-08 18:47:52 -08:00
Kurt
05c4a0f286
partner cap pikachu update
...
great job gamefreak
allow current handler to be 0, remove static encounter as the data was
sneakily faked as a WC7 in the events gallery.
Closes #1817 ; still needs to update with new pikachu pid method
allowing shinies (next update).
2018-02-07 19:56:02 -08:00
Kurt
e3ca751e2c
Add dp/hgss shedinja gender glitch handling
...
not providing pkmeditor ability since Pt behaves correctly.
Closes #1813 , thanks @ultima-soul & @Lusamine !
2018-02-04 18:12:20 -08:00
Kurt
7063ea2971
Remove vc1 pay day mewtwo restriction
...
Closes #1794
2018-01-30 09:38:45 -08:00
Kurt
74f185591a
Fix shiny/nonshiny egg mysterygift link trade checks
...
thanks @Admiral-Fish for finding this case
2018-01-28 23:40:57 -08:00
Kurt
0e7350ee9e
Update korean vc string checks
...
https://projectpokemon.org/home/forums/topic/43610-legality-about-gen-2/
2018-01-27 09:45:33 -08:00
Kurt
c066df243f
Misc fixes/updates
...
Fix crystal lacking met level<->current level checks
Fix met location loading for gen2 saves (gen7 sav loaded gen1/2 pkm ->
load gen2 sav)
refactor some logic with pattern matching/consistent method names
2018-01-26 09:19:20 -08:00
Kurt
48564d7e30
Fix celebi iv check
...
update version ID as well
Closes #1775
2018-01-25 20:39:32 -08:00
Kurt
9b7b0b25d4
Flag iv<5 celebi
...
thanks @sora10pls
2018-01-25 19:34:18 -08:00
Kurt
58e374bcc6
Add celebi / more crystal legality handling
...
Closes #1772
2018-01-25 19:25:10 -08:00
Kurt
802105d22d
Allow pay day mewtwo, disallow dizzy punch
...
#1772
transfer pk1->pk2->pk7 for mewtwo knowing dizzy punch, just so we can
keep Pay Day
2018-01-25 19:17:42 -08:00
Kurt
5472f869cf
Remove some crystal vc checks
...
now legal
assuming x->kor7 sets the language val based on the cart language,
should be good for the kor crystal checks.
2018-01-25 09:14:25 -08:00
Kurt
387030e16f
Fix 7th gen pikachu altform check
...
https://projectpokemon.org/home/forums/topic/43498-bug-about-event-pikachu/
2018-01-18 13:50:29 -08:00
Kurt
17e4bdbe3a
Add pikachu7 forme nongift check
...
other branch was unhandled, flag if we have a mismatch
closes #1762
2018-01-15 17:50:33 -08:00
Kurt
fb6738f18b
Add unown 2->7+ shiny check
...
closes #1755
also:
fix vc transfer checks not being called (EncounterOriginalGB is no
longer GBEncounterData).
remove usages of GBEncounterData -- class is (as of a ~~month ago) now
never leaked out of the EncounterGenerator -- always returns the actual
encounter data as the wrapper is not needed.
simplify logic flow / references
2018-01-10 16:16:35 -08:00
Kurt
701edbc592
Remove KOR language from gen3 selection
...
add flag for non japanese lang gen3 eggs
Closes #1747
2018-01-06 22:43:48 -08:00
Kurt
5e59e20ea1
Store matched encounter generation
...
previously was only defined for gen1/2, why not all gens
can now query encounters in Core for encounters per generation via
reflection; can help group encounters for data vis or be faster than
getting individual gen numbers
2017-12-18 16:17:21 -08:00
Kurt
80baaea3b7
add b2w2 n's pokemon PIDs
...
add b2w2 fixed PID encounters (N's Pokemon), move nsparkle to this class
redo static encounter cloning
2017-12-18 15:25:40 -08:00
Kurt
816ebf6b0e
Refactoring
...
no functional change
2017-12-11 16:01:24 -08:00
Kurt
4550f656d0
Update gs vc check female
...
will be revised when/if vc-c is released
2017-12-05 15:08:02 -08:00
Kurt
88f67ebd36
fix crystal gender flagging
...
C->GS->Gen7 keeps female OT but gives GS version
also fixes wrong logic path for format2
thanks randomdice101
2017-12-05 14:43:02 -08:00
Kurt
5bc2e6da88
Refactoring
...
de-linq some areas where direct accessing is possible (list/array)
2017-12-04 20:16:54 -08:00
Kurt
9c32b36709
Don't reuse friend safari message
...
use the string format variant that has less hints.
https://projectpokemon.org/home/forums/topic/42869-bugg7-ditto/?tab=comments#comment-224365
2017-12-02 18:54:41 -08:00
Kurt
de25056275
Check SOS hidden ability minimum IVs
...
Closes #1675
2017-11-30 21:06:11 -08:00
Kurt
8c675793ba
Fix gen4 trade nickname/ot check
...
Closes #1672 by changing length check to check the correct dimension
add handling for DP english trades (localization error).
2017-11-30 18:13:30 -08:00
Kurt
dc2ef24fcd
Handle fixed lang trade name detection explicitly
...
edge cases suck
2017-11-28 22:26:31 -08:00
Kurt
1e0bf7b6ea
handle hgss volty pikachu trade lang swap
...
en<->fr
not sure what FR has for the pikachu language (is it EN? if so the code
here works fine); if not, the OT should be checked for lang detection.
2017-11-27 23:21:19 -08:00
Kurt
c5b7ebf50a
Add egg forme check
...
all other egg formes that are disallowed are checked later; check for
totems here
Closes #1667
2017-11-27 18:13:54 -08:00
Kurt
b2c3884391
Permit 5->6+ forme mismatch keldeo
...
BW tutor -> transfer up doesn't update the form
thanks @wwwwwwzx !
2017-11-26 22:19:27 -08:00
Kurt
d1bae13250
Add flagging for crystal transfers
...
users should know better but best to know
allow gen2 female when from crystal
2017-11-24 18:19:16 -08:00
Kurt
b8a5657d5a
misc tweaks
...
pull out transfer locations to const references
add vc2 & crown beast/celebi met location suggesting
add vc2 crystal sensitive detection
add 2 more usum trainer stats (thanks holla!)
2017-11-22 21:45:30 -08:00
Kurt
d5411f1453
Add nickname flag override for encountertrade
...
closes #1649
2017-11-22 08:11:53 -08:00
Kurt
f25b4fea9c
Add forme range check method to personalinfo
...
relocates logic to better location
2017-11-21 18:32:27 -08:00
Kurt
a570d13dc5
Quacklin’ edge case
...
can't be bothered remapping the input file to match encoding/decoding
tweaks. best to just handle this one case.
2017-11-19 19:37:25 -08:00
Kurt
6394dac19f
Rework mysterygift pkm sprite generation
...
don't bother converting to pkm then generating the sprite off that; use
the overload with int/bool
removes sav/pkm dependency for generating gift descriptions, and
standardizes the names a little. maybe a PKMBase interface would be
useful...
2017-11-18 11:34:23 -08:00
ReignOfComputer
69f11ec3bc
Flip Valid Trade OT Compare Operator
...
Related:
https://projectpokemon.org/home/forums/topic/42528-bw2-in-game-trades-yancycurtis-20171117/
2017-11-17 23:57:55 +08:00
Kurt
025b8da52c
Flag invalid forms on sav compatibility check
...
closes #1615
2017-11-16 14:30:18 -08:00
Kurt
725d094a0d
Add dusk form rockruff check
...
Repurposes "alolan only form" to specify that the form cannot be
obtained with the current game of origin.
Closes #1611
sorry for butchering any translation
2017-11-15 16:28:47 -08:00
Kurt
5fbf331827
Fix trade evolution check
...
incorrect behavior; check for milotic case if appropriate first
Closes #1609
2017-11-15 10:11:05 -08:00
Kurt
897ed84933
update milotic specific evolution checks
...
verifier: return true if detectably traded
check: invert condition to skip out if it is verified traded
2017-11-15 08:36:09 -08:00
Kurt
e6c68a8fc9
Add heavy ball permissions for USUM
...
heavy ball now works in USUM
2017-11-11 16:26:22 -08:00
Kurt
41a60dda78
permit necrozma formes 1&2
...
and 0.
was eventually reaching the Battle Megas list so insert this abort-early
detection.
2017-11-10 09:22:41 -08:00
Kurt
519e21a9bf
Permit totem mimikyu forme (not battle forme)
2017-11-09 19:26:47 -08:00
Kurt
0caa0dec72
Group forms with special battle formes check
2017-11-08 16:27:35 -08:00
Kurt
800ba6cf90
encounter additions
...
add ingame trade data
add placeholder SOS data containers
add refs to all wild encounters (pelago is same as sm)
unmark some todo's
2017-11-08 15:07:04 -08:00
Kurt
6df1f97f95
early abort on altforms < 1
...
prior generations store 0 instead of 1 for some cases
24121553b4 (commitcomment-25445089)
2017-11-06 21:08:39 -08:00
Kurt
24121553b4
Add savegame sensitive pkm legality checking
...
uses the forme count of the savefile (rather than a futureproofed
same-gen forme count)
Closes #1559
2017-11-06 19:31:24 -08:00
Kurt
0f69c1116e
Add unown gen2 invalid form check
...
closes #1565
2017-11-06 17:13:16 -08:00
Kurt
495eb26740
Rework colo starter PIDIV detection
...
force colo starters to be male only
use some c# lang features for EncounterType flags
add edge case PIDIV detection for starter gender/shiny lock scenario
adds a little documentation for those unfamiliar with the NPC PKM
generation quirks.
Colosseum Starters will now be recognized with a different PIDIV type
which is specific to them & them only.
2017-11-01 21:12:44 -07:00
Kurt
9ada593af9
add gen7 nick ot (trades)
...
#1249
todo usum table when appropriate
2017-10-28 23:04:02 -07:00
Kurt
d2ebb6340e
Add gen5 nick/OT info (trades)
...
#1249
appears b2w2 is the first game with fixed nature & nonfixed PID (based
on RoC's specimens), so can't filter by PID on those.
2017-10-28 21:43:47 -07:00
Kurt
e4319fd929
Add gen3 nick/OT info
...
#1249
2017-10-28 19:51:55 -07:00
Kurt
2c73e130af
Add gen4 nick/OT info
...
#1249
2017-10-28 19:02:18 -07:00
Kurt
a401db608e
Split trade encounter nick/OT verification methods
...
#1249
2017-10-28 13:15:51 -07:00
Kurt
933bfba8e1
Misc cleanup
...
check gen2 stadium names, use pkm.Japanese when favorable
2017-10-24 18:27:40 -07:00
Kurt
515a694afa
Add LanguageID enum
...
no functional change, just less-magic-numbers for easier to understand
src
2017-10-22 21:01:08 -07:00
Kurt
00adfda6e4
Flag Hidden Ability -> other change (hacked)
...
Closes #1535
2017-10-20 20:10:56 -07:00
Kurt
a561948371
Detect mixed->fixed gender incompatibility
...
Calculate and compare the original encounter's gender's as well.
exclude azurill gender change (only case where this can happen) by
continuing the if-else.
Add Snorunt-Froslass to FixedGenderFromBiGender.
Thanks Davil !
2017-10-19 20:56:59 -07:00
Kurt
cd6dfceb9e
Update fateful/shiny lock check gen3 wc3
...
VerifyFatefulMysteryGift wasn't hitting for WC3's (g.Format == 3);
simplify that branch and reintroduce the shiny check as a separate
method
Thanks Davil!
2017-10-18 18:18:23 -07:00
Kurt
e744dcc340
Add OT too short check
...
apparently some people can be this oblivious
2017-10-15 18:11:20 -07:00
Kurt
4b135902f3
Allow EV yields for gen1/2 untrained
...
abusing daycare
https://projectpokemon.org/home/forums/topic/41788-pk2-gets-dinged-for-having-too-many-evs-at-starting-levelxp/
2017-10-07 08:23:05 -07:00
Kurt
a816f4cea6
Misc event egg tweaks
...
Thanks Kirzi!
2017-10-05 23:13:48 -07:00
Kurt
059451d66e
misc tweaks
...
dictionary species check, max deviation beginnings for USUM
simplification for gen1/2 pokemonlists
2017-10-05 22:37:45 -07:00
Kurt
413cfddb6c
Misc tweaks
...
fix ranch pkm hacks being treated as valid (wrong severity)
fix xml docs relative to recent changes
move kata/hiragana charmapping to be like the Farfetch'd alias
{"'", 0xE0}, // Alias ' to ’ for Farfetch'd
{"’", 0xE0},
2017-10-04 17:21:51 -07:00
wwwwwwzx
384605b127
Misc gen1/gen2 fixes
...
- G1/G2 only have Hiragana letter he -> fixed Houndoom(ヘルガー) /Heracross (ヘラクロス) default name mismatch
- Fixed Stadium2 Farfetch'd move (Thrash -> Slash)
- Added VC Mew TID check
- Update Chinese legality strings
2017-10-04 00:14:50 -07:00
Kurt
593f31ff02
hashset contains over array contains
...
faster++, reduces some linq ToArray() allocations
2017-09-30 14:08:35 -07:00
Kurt
1e377c2963
interpolation++
...
no functional change (assumed)
2017-09-29 22:58:25 -07:00
Kurt
7974943bcf
Refactoring
...
slight simplification related to #1486
2017-09-23 16:24:22 -07:00
javierhimura
ea86032480
Comments and a fix for AllowGen2Crystal function
2017-09-23 21:00:57 +02:00
javierhimura
153206be6c
Merge remote-tracking branch 'remotes/kwsch/master' into VC1withVC2tradeback
2017-09-23 20:46:39 +02:00
javierhimura
f3743e490b
Korean language restrictions
...
Restriction happens because Korean can not trade with non-Korean GB era games
- There is no Korean release for gen 1 pokemon, included VC
- With no gen1 pokemon means any Korean gen2 is Gen2_NotTradeback, that means no gen1 origin nor moves are Legal
- Crystal was never released in Korean
- Pokemon Stadium 2 was never released in Korean, that means no move reminder for gen 2 korean pokemon
- Generation 4 can not trade between Korean and not Korean games, but Korean games can use the palpark with any language
Chinese language restrictions
There is no Chinese release for gen 1 and 2 pokemon games, VC Chinese games are in Japanese
2017-09-23 20:46:10 +02:00
Kurt
4a467fcf43
Fix gen5 HA checking for male only species
2017-09-23 07:58:55 -07:00
Kurt
496da9e4ab
Add ranch ingame trades
...
debut of the long awaited EncounterTradePID class
gist to generate trades from folder (using LINQPad):
https://gist.github.com/kwsch/d778f1f63e4c393e5440dfb0e14cfcc3
Closes #1458 , although Mew/Phione's PIDIV method is unknown.
2017-09-20 21:28:29 -07:00
Kurt
7b6d393b2f
Add Hong Kong to Taiwan countries list
...
Closes #1473
2017-09-20 15:18:33 -07:00
Kurt
c23cc81212
More usum prep
...
I think egg hatch location checking is wrong for traded eggs (see gen3
vs future games, origin game shouldn't change but could hatch ORAS egg
on XY at XY location?)
2017-09-19 21:35:30 -07:00
Kurt
772f7d9d87
Add gen3 fateful bypass
...
no flagging that it's missing (via ingame clearing), implying that it
was traded to RS to hatch.
Thanks @kamronbatman !
Closes #1469
2017-09-19 19:18:13 -07:00
Kurt
6611e874c3
more usum prep
...
species added requires the 'latest personal table' reference to be
USUM's; the other referencs for .SM are fine as there's no possibility
to have a species ID high enough for it to matter.
2017-09-18 22:36:06 -07:00
Kurt
aa3393e5b2
Misc languageID legality checking update
...
Checks for max language ID on transferred pkm (gen5 pkm on gen7 can't
have CHS/CHT etc)
handles edge case for JPN B/W ingame trades
update pk5->pk6 transfer logic to bump langID 0 to 1.
Thanks HaxAras & Britty for providing samples!
2017-09-15 17:43:31 -07:00
Kurt
387d9375c3
Refactor split gender breeding logic
...
Inherit Levelup moves & hidden ability (gen5) issues addressed
2017-09-14 18:52:34 -07:00
Kurt
4f9dc69504
misc kor improvements
...
pk2 objects now detect if they are korean or not
2017-09-10 22:30:41 -07:00
Kurt
ddf55ee75a
Improve gen1/2 invalid string detection
...
also spit out recommended TID/SID for c/xd starters
Closes #1443
2017-09-07 21:42:05 -07:00
Kurt
423be8b2c0
Add VC1 tradeback shiny check
...
tradeback implies it was transferred to GS for a bit, thus had to be
transported with the new transporter
2017-09-06 20:02:41 -07:00
Kurt
cbda637981
Remove old (GF fixed) shiny correlation
...
Transporter was updated
2017-09-06 09:12:56 -07:00
Kurt
d3ebbffb79
Add wordfilter legality checking
...
WordFilter checking is enabled by default, and is absolutely slow (regex
checking 3,800 patterns for 3 different strings). Utilize a dictionary
to store previously computed values. Seems to alleviate the massive
slow-down.
Closes #1442
2017-09-05 23:31:24 -07:00
Kurt
76ff629006
Flag invalid nsparkle
...
previously would only flag if it was missing on npokemon
also fix gen5 traded egg locations
move egg ribbon verification to the new class
2017-09-05 20:32:07 -07:00
Kurt
47ca69f92b
Legality edge case fixes
...
Some incorrect IDs, some additions (unbreedable hidden abilities in
genV)
https://projectpokemon.org/forums/forums/topic/41407-pkhex-legality-errors-on-gen-6-updated/?tab=comments#comment-219459
2017-09-05 18:28:38 -07:00
Kurt
c98b0ab0b3
Refactoring
...
Split some large methods into smaller pieces
2017-09-04 18:55:15 -07:00