Commit graph

4899 commits

Author SHA1 Message Date
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
816c40429b Reuse language data source for trainer editors
provides nice descriptions rather than 3 character codes
2018-07-07 17:02:17 -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
ca16f08e36 Use new trainerstat control
misc cleanup/reorg inside control
2018-07-07 12:22:30 -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
0c2d302997 Show tid7/sid7 for gen7+ origin
https://projectpokemon.org/home/forums/topic/46050-box-data-report-doesnt-display-correct-gen-7-tids/
2018-07-05 16:57:29 -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