Commit graph

873 commits

Author SHA1 Message Date
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
3e60bcd5dc fix minior dex set clamp
[0],[cores), ignore all other meteor forms
thanks @sora10pls
2017-11-14 21:55:52 -08:00
Kurt
dbf10d1c29 Add surf score editing
trainer7 Ultra tab
Closes #1605
2017-11-14 21:35:28 -08:00
Kurt
c4f8dabd26 rework dex getting
changes iteration to be per-species rather than per list.
uses the internal 'should i set a bitflag' code rather than a banlist.
2017-11-14 19:14:02 -08:00
sora10pls
79e2a5e9ee Add more USUM event flags/constants 2017-11-14 17:54:22 -05: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
953f6939a5 Fix double save export memecrypto issue
Closes #1600 , memecrypto is applied on first export but not cleared
prior to second export, thus resulting in a checksum over garbage data
that is permanently lost when the new memecrypto sig is applied.

Solve this by keeping track of memecrypto application status.
2017-11-13 19:34:50 -08:00
Kurt
97a159c710 Add ultra sun wild encounter details
using pk3DS's dump pkl binaries method
2017-11-13 09:16:29 -08:00
sora10pls
7b379ac428 Fix spaces 2017-11-13 01:42:11 -05:00
sora10pls
8fe32ec007 Update Gen 7 event flags/constants 2017-11-13 01:33:30 -05: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
dbabcb9ef0 Misc updates
fix hall of fame fixed offset
fix ball throw type unlock/learned flags using fixed offset
fix current throw type defaulting to -1 when Nihilist (new USUM style)
by adding in for USUM

add fused slot offset fetching
convert event flag combined byte fetch to use Get/SetEventFlag with
event flag references.

add ZRingUnlocked sav properties & checkbox for toggling

set AlolaTime only if the combobox is enabled (only disabled if not yet
set by game)

Closes #1595
2017-11-12 21:28:34 -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
sora10pls
e1abe0be5e Fix indenting 2017-11-12 01:10:16 -05:00
sora10pls
b0c228174f Add USUM Legendary re-battle flags 2017-11-12 01:08:49 -05:00
Kurt
fbab1cfbe6 Update usum eventflag max
now these event flags are making sense
2017-11-11 18:58:57 -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
d8acdf2aa1 Fix partner pikachu sprite
fix form+1 overflow (cap7 pikachu in sm accesses gumshoos1! bad!)
2017-11-10 19:53:11 -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
Kurt
6127dd7a08 split record maxes
slightly different in USUM, any difference increased the cap:
070  999999->999999999
071  999999->999999999
072  999999->999999999
073  999999->999999999
074  999999->999999999
192  9999->65535
193  9999->65535
194  9999->65535
197  9999->65535

Worth noting that these were undocumented record IDs and likely unused
in Sun/Moon; don't really need to split these tables but good for
documentation purposes.

