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
Kurt
d20706dd70
Update xmldoc
...
le lenny goes here
2018-07-11 19:19:19 -07:00
Kurt
01323c0ee8
Add id7 setters
...
can now set TrainerID7 / TrainerSID7 via batch editor
2018-07-10 21:25:03 -07:00
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
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
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
e495883d87
Reorder marking for speed last
...
Closes #2040
2018-07-02 14:37:21 -07:00
Kurt
3674a11cfe
Misc simplifications
...
absorb verifier calls into the parsing methods
2018-07-01 17:07:29 -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
e4a83dbbac
Update GetPKMExtensions to support lower gens
...
gen1&2 are allowed for 1-2/7+, else the minimum is gen3.
2018-06-27 18:53:08 -07:00