Commit graph

1427 commits

Author SHA1 Message Date
Kurt
9fd5df6e99 Misc pbr ui fixes
remove todo comment
fix exception when refreshing slot coloring
update box when saveslot index changed, not validated.
update boxviewers when saveslot changes
2018-05-19 16:33:06 -07:00
Kurt
047272c2ba Add batrev party viewing/handling
ezpz

party 4 bytes at end:
pkm, 0 (b) party index (b), 0x8000 (be u16)

not sure if there's a better way to detect party count...
2018-05-19 14:42:21 -07:00
Kurt
a7f9f69b02 Remove Type property
verbose summary uses the encountermatch's current type; the "x is y"
check is more than sufficient.
2018-05-19 12:21:16 -07:00
Kurt
b670f525fb Split up evolution classes
Too many classes in the same file, break up.

simplify things a little in EncounterArea (remove passing thru nulls,
should throw excpetion immediately if misconfigured).
2018-05-19 12:07:50 -07:00
Kurt
ca14b43b62 Relocate memory specific data to own file
allows easier handling for memory interactions
2018-05-19 10:04:07 -07:00
Kurt
be0f864b42 Relocate memory datasource to core 2018-05-19 08:30:36 -07:00
Kurt
23083317d7 Refactoring
pull out GameStrings

add debug output for crystal headbutt trees
fix qrpkm item access
2018-05-18 21:35:57 -07:00
Kurt
95b4d0820d Minor reorganization
amount of pkm obj classes is pretty high, move the static utility
classes to another folder

breaks usage of pkm.ShowdownText; removes a dependency from PKM.
2018-05-18 19:33:11 -07:00
Kurt
8cf70770cf clean up batch editor
refactor some logic to make it easier to reuse
add some xmldoc
2018-05-18 19:19:15 -07:00
Kurt
d772a82953 Move batch editor logic to core
previous hurdle a year ago was propertyinfo fetching not looking at the
base class's properties; dig deeper for all properties to mimic existing
code for netframework

end result is batch editing now possible without gui
2018-05-17 22:43:07 -07:00
Kurt
51a4d8095d Handle jp OT string length copy
Closes #1949
was using international length (11) instead of (6)
2018-05-16 16:58:00 -07:00
Kurt
78c4dbd69c Update plugin interface
now is notified during a file load event (can handle itself)
2018-05-14 17:30:56 -07:00
Kurt
c10b01dc83 Fix control name reference
Thanks Davil!

https://projectpokemon.org/home/forums/topic/45237-slottext-slotcry-languagefile/
2018-05-13 22:00:16 -07:00
Kurt
3ee6070b98 Fix poketch write
1123c24b0c
had addressed the loading, however, it did not address the saving

update pkx to not create a new array every time IsPKM is called
(possibly a lot)
2018-05-13 20:35:09 -07:00
Kurt
857919bd28 Add basic plugin sys
reference PKHeX.Core, main window loads assemblies & initializes
providing an ISaveProvider and the menustrip control (to insert controls
into)

pretty rough but should allow for inserting external control buttons &
allowing it to edit the UI a little