Trainer7 grabs maxes from the save without specifying version, so add an
overload to default to USUM (even though the unused records will have
bad caps, they're unused in SM so whatever).
2017-11-10 17:37:04 -08:00
Kurt
8ab39cae7b Update dex form handling 2017-11-10 17:08:47 -08:00
Michael Scire
e455aef501 USUM event constants for starter choice/Tapu rebattle 2017-11-10 15:08:20 -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
Kurt
a39f92cac6 Add rockruff forme list items
revert form selection filtering, screwed up scatterbug and other
forced-forme lists. behavior works fine without the list filtering
2017-11-10 04:01:36 -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
6057780b4b Fix blank saves array accessing
old blanks modeled sm saves with fixed offsets; since the conversion to
dynamic block offsets, a few offsets need to be manually defined.
2017-11-09 19:26:31 -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
9f2899617d add ultra moon encounter legality binaries
fix an odd edge case going from a bad FRLG save to gen6+ while we're
pushing code
2017-11-08 21:56:56 -08:00
Kurt
6f99bc5365
Merge pull request #1574 from wwwwwwzx/master
Fix USUM Chinese species names encoding
2017-11-08 20:34:28 -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
wwwwwwzx
9ab2938b84 Fix USUM Chinese species names encoding 2017-11-08 20:20:41 -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
da5dd5ccb3 remove usum early return for dex bit setting
I highly doubt this is causing save corruption; looked through the
disassembly and the offset ptrs are the same relative to sun/moon.
Implementation is flexible for both as gamefreak allocated enough space
in each bit array.

pokedex editor recognizes bools correctly (including for formes).
2017-11-08 19:34:07 -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
97dcd1a845 Add pokedex forme flag correlation table 2017-11-08 13:29:06 -08:00
Kurt
56ca5d02bc re-add newline
now boots, inventory editor now works
2017-11-08 13:12:10 -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
9af0876352 clone cached string resources
don't share object references, need to be passed as new copies as the
array contents can be modified

need to clone on dict return to not pollute dict, and need to clone
after dict add so that the first return doesn't equal the dict copy --
this one could be on the dict add... keep returns same.
2017-11-07 17:12:04 -08:00
Kurt
d08bd25b4f always clear memecrypto sig on load
allows verification & resigning to work as intended
reverts to code prior to refactor

b1641772e6 (diff-1681616e650971296aa4b549afadd0eaL116)

cleanup suggestions for tests
2017-11-07 16:57:18 -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
062684f4a6 Relocate transfer block cases to separate method
#1559
2017-11-06 18:34:35 -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
4a6ea19a31 Cleanup 2017-11-06 17:12:59 -08:00
Kamron Batman
83e06b4436 Adds WC4 support. 2017-11-06 16:26:34 -08:00
Evan Dixon
cf4e31a67d Remove zh file in ko directory 2017-11-06 10:57:42 -06:00
Kurt
f0cfb0df23 cleanup
shuffle / fix xml doc data
2017-11-06 08:01:33 -08:00
Michael Scire
b1641772e6 Refactor Memecrypto API, Add Memecrypto Tests
Refactors the Memecrypto API to improve generalized usage.

Adds unit tests that verify memecrypto works, so that future changes
don't potentially break the code.
2017-11-06 03:24:48 -08:00
Kurt
ff4903ae04 Fix dppt trainer names
were shifted by a lang ID
closes #1558
2017-11-04 18:35:46 -07:00
Kurt
2d6b6f7095 Simplify gen7 checksum operations
don't spit out a new byte array for each block, just check with same
array

unrelated: allow pk2's to be selected from file->open when a sav7 is
open
2017-11-04 15:04:21 -07: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
Evan Dixon
35ed920805 Set build action of new resources
I forgot to check this when merging master into my previous PR
2017-11-02 14:06:32 -05:00
Kurt
a00f3ed894 random IVs with specified count
Closes #1553
removes duplicate logic in batch editor
2017-11-02 09:05:44 -07:00
Kurt
008605c4ff Add Gen5 BP editing to simpletrainer
a little bit hacky but exposes the values well enough.
moves the coins entry to the Badges groupbox, and makes it visible
looking like a BP editor (lol)

thanks @sora10pls for finding the offsets!
(blockinfo array isn't really used, is sorta just there for
documentation...)
2017-11-01 21:26:38 -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
Evan Dixon
7ac1a4c6df Cache resource name => manifest resouce name mapping 2017-11-01 21:47:55 -05:00
Evan Dixon
133a19a468 Fix fallback from unlocalized language file to default language 2017-11-01 21:44:35 -05:00
Evan Dixon
81e87c1a15 Change the concurrent dictionary to a dictionary
It'd be nice to be thread-safe, but I don't really expect multithreaded applications to be calling this method a lot, and I'd imagine the concurrent version has more overhead
2017-11-01 21:42:12 -05:00
Evan Dixon
29ce9a347b Cache retrieved data to improve execution speed 2017-11-01 21:34:01 -05:00
Evan Dixon
b13aae9a57 Merge branch master 2017-11-01 21:08:43 -05: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
021ecbfe47 move pkm load compat check to pkmconverter
closes #1550 , mgdb/pkmdb throw unconverted files which need conversion;
move main file load conversion to a reusable method and have pkmeditor
call it on every load.

add skip argument to ignore the conversion check (ie if the file is
loaded from an undoubtedly same type source).
2017-10-28 14:26:27 -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
52b2fd2778 Add fullwidth 0-9 for kor tables
since _0 and _B are the same, just share a reference instead of separate
tables with same values.

Closes #1548 , thanks @host1126 !
2017-10-27 16:30:02 -07:00
Kurt
f6927e4fe5 Add gen2 KOR localization exceptions
Closes #1547
Thanks @host1126 !
2017-10-26 20:37:11 -07:00
Kurt
c2cf824afd Fix {0xE8, "췄"} - {"츄", 0xF2} KOR swap
that's silly lol
#1547
2017-10-26 20:18:32 -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
8c2dcb2dd3 Use generation specific species name
nickname resetting should use the generation specific value
2017-10-24 20:59:58 -07:00
Kurt
8a84f63fcb Add usum special tutor bitflags
( ͡° ͜ʖ ͡°)
2017-10-24 19:59:46 -07:00
Kurt
c60fee85b2 fix pk2 korean nickname set
closes #1544 , thanks @host1126 !
2017-10-24 18:57:28 -07:00
Kurt
9bbd7c6551 Save all 5 korean OT characters
Closes #1545, thanks @Bl4ckSh4rk !
2017-10-24 18:49: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
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
a46e56c917 Add xmldoc for mystery gift class names
refactor pattern checking to simpler representation, add null abort when
extension is not provided.
2017-10-23 15:45: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
Evan Dixon
9e980f4a1d Use manifest resources for string lists instead of the resources file 2017-10-23 13:18:44 -05: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
42d1c252ee Enhance gen1/2 language detection
Closes #1540 , check for german only characters (gen1/2 can trade
between resulting in only OT being checkable). May be worth changing the
german check to return an int instead and check for other language
specific values.
2017-10-22 16:52:46 -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
3970b177af Fix kor table 0x5 0x30-3A swaps
pls no more
2017-10-22 09:27:00 -07:00
Kurt
cc2e379880 Fix kor table 0x5 0x10-0x20 swaps
there's still more in the 0x5_30 region
y u rong bulbapedia
2017-10-21 19:05:38 -07:00
Kurt
528593b59e Disallow crystal tutors if VC 2017-10-21 19:01:23 -07:00
Kurt
791a41b1a7 Fix KOR encoding table off by 1
Closes #1534
Thanks @host1126 !
2017-10-21 10:32:08 -07:00
wwwwwwzx
0820059adf Fix Gen3-5 MaxEV per stat 2017-10-21 01:06:25 -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
7c36190661 Expand IdentifierContains feature
now behaves the same as a property filtering
2017-10-20 08:47:31 -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
6e42d01779 calculate 4->5 string dictionaries 2017-10-18 22:16:48 -07:00
Kurt
228b0e84fb Simplify some dex interaction
utilize get/set flag method calls, add xml docs for the two methods
2017-10-18 21:43:42 -07: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
Archit Date
6f5d0489d5 Zygarde 50% Power construct Showdown Import fix 2017-10-19 02:45:45 +08:00
Kurt
f5b22d7873 Update 17.10.17
Update event binaries with latest from the Event Gallery
2017-10-17 23:59:14 -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
c3e0d5339c Fix jp gen2 save detection
simplification commit was dyslexic on JP/EN.
20 <-> 30 (EN 20, JP 30 is the correct count)

