Commit graph

612 commits

Author SHA1 Message Date
Kurt
de25056275 Check SOS hidden ability minimum IVs
Closes #1675
2017-11-30 21:06:11 -08:00
Kurt
2ab805ba98 Add method h safari analogues for ESV->slot 2017-11-30 19:31:38 -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
9930e8765a Add frame level checking
still WIP but should be working fairly well
2017-11-29 23:20:49 -08:00
Kurt
d3d7d7d50d Add slot level / IsEncounterable beginnings
dynamic level -> calc level
no sweet scent -> proc available (rock smash/fish)

change frame checking in encountergenerator to save which frame it was
found on (unused but possibly later can capture this for output)
2017-11-29 21:31:52 -08:00
Kurt
36894a588d Add FRLG unown frame matching
Turns out there was no documentation anywhere on encounterslot numbers
for the individual forms; some sites had overall rates.
Assuming a human filled out the encounter slots, forms would repeat left
to right until a new form takes over. Below slot numbers match the rates
when summed up.

https://pastebin.com/raw/bQt3ZMbq
2017-11-29 18:28:20 -08:00
Kurt
8f8cf5bc9a Fix tradepair calculation (link trade eggs)
returned invalid pair values for gen7 due to 2 unused game IDs between
the gen6&gen7 pairs
2017-11-29 09:21:17 -08:00
Kurt
dc2ef24fcd Handle fixed lang trade name detection explicitly
edge cases suck
2017-11-28 22:26:31 -08:00
Kurt
dd7684735a Add Frame mismatch illegal message handling
encounter will no longer be ignored as valid, will instead show the RNG
frame mismatch message.
2017-11-28 21:30:53 -08:00
Kurt
c7a59453b1 Fix frlg safari rod slot checks
tfw whole legit boxes of dratini were flagged -> now legal
2017-11-28 20:56:21 -08:00
Kurt
fb4fffffa0 Change rse feebas to swarm slottype
behaves the same as a swarm pkm in terms of proc (50% -> level ->
generate), so have it travel the same code path.
2017-11-28 19:41:29 -08:00
Kurt
0bc2ee0938 Skip scatterbug static encounter forme check
closes #1668
add 2/3 pkms provided as test cases (spewpa can be ignored, close
enough. just want an evo & orig).
2017-11-28 19:29:25 -08:00
Matt
42d6d483f2
Comment out Old Amber Aerodactyl 2017-11-28 19:10:56 -05: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
wwwwwwzx
f70dab1d19 Remove duplicates
oops..
2017-11-26 20:45:27 -08:00
wwwwwwzx
5886b3e609 ban beast ball fossils
- Add G1/G3/G6 fossils to Alolannatives
- Ban all fossils in beast ball
2017-11-26 20:38:52 -08:00
Kurt
be4d30bb6d Add pokeblock slot filtering
since there's 300 calls to rand to shuffle, I wouldn't be surprised if
there are vblanks messing up the frames

judging from my data 6 years ago (wow, still wrong, just look at the
frame offsets)

http://www.smogon.com/forums/threads/past-gen-rng-research.61090/page-35#post-4021415

