Commit graph

122 commits

Author SHA1 Message Date
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