https://bulbapedia.bulbagarden.net/wiki/Pokémon_Storage_System#Core_series_games

pk2 structure is smaller for jp (smaller strings), thus has 30 cap.
International has 20.
2017-10-16 17:33:09 -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
f5e595772d Add more sav7 properties 2017-10-14 23:47:16 -07:00
Kurt
331d6ec6a0 Sync missing file
#1523
yeah lol
2017-10-14 16:48:43 -07:00
Kurt
fa310e8c4e Add gen6 map mirror coordinate changing
not sure what they do but the values should match
Closes #1523
2017-10-14 16:32:34 -07:00
Kurt
a11b6f4a60 add recent de strings as resource
now load instead of not at all
2017-10-13 22:40:34 -07:00
Kurt
6f69ce11b5 Merge pull request #1522 from Korados/master
German Translation for Gen1-3 item strings
2017-10-13 21:36:10 -07:00
Korados
ef6a7827bf Create text_ItemsG3_de.txt 2017-10-14 01:34:15 +02:00
Kurt
0120263bd3 Cute Charm gender ratio changing edge case
Thanks @Admiral-Fish !
2017-10-12 23:18:43 -07:00
Korados
8e5299dcae Create text_ItemsG2_de.txt 2017-10-12 23:39:47 +02:00
Kurt
43d1c7740f add event flag localization
rename files for english indication
allow script text retrieval with current language

