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
18ed0b6af7
Update shiny naganadel sprite
...
#2134
black wings
2018-10-02 17:26:15 -07:00
Kurt
03e2c71285
Add vc sim->pk test case
2018-10-01 16:48:37 -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
6f09f7b89e
Add catch rate editor control
...
#2132
has a 'reset' button which tries to set a legal value
has a 'clear' button which sets it to zero, similar to gen2 removing an
item
2018-09-30 10:16:45 -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
7b993d731a
Hide pika friendship for non-yellow gen1 saves
...
Closes #2130
2018-09-29 12:23:33 -07:00
Kurt
90f1d0cb09
Misc cleanup
2018-09-29 12:22:13 -07:00
Kurt
9304101141
Hover species combobox -> show species ID
2018-09-28 21:17:46 -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