Commit graph

436 commits

Author SHA1 Message Date
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
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
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
e495883d87 Reorder marking for speed last
Closes #2040
2018-07-02 14:37:21 -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
9f8edc89bf Refactoring
put some string[] behind IReadOnlyList to prevent any consumer from
modifying it
2018-06-30 09:59:48 -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
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
b0b2fb5d4b ShowdownSet parse refactoring
Rework line parse to be simpler
Closes #2009 , now handles case
2018-06-15 20:30:23 -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
021ac7c54f Refactoring
where!contains -> except
relocate special tutor
2018-06-09 16:04:06 -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
dcdeb361f0 Handle meowstic formes
Closes #1984
2018-06-06 16:22:14 -07:00
Kurt
450d40535d Relocate hypertraining properties to interface
lessen temp array creation, speed++
2018-06-05 21:31:42 -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
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
1b8fe201c0 Misc simplifications
Simplify some pkmeditor logic, pull out togglemarking
2018-05-27 10:24:28 -07:00
ReignOfComputer
97e21ce133 Handle Em Dash in Showdown Import (#1959) 2018-05-21 21:36:10 -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
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
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
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
ca14b43b62 Relocate memory specific data to own file
allows easier handling for memory interactions
2018-05-19 10:04:07 -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
78c4dbd69c Update plugin interface
now is notified during a file load event (can handle itself)
2018-05-14 17:30:56 -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