simplify resource retrieval a little
2017-10-11 20:00:18 -07:00
Kurt
90e8f571b9 move event script resources to separate folder 2017-10-11 19:34:48 -07:00
Kurt
02c06d154b Split item cap for usum prep 2017-10-10 19:30:55 -07:00
Kurt
c3c4336d43 Add gen3 roamer editor
Thanks BlackShark!
2017-10-10 18:48:14 -07:00
Korados
8e10aab76f Create text_ItemsG1_de.txt 2017-10-11 02:40:09 +02:00
Kurt
79ede6a212 Add gen3 roamer r/w 2017-10-09 21:00:36 -07:00
Kurt
78a557c3cd misc tweaks
simplify some linq usage
2017-10-08 22:14:47 -07:00
Kurt
9f2ade5b14 Add japanese gen1-3 ingame translation data
Thanks @smileynation!
2017-10-08 18:07:49 -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
c256786467 Change encountertype ja encoding to Unicode
UTF-8 => Unicode
2017-10-08 13:41:44 -07:00
Kurt
50dfa3603e fix 50/50% male/female gen1/2 7 ATKIV
ma boi nixhex with wrong info at smogon
http://www.smogon.com/ingame/guides/rby_gsc_stats#gender

bulbapedia is right
https://bulbapedia.bulbagarden.net/wiki/Individual_values#Gender

Thanks StarFisherX for bringing this to my attention!
2017-10-07 20:42:51 -07:00
Kurt
bee64b495b Remove gen2 auto resizing jpn saves
introduced in the start of sav2, removing doesn't seem to have any
consequences

a3250a0d56 (diff-c6536dcc6b76e8415f41529d664b75d9R24)

closes #1516
2017-10-07 16:46:09 -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
762b55e957 handle invalid nature stat amps
natures (>25) are invalid and causes IndexOutOfRangeException due to
being greater than the length of the array.
sanity check array length and amped stat prior to applying amplification
Closes #1515
2017-10-06 18:44:14 -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
b5e3b616de nickname edge case
evolved on a foreign language can't rely on stored language ID, have to
detect it
2017-10-03 19:21:17 -07:00
Kurt
6bd0e7ce72 sync remaining
pls revoke my access
2017-10-03 18:20:31 -07:00
Kurt
ea751e26b1 Convert chinese string only if species name
Resolves charmap duplications in the chinese char tables:
多边兽Z (Porygon-Z)
属性:空 (Type Null)
谜拟Q (Mimikyu)
卡璞・鸣鸣 (Tapu-Koko)

Games cannot have a nickname/OT in chinese as of current date... I
assume this will be fixed down the road
2017-10-03 18:15:15 -07:00
Kurt
df287f8fc5 Fix concatbinary load
Closes #1509

I think I had two ideas on how I wanted the method to work and
incorrectly blended the two together.
2017-10-03 16:51:13 -07:00
Kurt
b7b449e65c Add move length check
Closes #1507
2017-10-03 16:44:12 -07:00
Kurt
ec491cdd52 Fix sav2 badge/tmhm clearing
Closes #1505
Thanks @fattard !
2017-10-02 23:17:00 -07:00
Kurt
a9892203c7 Refactoring
extract pkm loading routines to smaller methods
reduce code duplication (rely on empty setters to ignore some calls)

should be much easier to understand the load/save process; the original
setup (pk6) was following the structure from 0x00-end, no point still
doing that as everything is now abstracted.
2017-10-02 23:13:40 -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
3300afdd19 More gen1/2 str encoding updates
Thanks theSlayer!

i blame rhydon
2017-09-30 18:20:23 -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
e6f43ff629 Add 6 gen2 jp characters to encoding list
?!ゥェォ and space
other half-width characters are already present
2017-09-30 11:18:08 -07:00
Kurt
b201ded8e8 Fix エ decapping to ェ
Both characters map back to character 0x83, but 0x83 previously mapped
back to the lowercase variant which was unlike the others.
(オ and ォ -> オ)

