Kurt
e08ecb21c1
Bypass tradeevo check for gen1 if sav gen >= 3
...
Closes #2237
2019-01-09 08:52:56 -08:00
Kurt
3bbde6fc19
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-01-08 18:35:29 -08:00
Kurt
d85bb76208
Mirror order of operations from pb7
...
see prior commit; this doesn't make any difference since
CurrentFriendship isn't being called; but we're just matching the flow.
Closes #2235
2019-01-08 18:35:26 -08:00
Kurt
fef80d5a05
Fix pb7 trade logic
...
Update handler after friendship update (CurrentHandler needs to update
afterwards)
Fix argument order (gender & nonpresent region data)
#2235 side effect
2019-01-08 18:32:42 -08:00
Kurt
bc8b48eb88
Fix sort writeback for locked slots
...
clear flag, update properties
#2235
2019-01-08 18:31:14 -08:00
Kurt
6bd0e87ea3
Fix copyto discarding elements
...
don't continue; instead seek forward
#2235 part 1, need surgery for part 2 (starter/locked prevents writing
data to the slot, but the slot can still be swapped)
2019-01-08 16:45:16 -08:00
Mitsuki
3c552cc1e7
Update for Latest Berry Event ( #2234 )
...
Because the Berry are now Released on Gen7, allow Items now on Legality Check: Enigma, Micle, Custap, Jaboca
2019-01-08 06:14:41 -08:00
Kurt
c1fa7d3916
Fix fish slot read
...
oops, final slot was dropped
Closes #2231
2019-01-07 15:41:20 -08:00
Kurt
f97417fe85
Remove some unused bitflag regions
...
cuts down memory footprint by quite a bit (bool[] is 4bytes per bool)
2019-01-06 22:21:25 -08:00
Kurt
c42c019149
Fix split-evolution regression
...
Closes #2230
ty @NinFanBoyFTW !
2019-01-06 22:18:14 -08:00
Kurt
1095fd0811
misc alloc reductions
...
scan the data to determine the size of the result array
prevents list buffer resizing-copy (many times) and the final ToArray()
2019-01-06 21:00:27 -08:00
Kurt
950ddcf9fd
Reduce npclock object size
...
24 bytes per object -> 16 bytes
2,624 objects are made for legality checking; reduces from 73KB to 41KB
removing unnecessary clone recreation -> count from 2624 -> 414 (41KB to
6.6KB)
yay 10x reduction; not huge in the big picture but a fun exercise
2019-01-06 20:58:57 -08:00
Kurt
2a8b43d9c7
Remove temporary test
...
Shadow lock checks were finished; teams with 5 locks are working.
Relocate member data to the full team verifier.
2019-01-06 20:58:17 -08:00
Kurt
75202c7a89
Misc updates
...
reducing allocations, increasing clarity by removing some magic numbers
probably can rewrite some of the evo loading/checking for even less, but
good for now.
2019-01-06 16:22:45 -08:00
Kurt
744646e30d
Add gold bottle cap bypass for LGPE
...
All IVs are flagged in LGPE even if they're perfect :(
Might have to revisit this for future games and if LGPE transfer out and
maintain these bad flags (this is bad for inspecting parents before
breeding).
Closes #2229 , thanks @SteelPhase (report) and @sora10pls (verified)!
2019-01-06 16:21:34 -08:00
Kurt
0cdaae1d51
Update cxd antishiny tracking
...
check antishiny rerolls as required, reduce allocations
2019-01-06 01:26:18 -08:00
Kurt
154f122369
Allow changing of default savefile type
...
kinda have to restrict these to 'valid' choices; should be enough of a
selection->result to be adequate for changing version
restart the program after changing the setting; won't take effect until
rebooted.
2019-01-05 15:42:20 -08:00
Kurt
9a4f12c279
Misc updates
...
rearrange pkm version groups for clear break between
twins/siblings/family
clear pokelist for sav7b on non-exportable saves (prevents b1s1 from
showing markings)
rename horohoro (pgo) to non romaji lol, hide daycare/party tabs on
nonexportable save
remove some unnecessary operations
rewrite getallcontrolsoftype to remove ToList() and make generic
2019-01-05 15:40:25 -08:00
Kurt
435c429dfc
Allow colo to be a blank savefile
2019-01-05 15:37:06 -08:00
Kurt
174eb81986
Fix xmldoc comment
2019-01-05 15:36:44 -08:00
Kurt
e028214eab
Update dex form handling for dex4
...
still not sure if it's entirely right, but at least there's no more
exceptions
https://projectpokemon.org/home/forums/topic/48288-pokedex-error-gen-4/
2019-01-05 12:37:41 -08:00
Kurt
0c9b760470
Move GetIV to pkm, misc simplifications
...
remove linq for characteristic calc (get max IV) and others
remove some reliance on new[] for iv/ev
pk5 replace bitmagic with property get->set copy for cleanliness
2019-01-05 10:51:41 -08:00
Kurt
4dad475fcd
Fix colo lock check regression
...
oops; tests pass now
2019-01-04 00:10:44 -08:00
Kurt
7ab42e7cc2
Misc improvements
...
remove alloc on gc key advancement; advance keys in place
make g6 sizes an explicit comparison instead of new[].Contains
replace Any/Count with Array.Find calls (removes linq dependency from
savetype detection!)
2019-01-04 00:07:37 -08:00
Kurt
bdcabfa573
Update gen4 save detection
...
footer is different for Korean saves; checked JP/EN and they use the
2006 date. Probably the same for everyone-but-KO.
Simplify check further, only check the 0x4.... sav as it's the first
region saved to. No point wasting time checking the other!
a previous commit alluded to general/storage being initialized in
different slots
e8644280a1
, gonna ignore what was stated as I can't find any proof with the few
tests I did today (all init on second, and found no backups from that
time)
2019-01-03 23:37:49 -08:00
Kurt
90e5776dbc
Update ereader 0IV detection
...
the ereader mons are nature/gender locked too, so unroll a little prior
to rechecking the overall team (with ereader mon included). Have to do
it this way as a lock can pop if the ereader data matches a prior spread
before the prior teammate can be generated.
2019-01-03 21:29:19 -08:00
Kurt
272a29a641
Differentiate DP/Pt Shaymin
...
fateful isn't on dp shaymin even though it's an illegal encounter
2019-01-03 17:04:32 -08:00
Kurt
bd6494d8c7
recognize gen12 italian trade OT
...
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?page=3
Thanks ThePunish3D!
2019-01-03 15:47:41 -08:00
Kurt
e99c9a0999
Add pokestock gst/stk (3 & 4) bulk r/w
...
ezpz @kamronbatman
2019-01-02 21:56:33 -08:00
Kurt
8c05b9f391
add g3 hall of fame r/w
...
no GUI
var sav3 = new SAV3(File.ReadAllBytes(path));
var hof = HallFame3Entry.GetEntries(sav3);
hof.Dump();
2019-01-02 18:15:29 -08:00
Kurt
81a660c2dc
Update 2019.01.02
...
Update event binaries with latest from the Event Gallery
2019-01-01 20:52:25 -08:00
Kurt
b5f82f6535
Update translations with latest
2019-01-01 20:27:00 -08:00
Kurt
6929b637cc
Misc clean
...
refactor some common operations
2019-01-01 20:05:36 -08:00
Kurt
80ef196468
fix info output off by one
2019-01-01 20:05:00 -08:00
Kurt
552e7a1a39
Fix pokewalker pid check for female-only
...
pidGender check failed as 0xFE (female only) returned male if pid ended
in 0xFE or 0xFF
jump out early if the pkm is fixed gender rather than genderless only
https://projectpokemon.org/home/forums/topic/48956-pokewalker-happiny-pid-mismatch/
Thanks Taargüs Taargüs!
2019-01-01 20:04:29 -08:00
Kurt
2b5272a395
Simplify gen4 save type detection
...
footer identifiers work just fine for any legitimately created save
file; I might have had the checksum check code for pokesav blank
savefiles
dropping support for bad-blanks in favor of a non-negligible speedup is
favorable :)
2019-01-01 11:16:31 -08:00
Kurt
7ba2860db8
more block details
2019-01-01 00:57:51 -08:00
Kurt
8129e91694
Add more detailed block offset docs
2018-12-31 22:19:40 -08:00
Kurt
92d633e8ad
Allow IsPokeStar=false
2018-12-31 21:04:13 -08:00
Kurt
5fcd8541ba
Add pokestar studio fame / star stat pk5[0x87]
...
how did this get forgotten so easily lol
added legality check; eggs can't participate in pokestar studio.
not editable from GUI, use ExtraBytes editor.
Re-add 0x86 (array was copied from pk4?) and reorder/comment
2018-12-31 21:01:58 -08:00
XxPhoenix1996xX
ede44aaa1b
Update text_Ribbons_es.txt ( #2225 )
2018-12-31 16:07:34 -08:00
Kurt
6c4fdfa559
Merge pull request #2224 from XxPhoenix1996xX/patch-9
...
Update lang_es.txt
2018-12-31 16:07:22 -08:00
Kurt
758ec7f55b
Update MessageStrings_es.txt ( #2223 )
2018-12-31 16:07:06 -08:00
XxPhoenix1996xX
fe57789160
Update LegalityCheckStrings_es.txt ( #2222 )
2018-12-31 16:06:59 -08:00
XxPhoenix1996xX
31b5b4eea4
Update lang_es.txt
2018-12-31 19:30:29 -03:00
XxPhoenix1996xX
f6c9c7b265
Update MessageStrings_es.txt
2018-12-31 18:50:00 -03:00
Kurt
bd56999b20
Increase search flexibility
...
add more version fetch methods, add reset method to reset encounter
priority
#2219
2018-12-30 17:30:57 -08:00
Kurt
2ecd3f1f30
Replace IV3 with FlawlessIVCount
...
Other games may vary the flawless IV count so best to have consistent
declarations
(the vc transfer encounter has 5 or 3 depending if it's a mew/celebi)
2018-12-30 10:33:00 -08:00
Kurt
82eae79823
Remove cosplay fixed IV
...
Was added a few months ago
https://github.com/kwsch/PKHeX/pull/2117
Game ignores the fixed IVs and instead does 3 flawless IVs
2018-12-30 01:10:53 -08:00
Kurt
bf1a56af9d
Add xmldoc
2018-12-29 23:38:59 -08:00
Kurt
4fcee0ae7a
Move wr7 to mysterygift folder
2018-12-29 23:34:34 -08:00
Kurt
e7531dca30
Add wr7->pkm
...
Not sure if one of the 'level' fields is a move ID instead. Pound=1,
Level=1
Maybe a Chansey record would shed more light.
2018-12-29 23:33:36 -08:00
Kurt
78ff441e8b
Update iencounterable api with new criteria arg
...
rearrange some logic for clearer function (extract some methods)
2018-12-29 22:24:34 -08:00
Kurt
c2422d6927
Misc updates
...
possibly gonna update the iencounterable api for criteria
check/enforcement, rather than just generating random encounter data.
2018-12-29 22:19:44 -08:00
Kurt
03ad20dd16
Improve card title/filename logic
...
mystery gift editor still fails to generate a description (heldItem < 0
-> exception), the fallback behavior is fine I guess.
2018-12-29 22:15:40 -08:00
Kurt
8a33a95974
Add mystery gift record getset
...
Mystery Gift button now appears for GG, doesn't work yet
2018-12-29 22:09:59 -08:00
Kurt
f5e3358aaf
Split up WR7 to separate files
...
settled on the class name; looks like it'll be roughly readable as a
mystery gift so inherit some properties. maybe can get r/w in the
mystery gift editor :)
2018-12-29 22:09:27 -08:00
Kurt
71dc944cbd
Add wb7 gift record rw
...
another block documented ;)
https://projectpokemon.org/docs/gen-7/lets-go-pikachu-eevee-wonder-card-album-r109/
names subject to change
2018-12-29 21:24:38 -08:00
Kurt
6f22599baf
Prevent slot overwriting on bulk import
...
https://projectpokemon.org/home/forums/topic/48912-how-to-batch-import-pokemon-boxes-without-erasing-existing-pokemon/
2018-12-28 17:58:13 -08:00
Kurt
3e05e9655e
Store hidden power type
2018-12-28 16:54:01 -08:00
Kurt
d5a8d29088
Misc updates
...
reduce some allocs, clearer names/enum usage
2018-12-27 20:24:24 -08:00
Kurt
d90f099a68
Next unoccupied after starting position
2018-12-27 13:10:55 -08:00
Kurt
f9eb1746ea
Add NextOpenBoxSlot fetch for empty slot overwrites
...
< 0 is storage full
2018-12-27 01:08:42 -08:00
Kurt
2d75e93ef0
Move encounter matching logic to iencounterable
...
generator logic is now clean
2018-12-27 01:00:08 -08:00
Kurt
3481780e06
Add initial sizes
...
maximum is always 3; sometimes we know the max size so specify.
bcl has default size = 0, which then resizes to 4 on first addition
wow such optimization
2018-12-26 22:13:04 -08:00
Kurt
988e71bec5
Remove QRText property
...
removes PKM<-QRPKM class dependency
fix invalid value oob exception (nature & ability fuzz)
2018-12-26 17:31:23 -08:00
Kurt
950d0a8525
Add nature bounds check & legality
...
expand string array check to cast and check against length; batch editor
Nature>=25 causes problems in hover tooltips. Previous commit fixed for
pb7 stat calcs for invalid natures, pretty sure the actual game is
exploitable for stat calcs and invalid natures (bad access), but isn't
exploitable as it's only used to retrieve an enum to switch against.
2018-12-25 22:59:52 -08:00
Kurt
9db771c0d5
Split out common 6+ pkm format to abstract class
...
Didn't really feel like pulling out the shared structure get/set
operations, only the derived properties & overall fixer methods. Should
be easier to maintain if any handling updates.
Clean up pb7 unused stuff; removes ribbon logic since none are used.
c# 8.0 interface defaults can maybe pull out more logic (ex making
FixRelearn and relearn moves into an interface); multiple inheritance
can be useful as features are added/dropped between generations.
2018-12-25 22:56:32 -08:00
Kurt
69a3272036
Remove fossils from key item (count==1) list
...
Closes #2215
can't depend on 'key item' item flag since the game allows you to get
multiples
2018-12-25 12:31:13 -08:00
Kurt
2cef99e444
Add setter for pk1/2 Language
...
https://projectpokemon.org/home/forums/topic/48873-batch-editor-language-is-not-working/
2018-12-22 14:47:31 -08:00
Kurt
75d2b8d0bc
Split out location bank fetch
...
Getting a little congested in one method
2018-12-22 14:45:47 -08:00
Kurt
f7cf96be65
Add version name fetch
...
only for pkm game IDs that have already been localized; not game
groupings.
use version name long description if hide-savefile details is enabled.
2018-12-22 13:16:16 -08:00
Kurt
ec140431c0
Fix box sort for empty locked slot(s)
2018-12-22 13:13:06 -08:00
Kurt
0da3fd2aec
Add resource include references for new fr xlation
...
#2206
2018-12-20 20:34:51 -08:00
Ntonio36
2e698d99da
Add French translations for ORAS, BW flags ( #2206 )
...
* Add French ORAS Flags
* Add French BW Flags
2018-12-20 20:30:23 -08:00
Kurt
2e6466c132
fix wc6full date set
...
Closes #2213
2018-12-20 20:30:01 -08:00
Kurt
24e5f70144
Differentiate colo card key
...
Closes #2212
2018-12-20 15:23:57 -08:00
Kurt
2d774ac7cc
Allow dynamic default savefile type load
...
Make extrabytes a pkm property (don't mutate array pls)
reconfigure startup loading to only initialize after initial load of sav
& pkm (using blanks if not provided)
2018-12-19 22:10:32 -08:00
Kurt
d7a501c168
Relocate some logic to interfaces
2018-12-18 17:15:35 -08:00
Kurt
ff649009ca
Misc tweaks
...
misc perf adjustments
add utility for slot locked check (without box argument, absolute slot
index)
localize dragdrop strings
increase dragdrop file delete delay (dropping files into discord waits
until you confirm; 10s gives enough time to hit confirm)
2018-12-17 11:17:19 -08:00
Kurt
22b9da58e2
Add priority setting for yielding possible encs
2018-12-15 21:34:50 -08:00
Kurt
ea07b9636d
Speed up pkm data present check for pk3 format
...
see
6dbeb24b6f
ensure bad egg flag isn't set, and the species flag is set.
2018-12-15 19:37:19 -08:00
Kurt
269524849e
Fix crystal-only base move case
...
Qwilfish has crystal-only move for the encounter, and the encounter is
available on G,S,C. Check both origin games always, better to be
complete & exhaustive than faster & incorrect :)
Thanks Brittany!
https://projectpokemon.org/home/forums/topic/48802-bugemerald-eggs-crystal-learnsets/
2018-12-15 15:10:20 -08:00
Kurt
5d5259ddd2
edge case for egg OT name length
...
https://projectpokemon.org/home/forums/topic/48802-bugemerald-eggs-crystal-learnsets/
2018-12-14 23:30:21 -08:00
Kurt
6dbeb24b6f
Clarify mystery flags
...
thanks pret!
0ad332124e/include/pokemon.h (L277-L279)
2018-12-14 23:26:46 -08:00
Kurt
fb10a1f983
add size rating indications when viewing pkm data
2018-12-13 21:10:38 -08:00
Kurt
fc65a65fd9
Add go random IVs method
...
https://projectpokemon.org/home/forums/topic/48779-go-park-melmetal/
2018-12-12 18:06:39 -08:00
Kurt
96ec0ff28b
Fix broken tests
...
some gen6 cards have bad data? trickled out to tests which failed to
generate a celebi
revert to old code, add in some year-set safety checks
2018-12-12 18:00:26 -08:00
Kurt
f6da84b699
add batch editor cp/h/w suggest routes
...
https://projectpokemon.org/home/forums/topic/48773-problem-with-lets-go-pikachueevee-batch-editor/
2018-12-11 22:27:42 -08:00
Kurt
2c1717a409
Misc updates
...
extract programlanguage to enum
fix parse fail for settings' version; old syntax fails to parse
delete unused file from recent pull
2018-12-10 20:48:21 -08:00
Kurt
efb9b7eba2
Misc cleanup
...
removes clickonce logic/reference
2018-12-10 20:32:08 -08:00
Kurt
8a0b9cd88c
Add indication for party/starter slots
2018-12-09 23:18:37 -08:00
Kurt
7054b38e44
Fix bw volcarona spawn flag
...
Closes #2201
2018-12-08 10:04:59 -08:00
Kurt
3038c1eedb
Fix pb7 zh string handling
...
no remapping ok
2018-12-08 10:02:37 -08:00
Ntonio36
89028b8a41
French Translation update ( #2205 )
...
* translation update
* shorten problematic fields
2018-12-08 09:17:59 -08:00
Kurt
d84ceabe93
speculate on unused stat
...
there's a value in trainer pokes that gets set to an unused pkm byte
this byte is fetched in the stat/cp calc, but is never used (param
unused)
plans for future? it's right next to friendship in trpoke7b, maybe there
might be another stat amp?
https://www.serebii.net/magikarpjump/trainerrank.shtml
stronger trainer => stronger monz /speculation
2018-12-06 22:58:35 -08:00
Kurt
8a98a89f6e
Add height/weight and float->scalar
...
pgo transfer logic disassembly
FF 83 02 D1 FC 6F 04 A9 FA 67 05 A9 F8 5F 06 A9
2018-12-06 21:03:33 -08:00
Kurt
eb69e86722
Unban go sandshrew/slash & shiny
...
https://twitter.com/serebiinet/status/1070583259875237888?s=21
2018-12-06 07:10:39 -08:00
Kurt
20e3da7e5f
Add pb7 evo check continuation
...
oops
Closes #2202
2018-12-05 20:55:57 -08:00
Kurt
06d8b6609b
Add outsider evo check for beluga
...
Closes #2200
2018-12-05 18:38:05 -08:00
Kurt
71fab815bf
Provide more slot information
...
remove lockedslots, store & save all teamslots for sav7
differentiate locked slots from overwrite protected slots by emitting an
enum containing info about the slot
locked = can't be replaced, period.
starter/battleteam = can't be pasted over by bulk-pastes
can eventually show more specific sprite layers to denote party
indexes/team#/starter
2018-12-04 22:59:28 -08:00
Kurt
4c1232855f
Add getstring method with non-sav data
2018-12-04 22:00:57 -08:00
Kurt
cb8585f423
Minor optimization
...
2d array -> 1d
skip copy by cloning instead
eliminate %24 (number is 0-31) by duplicating 0-7 as 24-31
dropping a modulo, >1 bounds check, and a half loop unroll should be
less cpu cycles :)
2018-12-03 23:12:54 -08:00
Kurt
cc59c3cbe8
Remove variable naming hiding
...
new property named Stats
update sav7b/pb7 to delete unused handling trainer parameters too
2018-12-03 20:59:48 -08:00
Kurt
1d76d799fd
Add stats get/set and batch editor suggest
...
Closes #2196
2018-12-03 20:53:37 -08:00
Kurt
7229ca76f6
Update party stat level on level max mod
...
Closes #2194 , pb7 are always stored in party format -- also PK1/2 store
it in their box format
2018-12-03 15:40:09 -08:00
Kurt
3d7f3caef8
Add status condition prop to all mainline formats
...
Closes #2160 , use Batch Editor to modify slots; it's not worth GUI
presence as it's only saved for party format mons and is undocumented
for anything besides affliction flags
2018-12-02 21:23:10 -08:00
Kurt
ec4088b1fe
Cleanly lay out hgss swarm data
2018-12-02 14:46:17 -08:00
Kurt
77a4691a58
Add remainder of relicanth swarm data
...
https://projectpokemon.org/home/forums/topic/48702-bug-ss-relicanth-encounter-error/
Thanks finalevil151!
2018-12-02 14:39:24 -08:00
Kurt
5750eabcc8
Add user protection for moved starters
...
Closes #2191
2018-12-02 11:48:44 -08:00
Kurt
2c2e5f60b3
Fix AV message for go transfers
...
formatted now
2018-12-02 09:08:42 -08:00
Kurt
c0960fdedb
Fix hyper trained data editing
...
pb7 do have hyper training flags; add interface so code works
appropriately.
Closes #2190
2018-12-02 09:01:35 -08:00
Kurt
9e23ca6efd
Add met location to version sort chain
...
Closes #2189
2018-12-02 08:55:32 -08:00
Kurt
8c73259d9b
Update 2018.12.02
...
Update event binaries with latest from the Event Gallery
2018-12-01 22:39:07 -08:00
Kurt
0f01068d0d
Update mystery match for dppt
...
off by one
2018-12-01 10:44:38 -08:00
Kurt
8e3e218d54
Update translations
2018-11-30 17:09:40 -08:00
Kurt
add025798f
update control names
2018-11-30 17:05:13 -08:00
Ntonio36
b3b8bf1d6d
French translation update ( #2187 )
...
* French translation update
2018-11-30 15:16:42 -08:00
Kurt
f6508bec5b
Add dex size record editing via pokedex editor
...
Closes #2186
2018-11-29 21:40:20 -08:00
Kurt
660b7cc399
update articuno flag
...
turns out there's 2, seems like the second is what's used
2018-11-29 19:05:50 -08:00
Kurt
d41197828b
Misc fixes
...
apply version after adding (was previously left as Unknown version ID)
add Route 9 to rarespawn flying list (thanks @sora10pls )
2018-11-29 16:06:25 -08:00
Kurt
35a85670b3
Set height/weight dex values
...
Closes #2167
Based off sub_71001D16A0 with shortcut modifications:
* code marks new entries for evolution processing later using the low
bit (hence the << 1); in save files I can't see any bits set, but I
can't see anywhere in the code that DOESNT set this bit. Thus the
assumption of post-processing.
As noted in gameplay, a new capture doesn't set Min and Max; it only
sets it if it is above the usual sizing values.
Megas apparently don't set until seen in battle, so don't worry about
setting the other forme based indexes.
2018-11-27 22:05:36 -08:00
Kurt
15b6ef0597
Increment wild encounter count on add capture
2018-11-27 08:53:56 -08:00
Kurt
20c42a0f01
re-add colo valid override
...
Closes #2161 ; can't figure out xd one
2018-11-26 19:24:49 -08:00
Kurt
085a6e2a2b
Misc cxd format updates
...
fix friendship for xk3
fix colo fateful read
2018-11-26 19:21:48 -08:00
Kurt
76a2e4f527
Add AltForm parameter to exp/level fetch
...
Starter Pikachu & Eevee have different growth rates than their base
forms (seriously WHY?)
remove old api surface in PKX as a breaking change as adding the
parameter is necessary.
2018-11-26 16:55:16 -08:00
Kurt
5ca597d44b
Add height scalar classification
2018-11-25 19:46:32 -08:00
Kurt
5f0d1d423b
Disallow volt tackle tutor for pb7
2018-11-25 19:44:19 -08:00
Kurt
2a51eb1745
Update wb7 def
...
AV offsets were incorrect
sub_71001C79E0
2018-11-25 15:52:30 -08:00
Kurt
adeaaea0b4
Allow folder import to import mystery gifts & gp1
...
Closes #2176
2018-11-23 12:22:51 -08:00
Kurt
ab4c3fc7ac
Add go park slot delete (&all)
...
Closes #2179
2018-11-23 12:15:25 -08:00
Kurt
17b3732a7d
Rework filename / nickname checks
...
Closes #2178
2018-11-23 10:31:55 -08:00
Kurt
71f1e6238a
Misc fixes
2018-11-23 10:15:49 -08:00
Kurt
f27816e622
Add party pointer sort
...
Pulls party members (and follower index if not already in party?) to the
first slot(s) in the (current/all) box.
2018-11-22 23:02:57 -08:00
Kurt
1d27f64235
Allow currentbox to be changed if not overriden
...
Now allows modifying/deleting 'current' box.
2018-11-22 10:55:20 -08:00
Kurt
f358c0e4cf
Handle all deviating met location string versions
2018-11-22 10:11:51 -08:00
Kurt
6a62075c47
Fix version check
...
Encounter browser entered infinite loop waiting for valid version
2018-11-22 10:10:25 -08:00
Kurt
6c0ad30b9a
Add gp1-pb7 conversion
...
Add drop to pkmeditor & drop to saveditor
2018-11-21 20:48:55 -08:00
Kurt
9cf46d5bcb
Add CP and Date to GP1 properties
...
thanks theslayer
2018-11-21 15:25:50 -08:00
Kurt
cfbdb7c26c
Add parameter-less constructors
...
Removes null check for hot path where data is actually provided
2018-11-21 14:15:48 -08:00
Kurt
95776d8520
Set default savefile to gg
2018-11-21 13:51:26 -08:00
Kurt
03dd61bc58
Reset CP on common modifications
2018-11-21 12:31:05 -08:00
Kurt
58080f36c9
Add WB7 and legality detection logic
...
Derived from WC7 with minor alterations (dynamic OT/Nickname which is
stored in the Full data). Since the 0x108 is not stored in the save
file, just keep the full data around.
2018-11-21 12:24:41 -08:00
Kurt
0cc82edc48
Reset CP on import
2018-11-20 23:57:38 -08:00
Kurt
0ebfb38717
Add Route 20 to sky encounter rarespawn list
...
Thanks @ReignOfComputer !
2018-11-20 23:00:16 -08:00
Kurt
eb6e3fbbe9
Don't reset friendship, only for this format
...
Friendship affects stats, keep current friendship when updating the
trainer.
2018-11-20 19:15:38 -08:00
Kurt
7bd3bfc52e
Update rarespawn restrictions for birds
2018-11-20 13:38:49 -08:00
Kurt
3e711acd05
Disallow egg moves in suggestions for cxd/gg encs
...
https://projectpokemon.org/home/forums/topic/48547-remove-eggmoves-from-green-learnables-move-in-lets-go/
2018-11-20 13:38:05 -08:00
Kurt
916ac84a98
Force clear EVs on showdown import pb7
...
Closes #2173
2018-11-19 18:26:46 -08:00
Kurt
ec7fc8e2f0
Fix maxgameID for pkm reference
...
threw a snag in pkm generator since it doesn't reference savefile max
2018-11-19 16:15:09 -08:00
Kurt
ba1a7c2bcf
Fix broken tests
...
rework getblank for version specific
2018-11-19 16:14:49 -08:00
Kurt
4022d7fea9
Add check for invalid pgo shiny transfer
...
Thanks @sora10pls !
2018-11-19 13:07:21 -08:00
Kurt
3841df1234
Temp workaround for cp calc precision
...
float -> decimal
https://projectpokemon.org/home/forums/topic/48524-cp-height-weight-calculations/
2018-11-18 23:14:08 -08:00
Kurt
70fe7f58ee
Remove eevee, revert porygon
2018-11-18 20:39:15 -08:00
Kurt
34f8a71ad0
Always writeback pointer data
...
User sort isn't tracked, and reorganizes pointers. Set it back always,
no harm as values should always be sensical.
Closes #2171
2018-11-18 20:32:55 -08:00
Kurt
67cc6bdead
Account for wild catch combo/lure level boost
...
Route 4 sandshrew captured at level 13 (12 is max)
+1 for now, not sure if it can go higher
2018-11-18 16:17:39 -08:00
Matt
04de361792
Update GG flag names ( #2169 )
...
* Update GG flag names
2018-11-18 16:07:44 -08:00
Kurt
65febae125
Clamp max CP at 10k
...
ingame max is 10k
2018-11-18 15:32:47 -08:00
Kurt
b818aff48a
Remove evo tree sanitization
...
Evo data doesn't provide evolution values for these, fortunately.
2018-11-18 15:25:03 -08:00
Kurt
a1cc1a95c2
Fix species fetch, add altform
...
Thanks theSLAYER!
2018-11-18 13:54:47 -08:00
Kurt
17348c1808
Add bird rare spawns
2018-11-18 10:36:28 -08:00
Kurt
1c0b2488ef
Update lapras/porygon gift locationIDs
...
Thanks Asia81!
2018-11-18 09:41:52 -08:00
Kurt
c268d5ad05
Set party format values always
2018-11-17 19:42:48 -08:00
Kurt
edce01a857
More strict egg nickname length check
...
only fishy if it was traded & within bounds
2018-11-17 18:29:05 -08:00
Kurt
029e0e0a08
Manually add rare slot locations
...
placeholder; hopefully this isn't permanent
2018-11-17 15:12:32 -08:00
Kurt
cff1ec68fd
Update filter
...
savedata.bin, not extensionless
cosmetic fix for the dialog window
Closes #2166
2018-11-16 22:17:18 -08:00
Kurt
d3534781db
Allow premier ball for captures
2018-11-16 18:59:18 -08:00
Kurt
1c26c7713f
Fix starter bypass
...
lol oops, hotfix inc
2018-11-16 18:17:01 -08:00
Kurt
e619ba41fe
Update 18.11.16
...
Update event binaries with latest from the Event Gallery
2018-11-16 17:53:44 -08:00
Kurt
013bc70ed9
Add more pb7 legality checks
...
can give nicknames to chinese mons now! Encoding looks the same
@wwwwwwzx :)
2018-11-16 17:42:50 -08:00
Kurt
a2eef9deae
Misc fixes
...
it is version exclusive; fix magikarp speed IV
2018-11-16 16:44:25 -08:00
Kurt
43ffde0918
Differentiate past gen moves with same names
...
Not sure if there'll be ones for other languages, hopefully not.
dupe checker:
var langs = new string[] {"en", "ja", "ko", "es", "it", "de", "fr",
"zh"};
foreach (var l in langs)
{
var names = new GameStrings(l).itemlist;
var dupe = names
.Select((z, i) => new {Index = i, Value = z})
.GroupBy(z => z.Value)
.Where(z => z.Key != "???")
.Where(z => z.Key != "???")
.Where(z => z.Key != "(?)")
.Where(z => z.Count() >= 2)
.ToArray();
if (dupe.Length == 0)
continue;
l.Dump();
dupe.Dump();
}
2018-11-16 15:15:42 -08:00
Kurt
ea4d9861c8
Disallow starter friendship move in learnset
...
Joycon shake only, never actually in moveset
2018-11-16 14:56:20 -08:00
Kurt
720e04ff91
Allow 7b trades to be shiny
...
remove the todo, thanks twittersphere
remove version exclusivity for puppycat (can be done on either ver)
2018-11-16 14:20:06 -08:00
Kurt
dae4a0a0ae
Add EV/AV verification for pb7
2018-11-16 14:19:24 -08:00
Kurt
7da46623b8
Ignore ball check for invalid encounters
...
Defaulting to pokeball isn't entirely appropriate
2018-11-15 18:40:08 -08:00
Kurt
ed5abbd686
Add puppycat NPC location
...
Thanks (twitter) thelostdogg!
2018-11-15 18:39:30 -08:00
Kurt
95c5ce08d5
Fix movepool suggestion for go transfers
...
needed dict references
2018-11-15 17:37:25 -08:00
Kurt
5652e76728
Split go entities and go storage, rename classes
2018-11-15 17:36:29 -08:00
Kurt
94b924fdfc
Add ingame trade IVs and random AV notes
...
exclusive maximum, not inclusive
2018-11-15 17:35:34 -08:00
Kurt
93ff395875
Add more succinct go park IV check string
2018-11-15 17:35:11 -08:00
Kurt
43a9d4eb99
Add gg evolution tree
...
turns out it was totally needed; am glad I didn't do the silly stuff of
past gen evo tables (gen6/7 is just raw evo data)
2018-11-15 17:34:54 -08:00
Kurt
22063d3907
Add ingame trade met locations
2018-11-14 23:04:40 -08:00
Kurt
6a0a6aa82a
Add methods for 7b quirks
...
nidoran m/f when sanitized with the old way show the gender symbols as
'?'
2018-11-14 22:51:53 -08:00
Kurt
bf9344087e
Update slot storage compression algo
...
now iterates for all boxes, and restores to the correct offset at the
end
update direct offset pointers to box specific (so that it can work on
gen3 rsefrlg saves if ever used on them).
2018-11-14 22:33:30 -08:00
Kurt
644fa4e929
Call slot compression
...
Doesn't work correctly (data shifted down still persists)
2018-11-14 22:20:59 -08:00
Kurt
1feecef874
Add go park summarizer
2018-11-14 22:02:01 -08:00
Kurt
fc44022836
Add gopkm block/abstraction
2018-11-14 19:34:21 -08:00
Kurt
a64d08e7e9
Add GO transfer IV verification
2018-11-14 18:25:43 -08:00
Kurt
830c2cbb29
Add GO encounter area/slots
...
Level ranges per species TBD
2018-11-14 17:40:41 -08:00
Kurt
adb6b345be
Treat GameVersion.GO like other GG vers
2018-11-14 17:40:11 -08:00
Kurt
0b9b0d5317
Add bulbasaur candy to valid candies
...
oops
2018-11-14 17:06:13 -08:00
Kurt
7abe0c8a9e
Add candy pouch type
...
reusing free space icon hides the give all button; just add another
sprite.
2018-11-13 20:46:48 -08:00
Kurt
1f985d8112
Remove unnecessary/incorrect flags
...
copypaste from sm lol uops
2018-11-13 20:46:03 -08:00
Kurt
2fb698805d
Use latest personal table as master
2018-11-13 19:20:37 -08:00
Kurt
181e75818c
Use agreed upon lgpe starter forme name
...
Thanks @Marty-D !
2018-11-13 19:20:21 -08:00
Kurt
24c541eeef
Get savefile-context sensitive pkm
...
Generating a IEncounterable -> SAV for pb7 can't start with pk7
2018-11-13 19:19:20 -08:00
Kurt
13e1debe3e
Add sav7b object & detection util
2018-11-13 19:18:29 -08:00
Kurt
f62e3f43b3
Add eventwork editing abstractions
2018-11-13 19:18:04 -08:00
Kurt
5f456d705c
Add misc setup objects
2018-11-13 19:16:14 -08:00
Kurt
025a290bc9
Update saveblock template for stored offset fetch
2018-11-13 19:15:27 -08:00
Kurt
486445897e
Add 7b inventory r/w object
2018-11-13 19:15:11 -08:00
Kurt
707f7b5893
Fix displayed dex index for g7
...
off by 1 starting with formes
2018-11-13 19:14:42 -08:00
Kurt
49c4043e19
Update dex abstractions, add gg dex
2018-11-13 19:14:23 -08:00
Kurt
5f9afe83d6
Add pb7 sorting methods
2018-11-13 19:10:43 -08:00
Kurt
28fec9882b
Add pkm variant for beluga
2018-11-13 19:10:31 -08:00
Kurt
f11fa8752c
Use pkm format specific evolutions, gg deviations
...
GG has slightly different evos from usum, don't bother adding a new
binary.
2018-11-13 19:04:58 -08:00
Kurt
1adbc270ce
Scrub unused data
...
empty movesets, empty tmhm
bool IsInvalid(int x)
{
int[] banned = {918, 933, 959, 960, 961,962,963,964,965};
if (banned.Contains(x))
return true;
var index = baseForms[x];
if ((x > 151 && x < 808))
return true;
if ((index > 151 && index < 808))
return true;
return false;
}
2018-11-12 18:58:02 -08:00
Kurt
6495dc41af
Add move/enc/loc references
2018-11-11 22:49:17 -08:00
Kurt
ac314fe0d7
add dumped encounters/levelup moves
...
waza_oboe was lz4 compressed (gfpak), encounters were in a flatbuffer
2018-11-11 22:46:56 -08:00
Kurt
5abbe6dceb
Add fetching for lgpe encounters (legality checks)
2018-11-11 22:46:03 -08:00
Kurt
101149eb2e
Skip eggs for gg (like cxd)
2018-11-11 14:19:02 -08:00
Kurt
9d2be1da9f
Add beginnings for 7b encounter asset fetch
2018-11-11 13:12:24 -08:00
Kurt
00af735afd
Add personal table for gg
2018-11-11 13:11:07 -08:00
Kurt
1827b32d8f
Add init function for wc7 gg files
...
pretty sure these will pop up soon as the pball plus doesn't send the
mew itself
2018-11-11 13:09:04 -08:00
Kurt
5ddf6f62ce
Add eventflag notes
...
there's some "AHTB" files which contain the internal enum names; dump
out a few that seem useful
note they come from different tables, will need to figure out spacing &
if their order is absolute or uses that weird hash in front???
2018-11-10 21:53:25 -08:00
Kurt
f38c46f5ec
Misc updates
2018-11-10 21:07:31 -08:00
Kurt
010134f6ff
Add references for GG tutoring
...
Only pikachu/eevee forms so far, probably none else
2018-11-10 21:04:48 -08:00
Kurt
98ebf4c5cb
Add sort pointer repointing
...
LGPE uses a list of pkm for boxes, and has pointers indicating where
each party member is at
need some logic for handling the sorting. Had suspected this a while
back so this pre-work came in handy (untested tho)
make eventflags offset ptr virtual, I might end up doing things
differently for event flags
2018-11-10 21:04:24 -08:00
Kurt
73ee5e5afd
Add personal info structure update changes
...
One field added to indicate the GO species or whatever; the 891/892
meltan values match here. Might not be only for GO species translation,
might be for fetching models idk
2018-11-10 20:59:55 -08:00
Kurt
94c8b348c8
Add legal tables for gg
...
field_pocket.dat ez pouch indexes
2018-11-10 20:58:41 -08:00
Kurt
e6a9014243
Add text dumps from GG
2018-11-10 20:25:26 -08:00
Kurt
113eb550d4
Add IAwakened interface for future PB7 format
2018-11-10 20:21:36 -08:00
Kurt
453f43edd8
Allow shiny xd duking gifts
...
https://projectpokemon.org/home/forums/topic/48279-issue-with-ribbon-legality-shiny-dukings-and-japanese-text/
2018-11-08 18:58:52 -08:00
Evan Dixon
9c87ad2977
Port tests to .Net Core ( #2156 )
...
* Rewrite tests with XUnit and .Net Core
* Add better "because" message
* Skipping test that was not ready & convert the fact to a theory
* Tweak casing
* Convert select date tests to theories
* Make the GetStringList load lock safer
2018-11-06 15:25:35 -08:00
Kurt
d5c22b1e51
Add gen3 wc3 fixed OT egg length case
...
unhatched egg:
https://projectpokemon.org/home/forums/topic/48226-pichu-event-ilegal/
2018-11-03 12:44:03 -07:00
Kurt
daf41da91b
Add more pokewalker moves
...
Thanks theSlayer!
2018-11-03 12:42:11 -07:00
Admiral-Fish
69b6ea57a3
More nature lock data ( #2154 )
...
* Fix lock data
Don't have data on Speal phenac, Spheal post, and Ursaring from colo so can't verify that.
* Fix e-reader data
2018-11-01 22:38:33 -07:00
Kurt
fe989d48fe
Misc prep updates
...
Update comments / xmldoc
Add a savefile storage compressor (ie array[] with empty interstitials
-> list); return true if the compression moved anything (repopulate
views), and the count of occupied slots in the list.
Add saveblock base class; I haven't really liked how SAV6/7 do all the
logic; I'll still expose properties that will then point to a saveblock.
Cuts down clutter.
Add template Dex manipulator, with gen6/7 implementations
Speculate sequential gp/ge gameversion IDs
2018-11-01 15:38:09 -07:00
Kurt
b53cc1b7f8
Merge branch 'master' of https://github.com/kwsch/PKHeX
2018-11-01 15:20:45 -07:00
Kurt
43d20581e4
Update some string resources
...
In anticipation of 2wks from now, might as well get some easy tedious
stuff out of the way
2018-11-01 15:18:33 -07:00
Admiral-Fish
6a5ee7bf6d
Fix Electabuzz data ( #2151 )
2018-10-31 23:16:13 -07:00
Kurt
f709448220
Update 18.11.01
...
Update event binaries with latest from the Event Gallery
2018-10-31 14:08:58 -07:00
Kurt
8f9cc6cd7e
Fix xmldoc ampersands
2018-10-31 13:52:09 -07:00
Kurt
7a021781e0
Add xmldoc, misc fixes
...
Fix compile error (lol github editing)
Add XD check CPU-PSV for nonshiny.
rename l->current for clearer intent
2018-10-30 17:45:21 -07:00
Kurt
bc788beef0
Fix spelling mistake in var name
...
Unused after assignment, but if I rework the validation check to return the teamlock result instead of a bool I can spit out the Species-PID generated list as extra info. Helps identify the as-generated conditions if there are multiple teamlocks possible for an encounter (multiple shadow mons, seen vs unseen).
2018-10-30 09:21:32 -07:00
Kurt
908c98b876
Switch lock checks to newer more complete check obj
...
Now accounts for the shiny locks & associated restrictions, abusing the
recursion by setting & unsetting the required CPU Trainer's shiny value.
Repoint all test methods to use the new obj methods
2018-10-29 22:49:04 -07:00
Kurt
ef16e7037a
Add lock check result object
...
A lot of internal information is nice to have saved; create a copy of
the static class's logic and pepper in some state variables (Required
CPU Shiny Value) to account for the weird edge cases.
Code is essentially the same as the static methods, except for more
fleshed out logic in the AllLock interrupt checking and the eventual
Trainer checks.
2018-10-29 21:28:22 -07:00
Kurt
b124a6e70d
Extract seedframe to separate file
...
soon tm
2018-10-29 21:03:29 -07:00
Kurt
afffaaa43c
Enable full shadow lock checks
...
If you find any edge cases (the code does not account for shiny locks
yet) pls lmk, would be nice to have confirmed tests :) :)
2018-10-29 19:44:30 -07:00
Kurt
35143630a0
Add ereader locks
2018-10-29 19:43:32 -07:00
Kurt
1b57acc6a7
Check all locks for legality checking
...
Single->All
2018-10-28 20:28:56 -07:00
Kurt
a728e97d40
Fix Butterfree lock
...
Ninetales is female
2018-10-28 20:28:02 -07:00
Kurt
7c0a74337e
Update shadow lock checks
...
Passes all 3 lock3 cases in addition to some bulk checks
(VerifyPIDResults).
Lock4 has an issue on one; will have to investigate why.
2018-10-28 20:10:35 -07:00
Kurt
4268239c12
Continue work on shadow lock checks
...
Now gets count=2 tests working
yield return new SeedFrame { FrameID = ctr + (l.Seen ? 5 : 7), PID = pid
};
used to be ctr + 6, needs to alternate even-odd
all 2 lock cases pass, but didn't make lock3's pass. Something else is
still amiss :)
break out some classes for the solidified lock objects
2018-10-28 11:15:40 -07:00
Kurt
39f98a4a94
Misc qol updates
...
Check max case for level first, then iterate upwards (eliminates inner
if)
change wc* nature to sbyte (update comparisons, 0xFF too magic-y)
use Rand.Next(x) instead of (0, x)
2018-10-27 21:59:31 -07:00
Kurt
ed3699fbb4
Update Ho-Oh mattle check
...
More languages than Italian have a rule-breaking name. Rework checks a
bit
Flag eggs more accurately
Update force hatch to move Link Trade met location to Egg Location
fix Ho-oh -> Ho-Oh text strings (correctness is key!)
2018-10-27 16:06:06 -07:00
Kurt
a3e7c4837e
Rewrite trade OT/Nick verification, g4 shuckie
...
Shuckie in HG is not the same as Shuckie in SS.
Use the relatively-recent Nick/OT properties instead of digging through
the encounter table & strings. Ends up being slightly faster.
Thanks theSlayer!
https://projectpokemon.org/home/files/file/3048-kirks-shuckie/?tab=comments#comment-1424
2018-10-27 13:37:03 -07:00
Kurt
ed180f1b5f
Allow traded eggs when checking g6+ receivability
...
As noted in the EncounterEgg generator, Gen6+ update the origin game to
the OT's when hatched.
Thanks Zaskarel!
2018-10-27 09:44:47 -07:00
Kurt
f91a1c1d31
Add gg species / maximum placeholder
...
Will eventually have to fill these in during gg update
pretty sure they've revealed all the new species; total move/item count
still unknown
2018-10-27 09:08:39 -07:00
Kurt
359a529870
Misc updates
...
Move some logic around, fix style warnings
2018-10-27 08:53:09 -07:00
Kurt
e8ad1e227f
Update shadow lock table
...
Thanks @ijuintekka ! Closes #2148
Will check later for commented out tests that should pass.
May end up turning on the first-shadow-lock check feature prior to
release.
2018-10-26 11:14:42 -05:00
Kurt
3d0d8fa649
Add first shadow lock check
...
Currently toggled off, can be optionally toggled on (I'm not sure that
it's perfect? Random save files have stuff flagged since they don't
match the lock; will have to investigate later)
2018-10-21 21:07:33 -05:00
Kurt
8c4a17335f
Add first shadow lock test method
...
Everything should always pass the first lock check; will add shortly to
any cxd encounter checks
2018-10-21 20:55:02 -05:00
Ntonio36
ee3889b184
French translation update ( #2147 )
2018-10-21 08:27:33 -05:00
Kurt
66f082e4a0
Add shadow lugia sprite
...
Closes #2145
2018-10-20 23:05:15 -05:00
Kurt
c0aae6ab78
Add cxd lock check info & begin troubleshooting
...
commented out test calls = not working
will have to debug in more detail later; the first lock is always
working at least.
data sourced from
https://github.com/ijuintekka/Eligor/blob/master/Eligor/Spread.cs , not
sure if it's perfect.
can't cleanly condense deviating team appearances as double-shadow leads
can't be selectively encountered. didn't feel like modding lockfinder's
recursive algo to be smarter.
2018-10-20 21:03:04 -05:00
Kurt
06cca185e4
Add edge case for pidiv kor g4 pichu
...
Closes #2144
미케나 pichu 12179/20300
2018-10-19 22:27:18 -05:00
Kurt
93af3e61b7
Add handling for Mt Battle Ho-Oh (italian) edgecase
...
https://projectpokemon.org/home/forums/topic/47917-colosseum-italian-ho-oh/
there's no shadow ID, so it can have both the short (transferred back)
or full name (never transferred) as CK3 without side effects.
allow 10chars in pkmeditor
2018-10-13 08:07:15 -07:00
Kurt
f7f5d78beb
Misc perf tweaks
...
hopefully resolves the image corruption issue (dont use unsafe?)
remove some linq
2018-10-13 08:02:55 -07:00
Kurt
b7acb7fa1d
Add memory rarity table
2018-10-12 17:45:52 -07:00
Kurt
e8552affca
More gb restriction relocations
2018-10-10 16:32:02 -07:00
Kurt
2db8daa07b
Add specified ability no-hidden check
...
ability=0 allowed abil1/2 but not 4; catch that scenario
2018-10-10 16:31:40 -07:00
Kurt
2ad103dd46
Extract gb specific core logic to separate class
2018-10-09 21:07:13 -07:00
Kurt
0a62506e11
Micro optimization
...
wow such use
length eq to max will always pass
2018-10-09 19:28:18 -07:00
Kurt
b481358e92
Add number count check for OT/nick
...
https://projectpokemon.org/home/forums/topic/47850-legality-issue-names-with-multiple-numbers/
let me know if there's any implications for transferred content (name
reset on 1-3=>n?)
2018-10-08 17:57:34 -07:00
Kurt
47f20b8c0e
Update fixed ability comparison for 6+
...
4aa44c90c1
only updated it for gens 3-5
Closes #2136
2018-10-08 15:26:43 -07:00
Kurt
f65bc2e984
Reduce allocations for gen1 move parse
...
use shared interfaces
2018-10-07 15:36:32 -07:00
Kurt
4aa44c90c1
Update fixed ability comparison
...
ignores <= 0 now
2018-10-07 15:36:04 -07:00
Kurt
fd1009476e
Minor logic simplifications
...
reduce size of encountermoves, split into separate object
only execute gb movedata adjustments for gb
2018-10-06 19:44:50 -07:00
Kurt
4deb5080d1
Misc tweaks
...
rearrange getmove with respect to tutors; verifycurrentmoves was getting
tutor moves in levelup
extract not-found hint fetch
Expose gen5 block objects (so I can play with saves in linqpad)
2018-10-06 18:45:15 -07:00
Kurt
dc839333b7
Add more parse settings
...
allows consumers to tweak debatable settings
2018-10-06 13:43:05 -07:00
Kurt
66faa43e03
Add gen6+ fixed ability hot path
...
Closes #2135
2018-10-06 11:24:46 -07:00
Kurt
f507ab7081
Misc parse settings reorg
...
makes it more centralized for defining parsing settings, maybe can have
flags to change severity of certain preferential checks
2018-10-05 19:58:30 -07:00
Kurt
59af7fef35
Remove unnecessary properties
2018-10-05 19:57:45 -07:00
Kurt
ce9d3abbe4
Misc reorganization
...
Move logical checks using encounter data out of Core.cs
might be possible to excise legality checking objects from
Legal/PKHeX.Core so that a 'slimmer' core can be made
2018-10-04 18:52:00 -07:00
Kurt
03a05364ab
Update colo suicune ++
...
location ID was originally added by:
afde4514e2 (diff-83a32d69355a64376bc77bd07e338a33R446)
I
have another save file that uses met location 110 (like this one) so I
assume it was originally a copypaste error from Sudowoodo.
Change Trade strings to not allocate separate empty arrays.
2018-10-04 08:14:53 -07:00
Kurt
4bbb1f54b9
Change burned tower suicune encounter type
...
was initially set by this commit
0e3815b048
field test resulted in Cave/HoO type
https://projectpokemon.org/home/files/file/2953-burned-tower-suicune/
2018-10-03 16:46:55 -07:00
Kurt
4fe1a5b4e0
Add more frlg flags
...
https://www.pokecommunity.com/showthread.php?t=302347
2018-09-30 21:53:06 -07:00
Kurt
2a2361220d
Add more accurate daycare egg detection
...
uses eventflag, different index for each game
frlg:
https://www.pokecommunity.com/showthread.php?t=302347
"Flag 0x266 is set by the game engine if an Egg is in the Daycare."
emerald:
https://www.pokecommunity.com/showthread.php?t=330008
"0x86 : Daycare Centre has egg"
rs:
https://gist.github.com/rboninsegna/a4a63c2b66c42e371a94f860eae55361
" 0x86 Egg ready at Daycare"
2018-09-30 21:27:36 -07:00
Kurt
30851a0059
Add a bunch of useful emerald event flag names
...
will show up in editor
can toggle overworlds back to visible to rebattle
2018-09-30 21:23:15 -07:00
Kurt
5d6c932353
Spit out move learn generation on verbose
...
helps indicate any restrictions on learn source outside of the current
format
2018-09-30 11:50:08 -07:00
Kurt
78c7535dea
Fix pk1->pk2 conversion
2018-09-29 21:03:34 -07:00
Kurt
827d7f8fb3
Misc tweaks
...
repoint to contains
2018-09-29 13:08:53 -07:00
Kurt
90f1d0cb09
Misc cleanup
2018-09-29 12:22:13 -07:00
Kurt
a3421a881d
bounds check record set
...
closes #2129
2018-09-27 21:30:20 -07:00
Kurt
ca0a533779
Add frlg flag toggles from thread
2018-09-27 20:01:34 -07:00
Kurt
10d73d1bf3
Redirect eventflag r/w for frlg
...
can't just re-call base.SetEventFlag with an adjusted flag ID since the
exception checks max.
just override the geteventflag method with a silly adjustment -- we
can't be sure if Block2 is immediately after Block2, so just adjust the
flag r/w to a different offset&flag when appropriate.
fixes r/s badgeflag get/set, oops, meant to modify FRLG's value in the
last commit.
2018-09-26 21:05:06 -07:00
Kurt
a38a0fed60
Update event flag index for frlg
...
was block2+0x64
8*((0xF80-0xEE0)+0x64) = 0x820
this highlights a critical flaw in event flag reading; it expects the
region to be contiguous in the savedata. it's not. that's super bad, and
event flag r/w for flags >1280 won't work until I work something out
2018-09-26 20:32:38 -07:00
Kurt
62d8abb69c
Update frlg flag/var offset
...
https://www.pokecommunity.com/showthread.php?t=349936
https://projectpokemon.org/home/forums/topic/47715-help-frlg-flags-research/
2018-09-26 20:08:25 -07:00
Kurt
4a81f326eb
Update trade/egg/capture record set
...
#2128
it's still an imprecise thing, as ingame gifts aren't counted by either
release count isn't tracked, so the number should be roughly >= total
box+party count.
2018-09-26 19:06:05 -07:00
Kurt
55de21afc4
Add records when setting to slot
...
Closes #2128
2018-09-26 19:00:52 -07:00
Kurt
40a0206a5d
Misc style updates
...
whitespace / brackets
2018-09-26 18:56:29 -07:00
Kurt
5760860c8e
Add check for uninitialized save data
...
a 512KB NDS save can be 'picked up' as a memory card if it's not
initialized; this also rejects the binary in that scenario
2018-09-26 12:42:39 -07:00
Kurt
13bcc4bdc7
Add more enum values
...
pr video stuff is meh, anyone can contribute that
2018-09-25 16:33:11 -07:00
Kurt
a7f02bf27b
Enumerate some trainer appearance values
...
thanks @sora10pls for gathering resources
2018-09-24 21:20:55 -07:00
Kurt
4ac1cccaa1
Move fashion to another folder
...
incoming enums
2018-09-24 19:44:12 -07:00
Kurt
e0e628844f
Update copyto protection
...
skip over write protected slots (locked/team), may eventually weaken the
GUI to allow modding boxdata with locked slots (which will be skipped).
2018-09-24 19:43:59 -07:00
Kurt
164a26e757
Misc reorg + skeleton for slot editor
...
SlotChangeManager is pretty glue-y, might eventually shift to this
implementation
2018-09-21 21:20:28 -07:00
Kurt
7715d7e14f
Add boolean OrderByCustom overload
...
Closes #2125 ; final sorting is skipped as bool only yields two groups
instead of many, resulting in a preferentially poor sort result
2018-09-20 17:29:55 -07:00
Kurt
db30fea38c
Remove gsc dodrio trade OT trailing space
...
Closes #2126
Rewrite trade OT validation by using the trade's OTs property
2018-09-19 19:09:29 -07:00
Kurt
d5816795bf
Remove split gsc trade levels for tradeevo species
...
#2126
Receiving a lower leveled species from GSC will evolve it away from the
required species, ruling it unavailable.
Receiving a Machoke will evolve it, so can't reuse for Haunter trade
2018-09-19 19:08:10 -07:00
Kurt
39c3a0eea7
Rework sav3 version detect
...
Might still be flaky for FRLG, but can now (99.99999999%) determine RS
vs E...
2018-09-16 13:57:09 -07:00
Kurt
668b8611d5
Fix sav3 active partition detect logic
...
change < to >
the lower updated count is the backup partition, not the one to load
from
Closes #2122 , thanks @FaronBracy !
2018-09-16 12:49:00 -07:00
Kurt
3cd45cf5c4
Continue extracting logic
2018-09-16 12:44:00 -07:00
Kurt
41408a235c
Add filename without extension property
...
for encrypting the pkm -> 'ekx'
2018-09-16 10:48:04 -07:00
Kurt
65272d460a
stricter mysterygift references
...
results in:
- precomputed GetTable() reference
- no casting when iterating for matches
- no db null checks, as they are initally Array.Empty<T>();
reduces noise a little & slightly faster
2018-09-15 16:22:07 -07:00
Kurt
df321d14b5
Reorder checks
...
most common path is now first
2018-09-15 16:13:17 -07:00
Kurt
b280ffcfef
style updates
...
should be pretty much it
2018-09-14 22:37:47 -07:00
Kurt
87b270dd17
add more gen7 record labels
2018-09-13 22:06:44 -07:00
Matt
165757d590
Fix Meteorite/Mega Cuff mixup ( #2120 )
...
Meteorite (2) is legal, Mega Cuff is not.
2018-09-12 22:10:13 -07:00
Kurt
ff25e3cbd0
Remove illegal items from legal key items
2018-09-12 21:52:09 -07:00
Kurt
d511fccdb4
Move basement key item ID to illegal group
...
no functional change, item is unobtainable but still can be 'give all'
and in permitted list
2018-09-12 21:30:24 -07:00
Kurt
9ded3333d0
Correctly identify Basement Key
...
welcome back, "Red Scale (HG/SS) (OR/AS)"
thanks @sora10pls for finding this
2018-09-12 21:27:25 -07:00
Kurt
9a04109e01
Localize zygarde complete
...
form string already there, just repoint
2018-09-12 21:16:14 -07:00
Kurt
930d07c080
Misc simplifications
...
reference shared base class
reorder arguments to match pk1, remove extra space
2018-09-12 20:55:30 -07:00
Matt
fc91819410
Add XY Magikarp trade IVs ( #2117 )
...
* Add XY Magikarp trade IVs
* Add Cosplay Pikachu IVs
2018-09-12 11:02:11 -07:00
Kurt
e77247e652
Fix call order
...
new empty party list with empty slots now fills correctly
https://projectpokemon.org/home/forums/topic/47453-bug-with-generation-2-party-slot/
Thanks AcroBlade!
2018-09-11 20:33:26 -07:00
Kurt
dad3e59263
update for poipole event
...
release has been updated too
2018-09-10 20:04:47 -07:00
Kurt
b20020fbe6
Update 18.09.11
...
Update event binaries with latest from the Event Gallery
2018-09-10 19:10:28 -07:00
Kurt
0c02a0cbbc
Add splitbreed mantine to pastgen alolanoffspring
...
thanks kr, beast ball now recognized as legal
2018-09-09 17:19:50 -07:00
Kurt
f444c41ee3
Remove nick req on g5 gigalith trade
...
Closes #2114
2018-09-08 10:45:30 -07:00
Kurt
d8c355cf64
use sprite resource name instead of species-form
...
Closes #2113
2018-09-07 19:11:22 -07:00
Kurt
316341e140
Misc updates
...
Remove unused sav properties
Add translatable strings for autodetect SAV error suggestion
add speculated gg dex formtable
- no eevee forms
- increments 1 for pikachu since it already exists in table
- stops at mewtwo (no other formed-species available)
im currently setting up skeleton stuff for lgpe since we're <70 days
from release; by doing some pre-work like prior games I can get a good
idea of what needs to be adjusted prior to crunchtime!
2018-09-06 20:35:55 -07:00
Kurt
d02b87a7b2
Expose checkresult properties
...
can now check individual strings / identifiers in a LegalityAnalysis
object by:
var la = new LegalityAnalysis(pkm);
var parse = la.Info.Parse;
if (parse.Any(z => ReferenceEquals(z.Comment, LegalityCheckStrings.X))
...
should be faster than doing string.Contains
2018-09-05 21:27:52 -07:00
Kurt
1750c69b01
Update pcd version distro check
...
some events have fixed version IDs in the gift data
https://projectpokemon.org/home/forums/topic/47365-vgc-shiny-milotic-usa-pkhex/
2018-09-05 16:09:30 -07:00
Kurt
189fa5f7b3
Add button to give all seals + illegal ones
...
#2112
2018-09-04 15:26:16 -07:00
Kurt
cf3aba4f84
Add gen4 seal data get/set
...
closes #2112
adds methods to give/remove all, and get/set to retrieve array or
individual.
2018-09-04 15:12:35 -07:00
Kurt
81f6988d3e
Prevent sort/clear reverse on shortcut use
...
Closes #2111 by preventing the user error
2018-09-04 15:01:14 -07:00
Kurt
42deb0ad12
Add extra backup locations for savedetect
...
Closes #2109
Program boots -> load extra locations rather than constantly fetching.
These files won't change location or presence (not an external drive).
just store the locations instead of constantly fetching, we already call
detect once when loading the form anyway.
2018-09-03 10:40:40 -07:00
Kurt
53216333e6
Misc updates
...
extract final pkm manipulation logic from pkm editor
add xmldoc to boxmanipulator, add utility class for enum->manip fetching
fix xmldoc referencing removed enum member
relocate boxmanip overview logic to utility class
move SAVPaths file pointer to Main for reuse #2109 , will add to
autodetect in a later commit
open/save dialog with extra extensions: ignore ones already present
2018-09-03 10:30:35 -07:00
Kurt
493bef75eb
Misc updates
...
condense repeated logic
extract properties
extract reusable methods
2018-09-02 18:02:25 -07:00
Kurt
f57e7bf686
Separate box manipulator to ui-less class
...
clear separation of functionality
2018-09-02 11:31:34 -07:00
Kurt
cc20bb38d7
misc updates
...
use arrays instead of list when capacity known
use enums for const decoration
remove unnecessary aliases
2018-09-01 19:55:08 -07:00
Kurt
106a02eedd
Fix infinite loop pk1/2 -> pk<7
2018-09-01 15:09:04 -07:00
Kurt
7e03d1203d
Remove unused legality strings
2018-09-01 14:37:58 -07:00
Kurt
bfc9d99286
Remap legality string files
...
need to update exporter to not undo my changes
2018-09-01 14:33:26 -07:00
Kurt
91c37ab573
Update legality check message string style
...
V### names weren't enjoyable to work with; use similar verbose style as
the program message strings.
updating the translation files with the remapped variable names shortly
remap list: https://pastebin.com/jybkVDAK
2018-09-01 14:11:12 -07:00
Kurt
45ab331805
Don't remap gen2 item
...
https://projectpokemon.org/home/forums/topic/47300-two-more-showdown-importing-errors/
showdown already has format sensitive ID due to pkmconverter format
being applied on set load
2018-08-31 15:31:56 -07:00
Kurt
1fe304e78f
Rework mg nick/lang checks
...
add common interface
https://projectpokemon.org/home/forums/topic/47295-bug-event-golduck-name-not-matching-species/
2018-08-30 18:09:52 -07:00
Kurt
c6e4c39bc5
Fix gen1 single chain for gen2 tradeback scenario
...
invalid mon -> make sure array is big enough for later move parsing
https://projectpokemon.org/home/forums/topic/47283-unhandled-exception-when-importing-set-from-clipboard-after-opening-gen-i-save-file/
2018-08-29 21:58:44 -07:00
Kurt
ebae14e6ad
Add unnicknamed forced languageID wc7 handling
...
https://projectpokemon.org/home/forums/topic/47295-bug-event-golduck-name-not-matching-species/
another edge case
2018-08-29 20:36:32 -07:00
Kurt
6abd60cc5c
Add ball auto suggestion
...
click ball sprite/label to cycle through legal balls
hold alt to use old behavior (set to pokeball)
hold shift to cycle through legal balls randomly (default behavior goes
poke->color->poke)
want to randomize setting balls? use the ApplyBallLegalRandom method at
the end :)
can't really get too fancy as only one color is stored in the personal
data, pkm aren't one single color.
2018-08-28 21:13:45 -07:00
Kurt
f89d9ca323
Split apart headbutt tree logic
...
precompute Index & make readonly when initializing as we use Index at
least once when initializing the treesarea
2018-08-28 15:10:08 -07:00
ajtudela
b5089658f7
Update spanish translations ( #2106 )
2018-08-28 08:04:55 -07:00
Kurt
f74c1e321a
no mo go to yo
...
pull goto default into 'when' so other cases continue to default
this is a goto free codebase ( ͡° ͜ʖ ͡°)
2018-08-27 20:48:57 -07:00
Kurt
4dc04cb4b9
Add pelago status value check + etc
...
0, [9,19] are set (didn't see 15), but there's also a switch case which
references all values 0-19.
these values are used by a 80 sbyte array (4*20) in the Resort.cro
remove usages of "goto case"
2018-08-27 20:44:26 -07:00
Kurt
102430ebf5
Update trade nickname check
...
reorder for simplicity, add test
Thanks ThePunish3D!
2018-08-26 18:32:39 -07:00
Kurt
6e41b44047
Add telekensis flag & sprite flags
...
next bit on ev yield is for telekenesis immunity
6 bits for color, 2 bits for flags
2018-08-26 17:20:00 -07:00
Kurt
4656909d98
Misc reorg
...
use shared class for pk1/2 setnotnicknamed
fix extendedeurope values (copypaste from extendedAmericas)
move ball out of verifiers, move nature/movetype with ball
2018-08-26 16:29:52 -07:00
Kurt
f7b5a5579d
sync missing content
...
yay rename
2018-08-26 11:29:47 -07:00
Kurt
7f87d43c41
Add enum for ball; use in checks
...
Increases readability instead of using hex IDs
2018-08-26 11:15:32 -07:00
Kurt
6a225ad091
Add mr mime to usum additions for egg balls
2018-08-26 09:43:11 -07:00
Kurt
9dae7dad67
Misc updates
...
move encountertype datasource providing to core
fix rerolling EC not updating characteristic
remove some repeat logic calls
relocate geolocation name fetch to separate class, add tests to ensure
functionality, add languageID->country/region fetch method
2018-08-25 17:04:01 -07:00
Kurt
a9f65a4617
add lock for cross thread dictionary manip
...
could use concurrentdictionary but after reading some perf drawbacks vs
manual locks, just do it manually. regex checking is the real slow part,
whatever
add some comments to describe
2018-08-25 10:48:37 -07:00
Kurt
5fe9226c62
Ignore fixed language trades for gen4 korean check
...
Closes #2103
Thanks @Narithegreat !
2018-08-22 22:36:56 -07:00
Kurt
d40b10f4a4
Remove unused method
...
SaveFile already has ModifyBoxes which has better built in checks for
locked slots.
2018-08-22 22:35:50 -07:00
Kurt
ab0a792968
Move valid item override to pk1, pk2 uses base
...
Closes #2101
2018-08-21 07:47:23 -07:00
Kurt
ebb1e8a704
Update 'cant hold item' message
...
#2101
2018-08-21 07:46:55 -07:00
Kurt
19f9765752
Add missing species setter
...
Closes #2100
2018-08-21 07:37:15 -07:00
Kurt
29f73993b1
Misc reorg
...
simplify gameinfo comments/return
move item1->item2 conversion to itemconverter
just general upkeep
2018-08-20 22:09:35 -07:00
Kurt
7ccaf8783b
Unban bred HA sableye
...
yeah totally genderless
https://projectpokemon.org/home/forums/topic/47101-gen-v-hidden-ability-sableye/
2018-08-20 20:08:42 -07:00
Kurt
daf9364fb2
Alphebetize settings
...
probably want to switch to a propertygrid later.
2018-08-19 21:25:21 -07:00
Kurt
c7aea9cad2
add option to hide pid/ec
...
hides pid & ec in pkmeditor, gamesync & securevalue in saveditor
easier to share screenshots/stream without leaking identifying
information
fix auto-centering of pkmeditor subwindows when a savefile is detected
on program load(tab_otmisc isn't initialized and reads an incorrect
width)
2018-08-19 18:22:07 -07:00
Kurt
af0b8b2a37
Add egg sprite alternate display + setting
...
egg sprites can be a little difficult to see what's underneath (glance
value)
make the new egg sprite method the new default; adds setting to revert
to old behavior
adds translation text for the mega rayq control from #2098
2018-08-19 16:45:20 -07:00
Kurt
d307a30cad
misc optimization
...
list initial size is 4; oftentimes it's greater, and always padded
2018-08-19 16:26:08 -07:00
Kurt
c0b5d3eef7
Abstract away pk1/pk2 properties to shared class
...
some inefficiencies with pk1 altform/iskorean but is much easier to
manage
2018-08-19 15:50:15 -07:00
Kurt
7ef5d9e547
Add pk1 current level property party->box setter
...
https://projectpokemon.org/home/forums/topic/47086-bug-trades-between-two-saves-1g/?do=findComment&comment=235241
fresh encounters have yet to be boxed and don't have the value; set it
whenever setting a Stored slot.
2018-08-19 13:35:20 -07:00
Matt
8c64f378c1
Add Mega Rayquaza unlock to GUI ( #2098 )
...
* Add Mega Rayquaza unlock to GUI
2018-08-19 08:24:59 -07:00
Kurt
a200dc85c7
Add bvid util
2018-08-18 20:10:34 -07:00
Alberto Tudela
58eddd0225
Update spanish translations with new hide savdetail setting
2018-08-18 16:45:39 +02:00
Kurt
633f0e1da9
Extract filetype detection, add xmldoc
2018-08-17 23:23:44 -07:00
Kurt
b526d4657b
rework tile flip check flow, remove goto
2018-08-17 16:22:54 -07:00
Kurt
d7f39ea343
Extract pkm searching to separate classes
...
search logic can now be reused by core projects
adds option to provide extra filters run at the end (prior to clone
check)
2018-08-16 20:06:40 -07:00
Kurt
e366f9a93d
Misc tweaks
...
only have one empty forme array object
rename method for clarity
show version ID for hidden savefile program window titles
2018-08-15 21:15:06 -07:00
Kurt
eec14645ef
Lessen string length severity on egg encounters
...
Hatched eggs can have mismatched languages<->OT/Nick restrictions
2018-08-15 15:26:42 -07:00
Kurt
5514530dfb
update OT name edge case
...
traded ENG->KOR egg was getting flagged
#2094
2018-08-15 15:19:54 -07:00
Kurt
b6de41bfa7
Add OT name max length checks
...
Closes #2094
2018-08-15 14:58:55 -07:00
Kurt
bc262a7cdf
Remove Plasma Fists from unsketchable
...
Closes #2095
split out unsketchable moves (struggle/chatter) to separate array
remove trailing spaces (auto fixed by my visual studio plugin), add
space before comment //
2018-08-15 14:52:25 -07:00
Kurt
57c6de2825
Add nickname length check for gen>2
...
Closes #2091
2018-08-14 20:13:15 -07:00
Kurt
75d700c171
Fix sav1 jp load order
...
oops
2018-08-14 20:12:10 -07:00
Kurt
f079f62956
Remove fullness/enjoyment check
...
Although bank 6->7 deletes the values for these fields, Pokémon Refresh
can still reintroduce new values.
Closes #2090 , thanks @Lusamine !
2018-08-14 16:45:51 -07:00
Kurt
10f050eb18
Update translations with new hide savdetail setting
2018-08-13 19:40:00 -07:00
Kurt
70a6cd9421
Remove untranslatable content
...
sav6 recently added trainer appearance editor, prior commits removed pt
translation (only official ingame translations)
2018-08-13 19:24:49 -07:00
Kurt
6edc828cc3
misc style updates
2018-08-12 19:27:11 -07:00
Kurt
d3ec969187
Style updates
...
split pcd/pgt
add more xmldoc
2018-08-09 21:53:39 -07:00
Kurt
8187606a89
Clarify sav6 boxflag in src
...
7 wallpaper flags (not all used), top bit unlocks box 31
https://projectpokemon.org/home/forums/topic/34466-box-31-is-unlocked-but-not-showing-on-bank-any-ideas/
PCFlags + 2 is just CurrentBox, don't include it anymore.
2018-08-08 22:02:06 -07:00
Kurt
6b62dd29ee
Update xy fashion edits
...
different for each gender
2018-08-08 21:27:14 -07:00
Kurt
7403c0f91a
Add more pokewalker moves
...
igglybuff wish, happiny heal bell, and the elemental punches to round
things out even though they can be tutored
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=234991
2018-08-08 17:35:06 -07:00
Kurt
975759e53c
Update str<->val base32 encoder
...
simpler
2018-08-07 16:32:31 -07:00
Kurt
259feae038
re-allow event flag editing on gen1
...
closes #2088
2018-08-07 07:54:14 -07:00
Kurt
421c522eb4
Fix gen1 sav load
...
Starter fetches via Offsets, which was null, reorder the init
Thanks @Ninjistix !
Closes #2087
2018-08-06 21:29:47 -07:00
Kurt
98f21a12dd
Relocate gen6 trainer stat records to core
...
use trainerstat editor control in gen6 editor
fill in some details from the disassembly via setrecord usages
still slightly fuzzy on some:
fureai (based on usum idb name, similar logic)
soaring sky counts
looks like there's some other usages of the fields which were outside
the stat range, throwing an exception when loading to NumericUpDown,
added bypass logic
Thanks Holla!
2018-08-06 21:27:31 -07:00
Kurt
37e5c9fc69
Add record details for gen6
...
pulled from exefs data
2018-08-06 16:52:43 -07:00
Kurt
48a61a00a2
Relocate record stat id's to core
...
can potentially add localization by changing the method of fetching
2018-08-06 16:17:32 -07:00
Kurt
0296f98777
Add offset table for sav1
...
calling Japanese ? X : Y on every single access is too excessive, just
compute one layout for each type whenever the first sav1 requires it.
could probably reduce the amount of properties by reusing others + shift
value; offsets are different due to string lengths being different
2018-08-05 20:27:25 -07:00
Kurt
fc73eee570
Extract PokemonList* to inherited class
...
Logic is essentially identical; implement a base class and have the
generation specific structures implment the differences.
Reduce the verbosity a little
2018-08-05 17:28:54 -07:00
Kurt
84185dc6c9
misc improvements
...
add records class for managing info for trainer records
add more b2w2 block docs
2018-08-05 12:39:06 -07:00
Kurt
ca39843046
Length check relearn suggestion
...
CLsoes #2086
2018-08-04 17:06:51 -07:00
Kurt
279c9d4665
Fix tradeback detect for gen2->1->2 evolve case
...
https://projectpokemon.org/home/forums/topic/46909-certain-gen-i-moves-are-showing-invalid/
Thanks Raptor385!
2018-08-04 13:36:05 -07:00
Kurt
53857df647
Copy addmoves special case to individual fetch
...
see prior commits
2018-08-04 10:05:47 -07:00
Kurt
0f63b0a0ee
Allow bw movepool except for kyurem
...
workaround provided for kyurem movepool (which is same bw-b2w2) but the
AddMoves logic with form != 0 points to the form == 0 data
Closes #2085
2018-08-03 07:46:53 -07:00
Kurt
30a614484e
Update STADIUM ot checks again
...
jp: 1999 if stadium1, 2000 if stadium2
en: 2000
jp: always same OT
en: lowercase if stadium2, uppercase if stadium1
https://projectpokemon.org/home/forums/topic/46893-pkhex-bug-stadium-ot-issue/
2018-08-03 07:38:29 -07:00
Kurt
4103b4d4b0
Update 18.08.03
...
Update event binaries with latest from the Event Gallery
2018-08-02 21:01:17 -07:00
Kurt
1486b7f14a
Misc style & minor tweaks
...
Remove move combobox flicker hack (no longer necessary)
Add more Array.Empty usages
cache mysterygift sizes
seal some classes
no functionality changes
2018-08-02 20:11:42 -07:00
Kurt
19a897923d
Reference original encounter for sensitive checks
...
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=234360
thanks paf!
2018-08-01 20:39:20 -07:00
Kurt
f4bfdb8311
Remove unnecessary empty array allocations
...
yay net 4.6
read more: http://justinvp.com/2015/07/20/array-empty/
2018-08-01 18:30:51 -07:00
Kurt
fe6c071d72
Be more generous on nick parse
...
benefits manual-edit users who forget to put a space between
nick(species)
2018-08-01 18:28:05 -07:00
Kurt
007ec93d85
Update trade nick check for non-nicknamed
...
Closes #2084
2018-07-31 17:27:28 -07:00
Kurt
4c96efb9b7
Update pk2->pk1 party stat transfer logic
...
pk1 boxdata stores current level & current hp, which is only present in
pk2 party data.
if the user drops in pk2(boxdata), the transfer leaves 0 for both
values, which isn't correct.
detect stat_level to determine if values should be regenerated or not.
Thanks HaxAras for finding this :)
2018-07-31 14:29:47 -07:00
Kurt
32b90fab13
Simplify some logic
2018-07-29 21:54:02 -07:00
Kurt
02a6d26e1b
Break apart BAKName into smaller components
...
simplifies definition & makes it easier to update bakname usage later
2018-07-29 21:51:45 -07:00
Kurt
f35712fcf2
Extract experience logic to separate file
...
add exp bar logic, unused.
2018-07-29 17:43:30 -07:00
Kurt
3fd21db51e
Style & function extracting
2018-07-29 16:39:15 -07:00
Kurt
0de335d52b
Misc reorg
2018-07-29 14:04:16 -07:00
Kurt
b16015e8e5
Split InventoryPouch to inheriting classes
2018-07-29 13:55:07 -07:00
Kurt
d916be1020
Style updates
2018-07-29 13:27:48 -07:00
Kurt
41643a4c86
Use correct language ID for nickname check
2018-07-29 12:47:38 -07:00
Kurt
96484eceb5
Update version logic
...
Fixes broken tests (glaceon card can only be received by SM, was getting
set to UM).
2018-07-29 11:34:27 -07:00
Kurt
cfa3479a4b
Add egg experience check
...
Closes #2083
2018-07-28 18:09:29 -07:00
Kurt
2092d55b23
Update e/fr/lg stats for deoxys formes
...
Closes #2082
2018-07-28 09:02:41 -07:00
Kurt
c46924d220
Use wcxfull version/language restriction data
...
some cards may permit being recieved on incorrect games
some wcxfulls permit games they shouldn't (tapu koko flags permit USUM
but games released after the distribution window)
lots of wcx lacking restrictions completely
tested flagging USUM rockruff & zeraora
might be worth discarding MysteryGiftVerifier and instead just using
unused fields for prior formats to supply the data.
2018-07-27 22:26:27 -07:00
Kurt
77bd91397a
Update form sizing / es translations
...
use some close synonyms (Reiniciar -> Borrar)
omit some words (potential / training) to keep layout compact
capitalize Equipado to match main window
Closes #2080
2018-07-27 17:38:23 -07:00
ajtudela
11ab585368
Big spanish changes ( #2081 )
...
* Update spanish translations
2018-07-27 12:40:30 -07:00
Kurt
3d0a2946eb
Allow only one movepool for BW-B2W2 source
...
they're both the same, but bw's pool does not have b2w2 formes
Closes #2078
2018-07-26 21:51:11 -07:00
Kurt
c8563a3737
Respacening
...
Style guidelines, handle a bunch of files
no functional change
2018-07-26 19:34:27 -07:00
Kurt
9551d4e707
Relocate logic to core
...
probable/possible lgpe uses similar dex stuff, so best I totally
understand it (assuming quirks will be present)
2018-07-26 18:01:16 -07:00
Kurt
d19705f5a9
Fix incorrectly ordered name<->bitindex
...
names have sinnoh second not first
https://projectpokemon.org/home/forums/topic/46377-invalid-invalid-ribbons-record/
2018-07-26 17:12:27 -07:00
Kurt
75801e22e0
Update egg location -> encounter generating checks
...
WasEgg only checks for EncounterEgg valid locations; check for any value
instead.
2018-07-26 14:55:49 -07:00
ajtudela
1c05001fb7
Update spanish translations ( #2077 )
...
* Update spanish translations
2018-07-26 07:06:14 -07:00
Kurt
711157f3ea
Refactoring
...
Extract trainer pkm origin check to interface extension
2018-07-25 20:40:57 -07:00
Kurt
f0fc4b0693
remove alias'd properties
2018-07-25 19:43:02 -07:00
Kurt
e8644280a1
Update sav4 block detect logic
...
#2070
desmume inits a savefile to FFFFFF... others instead init to 00's.
check both init states, add IsRangeAll method
5f39118b8a
Thanks @Filo97 !
2018-07-25 16:00:52 -07:00
Kurt
609e6b4c43
Add jangmo-o/hakamo-o to dashedspecies group
...
importing little cup idk
2018-07-25 15:53:02 -07:00
Kurt
5fbf132615
Add handling for pgt ranger manaphy
...
skip out on load if pgt
extract pgt pid gen method
set gender & PID if rangeregg since PID == 0 not 1.
Closes #2075
yay 5k!
2018-07-25 07:34:48 -07:00
Kurt
f0090669bb
Update catch rate related logic
...
#2071
2018-07-24 19:33:42 -07:00
Kurt
279f44a645
Simplify GB stat calc, fix pk2->pk1 xfer fainting
...
Remove unnecessary floor operation, don't fetch stat arrays for each
stat
Current HP is a box stat in pk1 format (offset 0x1), which isn't stored
in box pk2's. If the hp is zero, set it to the current HP.
Thanks HaxAras for the conversion tip!
2018-07-24 16:41:18 -07:00
Kurt
3294805380
Update translations
...
Translatable about menu, translatable PKMConverter strings
2018-07-24 15:50:00 -07:00
Kurt
64284eafef
Add pk1/pk2 direct import checks
...
dragdrop: check
import files from folder: check
no other paths convert afaik
Closes #2074
2018-07-24 15:49:00 -07:00
Kurt
81355dfaf4
Update translatables for pkm conversion
2018-07-24 15:36:46 -07:00
Archit Date
e52838df37
glow setting ( #2073 )
...
* add PKM glow setting
* change setting name for consistency
2018-07-23 19:25:54 -07:00
Kurt
3c4ba0d52b
Misc cleanup
2018-07-22 17:26:19 -07:00
Kurt
b97e967304
Misc cleanup
2018-07-22 17:14:22 -07:00
Kurt
a693ba87ba
Update cosplay sprite handling
...
Cosplay are stuck on gen6, cap pikachu can interact with bank; make
Cosplay the oddball resource.
2018-07-22 12:06:43 -07:00
Kurt
c9408e6af4
Misc clean
2018-07-22 12:00:03 -07:00
Kurt
abe6ef1be3
Move ribbon verifiers to appropriate folder
...
no functional change
2018-07-22 11:50:11 -07:00
Kurt
da839988af
Simplify RBY checksum calc
...
utilize unchecked byte overflow
remove unnecessary zeroing -- t's immediately after the checksummed
region. even if it was included, chk += 0 is still 0.
2018-07-21 19:24:09 -07:00
Kurt
0c5c9bc33c
Misc clean / xmldoc updates
...
remove unused label in QR (use window Font)
escape & -> & for xmldoc proper style
2018-07-21 19:20:11 -07:00
Kurt
1c49b0681d
Extract dex logic
2018-07-21 11:46:38 -07:00
Kurt
63b9b72a49
Relocate save detection to core
...
Environment.GetLogicalDrives is not present in net standard 1.3;
relocate code and add it as a parameter
2018-07-21 10:23:15 -07:00
Kurt
0c632604d2
Move files
...
Saves now has a similar folder structure to PKM
2018-07-20 21:33:55 -07:00
Kurt
c7175fbdb4
Misc reorg
...
bye bye SAVUtil and PKMUtil
2018-07-20 21:32:33 -07:00
Kurt
f27f11bfc8
Clean up pk7/sav6/sav7 simple methods
...
extract GetFormDuration to method, remove unused GetIsCompatible
specialized variant (there's a generalized version in SAVUtil.cs,
IsPKMCompatible -- might do another round of WinForms->Core absorption
2018-07-20 20:25:28 -07:00
Kurt
4b0a2d90b9
Add xmldoc
2018-07-20 20:22:46 -07:00
Kurt
c9abeda508
Update stadium check again
...
#2065
2018-07-20 05:57:57 -07:00
Kurt
1ff8ebf777
Misc overload add/use
...
Some values are already computed; pass them in to overloads for quicker
execution
2018-07-19 19:38:44 -07:00
Kurt
614d2629ce
Remove unnecessary ref passing
...
object is already passed byref, don't need to repoint the reference
2018-07-19 18:09:37 -07:00
Kurt
9a91619580
Update vc1 invalid transfer pruning
...
Closes #2065 Thanks @WEERSOQUEER !
Single evo species weren't getting flagged in the evolution verification
as they early returned (species matched), just move the sanity check
before that
2018-07-19 16:42:45 -07:00
Kurt
69e7d49d03
Simplify Stadium OT Check
...
TID is always 2000 : #2065
2018-07-19 15:54:34 -07:00
Kurt
ff4ca47ebe
Remove GBEncounterData boxing
...
Interfaces implement enough detail, so can simplify
extract local methods (likely will be inlined)
less obj allocations = faster!
2018-07-18 16:37:21 -07:00
Kurt
1c75093e27
Specify altform for ranch shellos
...
1 not 0
https://projectpokemon.org/home/files/file/336-shellos/?do=findComment&comment=1290&tab=comments
2018-07-18 07:15:46 -07:00
Kurt
01c4ca348f
Allow FolderList to be translated
2018-07-17 21:02:01 -07:00
Kurt
a100488142
add gen12 generator kadabra catch rate case
...
https://projectpokemon.org/home/forums/topic/46259-yellow-kadabra/
Thanks Cloud AC !
update misc verifier for catchrate to better indicate for
any->nontradeback scenarios
2018-07-17 16:54:23 -07:00
Kurt
fe7fea877b
Replace boolean OrderBy with DeferBy
...
orderby consumes the entire input enumerable in 'sorting' the list;
since we don't care about the order besides a yes/no, just manage the
yield order ourselves.
don't bother using this method more than the spot it's in; was a fun
exercise but other spots are set up for easier debugging
(overall flow is where->deferby->yield), could make things easier to
read but meh
2018-07-17 16:28:42 -07:00
Kurt
e4aa16f396
Fill out gen5 hidden ability banlist
...
now flags gen5 contrary serperior ;)
2018-07-16 21:53:46 -07:00
Kurt
99c790a4b0
Update File name/path/folder fields
...
original file path is not saved with the two listed properties, add
FileFolder and relcoate existing FilePath functions to that field
move some GetVariantSAV usages to the string method instead of byte[]
2018-07-16 21:00:43 -07:00
Kurt
bdb5aaee36
Ignore mismatch if explicitly permitted by prior check
...
Closes #2062
2018-07-16 16:12:19 -07:00
Kurt
7ec1cab9a7
Update gen1/2 trade generator to emit gen1 if match
...
Closes #2060
2018-07-16 15:22:40 -07:00
Kurt
f51ac7d1f3
Update translations
...
Internal repositioning to match source
(auto generated changes)
2018-07-16 15:12:40 -07:00
kang1806
afca1b8145
Update MessageStrings_zh.txt ( #2063 )
2018-07-16 15:09:01 -07:00
Kurt
9a1695f319
Update 18.07.16
...
Update event binaries with latest from the Event Gallery
2018-07-15 21:44:50 -07:00
Kurt
a81c28f114
Upgrade FolderList to show recent/backups
...
sortable grid like the ReportGrid for pkm, can open/browse individual
files
2018-07-15 17:48:31 -07:00
Kurt
99673706a0
Rework recent savefile detection
...
return a reference to the savefile rather than the path, since a
SaveFile has a FilePath property.
2018-07-15 13:35:58 -07:00
Kurt
cc509de83c
Add lgpe properties
2018-07-14 21:55:45 -07:00
Kurt
0f17445ef4
Update gen3 event pidiv method check for eggs
...
closes #2057
Thanks @kamronbatman !
(nothing currently implemented uses BACD_U_S)
2018-07-14 20:19:13 -07:00
Kurt
cb80c02011
Check Yellow catchrates when updating species
...
https://projectpokemon.org/home/forums/topic/46259-yellow-kadabra/
2018-07-14 18:08:51 -07:00
Kurt
d2eba35504
Update interface parameter names
...
sync to previous
2018-07-14 18:08:30 -07:00
Kurt
6c8374f26f
Extract inner sprite building to class
...
any romhack maker can replace the behavior with their own builder
2018-07-14 17:53:37 -07:00
Kurt
6b7ba49cba
Remove unnecessary logic
...
gamestrings: call but not value used
text.cs: use gamestrings method for auto-filtered, now removes korean in
Gen3 context
2018-07-14 16:53:14 -07:00
Kurt
8c2b74c149
Refactoring
...
max IVs use flawless method directly with 6 IVs specified
move color blend/stat calc to ImageUtil
move potential string to commonedits
expose color properties for pkmeditor
don't constantly create/dispose brushes for drawing legal moves
2018-07-14 15:08:14 -07:00
Kurt
baac632218
Enable editing gen1/2 hidden power type
2018-07-14 10:56:11 -07:00
Kurt
625a77589b
Extract geolocation logic to interface
...
mixins would be nice but I guess extensions cover this
2018-07-14 10:34:34 -07:00
Kurt
7d1994dc8a
Add xmldoc for public members
2018-07-14 09:55:22 -07:00
Kurt
b039112a1d
Add gen1/2 hidden power setter calc
2018-07-13 20:30:57 -07:00
Kurt
5d20c79568
Add showdownset localization for slot previews
...
Localization only for game strings (not Ability/Nature/Stat/etc labels)
feels kinda goofy but it works
2018-07-13 19:13:25 -07:00
Kurt
83e61923f7
Add bw/2 jellicent deferral case
...
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?tab=comments#comment-233860
Thanks paf!
2018-07-13 13:48:27 -07:00
XxPhoenix1996xX
9f2712cf4d
Update text_Mail4_es.txt ( #2056 )
2018-07-13 08:40:18 -07:00
Kurt
ebed1026cd
Update national dex magic setting
...
bulbapedia is wrong, first 4 bytes are info values:
0x0 = dex order (alphabetical, numerical), unused in frlg
0x1 = mode (unused in frlg), regional vs national
0x2 = national magic rse (always set in frlg)
0x3 = national magic frlg (never set in rse)
refer to disassembly (pokefirered isn't too helpful, less developed.
just compare save files & edit ram!)
the other 2 values being set are the eventflag & event const, could use
the abstraction for those rather than direct ofs writes
2018-07-12 23:23:36 -07:00
Kurt
d42cc7cacd
Add spinda/unown PID properties
2018-07-12 22:07:44 -07:00
Kurt
98a1677d14
Fix property reference
...
oops
2018-07-12 20:36:59 -07:00
Kurt
ea5a981f4a
Add Hidden Power type calculation for pk1/pk2
...
Use format specific for import, with format guess to the current
savefile known to pkmconverter.
2018-07-12 18:16:24 -07:00
Kurt
296d1c20ed
Use ITrainerInfo interface for trdata
2018-07-12 18:15:20 -07:00
Kurt
3da4873f94
Bounds check species ID for negative
...
certain downstream consumers of the library be doin silly things
2018-07-12 17:09:39 -07:00
Kurt
04765ef411
Add more xmldoc
...
Covers all gameversion enum members (whew)
2018-07-12 16:55:24 -07:00
Kurt
d20706dd70
Update xmldoc
...
le lenny goes here
2018-07-11 19:19:19 -07:00
Kurt
e4e5018aa7
Extract some methods
2018-07-11 19:13:09 -07:00
Kurt
6816c2de43
Update OT affection check for 3-5 memories
...
https://projectpokemon.org/home/forums/topic/46180-oras-transfered-pokemon-invalid-ribbon/
Thanks piplupwater!
(there's no other usages of V129)
2018-07-11 17:43:48 -07:00
Kurt
8a83b9bde8
Update manaphy ability check again
...
57250823a8
covered it for format>=6, in 4/5 the abilitynumber is derived from
PIDAbility
Closes #2052
2018-07-10 21:30:13 -07:00
Kurt
01323c0ee8
Add id7 setters
...
can now set TrainerID7 / TrainerSID7 via batch editor
2018-07-10 21:25:03 -07:00
Kurt
7f31fdf874
Simplify string trim
...
RemoveRange instead of while {remove last}
2018-07-10 17:54:05 -07:00
Kurt
f8c43d4a06
Rework gen1 trade OT handling
...
convert all dictionaries to char-byte instead of string (saves 50KB on
compressed dll, lul)
update OT string comparison for pre/post transfer specimens
Showing "TRAINER" for all languages isn't correct, just show a mapped
character
Closes #2049 , thanks @egzonqj & @WEERSOQUEER !
2018-07-10 16:45:24 -07:00
Kurt
027d898f3d
Update Yancy Curtis trade OT checks
...
Thanks paf!
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/
2018-07-10 12:37:40 -07:00
Kurt
c8897161b7
Fix gen6 evo tree resize miss
...
https://projectpokemon.org/home/forums/topic/46144-a-couple-of-new-problems-in-the-pkhex-version/
Thanks CreamatedReptile2018 !
2018-07-09 22:51:01 -07:00
Kurt
93876d98eb
Fix CanInhabitGen1 comparison
...
extracted and forgot to double check the boolean comparison when
inverting the return value
https://projectpokemon.org/home/forums/topic/46148-bug-gen-1-moves-and-legendaries-incorrectly-flagged-in-gen-2-game/
Thanks Raptor385!
2018-07-09 21:59:38 -07:00
Kurt
d45a8afef2
Remove erroneous chain trim logic
...
latter half of the method seems to do everything that is required
Closes #2048
2018-07-09 21:26:45 -07:00
Kurt
9a57469ec3
Update shedinja chain handling
...
Closes #2045
4ac92b9418
had added it; assuming to undo lvl-1 => lvl for gen3/4.
Level Up, Learn Nincada Move, Evolve to Ninjask & spawn Shedinja, then
learn any Ninjask Moves. Gen3 reverses the spawn&learnNinjask steps,
which is handled separately
Thanks @XxPhoenix1996xX !
2018-07-09 20:18:31 -07:00
Kurt
57250823a8
Add ranger manaphy ability check
...
PCD != PGT
Closes #2044
2018-07-09 17:33:31 -07:00
Kurt
6bb076aecf
Fix mysterygift hidden ability comparison
...
Closes #2047
2018-07-09 17:08:26 -07:00
Kurt
d70990f9cc
Fix SOS hidden ability <-> flawless IV count
...
3->2
https://projectpokemon.org/home/forums/topic/46142-two-illegal-pokemon/
2018-07-09 17:02:18 -07:00
XxPhoenix1996xX
3c9b25a662
Update lang_es.txt ( #2050 )
...
* Update lang_es.txt
* Update lang_es.txt
2018-07-09 11:54:45 -07:00
Kurt
8b1ec36242
fix volbeat/illumise sport comparison
...
#2047
2018-07-09 06:28:29 -07:00
XxPhoenix1996xX
a60d2bd08d
Update MessageStrings_es.txt ( #2046 )
2018-07-09 06:12:53 -07:00
Kurt
6d0dda1df0
Update 18.07.09
...
Update event binaries with latest from the Event Gallery
(surpassed 2.5 million cumulative downloads!)
2018-07-08 21:16:42 -07:00
Kurt
94ad351979
Update translation files
...
new release soon
-opower6 now fully editable
-box export to showdownset added
2018-07-08 18:25:43 -07:00
Kamron Batman
5ecd3b1875
Adds distribution for Negai Boshi Jirachi ( #2043 )
...
* Adds distribution for Negai Boshi Jirachi
* Updates negai boshi to have the proper game origins
2018-07-08 16:21:49 -07:00
Kurt
97701787a6
Add sav2 daycare view
...
tfw they store full egg data there too -- show that in the sidebar
Tested on C & GS (english), assumedly works fine for other languages
(based on the disassembly?)
2018-07-08 15:46:37 -07:00
Kurt
3bcda0eb33
Add frlg other daycare slot view
...
guess that was easy?
2018-07-08 11:06:39 -07:00
Kurt
1e8dd3c823
Add gen3 daycare offsets
...
idc about frlg single mon daycare
2018-07-08 11:00:50 -07:00
Kurt
373b4ffcbb
Add block offset fetch util
...
according to the disassembly it all makes more sense; a small block and
a large block are stored in RAM
util calc helps convert between contiguous section offset to a chunked
offset
eg: emerald daycare starts at large 0x3030, which converts to
chunk4@0x1B0
2018-07-08 09:56:01 -07:00
Kurt
f04bc214ec
Use OT class calc (mod 5)
...
remove setter as it's derived from TID's low byte
2018-07-08 09:54:17 -07:00
Kurt
f592be75d1
Add gen3 secret base classes
...
don't plan on using them at this time, just an implementation if anyone
wants to play with it
2018-07-08 00:26:31 -07:00
Kurt
b745d59552
Rearranging
...
group gen3 structures to their own folder
2018-07-07 21:47:29 -07:00
Kurt
0b1ae2ec67
Add pokeblock3 interaction
...
no gui but can use core with a rse save file
2018-07-07 21:31:41 -07:00
Kurt
4dcac24f34
Add roamer3 active/level editing
2018-07-07 21:31:07 -07:00
Kurt
ae04218c5f
Update eventflagmax for e/frlg
...
globals.h defines as 288 bytes for RS, and 300 for E & FR respectively
verified event const vals for Emerald making sense
2018-07-07 18:03:52 -07:00
Kurt
d4c1093dd9
Add RS badge flags
...
make logic generic
2018-07-07 17:01:47 -07:00
Kurt
990eb73f8a
Misc simplifications
...
recordmax is simplified
2018-07-07 15:38:11 -07:00
Kurt
e46aed4b0b
Relocate bean logic to core
2018-07-07 15:37:47 -07:00
Kurt
e915cd170b
Extract trainer stat to interface / usercontrol
2018-07-07 11:48:03 -07:00
Kurt
2e02ec9719
Refactoring
...
Move some logic out of saveditor/subs
2018-07-07 11:20:05 -07:00
Kurt
e588565657
Refactoring
...
reduce pk3/ck3/xk3 logic, share AbilityBit property within _K3, and when
loading, type check (favored over hardcoding individual load cases)
pull some non-gui code from PKMEditor to core/etc for general data
fetching
2018-07-06 17:37:07 -07:00
Kurt
fe82fe8eab
Show language name instead of index
...
prefer to keep the '0' case as zero
2018-07-06 17:22:56 -07:00
Kurt
e2fd00a27a
Restore while loop
...
Yeah forgot that extremely bad RNG rolls (0,0,0,0,0) leaves 510
remaining, and the last EV can't have that much
rework loop to be simpler & quicker by checking the last IV for validity
only
(don't bother keeping it unrolled
2018-07-04 12:23:42 -07:00
Kurt
397de97f3c
Remove excessive references to Util.Rand32()
...
all usages besides fetching a 32bit random value should use rand.next
remove unnecessary do-while loop for calculating random EVs (always
returns 510 in total)
2018-07-04 11:30:43 -07:00
Kurt
326522c76f
Misc simplifications
...
cache splitbreed species as another class
reduce linq usage in evolution validity check
reuse egg hatch method
2018-07-04 09:15:20 -07:00
Kurt
b0990c8a08
Add xmldoc
2018-07-04 08:43:19 -07:00
Kurt
fdc4dd2811
Fix encounter ability comparison
...
-1 is the 'no fixed ability parameters defined'
Closes #2041
(optimize abilitynumber check for early return)
2018-07-03 18:43:11 -07:00
Kurt
8e950e83b3
Rewrite ability verification
...
Closes #2040 , adds test cases:
invalid bulbasaur.wc3: hidden ability
invalid charmander.pcd: hidden ability
valid camerupt: gen3->4 unevolved mismatch
valid leafeon: pcd mismatch -> evolved now matching
should be much easier to maintain; methods are reused with less overall
nesting
2018-07-02 20:34:41 -07:00
Kurt
e495883d87
Reorder marking for speed last
...
Closes #2040
2018-07-02 14:37:21 -07:00
Kurt
d11a89d52d
Move relearn required flag to checkmoveresult
...
reduce usage for non gen6+ relearn move cases
save contains result for later usage instead of recomputing the inverse
2018-07-01 21:34:17 -07:00
Kurt
7f6f7a7bad
Misc simplifications
...
reduce nesting (evo.RequiresLevelUp is checked twice, only check once
and handle path)
compact some methods
seal some classes
add a little xmldoc to exposed members
2018-07-01 19:55:23 -07:00
Kurt
c40a284174
Misc simplifications / xmldoc
2018-07-01 19:17:37 -07:00
Kurt
3674a11cfe
Misc simplifications
...
absorb verifier calls into the parsing methods
2018-07-01 17:07:29 -07:00
Kurt
bc6c361746
Reduce linq usage
...
reuse variables instead of re-fetching (pkm.Species)
add overload for HashSet<int> contains vs ICollection
merge BattleOnly to one hashset
2018-07-01 10:49:11 -07:00
Kurt
e5ac193e8e
Remove unused field
...
Encounter used to be used to determine if the original encounter was
valid; we now store the encounter object and checking is fast enough --
we don't really care to short-circuit individual verification steps
anymore.
2018-07-01 10:15:10 -07:00
Kurt
d477e19cf0
Simplify ball/catchrate lineage checks
...
should speed up egg ball checking a bit since we've already computed the
original species
gen1 catch rate, just move the chain fetch there.
2018-07-01 10:15:10 -07:00
Evan Dixon
8a0a2de7b2
Elaborate on unsupported message ( #2038 )
2018-07-01 07:37:31 -07:00
Kurt
e4a281b0d9
Generate pgf moves if none present
...
Closes #2037
not sure if the cards are hacked, whatever
2018-06-30 21:28:20 -07:00
Kurt
d8c643f9f0
Add plugin initialize order
...
wtb c# 8 with default interface values to not break consumers
2018-06-30 15:02:17 -07:00
Kurt
177604e2cb
Refactoring
...
Simplify some verifier logic
2018-06-30 15:01:16 -07:00
Kurt
aa3b64dc6d
Simplify ball check logic
...
fetch a single result and add it to the analysis
can probably remove the GetLineage call since the encountermatch stores
the original species
2018-06-30 10:34:09 -07:00
Kurt
9f8edc89bf
Refactoring
...
put some string[] behind IReadOnlyList to prevent any consumer from
modifying it
2018-06-30 09:59:48 -07:00
Alexander Hoischen
517441a982
Implement IsDaycareOccupied for SAV1 ( #2036 )
...
This commit implements IsDaycareOccupied for generation 1 saves. The
byte which tracks if the daycare is occupied should normally only be
0x01 or 0x00, so I decided that all other values mean that the daycare
is probably corrupted and thus not occupied. SetDaycareOccupied is not
implemented, since I am not sure what other flags the game normally sets
in this scenario and daycare is read-only anyway.
The GUI displays the Pokemon's index to the right for some reason, but I
don't have saves to test this for other generations, so it might be
unrelated to this change.
2018-06-29 16:18:42 -07:00
Kurt
e4a83dbbac
Update GetPKMExtensions to support lower gens
...
gen1&2 are allowed for 1-2/7+, else the minimum is gen3.
2018-06-27 18:53:08 -07:00
Kurt
69cd79c6b5
Simplify GetUnownForm method
...
yeah lets not fetch a throwaway byte array to remove the need to
rightshift
use the GetRandomPID fetch.
2018-06-27 18:52:02 -07:00
Kurt
dc3cdd4491
Fix gen1/2 gender detect
...
gender: take top 4 bits of gr:
31 = 0x1F = 1
63 = 0x3F = 3
127 = 0x7F = 7
191 = 0xBF = 11
See the pattern? If we change the compares from >= to >, we -1. All
numbers match except for the 25/75 ratio pkm... which unveils the
problem.
Simplify the calc for these using the logic above, which fixes the error
and makes the code easier to read!
Thanks SystemError for assisting :)
2018-06-27 18:31:24 -07:00
Kurt
ed099916b5
Simplify g1/2 shinify action, better retain gender
...
easy modification which isn't 'random' resulting in a slightly higher
chance of retaining the current gender if possible. threshold values can
change genders (1f:7m), but is slicker overall
2018-06-27 18:14:19 -07:00
Kurt
77aed3ea14
Adjust levelmin on single evochain
...
Early return wasn't adjusting the minimum level; closes #2035
2018-06-27 17:41:53 -07:00
Kurt
3cf78ff3a2
Permit metronome for Pokewalker Cleffa
...
Closes #2033
2018-06-25 19:15:37 -07:00
Kurt
fba8adb32f
Add XY wild undiscovered egg group IV check
...
Closes #2025
add misc updates/simplifications (personal stuff used in pkNX)
2018-06-24 21:55:00 -07:00
Kurt
09c96558ea
Disable gen2 chain clamp
...
not sure of the implications, but fixes #2031
might have to rework this method to clean up the optional params if
things are misbehaving
2018-06-24 08:02:22 -07:00
Kurt
e29cf2a903
Rework secondary check flow
...
Checks.cs initially started out small, but over the years it has grown
to handle multiple types of checks. With all these checks next to
eachother, it's hard to see the overall groups. Splitting them up
(potentially further?) allows for more focused maintenance &
understanding.
Not sure if I'm happy with the overall bandaids used (checks no longer
done within LegalityAnalysis so variable repointing is excessively
used), but I'm happier the way it is now compared to the huge Checks.cs
2018-06-23 22:00:01 -07:00
Kurt
ea6842e5eb
Refactoring
...
improve readability
2018-06-23 12:37:01 -07:00
Kurt
0d3c6eef74
Refactoring
...
Relocate fixed OTs to core (iencounterable & checks now reference same
values)
2018-06-23 09:49:04 -07:00
Kurt
7a0b65e74f
Add low bound range check for species not in chain
...
Closes #2028
Thanks @iiippppk !
2018-06-23 08:23:05 -07:00
Kurt
40d2f71e10
Sanity check suggested current moves
...
invalid formes can trip up gen1/2 origin encounter moves, just double
check when suggesting.
Closes #2018
2018-06-22 23:33:42 -07:00
Kurt
173c9f7904
Update evo chain trim for transfer
...
Now trims correctly for g3 sneasel -> weavile (gen4 having both) at
level = met level
2018-06-22 23:18:52 -07:00
Kurt
5dd58c7197
Update gen1 evo chain detect
...
Closes #2017
2018-06-22 22:48:10 -07:00
Kurt
b502d11428
Replace evolution check
...
already have evolution obj from parsing moves, use it instead
2018-06-22 21:40:41 -07:00
Kurt
76e52fa2cd
Simplifications
...
Rearrange some logic, track decrement, remove unnecessary checks
2018-06-22 20:16:31 -07:00
Kurt
3000a8d007
Reduce linq usage
...
No longer recreates collections with ToArray/ToList by instead altering
the original chain
2018-06-22 19:40:17 -07:00
Kurt
346c401727
Rework initial evochain trim
...
push unsaved IVTotal/EVTotal stuff from prior commit
rework exposed types for evo chain
initial trim now uses much less linq
can probably redo the get initial chain to provide a species to break
on...
2018-06-22 17:59:02 -07:00
Kurt
7591f54de3
Misc updates
...
Add safari min flawless IVs to reroll (can expand if #2025 is required
for egg group15)
Use EV/IVTotal (faster, not linq array based)
Fix missing pumpkaboo form regression, Closes #2026
Relocate swapbits to appropriate class, unneeded in PKM.cs
2018-06-22 06:24:33 -07:00
Kurt
15593a2179
Merge branch 'master' of https://github.com/kwsch/PKHeX
2018-06-21 20:33:52 -07:00
iiippppk
cc3c47f85d
Update Chinese translations ( #2024 )
2018-06-21 20:26:31 -07:00
Kurt
eb35d71fcc
Flag East Gastrodon from Friend Safari... correctly
...
Closes #2023
2018-06-21 20:26:21 -07:00
Kurt
8387da64fb
Disallow East Gastrodon friendsafari
...
Closes #2023
2018-06-21 20:22:14 -07:00
Kurt
c1f4e2a9ff
Refactoring
...
Relocate & simplify some logic
2018-06-21 20:13:41 -07:00
Kurt
1db41c8b21
Add vc2 evo chain check
...
queue should be checking against none left rather than any left.
Add test cases
2018-06-20 21:43:54 -07:00
Kurt
ce667729f3
More simplifications
...
Can't have species == 0 or invalid gameversion; check for
EncounterInvalid instead.
Egg chain is always valid (since it is not EncounterInvalid) thus always
provide the chain.
Since these 2 are the same, simplify the logic to be shared.
rearrange some parameters for easier flow
2018-06-20 21:38:56 -07:00
Kurt
47d8220915
Evo chain Simplifications
...
Rename "Flag" to "Method"; isn't used besides for indicating the evo
Method.
Remove some unnecessary duplicate checks
- always >=1 in chain at start
- mostEvolved already checked for > maxspeciesgen
2018-06-20 19:42:45 -07:00
Kurt
bfdd7247ba
Rewrite most evolved species check loop
...
Use queue collection rather than rebuilding with .Skip(1).ToArray()
move size checks to dequeue location
2018-06-20 18:25:23 -07:00
Kurt
2ef12f635f
Continued refactoring
...
move sylveon check to requireslevelup
need to make this generic for transfer species gaps
2018-06-20 15:59:57 -07:00
Kurt
c5ea35a1a1
Continued refactoring
...
Move chain prune from Analysis to evochain spawn
2018-06-19 17:50:10 -07:00
Kurt
f10cc183a7
Refactoring
...
Relocate Evolution Chain logic
minor reorg of check arguments for nesting / grouping
2018-06-19 17:14:22 -07:00
Kurt
f3ef122214
Refactoring
...
continued simplification
core.cs is pretty much the following:
misc one-off junk
moveset fetch
encounter table fetch
evo chain fetch
might eventually move things around a bit further for cleanliness so
that misc meta junk is the only thing that remains in core.
2018-06-18 21:56:30 -07:00
Kurt
c6e968c77d
Only generate encounter moves if species unmodified
...
Closes #2020
2018-06-18 21:54:32 -07:00
Kurt
0c06506a8d
Refactoring
...
remove some unneeded logic
moves in gen1/2 can be reordered, sequence match should be intersect
(full) contains match.
2018-06-18 19:57:32 -07:00
Kurt
2e1081086d
Refactoring
...
Split evolution data specific DexLevel properties from DexLevel
use IReadOnlyList instead of IList for covariant collection
2018-06-18 19:10:21 -07:00
Kurt
bff5a3cd9a
Add altform permissive checks for gen1/2
...
Should always be zero, but necessary for regional variant evolutions
needing to be excluded
#2018 (not fixed yet)
2018-06-17 21:54:04 -07:00
Kurt
2813b19be0
Fix out of bounds species fetch
...
provide max species ID rather than table length check; this[>#] can
return forme specific values which do not relate to the species
#2020
2018-06-17 21:52:52 -07:00
Kurt
7791020cb4
Check format before trim
...
Closes #2016
2018-06-17 21:01:07 -07:00
Kurt
a6915030ca
Remove duplicate dict entries
...
oops
2018-06-17 20:51:02 -07:00
Kurt
33eded08d1
Add missing learn/personal references for pairs
...
Closes #2019
2018-06-17 20:49:03 -07:00
Kurt
9a0ddf1f5e
Handle farfetch'd ’ nickname check case
...
https://projectpokemon.org/home/forums/topic/45837-g3%C2%A0farfetch’d-nickname/
Thanks Davil!
2018-06-17 11:34:39 -07:00
Kurt
e91cfeb707
Handle pre-VC2 era tradeback status for suggestions
...
#2015
Can't get a shiny female 1:7 f:m gender ratio transfer after the VC2
bank update; need to respect that when generating random moves for the
pkm by removing any gen2 evo chain data.
2018-06-17 09:55:07 -07:00
Kurt
dd57558e98
Update moveset suggestion for vc origin
...
Closes #2014
2018-06-17 09:39:01 -07:00
Kurt
d15acea6b4
Flag KOR on Battle Revolution savefiles
...
Closes #2013
2018-06-17 09:27:14 -07:00
Kurt
3a7a257a01
Add export current box to showdown pastes
...
Rework box fetch in SaveFile to be a little more flexible, can now fetch
a single box
Hold control to... export all boxes :)
I wonder if there's a decorator that showdown skips when importing lines
that can help differentiate the boxes since there's the potential for
hundreds output (ie comments in a showdown set?) doubt it.
2018-06-16 21:56:16 -07:00
Kurt
1ab7acc958
Ignore empty pkms when exporting a list of sets
...
chain method calls
2018-06-16 21:46:43 -07:00
Kurt
cb0ae14a50
Set gender for gen3-5 reroll
...
#2012
2018-06-16 13:27:50 -07:00
Kurt
b81cad84ab
Fix arg providing for GetRandomPID call
...
Closes #2012
2018-06-16 10:51:53 -07:00
Kurt
efe77e3b5c
Don't clear unown forme on pk4->bk4
...
Closes #2011
2018-06-16 10:29:36 -07:00
Kurt
c3cbb0fc44
Fix gen2 vc1 evo prune
...
https://github.com/kwsch/PKHeX/issues/1999#issuecomment-397818377
evo chain had already pruned tyrogue due to level 20 transfer level
(lvl19 tyrogue not possible), can't just remove last entry. Remove any
entry after the g1 species.
2018-06-16 09:06:12 -07:00
Kurt
f8a1d26694
Fill empty ability values with ability1
...
update handling that checked for this case to instead check for
equivalence to ability1 instead of 0
was generating a PGF with ability[1] = 0, which is not correct. Just fix
the binaries to behave and get rid of all the workarounds since future
tables don't have missing values.
2018-06-15 23:41:07 -07:00
Kurt
88b5277062
Misc mg gen fixes
...
Fixed gender PCD with dynamic PID needs to check gender validity (some
korean card had it)
Fixed wc3 generated force-hatching to unflag fateful for non-frlg and to
hatch on the designated game just in case
stuck on a PGF issue where ability doesn't match PID, need to revisit
that PID creation...
Card #: 0002 - がくえんさい×ポケモンプレゼント
2018-06-15 22:00:51 -07:00
Kurt
b0b2fb5d4b
ShowdownSet parse refactoring
...
Rework line parse to be simpler
Closes #2009 , now handles case
2018-06-15 20:30:23 -07:00
Kurt
49c36e2173
Misc legality gen tweaks
...
bypass savefile language checks if no language set
fix gen2 static gift egg that is really a wild encounter -- egg flag was
set & not cleared -> no wild pkm, bad! Adds test case for this.
(probably isn't a better place to clear, enforces only once per
generation rather than on every yield/end of every static yield)
2018-06-15 18:47:17 -07:00
Kurt
6fc33f4b19
Fix level fetch arg order
2018-06-15 16:53:28 -07:00
Kurt
cb5e1239ae
Refactoring
...
Extract game value limits
Rearrange GameVersion util logic extensions
add better gameversion fetch for generator (equivalent to pkmeditor)
2018-06-15 16:00:28 -07:00
Kurt
e8d5252b8c
Reject moves introduced by gsc in pk1/vc1 cases
...
Closes #2005
(no tutor moves are new moves, just beam moves)
2018-06-14 18:52:43 -07:00
Kurt
7a5ce5aa78
Remove unmaintained portuguese side-translation
...
Closes #2004
no changes had been submitted since originally committed on 3/5/2015; 3y
of inactivity.
users can always place "lang_en" to replace the english translation with
their own GUI strings; not worth maintaining non-series language
support.
2018-06-14 17:03:56 -07:00
Kurt
f54f90bd4b
Add egg Rotom/Furfrou form check
...
Closes #2002
Thanks @iiippppk !
2018-06-13 22:10:01 -07:00
Kurt
5579c4c80d
Tidy up MoveLevelUp
...
use the Learn objects from prior commits for adding a range of moves
2018-06-13 22:03:58 -07:00
Kurt
dcfeff7bf3
Update batch editing
...
Permit all possible properties in the dropdown, handle can't write cases
(many) as well as can't read (I don't think there are any of these).
https://projectpokemon.org/home/forums/topic/45789-how-to-require-a-pkm-equals-a-shiny-pid-in-batch-editor/?do=findComment&comment=232757
2018-06-13 18:52:09 -07:00
Kurt
39daa6c65d
Split GetIsLevelUp to individual versions
...
static the GameVersion reference as we're excessively using it in the
switch cases, for clearer reading
2018-06-12 22:15:06 -07:00
Kurt
b9652a835d
Weaken gen2 egg species checks for pre-evos in gen1
...
VC can inhabit both gens
Add Tradeback setting setter for legality tests
Add GBCartEra setting setter for legality tests
Thanks @iiippppk !
2018-06-12 18:46:31 -07:00
Kurt
64a64b8ce1
Add special handling for gen1 encounter move fetch
...
Begin splitting of GetMovesLevelUp per-gen into per-version
2018-06-12 18:35:56 -07:00
Kurt
c3314f1b8e
Remove Mirage Island met location from valid gen3
...
Although Pokémon Ruby, Sapphire, and Emerald include a location pointer
for "Mirage Island", any Wynaut caught here will simply display "Met on
Route 130" in their summary. This is because the player is technically
still on Route 130's map.
Can't get anything with that location ID as an egg or as wild
2018-06-12 16:41:44 -07:00
Kurt
5ad8a4e5a4
Return version-sensitive moves for nonspecial fetch
...
Closes #1998 , GetValidMoves returns moves without sensitivity for
current version for pre gen6 moves... can resolve that later.
2018-06-11 20:23:28 -07:00
Kurt
fb6e28112a
Update emerald event flags
...
0x60 + RS offset, add some E exclusive flags (frontier)
update const a little
Closes #1997
2018-06-11 16:27:42 -07:00
Kurt
4778c9c758
Fix RSBOX checksum
...
Closes #1995
clean up variable names
2018-06-11 09:12:41 -07:00
Kurt
32a83c16f1
Add egg relearn/move sequence match check
...
#1994
2018-06-11 08:13:50 -07:00
Kurt
e5a2e12fa5
Check held items for pk2 eggs
...
Closes #1993
Thanks @iiippppk !
2018-06-11 08:05:15 -07:00
Kurt
242fc295b4
Handle smeargle egg case
...
#1993
Just use precomputed array since it can only know sketch
2018-06-11 08:03:10 -07:00
Kurt
9faba26e90
Add egg base move branch
...
Closes #1991
Thanks @iiippppk !
Improve pk2 version detect to better provide gs vs c egg base moves
2018-06-11 07:23:48 -07:00
Kurt
ca9f21fa49
Fix base move count vs inherit check
...
Closes #1990
Thanks @iiippppk !
2018-06-10 20:26:59 -07:00
Kurt
c9d0811281
Handle evolutions-in-eggs case for past gen (2/3)
...
Closes #1989
Thanks @iiippppk !
(eggs don't always come at level 1, past gen has level 5)
2018-06-10 19:38:06 -07:00
Kurt
c9181963f2
handle pichu array->interface when adding egg list
...
egg fetch returns array, need to add to the collection
force everything as readonly to prevent adds outside of the constructor
Closes #1988
Thanks @iiippppk !
2018-06-10 19:07:55 -07:00
Kurt
e105f2b589
Refactoring
...
fix b2w2 egg base levelup reference (not bw, b2w2!), doesn't really
matter much except for better indication (possibly?)
remove some unnecessary linq ToArray() calls
continue relocating code out of Core
2018-06-10 17:55:03 -07:00
Kurt
d94fc65367
Refactoring
...
continued reduction in Core size, simplify/clean up usages
2018-06-10 14:45:25 -07:00
Kurt
c6765fd26b
Remove ORAS arg
...
...
2018-06-10 14:07:36 -07:00
Kurt
19cb2cda2e
Remove MAX giveRegular for ORAS
...
level 3 is the legitimate max
2018-06-10 12:27:53 -07:00
Kurt
75f4318335
Split S/MAX from base 1-3 levels
...
ORAS can unlock MAX & Full Recovery flags, add special handling for that
2018-06-10 11:28:20 -07:00
Kurt
29c610870e
Rename opower6
...
match type
2018-06-10 11:03:14 -07:00
Kurt
3f1195a2d4
Refactoring
...
Remove duplication of levelup fetch
relocate some stuff to a more appropriate area
2018-06-10 10:44:05 -07:00
Kurt
3b84f33776
Misc changes
...
Revert linq chain
Closes #1987
change encountermatch comparison (never null), add comparison for vc
output
remove unused strings (will get removed from translation files in later
update)
2018-06-10 00:26:33 -07:00
Kurt
26f45d44d0
Rework OPower editor
...
https://projectpokemon.org/home/forums/topic/45683-pkhex-made-odd-number-of-zygarde-cells-usm/?do=findComment&comment=232476
Thanks @sora10pls for documenting what each flag does
2018-06-09 21:04:34 -07:00
Kurt
021ac7c54f
Refactoring
...
where!contains -> except
relocate special tutor
2018-06-09 16:04:06 -07:00
Kurt
79f0b3665f
Differentiate C/XD cologne IDs
...
https://projectpokemon.org/home/forums/topic/45685-pokémon-xd-and-scent-bag/
Thanks Asia81!
2018-06-09 12:44:30 -07:00
Kurt
cb4761403a
Relocate oras setopower data to sav6
2018-06-09 12:32:55 -07:00
Kurt
f351e9550f
Add contest stat check for VC
...
https://projectpokemon.org/home/forums/topic/45681-virtual-console-pkm-with-beauty-stats-marked-as-legal/
Thanks yologgebolo!
2018-06-09 08:39:16 -07:00
Kurt
b5962d6b50
Emit final showdownset from lines if present
...
Closes #1986 , was missing a check if there were any lines in the list.
Calling the method with an empty line set would have yielded an empty
set (behavior unknown). Although calling the method without lines is
unintended, should handle behavior correctly now.
Fix yielding an empty set if the first line(s) are empty.
Add test to verify parsing works for multiple lines.
Add test to verify parsing yields nothing for no lines.
Add test to verify parsing yields nothing for empty lines.
2018-06-09 08:12:47 -07:00
Kurt
ee3fda46f2
fix method name typo
2018-06-09 08:04:40 -07:00
Kurt
3239305ce5
Refactoring
...
GetMoves logic can now be expressed concisely with the prior refactoring
2018-06-08 20:37:35 -07:00
Kurt
a494a6b37a
Don't generate move check order for an invalid ver
2018-06-08 20:36:52 -07:00
Kurt
9b43677bb9
Refactoring
...
pull out some move data fetching to separate class
add methods to quickly fetch if the move is learnable via that method
eventual plan is this:
replace
'fetch all possible moves then look within' move validation
with:
'peek if learnable, and get info how' move validation
advantages:
- returns game the move was learned in and the level (if appropriate)
- infinitely less object creation (garbage collection)
- only looks for a given move, doesn't have to fetch everything before
checking
- faster than full fetch, can be made even faster by optimizing lookups.
subject to change :)
2018-06-08 20:10:41 -07:00
Kurt
b1cd68e3f3
Convert GetLevelLearnMove to use lazy dictionary
...
faster move lookup
2018-06-07 19:05:28 -07:00
Kurt
1202474cd5
Defer & flag VC korean unobtainable encounters
...
Closes #1985
2018-06-06 21:49:30 -07:00
Kurt
dcdeb361f0
Handle meowstic formes
...
Closes #1984
2018-06-06 16:22:14 -07:00
Kurt
e52ae06721
Add version check
...
16 bits for version flags, should be more than enough.
should probably rework it from a packed ushort to a class...
2018-06-05 22:20:30 -07:00
Kurt
323db29374
Handle volt tackle special egg move
...
edge case turns the [] into an ienumerable, better than calling another
to-list.
2018-06-05 21:38:38 -07:00
Kurt
450d40535d
Relocate hypertraining properties to interface
...
lessen temp array creation, speed++
2018-06-05 21:31:42 -07:00
Kurt
75ff28925c
Dummy out pokespot validation
...
needs more research, nobody cares, just mark as todo and anyone can dig
deeper at any time in the future
Closes #1359
2018-06-05 19:08:31 -07:00
Kurt
94652e2c95
sync missing refactorings
...
oops
2018-06-05 19:07:27 -07:00
Kurt
e7fc30ac7a
Add mysterygift region/language restriction code
...
Closes #1317
Needs the events crew to produce serialized binaries with hash-flag data
for each generation before proceeding any further. I'm not really
interested in doing all the work for events since it doesn't impact
battle legality.
2018-06-05 18:27:08 -07:00
Kurt
fffc943668
Differentiate Colosseum DNA Samples
...
https://projectpokemon.org/home/forums/topic/45609-bug-colosseum-dna-sample-incompatibility/
Thanks KonohaDaze!
2018-06-05 17:02:22 -07:00
Matt
e7e54552db
Update text ( #1981 )
2018-06-05 10:57:38 -07:00
Kurt
a5af7a443b
Revert outer comparison
...
type check done in loop, whatever comes out of ConvertPKM is either the
desired type or null.
2018-06-04 21:32:15 -07:00
Kurt
59b4b8f755
Simplify pkm conversion
...
just loop instead of goto, let the jit handle optimization
src looks quite pretty now!
some tradeoffs made but much more maintainable now
2018-06-04 21:28:14 -07:00
Kurt
6cff642ff1
Skip format check on pk* init
...
also remove ck3/xk3 no-op call (no encryption for those formats, like
bk4).
2018-06-04 20:25:54 -07:00
Kurt
ae3b6a7fa1
Simplify IContestStats usage
...
remove new[] creating for checking if any contest stats exist
(HasContestStats)
2018-06-02 21:19:03 -07:00
Kurt
ab393e1f99
Rework set PID-ability checks
...
Closes #1979 , adds test cases.
2018-06-02 13:22:52 -07:00
Kurt
15b5de11c0
Handle hatched wc3 metlevel oddballs
...
Closes #1978
Met Level at 5, when hatched ingame is reset to 0.
2018-06-02 07:50:48 -07:00
Kurt
e0aa1934e7
Update translations
...
yield the Box Sort/Modify/Delete menustrip
2018-06-01 19:10:05 -07:00
Kurt
d724dffcc3
Update translations
...
Add secret debug hotkey to trigger update of translation files
2018-05-31 22:40:55 -07:00
Kurt
89f95c20af
Update 18.06.01
...
Update event binaries with latest from the Event Gallery
2018-05-31 21:43:20 -07:00
Kurt
1d9795f774
Fix batch modify filter bool
...
rename methods for clarity
Closes #1977
2018-05-31 19:59:05 -07:00
Kurt
f237476ccc
Add nickname reset modify
...
nickname reset clears except for encountertrades (some have fixed
nicknames).
remove untraded check for HT memory verification, has to be traded if it
has a HT memory.
2018-05-31 19:49:47 -07:00
Kurt
e82dcdb124
update memory captured check
...
gen5 landorus witnessing another species should use gen6
https://projectpokemon.org/home/forums/topic/45424-landorus-memory-flagged-as-illegal/
2018-05-30 21:50:11 -07:00
Kurt
5475da05c3
entree forest updates
...
clamp species list based on savefile
fix form control index set
remove slot from list (avoid duplicates, there's 530 slots and both
games have more than that available).
Closes #1974
2018-05-28 12:49:41 -07:00
Kurt
4b8cb9b8fb
Add entree forest editor & randomizer
...
ezpz
(clear trailing spaces from entree forest comments)
2018-05-28 08:26:52 -07:00
Kurt
2061f23e26
Misc simplifications
...
fixes suggestion requests for invalid gameversion pkms
2018-05-27 17:57:45 -07:00
Kurt
c31ab63a1a
Initialize mgdb for tests that need it initialized
...
don't initialize multiple times
2018-05-27 15:57:28 -07:00
Kurt
f2f2b8aa00
Toggle fateful for xd wc3s
...
created as pk3 thus the xk3->pk3 setting fateful has already happened.
#1972
2018-05-27 15:04:21 -07:00
Kurt
a57cdb5f48
Update fateful handling
...
#1970
add files as test cases
2018-05-27 14:38:03 -07:00
Kurt
730709b33b
Add entree forest abstractions
...
make cryptarray public
2018-05-27 14:19:19 -07:00
Kurt
4c1e014a53
Fix mgdb viewing cxd gifts
...
Closes #1972
2018-05-27 14:16:56 -07:00
Kurt
7278b2486a
Fix filter comparison
...
filtered out != filtered to
want to check if the filter matches the data.
2018-05-27 12:27:44 -07:00
Kurt
ae27c10dc2
Misc cxd fixes
...
#1970
2018-05-27 12:18:27 -07:00
Kurt
1b8fe201c0
Misc simplifications
...
Simplify some pkmeditor logic, pull out togglemarking
2018-05-27 10:24:28 -07:00
Kurt
6a3b422a14
Fix xd fateful gift pkm
...
stored as wc3's, make "Version" from IVersion rather than int so that
"WasXD" recognizes it.
Update handling for fateful encounter trade-away cases.
#1970
2018-05-27 10:11:01 -07:00
Kurt
ec2816379e
Restore unk mystery gift message
...
no match & fateful -> 'hey maybe pkhex doesn't know about this one yet'
2018-05-27 07:01:46 -07:00
Kurt
98895bd365
Ignore fateful as xk3 if not a shadow
...
Duking etc trades
Closes #1970
2018-05-27 07:00:07 -07:00
Kurt
f7a61cf72c
Flag version exclusive trades with incorrect ver
...
Closes #1969
2018-05-27 06:59:27 -07:00
Kurt
e6765d3691
Flag langid=0 when appropriate
...
only jpn bw ingame trades can lack a languageID.
skip language checks for pk1/pk2 as they have no language stored.
2018-05-26 14:40:02 -07:00
Kurt
05e10860ed
Flag gen5 origin footprint ribbon if Δlvl<30
...
Closes #1965
Also fix vc transfers ignoring some restrictions (ie footprint ribbon on
lvl 16 magneton, was incorrectly allowed as gen < 6).
2018-05-26 09:58:01 -07:00
Kurt
565a96db2a
Flag maison banned species having maison ribbons
...
https://projectpokemon.org/home/forums/topic/45410-skillfulexpert-battler-ribbon/
Thanks Davil!
2018-05-25 19:54:25 -07:00
Kurt
dbb23f33c8
Update trim call for strings
...
7ef8a88678 (commitcomment-29123689)
A better fix may be to just make all line endings consistent ('\n'), but
string resource loading time is negligible
2018-05-24 21:16:55 -07:00
Kurt
c349ab8218
Relocate vc lang detect to pkx
...
reusable
2018-05-24 16:53:54 -07:00
wwwwwwzx
a25c6a4e00
Fix Colo Starter PID Method Check ( #1961 )
...
If SIDf >> 16 != SID then temp won't be assigned.
2018-05-24 06:00:29 -07:00
Kurt
700ce00d8e
Add setting of batrev boxname
...
unused in gui, no wallpapers
2018-05-23 16:30:22 -07:00
Kurt
199512a9f7
Add box name & repoint party offset
...
refresh box names on saveslot swap
rework saveslot list to be (name, slotIndex) of valid slots
2018-05-22 19:02:56 -07:00
Kurt
3b635be77f
Flag nonparsed
...
removed parsedvalid/invalid, unnecessary I guess
2018-05-22 18:57:39 -07:00
ReignOfComputer
97e21ce133
Handle Em Dash in Showdown Import ( #1959 )
2018-05-21 21:36:10 -07:00
Kurt
400774595e
0 indexed -> 1 indexed
...
fixes regression from 2 days ago
e216c38151 (diff-37bd5b548e2b340e5c38fd0961a3eb04L165)
Thanks @ReignOfComputer for pointing this out:
https://github.com/kwsch/PKHeX/pull/1956
(also, update GetSprite since slot is 1-30; box is now -1(and below) if
not originating from a box. Now matches the legality check side
2018-05-21 18:28:54 -07:00
ReignOfComputer
a81b43cd4f
Fixed Off By One Error in Single Box Dump ( #1956 )
...
Huh, how long has this been here :O
2018-05-21 18:24:29 -07:00
Kurt
3c7d083c1e
Add more utility to batcheditor
...
method ( string[] , pkm[] )
carry out batch edit, all within core (no gui needed)
2018-05-21 17:04:02 -07:00
Kurt
620d822fef
Misc changes
...
swallow error for invalid filenames in saveutil -- don't bother
detecting those files.
on fail to getmoveset, return the current moves instead of null.
2018-05-21 17:02:48 -07:00
Kurt
51a878d6a9
Fix memory type : location label
...
Was...
Location ;:
now
Location:
2018-05-20 20:16:39 -07:00
Kurt
bbe6762d24
Misc fixes
...
Off by 1 for MemArgType
div/0 for no instructions
Thanks Davil!
https://projectpokemon.org/home/forums/topic/45324-menories-error/
2018-05-20 20:05:27 -07:00
Kurt
815ba9d753
Fix values not being saved
...
lul temp obj isn't 'this'
(these past 3 commits should be treated as one)
2018-05-20 19:29:19 -07:00
Kurt
d38cc969c0
Add final filter check
...
oops
#1953
2018-05-20 19:26:36 -07:00
Kurt
4d0007f49b
Show nature of pk1/2 via slothover
...
derived via EXP%25 as if it were converted to pk7.
#1954
2018-05-20 18:33:38 -07:00
Kurt
199b6f2caf
Add move rand for batch editor
...
Also add Move Rand & Move Reset to box modify contextmenu
2018-05-20 14:29:13 -07:00
Kurt
c103220e0c
Handle gen3->4->5 levelup evochain pruning
...
Gen7 weavile can exist in gen4 as sneasel; existing code had pruned it
from gen4. Skip pruning for this case
probably overdid the checks but whatever. works.
Thanks /u/ThrowawayReddNinja for pointing out this false flagged case
with an example!
2018-05-20 10:35:58 -07:00
Kurt
407cca38dd
Update generator to handle link celebi
...
Had relearnmoves defined but no current moves; better for generator to
spit out all moves rather than the special move (hold back)
store current moves for all link gifts
2018-05-20 09:06:32 -07:00
Kurt
cd3b24c122
Handle smeargle generating
...
Needed moves is essentially none (unless you have invalid sketch moves).
2018-05-20 08:19:03 -07:00
Kurt
30dc87df7e
Misc ui fixes
...
move distinct filter to reflectutil as it is spitting out
inherited(overriden) property names after the current class' property
name.
remove original (default) memory strings; had removed Items.Clear()
earlier (why would I need to clear if there was nothing there?) but
there was something there needing to be cleared. Remove the useless
initialization to fix that :)
Thanks Davil!
https://projectpokemon.org/home/forums/topic/45321-distsupertrain/
2018-05-20 07:46:59 -07:00
Kurt
1f8c72af5a
Handle EncounterTrade without moves specified
...
Similar to EncounterStatic handling
Thanks @architdate for pointing this out
2018-05-19 21:49:26 -07:00
Kurt
e216c38151
Misc updates
...
Add GetShowdownSets text output methods
Add party/box overload methods for easier slot setting api
Protect locked slots when importing BoxData
Misc saveditor simplifications
Add wc3->pk3 test
2018-05-19 20:48:03 -07:00
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
Kurt
282676e2f2
Refactoring
...
reduces mental footprint
2018-01-27 17:49:18 -08:00
Kurt
bc61980663
Add EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
...
c60f1331fe/constants/event_flags.asm (L851)
2018-01-27 12:54:07 -08:00
Kurt
ca2898d648
Rework gbc celebi detection
...
disallow outside jp games
2018-01-27 11:46:51 -08:00
Matt
705098418b
Add Odd Egg event flag ( #1783 )
2018-01-27 10:16:37 -08:00
Kurt
0e7350ee9e
Update korean vc string checks
...
https://projectpokemon.org/home/forums/topic/43610-legality-about-gen-2/
2018-01-27 09:45:33 -08:00
Kurt
c066df243f
Misc fixes/updates
...
Fix crystal lacking met level<->current level checks
Fix met location loading for gen2 saves (gen7 sav loaded gen1/2 pkm ->
load gen2 sav)
refactor some logic with pattern matching/consistent method names
2018-01-26 09:19:20 -08:00
Kurt
48564d7e30
Fix celebi iv check
...
update version ID as well
Closes #1775
2018-01-25 20:39:32 -08:00
Kurt
9b7b0b25d4
Flag iv<5 celebi
...
thanks @sora10pls
2018-01-25 19:34:18 -08:00
Kurt
58e374bcc6
Add celebi / more crystal legality handling
...
Closes #1772
2018-01-25 19:25:10 -08:00
Kurt
802105d22d
Allow pay day mewtwo, disallow dizzy punch
...
#1772
transfer pk1->pk2->pk7 for mewtwo knowing dizzy punch, just so we can
keep Pay Day
2018-01-25 19:17:42 -08:00
Kurt
4c93183575
Add jp vc gen2 sizes
...
so many so consistent
2018-01-25 18:30:09 -08:00
Kurt
5472f869cf
Remove some crystal vc checks
...
now legal
assuming x->kor7 sets the language val based on the cart language,
should be good for the kor crystal checks.
2018-01-25 09:14:25 -08:00
Kurt
1db5161a59
Add shiny star to pk1 filename export
...
closes #1770
2018-01-25 08:50:17 -08:00
Kurt
b69a6df6e7
Add roamer glitch IV collision detection
...
M1 is checked before M1R. A M1R PIDIV can also be a M1 PIDIV, so check
that collision.
https://projectpokemon.org/home/forums/topic/43567-gen-3-suicune-unaffected-by-roamers-glitch/
2018-01-24 19:07:03 -08:00
Kurt
713e9ea209
Compress box padding
2018-01-23 17:18:37 -08:00
Kurt
b229a947f2
Fix pt/hgss egg location handling 4->5
...
Closes #1766
pt/hgss egg location data is lost on transfer, retaining faraway place
only.
2c8e2176e9
fix was incorrect
2018-01-21 11:57:34 -08:00
Kurt
e616b56bfa
Remove uncatchable grubbin static encounter
...
#1763
2018-01-18 14:06:17 -08:00
Kurt
2063cef3e4
Fix arrays not being cloned
...
don't use the existing data array silly -- i was paranoid long ago for a
reason
all other SAV clone methods don't return the Data array, only these
#1764 additional behavior noted
2018-01-18 14:05:34 -08:00
Kurt
387030e16f
Fix 7th gen pikachu altform check
...
https://projectpokemon.org/home/forums/topic/43498-bug-about-event-pikachu/
2018-01-18 13:50:29 -08:00
Kurt
75c67b02b9
Merge pull request #1760 from smileynation/patch-11
...
Update flags_dp_ja.txt
2018-01-16 19:32:41 -08:00
Kurt
b74bf7d499
Misc simplification
...
no functional change, just compute hash over array span instead
2018-01-15 17:51:33 -08:00
Kurt
17e4bdbe3a
Add pikachu7 forme nongift check
...
other branch was unhandled, flag if we have a mismatch
closes #1762
2018-01-15 17:50:33 -08:00
smileynation
d01ad5c4ae
Update flags_dp_ja.txt
2018-01-14 15:55:47 +09:00
Kurt
06733d6e34
Refactoring
...
Split up c-gear skin bitmap, move generic handling to core
2018-01-13 21:31:02 -08:00
Kurt
6caefef181
Add cgb->psk & misc clarifications
...
Closes #1699
tested on black2 & white, skin isn't corrupt on game boot and appears
correctly
still don't like setpixel/System.Drawing reliance (maybe split logic to
CGearSkin & CGearSkinVisualizer) for PKHeX.Core compat
2018-01-13 16:32:57 -08:00
Kurt
029539003b
FormChange check: use original form not current form
...
Closes #1758
noticing the different usage for species (encounter species vs current),
iterating over possible dexlevels (unnecessary?)
2018-01-13 12:10:17 -08:00
Kurt
fb6738f18b
Add unown 2->7+ shiny check
...
closes #1755
also:
fix vc transfer checks not being called (EncounterOriginalGB is no
longer GBEncounterData).
remove usages of GBEncounterData -- class is (as of a ~~month ago) now
never leaked out of the EncounterGenerator -- always returns the actual
encounter data as the wrapper is not needed.
simplify logic flow / references
2018-01-10 16:16:35 -08:00
Kurt
c751c987a9
Add DebutGeneration get
...
https://projectpokemon.org/home/forums/topic/43378-generation-search-in-pkmdb-andor-batch-editor/
(less than) < and (greater than) > not currently supported (no plan to
add, would need to rewrite value eval logic)
2018-01-10 15:40:33 -08:00
Evan Dixon
5a4ddd685c
Update Project Pokemon URLs in comment
2018-01-08 13:15:19 -06:00
Kurt
701edbc592
Remove KOR language from gen3 selection
...
add flag for non japanese lang gen3 eggs
Closes #1747
2018-01-06 22:43:48 -08:00
Kurt
63a983749e
Don't generate encounter slots for eggs
...
Closes #1749
2018-01-06 21:51:58 -08:00
Kurt
659f2098a9
Fix sav4 coin read
...
#1746
2018-01-06 21:36:44 -08:00
Kurt
218c20d804
Add sav4 coin edits to misc4
...
closes #1746
2018-01-06 14:02:55 -08:00
Kurt
8cf97f3761
Add pom-pom edge case
...
dash was stripped out during conversion
closes #1744
2018-01-06 09:40:30 -08:00
Kurt
6a9e2ed4b9
Refactoring
...
improve speed for resource fetch, add optional Shiny parameter
(currently unused)
#1735
2018-01-02 16:53:39 -08:00
Kurt
0f21fc2217
add location interface for verbose analysis output
...
indicates met location for transferred mons
most gen1/2 encounters won't show values due to the location not being
stored respective to the string tables (anyone wanna do a location remap
after initial load?)
2018-01-02 12:00:41 -08:00
Kurt
5888898e7d
fix gen2 egg met level mod
...
https://projectpokemon.org/home/forums/topic/43278-gen-2-hitmonlee-and-hitmonchan-flagged-as-illegal-if-location-is-mt-mortar-at-level-10/?tab=comments#comment-225577
2018-01-01 21:51:36 -08:00
Kurt
76385a6b4a
Fix gsc pre-evo species chain filtering
...
simplify gsc check to do only once
https://projectpokemon.org/home/forums/topic/43278-gen-2-hitmonlee-and-hitmonchan-flagged-as-illegal-if-location-is-mt-mortar-at-level-10/
2018-01-01 13:53:28 -08:00
Kurt
e79a35d387
Fix long OT name length setting
...
StringLength is the raw buffer size, needs to be offset by 1 as the
string length enforced does not consider the terminator
12char OT name in sav7 loaded to tabs -> load gen1/2 save = exception
(now fixed)
2018-01-01 11:27:45 -08:00
Kurt
cfe78a7a0c
Add rby power plant static encounters
...
https://projectpokemon.org/home/forums/topic/43272-small-electrode-legality-bug/?tab=comments#comment-225537
2018-01-01 10:38:38 -08:00
Kurt
1b409dd327
Ban phione egg in non-pokeball
...
Thanks Davil!
https://projectpokemon.org/home/forums/topic/43262-bug-phione-ball/
2017-12-31 09:56:27 -08:00
lilymaniac
e58696cd56
Update Korean translation
2017-12-31 15:17:04 +09:00
Kurt
14821dfb82
Fix catchrate set auto-fix
...
https://projectpokemon.org/home/forums/topic/43252-pk1-pokémon-files-arent-holding-items-when-imported-to-gen-2/?tab=comments#comment-225459
2017-12-30 10:40:28 -08:00
Kurt
ca20e78269
pkm crypto Refactoring r2
...
condense repeated logic, reduce overall operations
removes 1 array alloc for pkm encryption (shuffle clones the array, so
don't clone->clone)
removes 1 array alloc for pkm decryption (mutate encrypted array), be
aware that no current use cases input an encrypted region and expect the
reference to stay encrypted (always was a temp array).
remove duplicate bounds checks (early return & for loop)
2017-12-29 15:29:31 -08:00
Kurt
0c2b16391f
fix spanish ranch gift name check
...
oops
2017-12-29 13:08:06 -08:00
Kurt
90260187f7
Add light of ruin & plasma fists as invalid sketch
...
moves not available for sketch without hacking a specimen in
https://projectpokemon.org/home/forums/topic/43244-two-problems/?tab=comments#comment-225421
2017-12-29 12:00:06 -08:00
Kurt
34188f275a
misc perf improvements
...
reduce linq usage / reduce obj creation in tight loops
speed++
2017-12-29 10:40:00 -08:00
Kurt
1d405d63c8
speed up pkm crypt
...
GetBytes returns an array that is immediately discarded (GC pressure)
reduces overhead when loading large pkm collections from save files
(shaved off a couple seconds from my loading from 200+ bak saves)
could probably go faster with unsafe code to r/w ushort directly
then again im profiling under debug but i'd assume the improvements made
actually do improve speed for release builds
2017-12-28 23:24:12 -08:00
Kurt
dccad6c2f4
Simplify/fix UnSanitizeString
...
Species and Nicknamed params were never used; foreign always resulted in
true for cases when it actually mattered.
Filter to the non-fullwidth characters, check the char type (latin base
vs jp/zh/ko) in order to determine if the full/half symbols should be
squished
could be faster replacing char instead of string, so change those
add two test cases for half width & full width string
sanitization/unsanitization
2017-12-28 22:50:32 -08:00
Kurt
43cb0e8d7d
Provide more accurate met level for eggs
...
Gen6 egg with met level != 1 (ie 98) will use the gen3-4 metlevel
branch.
fuzzed input from #1728 to be hacked (met level = 98)
2017-12-28 10:01:48 -08:00
Kurt
a1f2f8708a
Refactoring
...
pass identifier on cloning pkm
remove unnecessary ref for passing Data (not modifying array reference)
const some magic numbers
2017-12-27 16:36:24 -08:00
Kurt
61b65198f2
Allow box name editing on gen2
2017-12-27 15:52:29 -08:00
Kurt
1e388fb85a
Add first unown seen on dex set
...
immediately after unown dex:
c2a7216d9b/wram.asm (L2714-L2722)
per discussion on forums:
https://projectpokemon.org/home/forums/topic/43179-bug-unown-sprite-glitched-in-pokédex-in-gen2/?tab=comments#comment-225342
expose some useful properties for the pkhex.core api (unlock all, unlock
individual, define which unown shows up)
2017-12-27 09:56:04 -08:00
Kurt
3445b46526
Remove unnecessary array cloning
...
new objects would always clone the input array; only clone on object
cloning (keep the original array reference on initial creation from
bytes)
2017-12-26 21:38:19 -08:00
Kurt
5ec99b6c1c
Refactoring
...
expose individual types, items, and abilities
2017-12-26 18:54:08 -08:00
Kurt
dbe000d08e
Add some overloads for non-specified generation
...
fetches current gen if used without generation parameter
2017-12-26 18:54:07 -08:00
Kurt
5580d6a7d4
Extend set obj to apply to pkm data
...
var psimSet = new ShowdownSet(Clipboard.GetText());
psimSet.ApplyToPKM(pkm);
2017-12-26 18:54:07 -08:00
sora10pls
c3d5266b89
Add XY gift Lapras ability check
2017-12-23 18:28:00 -05:00
Kurt
ea76d6a899
Misc tweaks
...
minor perf improvements (don't ToList for encounter slots, store all
slots incrementally); has better performance for legal pkm checks
2017-12-23 11:49:20 -08:00
Kurt
7f21728e84
Add area->location references to remaining slots
2017-12-23 11:48:10 -08:00
Kurt
9e2bd8f64a
fix pokewalker course flag set
...
07FF_FFFF
not
7FFF_FFFF
2017-12-21 14:28:19 -08:00
Kurt
431baec087
Merge pull request #1716 from smileynation/patch-9
...
Update text_cxd_00000_ja.txt
2017-12-19 18:42:17 -08:00
smileynation
0615895dce
Update text_rsefrlg_00000_ja.txt
2017-12-20 11:11:43 +09:00
smileynation
7fb7487e6b
Update text_cxd_00000_ja.txt
2017-12-20 11:08:28 +09:00
Kurt
5e59e20ea1
Store matched encounter generation
...
previously was only defined for gen1/2, why not all gens
can now query encounters in Core for encounters per generation via
reflection; can help group encounters for data vis or be faster than
getting individual gen numbers
2017-12-18 16:17:21 -08:00
Kurt
80baaea3b7
add b2w2 n's pokemon PIDs
...
add b2w2 fixed PID encounters (N's Pokemon), move nsparkle to this class
redo static encounter cloning
2017-12-18 15:25:40 -08:00
Kurt
9263856845
Add apricorn pouch editing
2017-12-18 09:36:53 -08:00
Kurt
60787e652c
Add new text ja flag resources to project
...
re: previous pull requests
2017-12-17 21:35:06 -08:00
Kurt
24b5cc48ed
Fix gb encounter move comparison
...
don't calc NoMoveReminder for non-gen2 formats, also fix comparisons
(gen1 || gen2&&noRemind)
Closes #1707
2017-12-17 21:26:31 -08:00
Kurt
453f66e2b4
Merge pull request #1709 from smileynation/patch-3
...
Create flags_oras_ja.txt
2017-12-17 20:27:51 -08:00
Kurt
a1bf7e1b3a
Merge pull request #1710 from smileynation/patch-4
...
Create flags_b2w2_ja.txt
2017-12-17 20:27:45 -08:00
Kurt
dc9e83fcfe
Merge pull request #1711 from smileynation/patch-5
...
Create flags_bw_ja.txt
2017-12-17 20:27:38 -08:00
Kurt
c88024534a
Merge pull request #1712 from smileynation/patch-6
...
Create flags_pt_ja.txt
2017-12-17 20:27:27 -08:00
Kurt
14acaa6d04
Merge pull request #1713 from smileynation/patch-7
...
Create flags_dp_ja.txt
2017-12-17 20:27:22 -08:00
smileynation
673147b94f
Create flags_hgss_ja.txt
2017-12-18 13:04:25 +09:00
smileynation
6331758973
Create flags_dp_ja.txt
2017-12-18 13:04:01 +09:00
smileynation
5b4f24e54a
Create flags_pt_ja.txt
2017-12-18 13:03:37 +09:00
smileynation
c545c53121
Create flags_bw_ja.txt
2017-12-18 13:03:01 +09:00
smileynation
54e1410f78
Create flags_b2w2_ja.txt
2017-12-18 13:02:50 +09:00
smileynation
fd33e4e7a0
Create flags_oras_ja.txt
2017-12-18 12:56:52 +09:00
Kurt
810ec39ee0
add recent pr flags resource
...
#1708
2017-12-17 19:33:26 -08:00
smileynation
c2031bf347
Update flags_xy_ja.txt
2017-12-18 11:43:03 +09:00
smileynation
037ab76d45
Create flags_xy_ja.txt
...
I can not understand the meaning of Statuette and can not translate.
2017-12-18 11:31:34 +09:00
smileynation
205f141c44
Update text_Ribbons_ja.txt
...
Gen3, Gen4 Ribbons transration.
2017-12-18 10:29:57 +09:00
Kurt
47eee3aa98
Add roto powers as held items
...
not gonna add sprites because these are useless, anyone can submit via
pr (image might need downscaling to <15x15)
Closes #1703
remove useless null checks (throws the exact same exception it would if
it were not there, except without detail)
2017-12-16 19:52:06 -08:00
Kurt
2dbdb35955
Misc tweaks
...
possibly fix UI not-1x scaling screwing up drawn pkm images with
items/shiny/illegal.
simplify some logic -> speed improvements (wow so noticable /s)
2017-12-16 18:29:10 -08:00
Kurt
21c1dde3a7
Fix static encounter gift / egg edge case
...
extract EncounterStatic match determination; in doing so fixes "lvl" by
passing byval.
Pichu encounters (2) come before the Gift level 25 pikachu, causing lvl
to be dropped to 5. When pikachu comes around, it compares 5==25 -> bad;
pulling out the method and passing byval allows it to be 25 at the start
of every new encounterstatic checked.
2017-12-16 18:24:03 -08:00
Kurt
06ea6d94a2
Allow box layout / wallpaper editing for sav5
...
was temporarily disabled during sav5 implementation 2y ago, now noticed.
Closes #1702
2017-12-16 14:15:09 -08:00
Kurt
18796d6f92
Misc tweaks
...
fix bk4 ribbon checks (lacked interface inheritance)
change MN -> UM for get blank save (unused in PKHeX solution)
prevent inheriting from derived pkm classes
2017-12-16 14:11:41 -08:00
Kurt
0b58d4ffe9
Add form/nature checks for gen5 trades
...
altform wasn't checked for EncounterTrade
nature wasn't checked for gen5 origin (decoupled from PID, but forced)
#1702
2017-12-16 14:09:03 -08:00
Kurt
e5aa39a6bb
Refactoring
...
get language list now doesn't return new objects (or re-enumerate)
update rand usage to be inclusive for top bound, extend shuffle to
collections
remove unnecessary location overrides (already overriden in legal fetch)
2017-12-14 20:58:55 -08:00
wwwwwwzx
6c4a4ff4ec
Fix chinese language ID check
...
Some species have the same unicode name in CHS and in CHT, so it will lose language info after converting from a in-game string to textbox (The game will use different fonts to distinguish them, bad GF)
This change will give CHT encoding a higher priorty if the pkm is in CHT, although it's possible to get CHS encoding default species name with CHT language ID.
Also fixed previous editing error
2017-12-14 19:30:59 -08:00
Kurt
b5640de538
Misc tweaks
...
reorder some args, reuse some standard methods;
add spanish for gen1/2 egg name case
2017-12-14 16:16:47 -08:00
Kurt
278f7cad25
Add pwt record get/set
...
thanks @sora10pls
2017-12-14 12:34:03 -08:00
Kurt
9a39f818f9
Misc fixes
...
#1700
dp personal: add wormadam/deoxys manual forme count values
generator: bcc handling for pkm present in & out of bcc, and static/wild
duplicates
util: fix incorrect variable reference
2017-12-13 16:17:02 -08:00
Kurt
a9ff74059a
Misc perf tweaks
...
checking untraded should just check for the first character (rather than
creating string object)
hashset for wild6 balls
2017-12-13 16:12:53 -08:00
Kurt
816ebf6b0e
Refactoring
...
no functional change
2017-12-11 16:01:24 -08:00
Kurt
0588135b60
sync missing change
...
g already used
2017-12-11 11:01:57 -08:00
Kurt
f1cabdfa25
Handle setting decrypted pgt pkm gift data
2017-12-11 10:13:08 -08:00
Kurt
dd21f9375f
Misc updates
...
Disallow sandygast on US
Add 2 more records
thanks @feralfalcon
Closes #1698
2017-12-08 08:54:00 -08:00
Kurt
a43880184a
Fix artist ribbon gen6+
...
having 4 ribbons is sufficient (normal/super/hyper/master = 4, etc)
https://projectpokemon.org/home/forums/topic/42933-2-issues-invalid-ribbons-artist-encounter-level-in-origin-game/
2017-12-07 07:57:07 -08:00
Kurt
f9946368a0
Remove usage of LegalityAnalysis from PK*
...
CK3<->XK3 transfers to PK3 first now (no direct transfer legally)
2017-12-06 21:28:34 -08:00
Kurt
bd9f7fc7e2
Remove fossils from usum capture list
2017-12-06 21:05:36 -08:00
Kurt
4550f656d0
Update gs vc check female
...
will be revised when/if vc-c is released
2017-12-05 15:08:02 -08:00
Kurt
88f67ebd36
fix crystal gender flagging
...
C->GS->Gen7 keeps female OT but gives GS version
also fixes wrong logic path for format2
thanks randomdice101
2017-12-05 14:43:02 -08:00
Kurt
f3cc29df57
Update 17.12.05
...
Update event binaries with latest from the Event Gallery
2017-12-05 09:04:59 -08:00
Kurt
5bc2e6da88
Refactoring
...
de-linq some areas where direct accessing is possible (list/array)
2017-12-04 20:16:54 -08:00
Kurt
4a63769351
Add voltorb to beast ball permissible table
...
closes #1694
2017-12-04 16:54:09 -08:00
Kurt
3d7b2a2b29
Misc tweaks
...
RNG frame mismatch -> fishy (for now)
fix xmldoc copypaste
clean up some resharper warnings
2017-12-04 16:26:26 -08:00
Kurt
5a69f1d596
Rework gen3 crc32 to not require a new obj for byte[]
...
removes toarray in favor of iterating over the source array
maybe with the next c# (span)...
2017-12-04 16:13:18 -08:00
Kurt
1007c5ddb8
don't flag pokespot for frame not matching
...
#1693
2017-12-04 16:05:21 -08:00
Kurt
a5dbdf91bd
Misc tweaks
...
detect antishiny cxd
remove unused using
don't set caught for seenAll (gen7 dex)
2017-12-04 13:18:28 -08:00
Kurt
f030161fd6
Merge pull request #1691 from Ntonio36/patch-1
...
Translation update, round 2
2017-12-03 14:06:10 -08:00
Kurt
55c2a603d7
Purge non-dp data for BK4 transfer
...
#1690
2017-12-03 13:10:14 -08:00
Kurt
805efdbdfa
Add missing bk4 property for abilitynum
...
used in legality analysis, was returning 0 (invalid)
Closes #1690
2017-12-03 12:40:10 -08:00
Kurt
593612740f
Fix bk4 IV read order
...
still pending ability mismatch
#1690
2017-12-03 12:35:51 -08:00
Kurt
6773a2801d
update static/magnet slot permutations
...
using certain slot modifiers (swarm/game pak) causes different
arrangements of slots for different static/magnet pull groups to pull
from
store a list of permuted/different slots and add them to the table at
the end with the rest
move static/magnet pull marking into gen4 methods (only leave for gen3)
move trophy slot generation into gen4dppt area fetch (necessary for
static/magnet permuting)
fix electric off-by-one (yay for curse ??? type shifting everything)
2017-12-03 12:20:53 -08:00
Ntonio36
55b82f5ec4
translation update, round 2
2017-12-03 22:20:03 +02:00
Kurt
792910a485
Merge pull request #1689 from pokecal/master
...
fix MailBoxEditor
2017-12-03 07:14:49 -08:00
Kurt
f21906ee9a
store gen3 origin seed for default frames
2017-12-03 07:13:28 -08:00
Kurt
09a41f66ba
Fix z coordinate writeback
2017-12-03 07:12:52 -08:00
pokecal
0f52f94222
fix MailBoxEditor
...
add Mail5, almost same as Mail4.
2017-12-04 00:00:14 +09:00
wwwwwwzx
4aa3b941fd
Add gen7 flags/consts chinese localization files
2017-12-03 01:22:39 -08:00
smileynation
a9002e50ba
Update flags_usum_ja.txt
2017-12-03 15:52:52 +09:00
Kurt
d301cb5469
Remove ESV rollback for varied level encounters
...
ESV rand is stored uniquely now via generated frames from FrameFinder,
no need to roll back.
2017-12-02 22:34:54 -08:00
Kurt
bdc9d7edce
fix plaza get set
...
closes #1684
2017-12-02 21:37:46 -08:00
Kurt
133cc22f50
Add bypass for gen4 unown
...
meh
2017-12-02 19:54:50 -08:00
Kurt
2d3203fc1a
Refactoring
...
extract out Mail classes to core
2017-12-02 19:12:04 -08:00
Kurt
9c32b36709
Don't reuse friend safari message
...
use the string format variant that has less hints.
https://projectpokemon.org/home/forums/topic/42869-bugg7-ditto/?tab=comments#comment-224365
2017-12-02 18:54:41 -08:00
Kurt
2a6c33b68b
Merge pull request #1681 from pokecal/master
...
add MailBox Editor
2017-12-02 16:40:51 -08:00
Kurt
e06b7945ad
Merge pull request #1682 from wwwwwwzx/master
...
Breeding ball legality fixes
2017-12-02 16:40:42 -08:00
Kurt
15489b8a7c
Use dppt specific rand calls
2017-12-02 15:44:44 -08:00
wwwwwwzx
21a31c9fce
Breeding ball legality fixes
...
Unban safari ball Slakoth, Pichu and Igglybuff, beast ball Helioptile.
2017-12-02 15:44:04 -08:00
pokecal
c4ca3aba75
add MailBox Editor
...
I just wanted to fix PK3 heldMailID.
2017-12-03 07:21:07 +09:00
Kurt
ff63cf4fce
Enable french legality translation
...
resource added to project
#1680
2017-12-02 13:14:40 -08:00
Kurt
70f2d36af0
Merge pull request #1680 from Ntonio36/patch-1
...
Legality Strings in French
2017-12-02 13:12:43 -08:00
Kurt
70451004e7
Add more translation files
...
cxd locations in spanish (thanks JoseAbad)
japanese localization updates (thanks smileynation)
2017-12-02 13:12:22 -08:00
Ntonio36
9770db784e
Update lang_fr.txt
2017-12-02 17:34:47 +02:00
Ntonio36
086cfed803
Legality Strings in French
...
There are a lot of them that I couldn't make. I guess I should continue them soon.
2017-12-02 16:23:40 +02:00