looks like it happens quite erratically. may have to just override this
to return true for all gen3 safari mons as it's entirely unpredictable.
2017-11-26 20:07:38 -08:00
Kurt
187726b4af Use static/magnet pull values
reorganize a little for lead use cases
2017-11-26 16:09:24 -08:00
Kurt
22abce5e16 Update gen3 frame finder 2017-11-26 14:48:55 -08:00
Kurt
0f3529e764 Add gen3 swarm encounter slot call
via pret/pokeemerald (and pokeruby); rate is set at 50%
swarm pokemon have the ability to have 4 fixed moves, so derive from
EncounterSlot to have moves, and remove special handling from
VerifyCurrentMoves (now picked up by IMoveset pattern
2017-11-26 11:00:54 -08:00
Kurt
1162ba5b3d update bcc slot table
https://pastebin.com/Y0VRnJxu
not sure what the 2nd rand value is

still some things to sort out with RoC's PC
2017-11-25 22:28:38 -08:00
Kurt
2be84b6005 Rework encounterslot location fetch
store ref to area instead of location, useful for fetching sibling slots
from the parent.
2017-11-25 18:16:50 -08:00
Kurt
690cbaae79 Unban fossils
except for aerodactyl (old amber not obtainable)

https://projectpokemon.org/home/forums/topic/42761-fossil-legality-issue-usum/
https://www.serebii.net/itemdex/clawfossil.shtml
etc
2017-11-25 15:20:45 -08:00
Kurt
ad5e69550e Add hgss safari slot block priority bypass
allows hgss safari mons regardless of frame call (table is currently all
Slot=0).

may need separate handling down the road:
* switch slot number to an enum for slot codes (>0 = slot number, less
than -> do something else).

not something im interested in right now
2017-11-25 15:03:37 -08:00
Kurt
fbce8582c7 Add encounter slot checking
emerald silly stuff like magnet pull not implemented so some stuff may
be not matched.
2017-11-25 13:53:39 -08:00
Kurt
76903bce9f Fix gen4-6 gen4 origin encounter type defer check
only check etype if appropriate (not gen7+)
2017-11-25 09:48:49 -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
20cd29c088 remove mind blown for sm
off by one
Closes #1658, thanks @Ntonio36
2017-11-24 12:05:08 -08:00
Kurt
3483b4bb91 Clean up vc2 legality/transfer stuff 2017-11-24 10:13:42 -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
4bbe586981 block ash greninja from USUM game origin
should really be part of a 'receivable by game' check; not doing any
more of these edge cases. need card hash -> permit bits for future
cases.
2017-11-22 08:24:54 -08:00
Kurt
d834ae3ccf allow banned pokemon for BattleTreeGreat in USUM
stupid banlist removal case
master still downlevels/bans
2017-11-22 08:23:50 -08:00
Kurt
d5411f1453 Add nickname flag override for encountertrade
closes #1649
2017-11-22 08:11:53 -08:00
Kurt
9806677d5e EncounterType init update
move MarkEncounterTypeData back above the area size reduction so that
the mark-by-locationID special handling will work
prevent slottype from becoming overwritten if already defined by special
case handling

add examples provided to automated test cases
closes #1648
2017-11-22 07:52:17 -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
b2b6df7808 Shuffle encountertype loading around
add rocksmash type for cianwood
closes #1646
2017-11-21 18:32:26 -08:00
Kurt
05f2968c95 Add wormhole species to AlolanCaptureOffspring
allows apricorn & beast balls
2017-11-20 17:16:16 -08:00
Kurt
8f5fbeb504 allow pupitar hidden ability on 2->7
yay
2017-11-19 19:48:45 -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
01dacce214 Add gs transfer met location
30017
2017-11-19 19:19:35 -08:00
Kurt
ef9722153f move evochain fetch outside of location iterator
also relocate gen12 code so it only runs for gen12
2017-11-19 15:26:41 -08:00
Kurt
6d3ee54d44 Reorder case fallthrough
closes #1631
based on
5859daf1d8
any case -> reverse game order
2017-11-19 13:15:32 -08:00
Kurt
1b9d657c2f Remove double encounter slot species filtering
GetValid already filters by species
move some common non-location code out of the method; can be done for
the dexlevel fetching too -- future improvement.
2017-11-19 12:41:23 -08:00
Kurt
5859daf1d8 Add maxspecies checks for gen7
accesses arrays outside the range for the new USUM species
Closes #1631 , add test case
also adds lycanroc test cases for #1630
2017-11-18 21:50:48 -08:00
Kurt
6b281cbefe more rockruff 1 handling
y u do dis gf
Closes #1630
2017-11-18 20:08:11 -08:00
Kurt
3b5e6239de Add usum pelago encounters
nothing exclusive, but different from sm
https://pastebin.com/NhAA1vJn
2017-11-18 13:53:51 -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
Kurt
f7e20a3c43 Misc tweaks
fix roamer3 not setting IVs
fix usum z items rightmost pixel getting chopped off
use Gen* instead of GenNumber for specific cases (faster)
add WasGiftEgg location case for Gen7
remove some unnecessary array allocations
2017-11-17 22:19:23 -08:00
wwwwwwzx
f48e6f711a Unban white/orange Flabebe HA
obtainable from SOS call
2017-11-17 20:19:41 -08:00
Kurt
311e110f6b Block wild dusk rockruff
closes #1627
adds test cases
2017-11-17 20:02:01 -08:00
Kurt
61c0bf5271 Fix italian/german b2w2 yancy/curtis OT swap
https://projectpokemon.org/home/forums/topic/42528-bw2-in-game-trades-yancycurtis-20171117/
2017-11-17 08:38:38 -08:00
Kurt
5ae7c9a5da
Merge pull request #1623 from ReignOfComputer/master
Flip Valid Trade OT Compare Operator
2017-11-17 08:31:30 -08:00
Kamron Batman
d2d04075bc Replaces PCD.pkl with WC4.pkl. Tested and working. 2017-11-17 08:11:49 -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
55d8f4aa26 Add rockruff event evo edge case
different altform IDs
2017-11-16 21:04:51 -08:00
Kurt
025b8da52c Flag invalid forms on sav compatibility check
closes #1615
2017-11-16 14:30:18 -08:00
Kurt
8958646ae6 Fix game specific pair evolution comparison
US table with SN result in false; just check the even/odd for these (as
they are pair specific).
Closes #1611 , thanks @Ammako !
2017-11-16 14:20:13 -08:00
Kurt
0cfb79a3e2 handle hacked edge case input
gen7 pkm version on format5 -> exception on new int[-X]
normally caught via exception suppression but better to handle the
cause.
2017-11-15 18:13:04 -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
3832a8afd4 Fix noibat trade gender
closes #1608
2017-11-15 08:23:45 -08:00
Kurt
5e6b2f43c2 Update wild/egg generators for totem cases
so wonky edge cases
2017-11-14 08:43:04 -08:00
Kurt
8b5803781d Add bewear location
All static encounters have been found!
Closes #1577
2017-11-13 20:50:10 -08:00
Kurt
4341dc1775 Add Galactic Key to usum key items permitted
add zygarde cube reconstructs gifts, thanks @sora10pls !
2017-11-12 21:56:08 -08:00
Kurt
9b61c94402 Add ditto5 natures
thanks @wwwwwwzx for pointing this out

remove others that have encounter details forced (for totem battles)
2017-11-12 12:15:08 -08:00
Kurt
55c31cb598 Update encounters
add ability locks for sm gifts
add poipole secondary location
add magearna details
2017-11-12 10:59:23 -08:00
Kurt
54b9fa7c93
Merge pull request #1592 from sora10pls/patch-1
Update USUM static encounter list
2017-11-12 09:18:31 -08:00
Kurt
064d18c13f Add necrozma special forme moves
not present in the levelup movepool like they should be...
2017-11-12 09:17:59 -08:00
Matt
6ecc7f2efb
Update USUM static encounter list 2017-11-12 12:08:48 -05:00
ReignOfComputer
0b95f7d4b8 Porygon/Zygarde/Trainer School Encounters 2017-11-12 22:29:21 +08:00
ReignOfComputer
f1e7c0f759 Hypno Trio Encounter at Hau'oli City PD 2017-11-12 18:33:06 +08:00
Kurt
dea70bf243 Add cosmog & zygarde gift locations
thanks @architdate !
(thanks @bui for the pikachu!)

porygon remains
2017-11-11 17:24:49 -08:00
Kurt
d674ea4f39 Add surf pikachu details
Closes #1589
Thanks @PolarPeridot !
2017-11-11 17:16:31 -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
5d90e9dc53 Refactoring
check alolan forms for forme matching, break up large method to
something a little more understandable.
2017-11-11 09:35:07 -08:00
Kurt
f5a6f23161 Add more static enc data
clear out unused (highly certain) SM encounters
add solgaleo/lunala locations
add partner form pikachu
2017-11-10 19:43:31 -08:00
sora10pls
6cd2a08238 Fix Type: Null location 2017-11-10 13:19:47 -05:00
sora10pls
1d44c45fe0 Fix indenting 2017-11-10 13:16:43 -05:00
sora10pls
6f58698187 Add more static encounter locations 2017-11-10 13:08:36 -05: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
30f07fc979 Fix wishiwashi handling
totem wishi isn't a gift because it isn't really a totem
2017-11-10 08:42:25 -08:00
Kurt
a3b8b15b4d
Merge pull request #1582 from ReignOfComputer/master
Normal Pokemon @ Ultra Space Wilds / Sandygast @ Route 15
2017-11-10 05:21:35 -08:00
ReignOfComputer
7dd8dd970f Normal Pokemon @ Ultra Space Wilds 2017-11-10 17:29:20 +08:00
Kurt
af91388792 Return empty enumerables for invalid table fetch
shouldn't ever be called but best practice
2017-11-09 22:17:55 -08:00
Kurt
b3436cb791 Add totem forms selection/spritemod and req changes 2017-11-09 21:52:11 -08:00
ReignOfComputer
ec6e485c50 Sandygast @ Route 15 2017-11-10 13:14:18 +08:00
Kurt
23d57f8807 Add ditto5, necrozma
fix tab for oras flag resource
2017-11-09 21:11:19 -08:00
Kurt
38f4f773f3
Merge pull request #1580 from sora10pls/patch-1
Add several Ultra Warp Ride locations
2017-11-09 20:12:39 -08:00
Kurt
139e130b82 evo table / check update
prune froslass/gallade evolution tree pruning by editing the binary like
prior commit for sm

fe66a65464 (diff-e0f20441fd5149efa4e829994c94f683)

revise banlist interaction for usum evos (need to trade to USUM to be
able to undergo these evolutions).

Closes #1570 (evolution table issues), other open issues can catch any
other/unrelated fallout.
2017-11-09 19:47:01 -08:00
Kurt
5e2e4fd6f1 Add usum evo table
repacked garc as mini uu
2017-11-09 19:27:16 -08:00
Kurt
519e21a9bf Permit totem mimikyu forme (not battle forme) 2017-11-09 19:26:47 -08:00
Kurt
104a9d622e Add non-alolan native species for ball tables 2017-11-09 17:56:52 -08:00
Matt
c1de054c7f
Add several Ultra Warp Ride locations
- Cresselia
- Swanna
- Drapion
- Audino
- Medicham
- Magcargo
- Quagsire
2017-11-09 20:27:14 -05:00
Kurt
4deb24cc95 Add gender locks
lots of totems with fixed genders (not capturable), but some other
slightly important ones needing enforcement.
2017-11-09 16:32:09 -08:00
Kurt
55820246cf Misc tweaks
mark SOS slots for usum, only permit varied alolan evos to be forme
changed (blocks totem raticate from being matched to non totem forme
inputs)
2017-11-09 16:18:30 -08:00
Matt
82a7502cf4
Add Poipole location 2017-11-09 19:10:11 -05:00
Matt
273231ad00
Add USUM Pinsir on Exeggutor Island locations 2017-11-09 16:56:10 -05:00
Kurt
ccdb84b851 update for some errors
restore ekans values, re-add antishiny for yungoos set
2017-11-09 07:22:34 -08:00
Kurt
b615ef0057 Update static7 with more data 2017-11-09 07:17:36 -08:00
Kurt
ae0122254a Add abilities & IV3 flags for usum gifts 2017-11-09 06:43:11 -08:00
Matt
800a6b32b8
Merge pull request #1 from kwsch/master
Update from upstream repo kwsch/PKHeX
2017-11-09 02:02:42 -05:00
sora10pls
38cbf160ec Add Totem-Sized gift ability/version checks 2017-11-09 02:01:09 -05:00
Kurt
2af7b152a7 re-enable error suppression
oops
2017-11-08 22:59:18 -08:00
Kurt
665e94b0aa misc cleanup
add german forme names
truncate some forme names
fix nidoran gender symbols

adds null check for invalid (caught error) pkm

disables accessory giving (needs more research)
2017-11-08 22:56:42 -08:00
Kurt
28d15bb06e Permit usum met locations & add new move PP counts 2017-11-08 20:32:23 -08:00
Kurt
ab8faac55d Update legal tables with usum species 2017-11-08 20:23:06 -08:00
Matt
a8000608f2
Add more USUM static encounter locations
Totems @ Heahea Beach, Island Scan.

Grovyle is Akala-Friday @ Route 5, as is Bellsprout in SM; assume locations were unchanged.
2017-11-08 22:56:13 -05:00
Kurt
115c611120 add surf to gift pikachu moveset
only gift pkm with special move
2017-11-08 19:51:04 -08:00
Kurt
93b49928a0 add lvl/egg move tables for usum
add a few met locations for static encounters, recognizes torracat with
double kick correctly!
2017-11-08 19:31:07 -08:00
Kurt
93bd974249 Add EncounterStatic data
sourced from Ultra Moon, location IDs are not known (need manual docs).
Many of these may be unused, like last gen. Will eventually remove
unused ones once crowdsourced effort finishes.
2017-11-08 18:43:55 -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
cf35adca6f Add roto blank item handling
preserve input data
2017-11-08 14:12:41 -08:00
Kurt
47058d5709 Permit loading of usum met locations to pkmeditor 2017-11-08 13:44:55 -08:00
Kurt
80bedb97c4 Misc tweaks
Adds game names for languages other than english
adds z crystal sprites for held items
temp-fixes chinese pkm names (need manual translation for the new
species)
remove newline at eof
toggle back on legal item lists, add assumed Key Item list
differentiate duplicate item name strings (-arizers)
2017-11-08 13:06:20 -08:00
Michael Scire
78acb8e13b Fix save resigning for USUM, add resources for new pokemon 2017-11-08 11:31:09 -08:00
Kurt
ae773f189b add usum tutor data
one large list at static.rodata:005E6860, formatted to look like AO
table with deletions & insertions at the bottom.
bitflags are used in one large set (not 4 chunks of 4 like prior).
2017-11-08 01:25:10 -08:00
Kurt
ece66e1a02 Misc tweaks
allows loading of species > 720 lol
still nowhere near done (large task is resource acquisition)
2017-11-08 00:51:08 -08:00
Kurt
543736d568 Early rough USUM compatibility
need to dump string resources, sprites, and repoint the form list string
fetch later. tons more to do

no guarantee of any working functions
2017-11-08 00:34:32 -08:00
Kurt
9ef4152736 add more xml docs 2017-11-06 22:44:51 -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
9cac3738dc Add handling for mid-chain lowlvl encounter evos
haunter caught at level 20, transferred at 24, leveled once as gengar
did not allow gengar in the chain as it is assumed (incorrectly) that
gengar is evolved after transfer.

determine if the lower levels of the next step's evolution rung are
valid, using the same logic as pikachu case but to handle the other side

Closes #1564

(should probably refactor the encounter chain generator to use the base
encounter data if known, but oh well works fine and isn't a cpu hog)
2017-11-06 18:21:58 -08:00
Kurt
38989b4747 Export correct species name for verbose output
#1564
2017-11-06 18:06:23 -08:00
Kurt
0f69c1116e Add unown gen2 invalid form check
closes #1565
2017-11-06 17:13:16 -08:00
Kurt
f959179e1a add more colo encounter locations
dogs had hypothetical met locations, now fixed (y u so weird cxd)
Closes #1556
2017-11-03 21:33:48 -07:00
Kurt
f48afaf12d Switch slottype to flags
simplifies some logic, adds some documentation, speeds up loading very
slightly
2017-11-03 17:14:18 -07:00
Kurt
d7300ce68f Cleanup
add amoongus route22 encounter
fix typos in comments
resharper suggestions for recent pr
2017-11-02 21:37:28 -07: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
60e719a65a Misc refactoring
more usum prep
don't allocate empty array on every savefile creation (use linq All
comparison)
add percent seen/caught savefile properties for data analysis purposes
2017-10-31 09:24:54 -07:00
Kurt
e9cebf933c Fix headbutt encountertype fetch
future improvement can be detecting when "none" is appropriate, but for
now, whatever.
Closes #1502
2017-10-29 20:19:49 -07:00
Kurt
da9e316cd8 Add rock smash encounter type flagging
I don't believe rock smash (EncounterType 1) exists, tests at Route 19
and Vermillion yielded None & City.

Closes #1379
Opens #1502
2017-10-29 19:17:53 -07:00
Kurt
3f533399f2 Simplify slot type loading
instead of 2 similar methods, use params to achieve a flexible method
for both situations

isolate rock smash / headbutt type loading
2017-10-29 18:09:30 -07:00
Kurt
afde4514e2 Add realgam tower / deep colosseum locs
sudowoodo & gsc dogs
closes #1549

fix loading issue for abilities in gen3 format, copy the gen4
sanitization
2017-10-29 10:41:12 -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
9d0b153eab Add egg hatch suggestion for b2w2 2017-10-28 14:00:44 -07:00
Kurt
a401db608e Split trade encounter nick/OT verification methods
#1249
2017-10-28 13:15:51 -07:00
Kurt
0e9960909b Refactor encountertype check to bitflags
#1379
need to double check none permissive later
2017-10-27 23:57:21 -07:00
Kurt
00a4c1adf5 Add multilang c/xd ingame gifts
save space by just using a loop
closes #1529 , pokespot proc discussion relocated to associated issue
(as previously noted in comments)
2017-10-25 21:53:55 -07:00
Kurt
a6ef105544 Update gen3/4 encounter generators
revisit for simplification now that EncounterTrade matching is more
precise (PID required to match).

#1249
2017-10-24 22:25:52 -07:00
Kurt
59319a614a Add PID values for Gen3/4 ingame trades
#1249
2017-10-24 22:24:29 -07:00
Kurt
933bfba8e1 Misc cleanup
check gen2 stadium names, use pkm.Japanese when favorable
2017-10-24 18:27:40 -07:00
Kurt
69cf1eaa9c add more pkhex.core xml documentation
adds a bunch of documentation useful for those unfamiliar with the core
library
2017-10-23 23:12:58 -07:00
Kurt
60562fb44e Use empty enumerable when appropriate
no allocation == no pressure for garbage collector
2017-10-23 15:44:01 -07:00
Kurt
a03ac10fc5 Misc refactoring
no functional change
2017-10-22 23:26:37 -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
44c80bd722 Exclude light ball pikachu from gen1 species setter
Thanks Dunsparce!

https://projectpokemon.org/home/forums/topic/41880-yellow-version-pikachu-editing-bug/

non-functional change but fix misuse of gameversion checks (used X/Y
instead of YelloW)
2017-10-22 17:11:48 -07:00
Kurt
096f6bbd18 Add RANDY Gen2 ingame trade
closes #1538

rename pid deferral to pidiv deferral for clarity
2017-10-22 10:41:27 -07:00
Kurt
c5b0ed6c35 Move encountertype deferral to main generator
gen4->gen5/6 electrode will match static & wild slots, but deferral only
defers within the same IEncounterable group.
2017-10-22 09:42:15 -07:00
Kurt
528593b59e Disallow crystal tutors if VC 2017-10-21 19:01:23 -07:00
Kurt
39279a7ad4 Add VC transfer checks
checks were previously only performed when finding the encounter, once
found, the GB encounter was validated. the transfer encounter is derived
after all encounter checks, thus remaining unchecked (really, only for
Locations).

Move generating logic to the generator, and double check the locations
are valid.

#1535
Thanks @DJPanda065 !
2017-10-20 21:07:15 -07:00
Kurt
00adfda6e4 Flag Hidden Ability -> other change (hacked)
Closes #1535
2017-10-20 20:10:56 -07:00
Kurt
0e24b5237e cleanup
remove redundant/repetitive match update (updateTypeInfo with Format>=7
already updates the encountermatch just prior to this method call)
2017-10-20 20:10:13 -07:00
Kurt
ae0bf5c75c remove (None) egg gen4 hatch location 2017-10-19 22:00:31 -07:00
Kurt
a75614ed77 Modify eggmove fetch
fetch is exclusively done with version already known; there are cases
where version can change for eggs so it's safer this way.

version change reference (gen6+):

212a489335
2017-10-19 21:20:47 -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
Matt
4353f39286 Ban Sport Ball 2017-10-19 14:33:39 -04:00
Kurt
a53e8ddb7e Fix grotto mienfoo level range
Thanks paf!
2017-10-18 21:16:52 -07:00
Kurt
5a09cd9122 Add deferral case for gen6 magmar classic ribbon
use "when" for easy src code

Thanks Nessus!
2017-10-18 18:28:17 -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
886b2ef632 misc refactoring
simplification / splitting, also more usum prep and other readability
updates
2017-10-17 23:19:34 -07:00
Kurt
0cc60e6006 Change lookup arrays to hashsets
faster checking (slightly negligible but using the correct data
structure for the use case)
2017-10-17 22:06:07 -07:00
Kurt
a9261a1eec Fix starly safari ball species ID
not staravia dawg
Thanks Britty!
2017-10-17 19:23:22 -07:00
Kurt
18aa7fe100 ban more safari/hidden ability pairs
https://projectpokemon.org/home/forums/topic/41840-bug-pokemon-in-ball/?tab=comments#comment-221383
2017-10-17 09:08:48 -07:00
Kurt
4d91aad876 Flag gen2 egg moves when transferred from gen1
move must be removed 2->1 so cannot be permitted as egg move.

remove unreachable code (ParseMovesRelearn only is called for Generation
>= 6, and thus Format != 2).
2017-10-16 17:24:19 -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
0120263bd3 Cute Charm gender ratio changing edge case
Thanks @Admiral-Fish !
2017-10-12 23:18:43 -07:00
Kurt
02c06d154b Split item cap for usum prep 2017-10-10 19:30:55 -07:00
Kurt
b63e444e15 Add hatch location check for static egg gifts
to match mysterygift check
2017-10-08 14:48:35 -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
c7dfc3d9b0 Cleanup
union / count usages
remove unnecessary stuff
2017-10-06 21:03:23 -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
b23658dee1 Misc tweaks
allow cute charm static encounters
ignore user-entry control types
2017-10-01 21:25:23 -07:00
Kurt
44c0b53852 Provide map for Z Crystals KeyItem->HeldItem
allows for loading sprites for the key items (they're smaller than the
key item but better than missingno sprite)
Closes #1504
2017-09-30 20:57:32 -07:00
Kurt
593f31ff02 hashset contains over array contains
faster++, reduces some linq ToArray() allocations
2017-09-30 14:08:35 -07:00
Kurt
3552e6396c Move pidivmatches check outside secondary check
gen3/4 generators auto-defer bad PIDIVs to end, so no need to keep
skipping to the very end
2017-09-30 13:42:57 -07:00
Kurt
1e377c2963 interpolation++
no functional change (assumed)
2017-09-29 22:58:25 -07:00
Kurt
212a489335 Add gen6+ link trade egg edge case
slakoth with play rough with x/y version
why u modify game origin when hatched???
2017-09-28 17:11:30 -07:00
Kurt
a52f88dd5c Add ice punch feraligatr non-relearn link gift move
Thanks cicciochiave!
2017-09-27 08:32:35 -07:00
Kurt
9699cdefae Gen2 egg gift bypass fix
Gen4+ static encounter eggs could slide through the VC case
prevent empty moves from appearing before suggested moves (relearnbase
being empty)
2017-09-26 20:09:18 -07:00
Kurt
ccf9cd2284 Update japanese translation
Thanks smileynation!
2017-09-24 14:44:27 -07:00
Kurt
499126f9a4 Update gen1/2 move fetch
recent commit changed GetEncounterMoves to return 4 always rather than a
variable size array; double check the output for actual movecount
2017-09-24 12:39:12 -07:00
Kurt
1b354624b1 Korean move validation fixes
Korean g/s cannot access gen1 movesets, so pruning gen1 was necessary.
Rather than rebuilding the array (slow), just futureproof the entire
method to not rely on '7' (in case this code is ever used on Gen8).
2017-09-24 10:52:39 -07:00
Kurt
9ef2016d35 Encounter Learnset move duplication fix
a level 15/16 magmar has leer/smog twice in its learnset (at level 1 and
at actual levels); returning just the 4 previous learned moves at level
15/16 yields duplicates for Smog. [Smog, Leer, Fire Punch, Smog | Leer,
Ember]. By ignoring moves already added, the true movepool is acquired

also fix TradebackType getting overwritten at the end of the method (in
case of nontradeback like korean/egg)
2017-09-24 10:36:16 -07:00
Kurt
16341b4d91 Add SPA/ENG Oct16 Diancie collision handling
Card 0525 was accidentally uploaded without the 3 flawless IVs setting;
sometimes when the internal event binary is built, the 3IV card comes
before the 0IV.

Play favorites with the 0IV.
2017-09-23 17:11:19 -07:00
Kurt
d8c2cdb8e3 Use EnumerateFiles over GetFiles in some cases
https://msdn.microsoft.com/en-us/library/07wt70x2.aspx

iterating as an ienumerable (ie not consuming the whole collection) can
be more efficient by not waiting for the whole collection
2017-09-23 17:02:28 -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