Thanks Afepoke & smileynation!
2017-09-30 09:37:09 -07:00
Kurt
32bbd2cee0 old cleanup
revisit comboitem providing, simplify some methods with fancy linq
probably faster as there's no use of dictionaries and Array.IndexOf
after sorting, as the values are kept with the text.
2017-09-30 01:07:30 -07:00
Kurt
1e377c2963 interpolation++
no functional change (assumed)
2017-09-29 22:58:25 -07:00
Kurt
a93a3897b3 Cache pgt/pk4 when read from gift file
speeds up repeat accessing (legality checks and mgdb opening)
2017-09-29 22:40:35 -07:00
Kurt
ce4e5f739e Fix korean Gold/Silver saving
closes #1496
2017-09-29 19:13:03 -07:00
Kurt
ed1b934374 Misc refactoring
expose some useful IEnumerable methods (sorting / bin->pkm / copy) to
simplify some common operations
change some explicit arrays to IList for flexibility
remove old memecrypto bool (no longer necessary as XP is not supported)
rename some methods for more clarity
2017-09-28 22:20:27 -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
14697f47d3 misc simplifications
recognize 01 01 01 00 xd saves
simplify some detection to be easier to follow, less lines is nice too
2017-09-27 23:22:41 -07:00
Kurt
2c8e2176e9 Fix gen4 egg transfer egg location
Egg Location wasn't explicitly kept, only the 'faraway place' was kept.
Closes #1498
2017-09-27 19:39: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
c270479bf9 Show SID7 on hover
Closes #1494
2017-09-26 23:14:29 -07:00
Kurt
8b02f05bd5 Faster crc16 ccitt
insert lenny face here
>4x faster, relative speed is higher for larger input arrays
2017-09-26 23:10:31 -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
8d0af0bd5b Handle all gc remapped languages
good stuff genius sonority
2017-09-26 19:56:08 -07:00
Kurt
532cee406a Add gen1 overworld respawner 2017-09-25 23:06:16 -07:00
SciresM
4272ad56ae We know what Key 9 is for (Cap Pikachu).
Refactor for Memecrypto API incoming in the next few days.

Gonna add a public overload that takes in a memekey, to facilitate Local Wireless memecrypto.
2017-09-25 17:51:17 -07:00
Kurt
bbff1e086a relax RB/Y detection when no starter chosen
value is 0 until a starter is chosen
2017-09-24 16:58:19 -07:00
Kurt
4950909d97 Add Red/Blue vs Yellow savefile detection
use the player's starter choice species value :)
2017-09-24 16:36:51 -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
e166f1eaa9 Show gen3+ berry analogues on gen2
also change "Reset key" to "Reset Password" to be closer to the game's
prompt
2017-09-24 12:05:36 -07:00
Kurt
c0f5166184 Fix rtc reset key generation
money into 3 bytes => sum
psypokes only does the 2 lowest bytes, is missing the high byte
Closes #1490
2017-09-24 10:59:35 -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
e5d7a063af Fix jpn/kor pkm collision
OTname length is 6 in JP games and 11 in kor/eng
Thanks smileynation!

https://projectpokemon.org/home/forums/topic/41689-bug-reporting-japanese-name-of-kin-gin-version-vc-jpn
2017-09-24 08:36:10 -07:00
Kurt
496cc35f97 Fix mew male gender
Closes #1489
2017-09-23 22:44:54 -07:00
Kurt
12187a5128 Expose gen2 RTC resetkey
#1487