example: https://github.com/kwsch/PKHeXPluginExample
feedback is appreciated
2018-05-13 12:49:29 -07:00
smileynation
9d0ab043e7 Update lang_ja.txt (#1941)
Minor Update.
2018-05-13 09:22:02 -07:00
Kurt
28ef791014 Update hovered slot on box change
using keyboard instead of mouse can change box without moving mouse
outside the slot picturebox
trigger an update when the box is changed, but only if the updating
parent has the hovered child (ie a boxviewer changing box while hovering
the main window won't re-cry the main window slot since it wasn't
updated)
Closes #1940

add some gender threshold properties to personalinfo
2018-05-13 08:14:46 -07:00
Kurt
19f2420670 Add settings for slotText & slotCry
Closes #1939
2018-05-12 20:04:58 -07:00
Kurt
0e6db90de2 more minor tweaks
add 2 overloads for encounter generator
more simplifications
2018-05-12 18:11:47 -07:00
Kurt
99005d8fc0 Refactoring
more discards & simplifications
2018-05-12 12:28:48 -07:00
Kurt
e2f11edc43 Refactoring
discards, Array.Find over FirstOrDefault
2018-05-12 08:41:29 -07:00
Kurt
5a3c8f4147 Remove trailing whitespace 2018-05-12 08:41:29 -07:00
wwwwwwzx
997d41b6db Fix minlevel of Pangoro/Tyrantrum/Aurorus in gen6 (#1938)
* Fix minlevel of Pangoro/Tyrantrum/Aurorus in gen6

30: level + dark type in the party
32: level + day
33: level + night
34: level + female
Note Meowstic isn't affected due to another entry of level + male (23)

* Minor text usage fix

* Fix xorPID flipping in TransferEC check
2018-05-12 06:57:11 -07:00
Kurt
e32495252f Set altform before gender
bb5622f5db (commitcomment-28951163)
2018-05-11 21:48:58 -07:00
Kurt
9c5814346b Add showdownset parse case template test 2018-05-11 21:44:09 -07:00
Kurt
bb5622f5db Fix greninja import
pass null forms thru the converter
Closes #1937
2018-05-11 21:09:39 -07:00
Kurt
c2644cc9f0 Flag gendered pkm without gender
for lack of a better message
#1936

add some docs & trycatch bad wavs
2018-05-11 21:05:15 -07:00
Kurt
7ce89f0e16 Fix frlg inventory encryptionkey offset
72af1f7880/include/global.h (L219)

0xAF8 is berry powder! Thanks HaiPhuong!
2018-05-11 19:55:40 -07:00
Kurt
4ae1b79ad5 Handle mimikyu totem export
Closes #1935
2018-05-11 17:44:27 -07:00
Kurt
f82e545ab0 Update gender handling
Closes #1934 , unrelated tho
2018-05-10 20:22:32 -07:00
Kurt
815705bc5e Fix gender handling
Closes #1933

if not allowed to be genderless, flag as invalid gender
only permit valid genders after genderless is ruled out
(both done by checking the low bit)
2018-05-10 18:53:23 -07:00
Kurt
9fb7056837 Add test living dex generator
doesn't generate everything due to the evo chain not being 'full'
(instead is unevolved singular pkm), nor does it evolve pkm
2018-05-09 21:02:35 -07:00
Kurt
79b2576c31 add overloads for GetPossible
Remove edge case handling for level 2 blissey; updates over the past 2
(yay 2 years of legality checking) can now handle that case without
special handling.
2018-05-09 20:37:11 -07:00
Kurt
9f8e86b2b5 Finish rough generator
* handle gen6+ egg case where egg move count < 4 (cannot displace
Levelup lvl1 moves)
* handle minior altform case

generates all species/encounters possible, yielding 144,094 pkm files
(all detected as legal!)
2018-05-09 19:21:44 -07:00
Kurt
16ed4353b2 More generator updates
Store 4g giratina held item for enc->pkm legality
revise usages of GetSaneGender
Rearrange some logic
Better handle impossible version encounters (gen4)

gen 1-5 done, stuck on 659 - bunnelby egg...?
2018-05-09 17:50:56 -07:00
Kurt
4913ef9647 More generator updates
* B2 has an error in the encounter table for Route 3 Corphish Special
water encounter; GF edited from Basculin-1 to Corphish-1 and forgot to
update the form to 0.
* Ranch Trade egg locations
* Trade gender-PID set correctly
* static roamer glitch does not apply for emerald
* Mirage Island wild Wynaut case now allowed (collision with Gift Wynaut
egg hatched on Mirage Island?)

gen1-3 done; now at 413 (Wormadam) which currently yields an
EncounterEgg AS wormadam, which isn't right...
2018-05-08 21:17:31 -07:00
Kurt
c21f8bf45f More generator updates
Blazing past 251, now stopped at 280 (trade ralts, gender mismatch??)
2018-05-08 20:13:55 -07:00
Kurt
4d60a5a64e More generator updates
* first case of EncounterLink, now works (version, ability, OT memory)
* handle gen2 gb events (not even sure if they pop up, just in case)
* handle gen3 ereader shadow mons
* handle gen4 spiky pichu PID type
* handle gen2 crystal egg met level
2018-05-07 22:53:36 -07:00
Kurt
8902e9662c Add exclusive encounter handling
Handle Faraway Island Mew, handle DP Darkrai/Shaymin & Arceus, handle
not-distributed WC3s.

Now stopping at dex 154 -- one full generation of PKM species IDs can be
completely spawned directly from IEncounterable data!
2018-05-07 22:12:12 -07:00
Kurt
3c31d5798f Continued pkmgen updates
* adds g4 forced shiny seed->pid (Chain Shiny Lake of Rage Gyarados)
* adds cxd starter pid generating handling
* adds g5 forced shiny seed->pid (MG5Shiny Shiny gift Dratini)
* excludes gen4 route45 surf impossible encounters
* actually use ingame trade edge case handler

Up to dragonair (147) yay; yellow dragonair is likely the catch rate
edge case.
2018-05-07 21:16:54 -07:00
Kurt
86bf4201e2 Remove encounterstatic-encounterslot collision case
Exeggutor Island has wild & one static with a fixed ability; the fixed
ability is returned first which causes wild lv40 exeggutors with
ability2 (1/2/H) to be flagged as illegal.
2018-05-07 21:12:42 -07:00
Kurt
3e885a8440 Update forme parse
Closes #1931
2018-05-07 18:24:30 -07:00
Kurt
734edfae20 Remove cutecharm swarm restriction
only affects species (can't force gender on a fixed gender swarm slot)
https://github.com/kwsch/PKHeX/pull/1314

https://projectpokemon.org/home/forums/topic/45153-bug-cute-charm-swarming-illegal/

Add swarm cutecharm test cases from thread, thanks @PP-theSLAYER !
2018-05-07 16:14:31 -07:00
Kurt
19a0560474 Misc cleanup
extend byte[]->pkm iterator for specifying start/stop
clean up some in main window
2018-05-06 22:24:25 -07:00
Kurt
7e9b5362d0 Simplify showdownset form handling
replace all dashes with spaces, and vice versa
Closes #1930
2018-05-06 18:46:51 -07:00
Kurt
5cb232d474 Sanity check some showdownset import values 2018-05-06 18:40:51 -07:00
Kurt
232427d002 Rework slot interactivity a little
decentralize some logic, individual view providers now provide the
details rather than detecting from a huge array.

#1925
2018-05-05 08:07:22 -07:00
Kurt
71970b3332 Add gen1/3 speciesID direct get/set
https://projectpokemon.org/home/forums/topic/45108-pkhex-suggestion/
2018-05-04 18:05:41 -07:00
Kurt
4b6ee3fbf5 Update 'sorter'
Adds IV count sorting
Adds Itemless & Illegal deleting
Adds Max level modding, item clearing. Handle egg cases sensitively.

remove final sortby for reversal case as the incremental integer
prevents further ordering.

Any suggestions? Keep in mind that some modifications can be done by the
Batch Editor scripts; smart deletions & sorts are highest value
additions ;)
2018-05-01 19:24:47 -07:00
Kurt
4c9177fcb3 Add sort force-reverse
hold control when triggering the sort
sneaky linq to reverse a sort by:
* re-doing the initial sort, then
* reversing the sorted pkm data by using a throwaway increment
* re-doing the final sort
2018-04-30 21:39:12 -07:00
Kurt
bbcbdd80a1 Update 'sorter' with more functionality
Nest item choices into separated groups (based on their overall
function).

Adds 3 more deletion options: eggs, untrained, or not-matching-savefile.
Adds 1 more modification option: Max Friendship of current handler
2018-04-30 17:32:23 -07:00
Kurt
57c625d089 Add delete criteria method providing for box clear
Can opt to not delete a slot
2018-04-30 17:29:13 -07:00
Kurt
ea2c6260fa Prevent providing beta safari zone encounters
Fixes Krabby / etc.
Fix genderless encounterstatic gender set (Voltorb)

Now at 103, Exeggutor
pretty cool that over 100 species can have every single encounter
generate a legal pkm ;)
might be useful to add metrics to count how many encounters are
generated in a session
2018-04-29 21:56:12 -07:00
Kurt
ab71ea2d8b More generator updates
Graveler (SM Trade) -> Force applying handling trainer details for
ingame trades
Ponyta (Ranch Trade) Apply correct ability for encountertradePID

Up to 98 : Wild Gen2 Krabby (safari zone impossible location needs to
get filtered from possible encounters)
2018-04-29 21:29:34 -07:00
Kurt
997ca29fe6 More generator updates
Checks.cs : fix duplicate analysis result (encountertrade machoke is
legal & illegal), nope, legal.
Core.cs : Add version bypass if none assigned.
EncounterSlot.cs: Handle yellow kadabra
EncounterTrade: Handle must-evolves.

now at 75: graveler (SM trade)
2018-04-29 21:08:49 -07:00
Kurt
1c3a330ab2 Remove clefable from non-obtainable encounters
Can be obtained via game corner
update possible games of origin
clear wasegg flag for next iteration

now at species 64: Kadabra.
2018-04-29 20:04:13 -07:00
Kurt
50d390bd4e Fix gen1 trade version overwrite
only noticable when generating from

up to dex 35, clefairy now. I expect things to ramp up soon...
2018-04-29 19:03:55 -07:00
Kurt
daf093879b More generator updates
all the way up to nidorina

extract some reusable methods
exclude invalid headbutt encounters
use built in randomgender
2018-04-29 18:26:36 -07:00
Kurt
b1549837b1 Update gen2 ingame-trade met location handling 2018-04-29 11:46:49 -07:00
Kurt
b353701d3e More generator updates
adds pokewalker handling

now stuck on GSC Trade Spearow (likely not setting OT details as needed)
2018-04-29 11:33:35 -07:00
Kurt
4214b1be7b More generator fixes/improvements
Fix/add missing gameversion references (BU instead of BW,
pokewalker=HGSS)
increase reuse of pidgenerator & add more generating methods.

seems like it's generating pkm fine besides the PID edge cases, which is
nice
2018-04-29 09:31:13 -07:00
Kurt
08603c5664 Fix xd miror b encounters not receiving versionID
version was set to Encounter_XD, which did not contain the miror b
encounters.

simplify XD check to be O(1) now that version is stored in the encounter
obj
2018-04-29 08:31:57 -07:00
Kurt
120f5380c9 Rework some more pkm generating logic
can get all the way to caterpie
- gen3/4 needs an antishiny,
- gen5 needs shiny&antishiny mech
- else case needs both as well.
2018-04-28 22:56:10 -07:00
Kurt
70992138e2 Misc encounter->pkm generating fixes
eggs for Gen1 must be generated in Gen2
gen1 wild encounter initial moves
gen4 abilities have 0 for single ability mons
2018-04-28 16:30:56 -07:00
Kurt
55f0143400 Handle generating gb2 events & eggs
restrict the simple encounter provider to not spit out cart era only
gifts.
2018-04-28 15:59:33 -07:00
Kurt
b2c54b7a43 Apply trade memory when changing handlers for pk6 2018-04-28 15:58:53 -07:00
Kurt
a11a44dde0 Add property set instead of discarding value
lul oops
2018-04-28 15:58:38 -07:00
Kurt
ea357cd57a Add GetRandomFeeling
fixes tests & transfers where an explicit range is not legal
2018-04-28 12:59:11 -07:00
Kurt
71faaee31c Refactor savefile tid/sid to int
can now use TrainerID editor control on a savefile... soon?
2018-04-28 11:06:58 -07:00
wwwwwwzx
fc72323c2e Add general memory intensity/feeling check (#1916)
* Add general memory intensity/feeling check

Memory setting subroutines: Y: sub_43C1E4 AS: sub_469A94
Memory table RAM address: Y:0x54A4F0 AS: 0x58A134
https://pastebin.com/h1RHL7nR

* Check if egg's OT memory is blank

All empty memory should be checked before common check.
Don't allow eggs to fall through.
2018-04-28 06:26:04 -07:00
Kurt
af8084fd34 Rework cosplay pikachu static encounter population
Now IV3, thanks @wwwwwwzx for finding the hard-coded case (Lati@s is
already IV3).

https://projectpokemon.org/home/forums/topic/45011-illegal-cosplay-pikachu/?tab=comments#comment-230318

remove SkipFormCheck, and just have all 6 populated (so that Form0
pikachu doesn't slip through).
2018-04-27 21:53:00 -07:00
Kurt
5ad31ad0c9 Generate pkm qr better
Don't include nature/ability for pre-gen3, export held item string with
correct version context
(whatever for cxd)

Closes #1915
2018-04-27 18:24:07 -07:00
Kurt
f5c9873348 Update showdownset handling for gen2/3
Closes #1913 by detecting any required pkm format related to the item.
2018-04-25 18:45:31 -07:00
Kurt
3f6b1acc93 Add fixed gender checks for non-GBA/NDS games
Closes #1912 , genderless ~= fixed gender I guess; shouldn't get these
gender-errors unless it's manually tampered data/ShowdownSet

remove unnecessary code in:
* PKMEditor (>=255 is already covered by == 255 and the fact that gt is
always <= 255)
* VerifyGender (3 <= x <= 5) check is already early-returned via
PIDGender check above

Update IsGenderValid knowing that VC mons have a gennumber <= 2
2018-04-23 19:58:29 -07:00
Kurt
15ce1acfdb update box manipulation
closes #1911 , changes end to be inclusive rather than exclusive. abuse
the optional to let it fill in the end caps.
2018-04-23 19:11:55 -07:00
Kurt
1b4ec11335 Add rebattleable Miror B locations to xd shadows
https://projectpokemon.org/home/forums/topic/44957-bug-pokemon-xd-post-game-shadows-flagged-illegal/

if shadow lock sets are ever implemented, would need to update this as
well to 'clone' with the different shadow teams available.
2018-04-23 17:14:52 -07:00
Kurt
505877763b Update ownership sort
gen4 and below saves don't provide an accurate Version/Game; ignore the
version check if it is not a valid game ID.

secondary sort to current OT name so that same-named OT (ignoring case)
are immediately after the current save's pkms.
2018-04-23 08:25:32 -07:00
Kurt
9e874a0784 Add modify handling to 'sorter' dropdown
adds hatch all eggs in box(es, with shift)
2018-04-22 12:43:18 -07:00
Kurt
19e73a5f85 Generalize meowstic edge case
lang sensitive, account for no nickname as well
#1905
2018-04-22 09:53:52 -07:00
Archit Date
4dfcafc720 Fix Meowstic edge case (#1906)
Edge cases with `-F` as forms are already handled in the code
2018-04-22 09:11:09 -07:00
Kurt
ea227a8113 Extract OrderByTrainer
logic to order-group may be useful for later
2018-04-21 23:03:51 -07:00
Kurt
e2405346a4 Update usage sorting
sort friendship delta with high values to front
reference correct method for usage sort
2018-04-21 21:15:19 -07:00
Kurt
8135820e73 Fix gen3 showdownset import
applying details modifies pkm data, pk3 checks for validity when
determining if it is decrypted or not
#1904
2018-04-21 17:47:32 -07:00
Kurt
2ed003d668 Check legality parse before checking relearn result
closes #1904
2018-04-21 16:42:45 -07:00
Kurt
79f1c780f9 Update ownership sort for better not-mine grouping
After the current save's originated pkms, sort by OT name/gender/ID to
group them together rather than leaving them unsorted.
2018-04-21 16:32:47 -07:00
Kurt
488b5215a7 add optional sort param 2018-04-21 15:07:58 -07:00
Kurt
e91cb806e5 Extract extension->prefer format method
fails for 'pkx' (returned 8 instead of 6); establish standard behavior
2018-04-21 14:38:18 -07:00
Kurt
7a245278ea Relocate mg description parse to core 2018-04-21 09:55:27 -07:00
Kurt
0b62ab85a1 Nature -> byte instead of int 2018-04-21 09:18:53 -07:00
Chromaryu
ecf191e0e6 Improve ja translation (#1903) 2018-04-21 08:37:32 -07:00
smileynation
d0e60b44e0 Update LegalityCheckStrings_ja.txt (#1902)
Minor fixes.
2018-04-20 09:20:30 -07:00
smileynation
5b524188cd Update LegalityCheckStrings_ja.txt (#1901)
I translated the main error message.
2018-04-19 05:58:28 -07:00
smileynation
6d2153a39c Update lang_ja.txt (#1900) 2018-04-19 05:57:51 -07:00
Kurt
159928b09b Remove soaring as valid egg hatch loc
hatch ctr doesn't update (steps don't count while soaring)

https://projectpokemon.org/home/forums/topic/44854-is-it-possible-to-hatch-an-egg-while-soaring-in-the-sky/?tab=comments#comment-229931

could probably rename the hashset to indicate that it's only used for
egg hatch locations...
2018-04-18 16:01:12 -07:00
Kurt
c3494c61c1 Fix encountertime comparison for surf mons
surf does not have another slot set; so they were all being set to
Morning.
Could have set all 3 time flags, but kept as 'any'.

will update release binaries with this one
2018-04-18 15:58:21 -07:00
Kurt
7cbd0e5d10 Update 18.04.18
Update event binaries with latest from the Event Gallery
2018-04-17 20:53:13 -07:00
Kurt
353978df59 Add fixed ability pcd valid bypass
https://projectpokemon.org/home/forums/topic/44834-bugabout-event-evolution/
2018-04-17 20:48:14 -07:00
Kurt
a48c70ccf2 Add evolution minbound check
https://projectpokemon.org/home/forums/topic/44834-bugabout-event-evolution/?do=findComment&comment=229887

(espeon at level 50 originating from a level 50 eevee gift is not valid)
2018-04-17 20:06:23 -07:00
Kurt
fef1d6e0dd de-linq some evolution dexlevel fetch
use shared IList interface instead of IEnumerable
2018-04-17 19:56:43 -07:00
Kurt
a34be35d9f Add commit contents for previous commit
removal of some linq, reorders as described by previous commit
2018-04-17 19:50:25 -07:00
Kurt
8250bc58cd Fix levelup->evo fetching of next levelup move
Correctly fixes #1163 (test cases added), eg wooper->quagsire would
learn yawn at 31 before evolving; the getmoves wouldn't provide yawn
(stopped at 30) with the old code; the lvl decrement was removed in the
incorrect commit, providing a legal verdict which was obtained
incorrectly (dexlevels were inaccurate)
2018-04-17 19:49:33 -07:00
Kurt
f767b2db0f Differentiate WasEgg (any egg location) from bred
https://projectpokemon.org/home/forums/topic/44838-buggen5-egg/

WasEgg is used for other encounter based checks, so can't reduce the
logic usage
2018-04-17 18:54:38 -07:00
Kurt
86333c6db6 Flag VC transfer affection
contest check only applies for 3->7 not 1/2->7

https://projectpokemon.org/home/forums/topic/44674-bug-about-contests-ribbon/?do=findComment&comment=229785

Thanks Davil!
2018-04-14 21:36:11 -07:00
Kurt
6db0b673db Handle ??? type gen4 arceus form check
interstitial between steel & fire, shift the form value up by 1 if
applicable

https://projectpokemon.org/home/forums/topic/44806-arceus-not-legal/?tab=comments#comment-229774
2018-04-14 18:20:58 -07:00
Kurt
7a77b4524f Add b2w2 route 23 amoonguss
https://projectpokemon.org/home/forums/topic/44798-bug-report-amoonguss-encount-error-b2w2/
Thanks smileynation!
2018-04-14 08:47:02 -07:00
Kurt
8cfd64df63 Add affection contest check for pre gen6 events
https://projectpokemon.org/home/forums/topic/44674-bug-about-contests-ribbon/?do=findComment&comment=229739
2018-04-13 18:52:38 -07:00
Kurt
6b387f9037 Handle alolan species transfer form check
https://projectpokemon.org/home/forums/topic/44718-bugabout-xd-alola-form/?do=findComment&comment=229735
2018-04-13 18:44:16 -07:00
Kurt
78f533605c Handle untranslated Italian LeafGreen Jynx trade
lul nice translating team u got there, would be a shame if they forget
to translate something ;) /s

Thanks cicciochiave!
2018-04-12 21:22:04 -07:00
Kurt
6a93a7e435 Fix kor2 string truncation
Closes #1896 , thanks @Narithegreat !
2018-04-11 17:06:13 -07:00
Kurt
7c1f163140 Fix gen4 (and 3 by usage) ’ ' apostrophe -> data
’ is aliased to ' for cleaner display to user; there's no usages of this
method beside gen3/4 strings.

fix early truncation of gen3 strings (don't put terminator on prior
valid char)

https://projectpokemon.org/home/forums/topic/44777-some-little-bug-in-emerald-leafgreen-and-blue-vc/
Thanks cicciochiave!
2018-04-11 16:51:33 -07:00
Kurt
b1cb5226f7 Fix b2w2 tutor reads
yikes what a typo
Closes #1895
2018-04-10 17:36:54 -07:00
Kurt
b8a5ccdf7d Simplify shedinja evo move check
Closes #1895 , re-verified with pkm provided in #1805
there's no shedinja gift, always is an evolution

seal some forms to remove virt call in constructor warning
2018-04-10 17:00:28 -07:00
Kurt
335379bd2e Remove unneeded string
#1893
2018-04-08 17:54:09 -07:00
wwwwwwzx
27f33a6719 Update Chinese translations (#1893)
* Update Chinese translations

* Sync missing change
2018-04-08 17:51:06 -07:00
Egzon Qukovci Jusufi
e39269484c Translated to spanish some of the lines (from 1 to 160) of MessageStrings (#1892) 2018-04-08 11:21:04 -07:00
Kurt
6ac8ed0098 Update translations
all supported langs now have all 3 translatable resources; translate
away!
2018-04-08 09:19:19 -07:00
smileynation
e7721f10ef Update lang_ja.txt (#1890) 2018-04-07 22:29:19 -07:00
smileynation
bd78a9a3e4 Update text_Forms_ja.txt (#1891) 2018-04-07 22:29:10 -07:00
Kurt
7ef8a88678 Add 2 spaces to jynx OT trade name
lol nice error, translators
2018-04-07 16:25:52 -07:00
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
420efb72bb Misc refactoring
use common edits to set pp
2018-04-07 11:40:01 -07:00
Kurt
9d3f7250a5 Clamp language values
pk3->pk4 threw errors

https://projectpokemon.org/home/forums/topic/44719-about-channel-jirachi/

should probably work that logic into a more generic getsafelanguage
2018-04-06 23:37:24 -07:00
Kurt
1f9f8c97f1 length check language & trash byte source
https://projectpokemon.org/home/forums/topic/44719-about-channel-jirachi/
future/invalid language values are out of range
fixes the symptom but not the root cause (permitting out of range
languages when generating a wc3->pk3).
2018-04-06 23:36:13 -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
51612b8977 Add custom sort via passed func params 2018-04-06 21:33:25 -07:00
Kurt
1d4e815689 Extract more mesage strings
all common strings in forms used by multiple generations

would rather rework the individual generation strings to be unnecessary
with better interaction instead (if possible), as translating hundreds
of limited exposure strings is a drag.
2018-04-06 21:23:09 -07:00
Kurt
5d8ccf12d4 Fix kor playtime read
Closes #1888
Thanks @Bl4ckSh4rk !
2018-04-06 17:15:34 -07:00
Kurt
5e96c6e035 Extract main window strings to translatable class
Similar to LegalityCheckStrings
no resource files yet, will generate those tomorrow(?)

some strings are not translatable (useless gen6 passerby export text),
not really worth
2018-04-05 21:25:18 -07:00
Kurt
1122a3f21e Shift kor gs pokedex bitflag region
-0x20 yields a match for seen/caught

https://projectpokemon.org/home/forums/topic/44692-i-have-a-question-about-gen2-of-pkhex/

Thanks BLACKBIRD!
2018-04-05 17:00:55 -07:00
wwwwwwzx
8710c7a517 Translations update (#1887)
* Update Chinese translation file - 2

* Fix up base stats label translations
2018-04-04 22:45:14 -07:00
Kurt
2f57630b4a Clamp abilitynumber value
keep to 3 bitflags
1/2/H
2018-04-04 21:42:02 -07:00
Kurt
f56696bf5c expand sorting capability
can replace the sorting function in SaveFile with any of the other
behaviors (or can just get->sort->set BoxData)
2018-04-04 20:30:49 -07:00
Archit Date
d65652a34e Fix Showdown Imports for Nidoran (#1886)
Showdown Set isn't recognized because of the format `Nidoran-G (G)` where G is M/F
2018-04-04 18:30:54 -07:00
Kurt
bdb6b7a2f1 Add shiny indication for wc3 in mgdb search
https://projectpokemon.org/home/forums/topic/44675-about-event-database/

also fix some xml comments
2018-04-04 09:53:48 -07:00
Kurt
48cf658abd Update translations
#1885
removes content not present, moves dev code to separate debug-only class
2018-04-03 18:46:32 -07:00
wwwwwwzx
159f1594e9 Update Chinese translation file (#1885) 2018-04-03 09:09:03 -07:00
Kurt
ad19496d94 Fix multiline translation val 2018-04-02 23:09:33 -07:00
Kurt
1777a09bde Update translation files with all translatables
Closes #1883

Some controls could be manually pruned (like Gender labels), but nah
2018-04-02 20:55:10 -07:00
Kurt
58a84e3770 Merge branch 'master' of https://github.com/kwsch/PKHeX 2018-04-02 17:51:40 -07:00
Kurt
547c799eeb Handle gen1/2 static encounters
levelup starts after initial moves
2018-04-02 17:51:37 -07:00
smileynation
15874798e6 Update lang_ja.txt (#1882)
Japanese transration.
2018-04-02 07:58:10 -07:00
Kurt
39f1805940 Fix gen2 met data setting 2018-04-01 20:25:40 -07:00
Kurt
d4e38dded0 Refactor time of day check/validate
Fixes time of day flitering property reference (met_day is always 0, so
it never reached)
2018-04-01 20:22:10 -07:00
Kurt
867c705597 Fix broken gen2 tests
add oddish to the mix
2018-04-01 15:51:55 -07:00
Kurt
d42eb4372f Fix 4 egg move gen2 oddish
egg moves also can be taught in gen1, which causes the learn source to
be locked to a tradeback (removing egg moves that have IDs greater than
RBY's moves). Simplify gen<=2 parse preference ordering with this
addition to force egg moves to be acknowledged.
2018-04-01 15:04:53 -07:00
Kurt
07b2568b1f Fix g2 caterpie generating
has no egg moves -> no moves generated!
2018-04-01 15:02:27 -07:00
Kurt
5e55b916fa Handle fixed gender statics
Seems like a PID/Nature/Gender/Ability smart-setter is necessary for
other encounters
2018-03-31 21:55:59 -07:00
Kurt
ba4c911566 Refactoring & finish eevee test case
generates a legal pk* for every possible encounter; there's likely other
scenarios and more roughness to smooth out, but seems legit for now
2018-03-31 20:37:36 -07:00
Kurt
32f9f806db Add other iencounterable->pkm generators
not tested
2018-03-31 00:43:41 -07:00
Kurt
0b4adf9763 Sync missing content
fixes tests
2018-03-30 22:11:24 -07:00
Kurt
0597833899 Track version of slots/static/trades
I think I set the version at the appropriate times to get all encounter
objects
2018-03-30 21:38:57 -07:00
Kurt
a89c0c3312 Rename egg game->version
add more gameversions (soon)
2018-03-30 21:37:01 -07:00
Kurt
b38abc22e2 Refactoring
add IVersion interface with common interactions
2018-03-30 16:31:40 -07:00
Kurt
2f30eb7c78 Fix rsbox checksum calc/write in blockinfo
F004-chk returned 32bits instead of 16
writing was writing to the head of the save file (lol)
2018-03-30 15:56:59 -07:00
Kurt
537ad33229 Add encounterlink gen
not tested
2018-03-30 01:02:37 -07:00
Kurt
214e684ff8 Add GetEncounterMoves method
dictionary mapping common gameversions to their associated obj
2018-03-30 01:02:22 -07:00
Kurt
d03ff147d4 Add template -> pkm method
fix signature if no versions are provided (empty params is [0], not
null)
2018-03-29 21:04:05 -07:00
Kurt
2ea1fea5f5 Refactoring
add GameVersion to generation
fix generating pk2 eggs
relocate some logic
2018-03-29 21:00:38 -07:00
Kurt
e74e7878cd Lower dragonair encounter level req for trade
https://projectpokemon.org/home/forums/topic/44555-gen2-legality-issue-with-in-game-trade/
Thanks Bumidek !
2018-03-29 08:50:23 -07:00
Kurt
e5ccae906a misc quality of life improvements
set egg friendship
allow SetRandomIVs to use a minimum fixed IV count
2018-03-28 20:56:58 -07:00
Kurt
76b4db1477 Add egg converter & test
only tested for gen7 egg->pkm (not to eventual set)

pretty sure a good chunk of the egg generation logic can be pulled out
for reuse in other IEncounterable generators (IEncounterable
extensions?)
2018-03-28 20:40:07 -07:00
Kurt
6333c42cf1 Add more suggestions for eggs 2018-03-28 20:38:21 -07:00
Kurt
1e13220e6e Add IEncounterable -> pkm interface method
egg,slot,static,link,trade need to be implemented later

remove IEncounterable from PL6
2018-03-28 20:38:07 -07:00
Kurt
314a92b67b Extend core api
add copy/fetch new
2018-03-28 20:34:58 -07:00
Kurt
4cc31ea5e2 Standardize move setter
no longer allow passing null, if array is too small, set zero instead.
2018-03-28 20:34:12 -07:00
Kurt
e026a8ab49 Add default trainer info
use in pkmeditor and utilize
2018-03-28 18:52:50 -07:00
Kurt
35e699cffa Misc mg updates
pgf/wc6/wc7 received on future game -> random version
could eventually be replaced with a get-sane-version which checks if
OriginGame == 0.

fix wc3 random RS giving E (R+1=E)
2018-03-28 17:46:37 -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
a0eb658ef2 Extract minimum trainer information requirements
If one wanted to extend ConvertToPKM to other IEncounterables, this
would be the provided obj containing the receiver's info

allows pkm gen without a savefile, which is nice?
2018-03-28 15:55:19 -07:00
Kurt
78616e1ad5 Add showdownset -> pkm encounter fetch test case
Test parsing glaceon, input must equal output
Test generating encounters for a specific version (exists only on Moon)
Test generating encounters for the same version (add handling trainer
data to permit Tutors)

fixes error in VC generations-present fetch which allowed movesets from
generations 3-6 lul
exclude negative/invalid gameversions
2018-03-27 19:45:22 -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
Kurt
93ca091eb8 Fix gen4 event location string name output
legalityanalysis spat out the unshifted value or none at all (bank 3000
was not returned)
2018-03-26 23:22:11 -07:00
Kurt
1ca69965bf store encountertrade nick/ot within object
allows for ot/nick fetch for a given language
2018-03-26 22:23:11 -07:00
Kurt
6abd2a22a4 Add oras contest master ribbon affection check
Each contest victory requires a contest participation; each
participation gives 20 OT affection (not current trainer!)
Thanks @WyrXIII , @JusLi, @Cresceda !
2018-03-26 16:42:18 -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
4d3877bf7f Add EncounterMovesetGenerator
lack of a better name; generates IEncounterable list.
2018-03-25 22:50:32 -07:00
Kurt
99a4c55579 Relocate some logic to core
party stats set when setting a slot to a save file
simplify set/delete slotchange duplicate logic
suggest better met locations beyond VC transfers
hatching a gen6 egg applies memories automatically
2018-03-25 19:05:49 -07:00
Kurt
a24e5aa742 Update personalinfo usages
less temp array usages, add methods for cleaner understanding
2018-03-25 13:54:30 -07:00
Archit Date
5bf4fde15c Fix Showdown Import issues (#1878) 2018-03-24 21:47:57 -07:00
Kurt
828636856c Change coin cap to fixed 50000
#1746

https://projectpokemon.org/home/forums/topic/44503-bug-report-gen-4-coin-counts/
max is 50000
https://bulbapedia.bulbagarden.net/wiki/Coin_Case

The Coin Case can hold up to 9,999 coins in Generations I, II, and III,
and up to 50,000 coins in Generation IV.
2018-03-24 17:29:48 -07:00
Kurt
1e708a2102 Simplify default met location fetch
now that IGeneration is available, don't call pkm.GenNumber (slower)
2018-03-24 17:28:56 -07:00
Kurt
a6977af19a Pull out Contest Stat logic to interface 2018-03-24 10:36:48 -07:00
Kurt
c229d5cef4 Add RS & FRLG mail offsets
was only emerald prior
Thansk @Bl4ckSh4rk !

https://projectpokemon.org/home/forums/topic/44433-bug-rubysapphire-mailbox/?do=findComment&comment=228885
2018-03-23 23:06:51 -07:00
Kurt
17b771632e Add settings editor to main navigation
shortcut ctrl-n (CoNfig)
Closes #1864
add debug lines for triggering translations to update
2018-03-23 22:54:26 -07:00
Kurt
d58278d170 Pull out stat modification logic 2018-03-22 22:43:56 -07:00
Kurt
0d69e803e1 Add gen4/5 synthetic trade logic
was previously present for gen6 and gen7 only, resulting in eggs in
gen4/5 not getting link trade values applied. that's really all.

https://projectpokemon.org/home/forums/topic/44437-bug-eggs-transfer-for-gen-4-dppt-and-hgss/
2018-03-21 21:10:23 -07:00
Kurt
d1cfdd782e Rework ball / frame check passing
Two checks are performed for Gen 3 & 4:
A: Encounterability (wurmple, ball, ability)
B: RNG Compatibility (frame)

Original code only checked 'A'
Recent code ordered by 'A', but returned anything that matched 'B'. If
'B was not satisfied, an 'A' match would get deferred, allowing for an
eventual B & !A to be returned before a A & !B being returned.

yay bool logic

we want to prefer a RNGFrameMatch as well as a SlotCompatible match
original code (no RNG checks) retrieves with SlotCompatible just fine
recent adding in framematch resulted in deferring compatible if not RNG
frame, yielding !A matches before A & !B

maintain 3 queues (A & B get yielded immediately) to track A!B, !AB, and
!A!B
not necessary to check unown case anymore as it'll fall into the A!B
group. better performant to skip that check in favor of only adding for
fail.

thanks theSlayer!
2018-03-21 20:19:54 -07:00
Kurt
636736c3fa Add g3 safari ball wild deferrals
Pineco is valid but also can be sourced to altering cave
similar for sandslash
Thanks theSlayer!
2018-03-21 17:30:19 -07:00
Kurt
f103a84fbd add duc reading
i dont really want to add more than this, header/footer conversion can
be done separately.
2018-03-21 17:01:07 -07:00
Kurt
aedc0092b4 Rework translations
instead of:
controls on form->dict of names, look up line to find control
now:
dict of names->look up control to find name

faster overall, simpler, and updates the dictionary with new control
entries. browse thru forms that call translateinterface with one
language (english), then updateall(en) and dump to get the updated
translation files.

#1864
2018-03-20 22:34:44 -07:00
ReignOfComputer
bf1b685705 Translate Showdown Markings & Fix PT Selection (#1872)
Added translation strings for Apply Showdown Markings in CHS, French,
and Korean. International schools ftw.

Additionally, Portuguese was not accessible as it is Index 9 ("zh2",
which I assume is CHT, is at 8), so I've just hardcoded this bit since I
don't know if anything else relies on lang_val.
2018-03-20 08:36:15 -07:00
Kurt
42f5f9b051 Add smart move[] setter
Closes #1871 (smart-move setting is also done by batch editor)
2018-03-20 08:35:41 -07:00
Kurt
426ef1403c Change pp call
was supposed to be with prior commit
2018-03-19 17:32:45 -07:00
Kurt
e4c2b5d77a Split PPMax & PPCurrent edit methods
As noted in #1866
2018-03-19 16:21:29 -07:00
Kurt
9bb4120ff9 add faster pkm slot presence check
instead of checking if the array is empty, only check PID and species
2018-03-18 16:22:21 -07:00
Kurt
2c4e3358e4 Fix ninjask evo move comparison
https://projectpokemon.org/home/forums/topic/44413-bug-information-about-bug-found-on-the-new-version-180319/
2018-03-18 15:30:19 -07:00
Kurt
b0dcdf0948 Update 18.03.19
Update event binaries with latest from the Event Gallery
2018-03-18 13:42:29 -07:00
Kurt
26cc266dd1 Move type sprite fetch remapping to pkmutil
I still don't like it 100%
2018-03-18 11:25:57 -07:00
Kurt
f55028c1a0 Fix KChart errors
gen1 & gen2 types aren't laid out contiguously (yay bird type and extra
types)
fix gen2 type accessors looking at the wrong byte

type sprites now load correctly, and 3rd ability no longer throws an
error (forced to None).
2018-03-18 11:22:20 -07:00
Kurt
88ce27f26b Add R/S roamer data offset
is different from emerald

Thanks TetsuyaGR!

https://projectpokemon.org/home/forums/topic/44407-bug-rubysapphire-roamer-bug/

(use concatall in encounters4)
2018-03-18 08:37:40 -07:00
Kurt
75dbec6038 Remove unnecessary switch entries
null return is only really useful for implementing; can remove the
chance for null when using the api
2018-03-17 20:05:35 -07:00
Kurt
49d92758c5 xd ribbon fix
lol
2018-03-17 10:36:37 -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
d1a789eeab Fix some pokedex4 behavior
https://projectpokemon.org/home/forums/topic/44347-gen-4-pokédex-forms-incorrectly-readwritten/
2018-03-16 17:54:47 -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
3e9dabf46d Set forced hatch egg friendship
use base friendship, obviously (previously used current egg ctr)
fix force hatch on gen2->gen1 handling with nickname
2018-03-14 22:34:15 -07:00
Kurt
2685fe29c2 Ban hidden-apricorn voltorb bronzor
Thanks @wwwwwwzx !
2018-03-14 08:10:12 -07:00
Kurt
46e1d8a4eb Add ability to replace IV marking method
set the MarkingMethod to a desired func provider (out int markval, int
IVvalue, int IVindex)
#1862
2018-03-12 20:44:16 -07:00
Kurt
1cdbe6f4f8 Fix ditto5 IV order
closes #1863
2018-03-12 19:34:54 -07:00
Kurt
b41095bb28 ShowdownSet gender/markings
Closes #1862
2018-03-12 17:40:09 -07:00
Kurt
102550174e Simplification
invalid/unknown usages were incorrectly interchangable; dex-sets were
looking at Unknown which was impossible for some cases.

only use GameVersion.Unknown as a temp placeholder for later resolution
by the user.
2018-03-11 18:07:48 -07:00
Kurt
22bde0af52 Fix incorrect variable reference
new SAV3() throws exception, no more!
2018-03-11 14:42:56 -07:00
Kurt
59c01396ab Add string[] -> showdownset & showdownset[]
remove some unnecessary pre-processing / allocation (ToArray)

pls lmk if there's any sets that break (should really have parsing test
cases)
2018-03-11 11:39:58 -07:00
Kurt
aa65d88d3d Cache pressure slot instead of saving all to list
faster to do:
null check & comparison for each
vs
collection add (especially if growing collection)

don't evaluate all slots (faster), capturing the dexlevel[] object is
fine until the enumerable is discarded
2018-03-11 11:02:02 -07:00
Kurt
5148fd2c4e Add minimally filtered encounter generators
Filters by species at most, resulting in something that can be scanned
for a preferred encounter.
2018-03-11 00:29:31 -08: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
84c5decfc0 Comment out unused
temp = temp permanent lul
2018-03-10 19:40:57 -08:00
Kurt
2bd9d99d9e Refactoring
WinForms->Core logic absorbing (CommonEdits)
loading ShowdownSet now applies properties to PKM instead of PKMEditor
Contest/IVs for Static/Trades are no longer set by default (less object
allocations), and are now checked by the encounter generator
2018-03-10 18:03:09 -08:00
Kurt
9da1913f1b Only check static IVs if original IVs still exist
https://projectpokemon.org/home/forums/topic/44319-bug-vc-mew/
Thanks Davil!
2018-03-09 20:00:13 -08:00
Kurt
cda2cfcefd Clean up EncounterLink
no new gen6 pkm link gifts, simplify usages
2018-03-09 18:58:00 -08:00
Kurt
452ffe2369 Refactoring
relocate location of stuff
2018-03-08 21:18:32 -08:00
ReignOfComputer
8147258e9e Unban Gen 7 Starters HA (#1860)
HA Starters Event via Pokemon Bank
2018-03-08 05:55:47 -08:00
Kurt
cbf4038a95 Refactoring
relocate gift data storage out of legal.cs
2018-03-05 22:19:56 -08:00
Kurt
21cdf4f642 Reorganization
wonder if it's possible to provide a more lightweight core by pulling
out legality stuff to a separate project?
2018-03-05 20:49:45 -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
e4210e2b3e Misc api improvements
extract common nature amp logic
generic ienumerable copyto which now returns count of elements copied
(maybe useful later). prior usages never tried to copy an enumerable
larger than the dest array (now length checked).
2018-02-28 21:50:50 -08:00
Kurt
24982fe8c5 Misc simplifications 2018-02-28 21:05:50 -08:00
Kurt
1411933e27 Relocate pkm stat controls to separate usercontrol
splits the logic up
change hypertrain from ctrl (prevents 30/31 setting) to shift (allows)
2018-02-26 21:22:35 -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
934757eac1 Add Bank7 r/w 2018-02-24 13:03:32 -08:00
Kurt
f9002c6cc9 Add trashbyte copy for OT import on gen1/2
Closes #1849
NAME_LENGTH is 11 for both gens and the offsets don't vary between
languages, so it's a simple fetch.
2018-02-22 22:42:50 -08:00
Kurt
016b75fe83 Fix necrozma showdown->short names
closes #1848 , had deleted short->showdown conversion

Thanks @architdate !
2018-02-21 20:40:06 -08:00
Kurt
ee1196a57d Set playedtime accurately
closes #1847
override playtimestring if max time... better than nothing
2018-02-21 15:22:43 -08:00
Kurt
d20f14504e Refactoring
pull out BlockInfo logic, standardize common block checking
reduces array allocations
2018-02-19 11:33:37 -08:00
Kurt
26ca111630 Fix SetHPIVs order
speed IV last -> speed IV first
closes #1844
2018-02-18 09:54:17 -08:00
Kurt
e6a74b0145 Only skip nickname set if currently same
Closes #1842
2018-02-17 17:42:00 -08:00
Kurt
47643f49b6 remove linq personalinfo bit fetch
reads the bits out of the original array (saves a few ms by not
allocating/gc)
2018-02-16 19:34:42 -08:00
Matt
43d8f74342 Fix Swampert dex forms (#1839) 2018-02-16 16:30:34 -08:00
smileynation
d7fa703b99 Update lang_ja.txt (#1836)
Add change translation files.
2018-02-15 19:41:05 -08:00
Kurt
e33bd4c327 Add Dialga/Palkia headbutt location
turns out route 47 (below route 48) also yields dialgapalkia, which also
has a tall grass patch that can be headbutted from.

Closes #1833
2018-02-15 19:40:42 -08:00
Kurt
c825d5919c Fix wc4->pgt crypt
array isn't encrypted in place (didn't use return value)
Closes #1835
2018-02-15 19:07:41 -08:00
Kurt
2b49ab0034 Fix return value for forme parsing
false => failed to parse
Closes #1834
2018-02-15 18:59:38 -08:00
Kurt
f8bf3e400b Misc tweaks
Add bulkstorage SaveFile template
remove unused using
un-virtual box property (don't override behavior)
Split new-USUM island names (unused)
Remove island names from valid egg locations (thanks Davil !)

https://projectpokemon.org/home/forums/topic/43874-bug-met-location/?tab=comments#comment-227684
2018-02-15 17:05:45 -08:00
Kurt
89248b30a9 Re-add rufflet pelago for sn
Thanks @wwwwwwzx !
2018-02-12 17:38:31 -08:00
Kurt
68c782e661 Handle version mega import/export
Closes #1832
2018-02-12 17:36:15 -08:00
Kurt
28180687a5 Add transfer2 future evos for legality reuse
https://projectpokemon.org/home/forums/topic/43827-gsc-mismagius-treated-as-illegal/
2018-02-11 20:48:36 -08:00
Kurt
f1cd1d8b50 Fix pgt->pk4 obj usage
clone the data, don't reuse & tamper with pgt data...
thanks @ReignOfComputer !
2018-02-11 17:28:23 -08:00
Kurt
38fb30e847 Remove Punishment from Murkrow USUM eggmoves
Closes #1829

"In Pokémon Ultra Sun and Ultra Moon, Murkrow is programmed to be able
to learn Punishment through breeding, but no other Pokémon in the Flying
Group can pass down Punishment as an Egg Move in those games. Vullaby
and Mandibuzz are the only Flying Egg Group Pokémon that can learn
Punishment, but they cannot pass down the move due to being female-only
species."
2018-02-10 18:56:06 -08:00
Kurt
d706d825a9 Handle legal pichu form values
Closes #1828 , thanks @SpiredMoth !

slightly optimize batrev key init
fix exception for pkm loading switching between gen3->4 saves
2018-02-10 17:43:00 -08:00
wwwwwwzx
9187be8177 Update CHS translation files (#1827)
* Update CHS translation files

* Fix crabrawler outliers

Double check the wild encounters level range again.
2018-02-10 15:29:22 -08:00
Kurt
dae038d59c Use hidden power spread with most 31IVs w/guessing
#1826 (HP Ice with ATK=0 now prefers flaws in only defense rather than
HP and defense).
2018-02-09 21:27:57 -08:00
Kurt
f289249b2d Add oddball crabrawler berry pile levels
thanks @wwwwwwzx !
2018-02-09 21:26:28 -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
d6fbd0f0d7 Reorder gsc encounters
new string resources have shuckle last
thanks @sora10pls
2018-02-08 17:05:15 -08:00
Kurt
22a2056a91 Fix showdownset IV HPtype export
no need to reshuffle IVs since the pkm->showdownset defines the IVs in
the speed-first order
Closes #1824
2018-02-07 20:59:36 -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
07bd2412cb Add all deco unlock
#1819
not exposed via GUI
2018-02-07 18:29:45 -08:00
Kurt
93fd47a8e5 Rework hidden power IV setting
If the Hidden Power set doesn't match what is required (missing Hyper
Trained IVs), will need to adjust IVs.

Compute the first matching hidden power IV set by permuting flawless IVs
to flawed.

Closes #1821
2018-02-07 18:28:56 -08:00
Kurt
9408255bee Add other international (non english) gen2 tradeOTs 2018-02-06 23:09:00 -08:00
Kurt
af0e05f6af Fix sav editing from direct memcard saves
Thanks @sora10pls for finding this

(just use the existing MC data)
2018-02-06 20:33:32 -08:00
Matt
1b2aded412 Allow shiny Partner Cap Pikachu (#1820)
good job Game Freak https://twitter.com/wwwwwwzx/status/961057063198539778
2018-02-06 18:54:45 -08:00
Kurt
05355f3566 Fix gsc shuckle jp name
Closes #1818
strengthen language specific checks (JP or INT, not any)
2018-02-05 20:55:10 -08:00
Kurt
246b9d46a9 Add GSC fishing swarm encounters
Closes #1814
2018-02-04 23:14:12 -08:00
Kurt
2a638a957f Refactoring
compress some ideas
2018-02-04 19:17:44 -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
420a18ea85 Rework shadow lock checking
tested for 2 locks, later commits with legality check implementation
will feature more lengthy lock checks (test case automation).

https://pastebin.com/VdbjWaqL
(species doesn't matter since most are 50/50 ratio)
2018-02-04 16:33:53 -08:00
Kurt
c20f03434f Add FrameCache object
arbitrary access for RNG frame results, only generating frames when the
frame is unavailable. all calculated frames are cached.

to be used in RNG searching where caching seeds is necessary (repeat
checks)
2018-02-04 16:30:50 -08:00
Kurt
35e5dbfb32 Add eterna forest honey tree location
Closes #1812 , thanks @ultima-soul !
2018-02-04 14:03:35 -08:00
Kurt
04888a5c39 Add crabrawler berry pile scripted encounter
https://projectpokemon.org/home/forums/topic/43628-crabawler-bug/
doesn't exist in static encounters, maybe is set up like the swooping
encounters of gen6.
2018-02-04 13:04:45 -08:00
Kurt
8695666044 Fix showdown set form import off by 1
closes #1811
2018-02-04 09:44:19 -08:00
Kurt
9a20734be2 Update lock checks
test case
https://pastebin.com/f4K7uc56
only checked for single locks
2018-02-04 00:06:07 -08:00
Kurt
14fc71a5d2 Fix Zygarde Aura Break formechange detect
original was AltForm != 1, 0 is also invalid so >1 suffices.
remove parameter from method & update usages
2018-02-03 21:12:36 -08:00
Kurt
118a213b6c Fix backwards conversion copy order
reflection (now only used for backwards conversion) will use destination
order instead of source order so that the destination can order itself
for quirks

redo method call (probably breaks someone if they update, maybe pk2pk)
2018-02-03 15:32:45 -08:00
Kurt
886398184f Add pk4/bk4 shared class
reflection no longer used for official transfers
2018-02-03 15:31:35 -08:00
Kurt
c5655166bf Add shared pk3/xk3/ck3 class
standard generation 3 pkm content & interactions
generic inter-converter (more efficient than reflection)

update conversion methods; specific format conversion is now in the
object's src file now.

may be worth doing for gen4 pk4<->bk4
2018-02-03 12:42:06 -08:00
Kurt
0a22ccdb2b Disallow invalid pelago levels
simplify pelago slot generation too
linq for now; can be silly and make it a for loop but meh
2018-02-02 20:52:44 -08:00
Kurt
382c94c348 drop sm pelago exclusives back to 1-55 not 37-55
https://projectpokemon.org/home/forums/topic/43711-vullaby-invalid-error/
2018-02-02 20:10:43 -08:00
Kurt
d9d27a52b7 Refactoring
explode xorpad into more reusable ideas
2018-02-01 22:09:31 -08:00
Kurt
b603bc87b8 Update shedinja ninjask move checks
check level of source moves for any incompatibility in non-bred cases.
Closes #1805
2018-02-01 19:57:02 -08:00
Kurt
999427f484 Update gen2 egg generator
Level = Level is equivalent to Level = 0

update EggInfoSource to use Level instead of LevelMin (LevelMin returns
Level, just be clear on usage)
update VerifyCurrentMoves so that only gen1/2 do the gen1/2 move update
methods. Recently extended all encounters to have a generation property;
we only care about gen1/2 here.

https://projectpokemon.org/home/forums/topic/43655-pokemon-crystal-egg-mark-as-not-legit/
2018-01-30 20:36:22 -08:00
Kurt
84a0381050 Add Italian to gb languages
https://projectpokemon.org/home/forums/topic/43655-pokemon-crystal-egg-mark-as-not-legit/
2018-01-30 20:34:11 -08:00
Kurt
836566004f Use CXD met location string on verbose output
was previously using RSEFRLG locations for CXD encounters
2018-01-30 20:24:45 -08:00
Kurt
1ca9180e21
use SlotList view to dynamically show slots (#1798)
Closes #1795 by redoing the controls

Allows for a specified slot type & offset to be passed, can easily add extra slots by updating the GetExtraSlots extension method.
2018-01-30 18:52:55 -08:00
Kurt
c4865c6c0a Fix kommo-o-totem detection
psim lexing sucks lul
Closes #1796
2018-01-30 16:18:39 -08:00
Kurt
7063ea2971 Remove vc1 pay day mewtwo restriction
Closes #1794
2018-01-30 09:38:45 -08:00
Kurt
4ac92b9418 Update nincada->shedinja evo chain check
Thanks @admiral-fish & @Marty-D !
2018-01-29 20:52:05 -08:00
Kurt
834d115e3a Add extra slot fetch utility
fix resort offset fetch (+=4)
2018-01-29 20:15:51 -08:00
Kurt
e472bfe278 Refactoring
move slotchange to core
2018-01-29 17:52:21 -08:00
Kurt
d7eae51c1f Use showdown specific gender culture for formID
Closes #1793 , the form was returning -1 because it was expecting ♀ not
F
2018-01-29 17:20:12 -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
9085dfd950 Allow backwards conversion on hax
works somewhat on drag&drop individual files, not guaranteed to work for
all pkm formats
https://i.imgur.com/v3i3ON9.png

Closes #1792
2018-01-28 22:47:03 -08:00
Kurt
9e7a4d01ab Update blank constructor
first declared constructor is a static constructor, skip that one by
filtering out !static
2018-01-28 21:40:42 -08:00
Kurt
2365e2394c Add eggcycles override for Odd Eggs
not gonna bother checking for exp < 125 because after transfer these are
indistinguishable from regular eggs.
2018-01-28 09:46:11 -08:00
Kurt
2828c89497 Update 18.01.28
Update event binaries with latest from the Event Gallery
2018-01-28 00:31:35 -08:00
smileynation
3ff72a3f51 Update flags_c_ja.txt (#1788) 2018-01-28 00:19:18 -08:00
Kurt
735ff26486 Rework GetEncounterMoves to match games
Closes #1787

Noticed that the search-backwards approach for GetMoves yields Sludge
for muk even though it shouldn't be allowed
im fine with this for now because gen2 never had online checks and any
current-gen checks allow relearning.
2018-01-28 00:09:11 -08:00
Kurt
eb505303bb Fix vc backups acting like gb era saves
ends with .dat only works if the real file ends with dat
load the filename data after stripping off the bak filename data
#1787
2018-01-28 00:03:49 -08:00
Kurt
13e7d8ff85 Fix dragonair ingame trade genders
#1787
2018-01-27 23:23:10 -08:00
Kurt
bfe4f3222d Don't update HP IVs if IVs already provided
Closes #1786
2018-01-27 20:18:38 -08:00