Commit graph

31 commits

Author SHA1 Message Date
Kurt
9ca4ef1e09 Move pkx hidden power logic to HiddenPower.cs 2019-03-16 12:07:22 -07:00
Kurt
684191772f Misc refactoring (showdownset null)
Set default values to prevent any properties from being null
extract ClearNickname logic for hot path & reusable method
extract item conversion and move to appropriate logic class
2019-02-11 21:49:05 -08:00
Kurt
2498b6bf50 Misc updates
Simplify unknown gen expression
allow mutation of FormIndex if desired
2019-02-10 21:31:27 -08:00
Kurt
383d4b7700 "" -> string.Empty
be explicit that the string is empty rather than possibly missing
disallow encrypted export for BK4 (they're not encrypted), removes type
check
simplify replaceall in showdownset (don't call ReplaceAll 4x, just get
valid chars and rebuild)
simplify get ribbon sprite name (precompute ToLower and appended values
2019-02-07 21:40:20 -08:00
Kurt
8652677a79 Misc tweaks
showdownset: contains char instead of string
gameinfo: static readonly array instead of redefining new on update
legality: order of operation / value reuse / simplification / comments
pkx: compare char instead of single character string
header/footer: move assignment into method as an out instead of ref
2019-01-20 21:55:28 -08:00
Kurt
3e05e9655e Store hidden power type 2018-12-28 16:54:01 -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
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
9a04109e01 Localize zygarde complete
form string already there, just repoint
2018-09-12 21:16:14 -07:00
Kurt
d3ec969187 Style updates
split pcd/pgt
add more xmldoc
2018-08-09 21:53:39 -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
32b90fab13 Simplify some logic 2018-07-29 21:54:02 -07:00
Kurt
41643a4c86 Use correct language ID for nickname check 2018-07-29 12:47:38 -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
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
baac632218 Enable editing gen1/2 hidden power type 2018-07-14 10:56:11 -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
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
9f8edc89bf Refactoring
put some string[] behind IReadOnlyList to prevent any consumer from
modifying it
2018-06-30 09:59:48 -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
b0b2fb5d4b ShowdownSet parse refactoring
Rework line parse to be simpler
Closes #2009 , now handles case
2018-06-15 20:30:23 -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
ReignOfComputer
97e21ce133 Handle Em Dash in Showdown Import (#1959) 2018-05-21 21:36:10 -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
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
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
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
Renamed from PKHeX.Core/PKM/ShowdownSet.cs (Browse further)