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.
expose some useful IEnumerable methods (sorting / bin->pkm / copy) to
simplify some common operations
change some explicit arrays to IList for flexibility
remove old memecrypto bool (no longer necessary as XP is not supported)
rename some methods for more clarity
Allows evolution met level check to be skipped
Adds minimum level constraint for evolution chain generating
Closes#1430
also adds deferral to the gen3 encounter generator as encounterstatic
gifts can collide with wild encounters when transferred
Raw editing of byte fields
.Nickname_Trash=$[]43,00,65,00,72,00,66,00,72,00,6F,00,75,00,73,00,73,00,65,00,00,00,00,00
only use cases are OT/Nickname trash bytes
not too concerned about speed re-parsing values or storing it to an auto
property; it's fast enough.
Closes#1287
Setting PartyData with Length==0 throws an exception from the SAV
object; only process if necessary.
Felt like splitting the method up into smaller pieces.
passing an object with a type from another assembly will have
obj.GetType() return a System.RuntimeType, which is absolutely not what
we want.
supply the pkm derived GetType
why is this so wonky
Closes#1266
batch editor needs more powerful variant which can check the base
properties as well; just use the older code from before the .NET
standard commit.
Closes#1158
pkm editor, sav editor, menus, and a manager to glue the storage slots
together
decouples the pkm/sav editors from a static savefile reference.
improves dragdrop/click view/set/delete indication, hides unavailable
contextmenuitems, and fixes a few incorrect references. Box Subviewer
slots now have all the indication/events that the main save editor slots
have.
pls report behavior bugs 👍
Closes#1003
If the pkm has a bad checksum/sanity or is in a locked slot, it never
incremented the counter. Just increment the counter anyway and write the
msg to console.
functions properly for games without a party (RS BOX) by checking if a
party exists
if there's ever a game that doesn't have a box, it'll work for that too
:P
Tweak batch editor behavior to show Any first (used by any pk* type),
sort alphabetically too. Highlights the propertytype text if the
property is not present for the type.
Closes#919
Properties fetched would return PKM.cs properties (not declared in XK3
or PK3), such as Hidden Power Type.
The setter for Hidden Power type is unused everywhere, but was called
via reflection on transfer away from xk3/ck3 format. This caused IVs to
be tampered with in most cases.
By only fetching Declared properties (ie, within XK3.cs only), only the
'real' shared properties will be transferred. Extending this to the
batch editor, we can use this Declared-only filtering to grab more pkm
formats. While things are being updated, throw in pk1/pk2/bk4/ck3/xk3
formats to the dropdown.
changes IV3 to faster variant used elsewhere,
sort properties alphabetically,
simplify 'any' intersection,
un-duplicate database filtering
un-duplicate box/folder per-pkm processing
-25 lines, a little bit of reorganization since the form has grown since
its initial inception
Closes#842
Adds in ability for custom properties
Suggestables are called via $suggest
Only properties supported are Met_Location, Moves, and RelearnMoves
$0 or $1 or $2 for ability 1/2/4 (just think of it with 012345...).
Will set the hidden ability for every mon (AbilityNumber=4 and
Ability=PInfo.Abils[2])
#749 as promised
Grab an example PKM (from main window) to get the current value to
assist users in creating their modification scripts.
Added 3 tooltips for hovering over property/type/value controls