Kurt
fe989d48fe
Misc prep updates
...
Update comments / xmldoc
Add a savefile storage compressor (ie array[] with empty interstitials
-> list); return true if the compression moved anything (repopulate
views), and the count of occupied slots in the list.
Add saveblock base class; I haven't really liked how SAV6/7 do all the
logic; I'll still expose properties that will then point to a saveblock.
Cuts down clutter.
Add template Dex manipulator, with gen6/7 implementations
Speculate sequential gp/ge gameversion IDs
2018-11-01 15:38:09 -07:00
Kurt
f709448220
Update 18.11.01
...
Update event binaries with latest from the Event Gallery
2018-10-31 14:08:58 -07:00
Kurt
8f9cc6cd7e
Fix xmldoc ampersands
2018-10-31 13:52:09 -07:00
Kurt
39f98a4a94
Misc qol updates
...
Check max case for level first, then iterate upwards (eliminates inner
if)
change wc* nature to sbyte (update comparisons, 0xFF too magic-y)
use Rand.Next(x) instead of (0, x)
2018-10-27 21:59:31 -07:00
Kurt
ed3699fbb4
Update Ho-Oh mattle check
...
More languages than Italian have a rule-breaking name. Rework checks a
bit
Flag eggs more accurately
Update force hatch to move Link Trade met location to Egg Location
fix Ho-oh -> Ho-Oh text strings (correctness is key!)
2018-10-27 16:06:06 -07:00
Kurt
359a529870
Misc updates
...
Move some logic around, fix style warnings
2018-10-27 08:53:09 -07:00
Kurt
78c7535dea
Fix pk1->pk2 conversion
2018-09-29 21:03:34 -07:00
Kurt
90f1d0cb09
Misc cleanup
2018-09-29 12:22:13 -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
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
41408a235c
Add filename without extension property
...
for encrypting the pkm -> 'ekx'
2018-09-16 10:48:04 -07:00
Kurt
b280ffcfef
style updates
...
should be pretty much it
2018-09-14 22:37:47 -07:00
Kurt
9a04109e01
Localize zygarde complete
...
form string already there, just repoint
2018-09-12 21:16:14 -07:00
Kurt
930d07c080
Misc simplifications
...
reference shared base class
reorder arguments to match pk1, remove extra space
2018-09-12 20:55:30 -07:00
Kurt
e77247e652
Fix call order
...
new empty party list with empty slots now fills correctly
https://projectpokemon.org/home/forums/topic/47453-bug-with-generation-2-party-slot/
Thanks AcroBlade!
2018-09-11 20:33:26 -07:00
Kurt
b20020fbe6
Update 18.09.11
...
Update event binaries with latest from the Event Gallery
2018-09-10 19:10:28 -07:00
Kurt
d8c355cf64
use sprite resource name instead of species-form
...
Closes #2113
2018-09-07 19:11:22 -07:00
Kurt
106a02eedd
Fix infinite loop pk1/2 -> pk<7
2018-09-01 15:09:04 -07:00
Kurt
1fe304e78f
Rework mg nick/lang checks
...
add common interface
https://projectpokemon.org/home/forums/topic/47295-bug-event-golduck-name-not-matching-species/
2018-08-30 18:09:52 -07:00
Kurt
4dc04cb4b9
Add pelago status value check + etc
...
0, [9,19] are set (didn't see 15), but there's also a switch case which
references all values 0-19.
these values are used by a 80 sbyte array (4*20) in the Resort.cro
remove usages of "goto case"
2018-08-27 20:44:26 -07:00
Kurt
ab0a792968
Move valid item override to pk1, pk2 uses base
...
Closes #2101
2018-08-21 07:47:23 -07:00
Kurt
19f9765752
Add missing species setter
...
Closes #2100
2018-08-21 07:37:15 -07:00
Kurt
29f73993b1
Misc reorg
...
simplify gameinfo comments/return
move item1->item2 conversion to itemconverter
just general upkeep
2018-08-20 22:09:35 -07:00
Kurt
d307a30cad
misc optimization
...
list initial size is 4; oftentimes it's greater, and always padded
2018-08-19 16:26:08 -07:00
Kurt
c0b5d3eef7
Abstract away pk1/pk2 properties to shared class
...
some inefficiencies with pk1 altform/iskorean but is much easier to
manage
2018-08-19 15:50:15 -07:00
Kurt
7ef5d9e547
Add pk1 current level property party->box setter
...
https://projectpokemon.org/home/forums/topic/47086-bug-trades-between-two-saves-1g/?do=findComment&comment=235241
fresh encounters have yet to be boxed and don't have the value; set it
whenever setting a Stored slot.
2018-08-19 13:35:20 -07:00
Kurt
d7f39ea343
Extract pkm searching to separate classes
...
search logic can now be reused by core projects
adds option to provide extra filters run at the end (prior to clone
check)
2018-08-16 20:06:40 -07:00
Kurt
e366f9a93d
Misc tweaks
...
only have one empty forme array object
rename method for clarity
show version ID for hidden savefile program window titles
2018-08-15 21:15:06 -07:00
Kurt
f079f62956
Remove fullness/enjoyment check
...
Although bank 6->7 deletes the values for these fields, Pokémon Refresh
can still reintroduce new values.
Closes #2090 , thanks @Lusamine !
2018-08-14 16:45:51 -07:00
Kurt
fc73eee570
Extract PokemonList* to inherited class
...
Logic is essentially identical; implement a base class and have the
generation specific structures implment the differences.
Reduce the verbosity a little
2018-08-05 17:28:54 -07:00
Kurt
4c96efb9b7
Update pk2->pk1 party stat transfer logic
...
pk1 boxdata stores current level & current hp, which is only present in
pk2 party data.
if the user drops in pk2(boxdata), the transfer leaves 0 for both
values, which isn't correct.
detect stat_level to determine if values should be regenerated or not.
Thanks HaxAras for finding this :)
2018-07-31 14:29:47 -07:00
Kurt
f35712fcf2
Extract experience logic to separate file
...
add exp bar logic, unused.
2018-07-29 17:43:30 -07:00
Kurt
d916be1020
Style updates
2018-07-29 13:27:48 -07:00
Kurt
c8563a3737
Respacening
...
Style guidelines, handle a bunch of files
no functional change
2018-07-26 19:34:27 -07:00
Kurt
f0090669bb
Update catch rate related logic
...
#2071
2018-07-24 19:33:42 -07:00
Kurt
279f44a645
Simplify GB stat calc, fix pk2->pk1 xfer fainting
...
Remove unnecessary floor operation, don't fetch stat arrays for each
stat
Current HP is a box stat in pk1 format (offset 0x1), which isn't stored
in box pk2's. If the hp is zero, set it to the current HP.
Thanks HaxAras for the conversion tip!
2018-07-24 16:41:18 -07:00
Kurt
64284eafef
Add pk1/pk2 direct import checks
...
dragdrop: check
import files from folder: check
no other paths convert afaik
Closes #2074
2018-07-24 15:49:00 -07:00
Kurt
81355dfaf4
Update translatables for pkm conversion
2018-07-24 15:36:46 -07:00
Kurt
b97e967304
Misc cleanup
2018-07-22 17:14:22 -07:00
Kurt
a693ba87ba
Update cosplay sprite handling
...
Cosplay are stuck on gen6, cap pikachu can interact with bank; make
Cosplay the oddball resource.
2018-07-22 12:06:43 -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
c7175fbdb4
Misc reorg
...
bye bye SAVUtil and PKMUtil
2018-07-20 21:32:33 -07:00
Kurt
f27f11bfc8
Clean up pk7/sav6/sav7 simple methods
...
extract GetFormDuration to method, remove unused GetIsCompatible
specialized variant (there's a generalized version in SAVUtil.cs,
IsPKMCompatible -- might do another round of WinForms->Core absorption
2018-07-20 20:25:28 -07:00
Kurt
cc509de83c
Add lgpe properties
2018-07-14 21:55:45 -07:00
Kurt
cb80c02011
Check Yellow catchrates when updating species
...
https://projectpokemon.org/home/forums/topic/46259-yellow-kadabra/
2018-07-14 18:08:51 -07:00
Kurt
baac632218
Enable editing gen1/2 hidden power type
2018-07-14 10:56:11 -07:00
Kurt
625a77589b
Extract geolocation logic to interface
...
mixins would be nice but I guess extensions cover this
2018-07-14 10:34:34 -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
98a1677d14
Fix property reference
...
oops
2018-07-12 20:36:59 -07:00
Kurt
296d1c20ed
Use ITrainerInfo interface for trdata
2018-07-12 18:15:20 -07:00