also expose gen1 event flags (well, the crappy ones at least)
constants/event_constants.asm
2017-09-23 22:13:48 -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
Kurt
caf25efb46 Add RTC ResetKey calc 2017-09-23 16:04:02 -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
756f9bb8dc Allow gen7 ribbons on gen2 transfers 2017-09-23 07:54:31 -07:00
Kurt
89d7d45304 Simplify isnicknamedany
for gen2 korean edge case (use lang 8), and skip lang 0 (same as lang 1)
2017-09-23 06:50:46 -07:00
javierhimura
eda97f4b49 Do not allow gen2 preevolutions for VC1 pokemon in generation 7 2017-09-23 13:16:33 +02:00
javierhimura
f129701ee6 Do not allow gen2 evolutions in generation 2 for VC1 pokemon, gen2 preevolutions are allowed 2017-09-23 13:12:03 +02:00
javierhimura
efc60c3bf8 Change VC1 pokemon tradeback initial status to allow VC2 origin, there is no way to know if the pokemon was traded to gen7 after or before VC2 release
Do not allow gen1 evolutions for VC2 pokemon without gen1 evolutions or preevolutions
2017-09-23 12:58:46 +02:00
Kurt
76adfd62bf Fix korean nickname detection
extracted the GetNonNicknamedBytes method (used in SetNotNicknamed and
GetIsNicknamed)
korean strings are variable byte width so using max string length is
insufficient
2017-09-22 20:34:29 -07:00
Kurt
6e579abfc3 Misc changes
* allow gen2 to have evolutions on gen1 when transferred to gen7
(Core.cs)
* handle korean strings on transfer slightly better (pk2.cs)
* auto-set johto location when changing game ID
* auto-detect VC saves (all have extensions with .dat)

Closes #1478 , thanks @NinFanBoyFTW !
2017-09-22 17:54:43 -07:00
Kurt
91386e330a Unmark vc2 Johto location
removes " (-)" from the johto location
2017-09-22 16:23:39 -07:00
Kurt
3a90093cb1 Add unown altform 2->7 conversion
Closes #1476
2017-09-22 15:38:17 -07:00
Kurt
a21a70ee4c Fix gen2->7 encounter move args
#1476
suicune water gun
2017-09-22 15:33:33 -07:00
Kurt
561752dd4d Update 17.09.22
Update event binaries with latest from the Event Gallery
2017-09-21 18:04:30 -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
a938a1bd9c Add wordfilter bypass search via database
regex matching takes a lot more time and is a cosmetic / easily fixable
issue (reset to no nickname / default OT).
Add a prompt to temp turn off those checks to drastically speed up
search (no regexes done).

Fix unsanitize for gen6 (should have been >= 6, aka starting with gen6)
2017-09-20 16:46:40 -07:00
Kurt
69e8c071f7 Misc tweaks (apostrophe & vc2 pre)
farfetch'd apostrophe mapping disabled for gen5 and prior
Closes #1474

flag gen2 new moves as not obtainable if transferred from RBY (VC1) as
they must be removed before transferring 2->1.
2017-09-20 16:19:50 -07:00
Kurt
7b6d393b2f Add Hong Kong to Taiwan countries list
Closes #1473
2017-09-20 15:18:33 -07:00
Kurt
1149845db5 Misc database fixes
Initialize move array for WC3 if none are present
Closes #1472
More gracefully handle invalid version pkms in a given format (gen5
origin version pkm on gen4 format no longer throws an exception).
2017-09-20 09:04:30 -07:00
Kurt
b63e53af95 misc tweaks
no functional changes
2017-09-19 23:19:22 -07:00
Kurt
ddb496692d Fix yellow starter pikachu catch rate check
Closes #1470
2017-09-19 22:55:05 -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
fd8143cae4 Gen<=4 french nickname handling
Fix accented gen1-4 french pkm name retrieval

https://projectpokemon.org/home/forums/topic/41614-bug-2-errors-with-pokemon-platinum/

Thanks Asia81!
2017-09-19 21:27:01 -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
298dc344cf Fix gen3 emerald badge setter
Closes #1452
the bitwise or treated it as an int, which wrote 4 bytes instead of 2,
thus overwriting 16 flyto flags
Thanks @sora10pls & @Tk77185!
2017-09-18 16:06:31 -07:00
Kurt
ad69420ad9 Update gen5 shiny PID generating
Closes #1460
https://pastebin.com/GgcMjmwd
2017-09-17 14:43:28 -07:00
Kurt
84cc366803 Swap markings in gen3
Closes #1463
2017-09-17 13:07:12 -07:00
Kurt
c07a36c333 Fix event flag get set
yay order of operations
also update prompt messages for more guidance
Closes #1464
2017-09-17 10:16:56 -07:00
Kurt
07d37efd67 Fix gen3 wc3 random version get
recently removed gameversion value segregation to 100+; just sanity
check <=CXD
#1460
2017-09-16 14:11:16 -07:00
Kurt
7efd771bf4 Misc refactoring
add docs, move some data fetching to more appropriate class
remove old XP memecrypto support handling, was previously removed due to
net standard/core split
refactor memecrypto to handle multiple save sizes (USUM won't be the
same size save file); placeholder -1 for USUM size
2017-09-16 11:38:58 -07:00
Kurt
eafc28422e Misc gen4 handling updates
Cross-game trading for egg locations (duh)
Volt Tackle AND Fakeout pikachu from yellow forest
Nidoran fullwidth handling in gen4

Thanks Britty!

https://projectpokemon.org/home/forums/topic/41407-pkhex-legality-errors-on-gen-6-updated/?do=findComment&comment=220094

Replicate gen4's string setter for the bigendian variant
2017-09-16 09:58:06 -07:00
lilymaniac
9e64f97d51 Update Korean translation 2017-09-16 19:57:18 +09: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
5665481cab Reduce machoke trade minlvl gen1
Thanks Mewtwo!

https://projectpokemon.org/home/forums/topic/41636-ricky-machamp-unable-to-match-encounter
https://bulbapedia.bulbagarden.net/wiki/Kanto_Safari_Zone
2017-09-15 06:42:00 -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
d286fe9731 Extract get/set event flag common SAV method
throw in a little docs
2017-09-13 20:37:18 -07:00
Kurt
73d547b04b Fix gen3 jp OT editing breaking jp detection
Thanks ajxpk!
2017-09-13 18:24:37 -07:00
Kurt
7d8a0e0287 Update kor offsets & r/w operations
Closes #1451 , was caused by empty party writebacks (was reading from
wrong offset
dex caught/owned offset was listed as 0x28AE in the thread, is at 0x2AAE
instead (-0x20 from seen)

should have correct offsets and handling now :)
2017-09-12 19:47:37 -07:00
Kurt
c55b3df939 Add nyx antishiny pidiv detection
( ͡° ͜ʖ ͡°)
2017-09-12 00:27:16 -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
4bff4a5e79 Update kor chartable
0x0/0xB had duplicates, and ・・・ doesn't map well (3 chars vs 1)
2017-09-10 21:59:03 -07:00
Kurt
add2fef7a7 Add gen2 korean handling
hypothetical for now, feel free to submit PRs to fix anything that
breaks / was incorrect in the implementation
2017-09-10 19:56:21 -07:00
Kurt
1769bcd306 Add no-deferred early break for gen3
c627a86f said it added for both 3 & 4, but was only added for gen4.
2017-09-09 19:27:28 -07:00
Kurt
f4d8f6e560 Add generic Gen2 jp Emu save file support
+0x30 footer for RTC
2017-09-08 21:53:08 -07:00
Kurt
09bbd57eb7 Fix grammar of new lc strings
thanks @sora10pls !
2017-09-08 09:01:46 -07:00
Kurt
4b83fdbe2c Add preliminary VC2 legality checking
Surprisingly easy to toggle on
If VC, provide possible version the encounter was matched to (to
indicate GS vs RBY).
2017-09-07 23:53:12 -07:00
Kurt
e517b45e51 Add GSC version IDs (supposed)
This is speculation and for preparation purposes only
2017-09-07 23:38:57 -07:00
Kurt
fd2da22d3a Update PKMConverter internals
[insert lenny face here]
2017-09-07 23:18:04 -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
311ea4bc50 Refactoring
relocate memory type detection tables out of MemoryAmie editor
remove casting reference to get text (invalid memories no longer throw
exceptions)
2017-09-07 17:46:21 -07:00
Archit Date
1123c24b0c Fix Gen4 Misc options when no Poketch is obtained. (#1448)
* Fix Gen4 Misc options when no Poketch is obtained.

closes #1447
2017-09-07 12:25:45 -07:00
Kurt
c3043b05e3 Staravia->Starly dream ball inheritance
Closes #1445
2017-09-06 21:18:22 -07:00
Kurt
f78e017e47 Fix GSC table loading
Was ignoring G/S slots (only had crystal) thus some special G/S
encounters (underleveled examples being Magmar lvl14) were not
recognized.
Thanks HaxAras!

https://projectpokemon.org/forums/forums/topic/41579-pokemon-silver-under-leveled-pokemon-flagged-as-illegal/
2017-09-06 20:03:36 -07:00