Kurt
5ca597d44b
Add height scalar classification
2018-11-25 19:46:32 -08:00
Kurt
f358c0e4cf
Handle all deviating met location string versions
2018-11-22 10:11:51 -08:00
Kurt
cfbdb7c26c
Add parameter-less constructors
...
Removes null check for hot path where data is actually provided
2018-11-21 14:15:48 -08:00
Kurt
03dd61bc58
Reset CP on common modifications
2018-11-21 12:31:05 -08:00
Kurt
58080f36c9
Add WB7 and legality detection logic
...
Derived from WC7 with minor alterations (dynamic OT/Nickname which is
stored in the Full data). Since the 0x108 is not stored in the save
file, just keep the full data around.
2018-11-21 12:24:41 -08:00
Kurt
eb6e3fbbe9
Don't reset friendship, only for this format
...
Friendship affects stats, keep current friendship when updating the
trainer.
2018-11-20 19:15:38 -08:00
Kurt
ec7fc8e2f0
Fix maxgameID for pkm reference
...
threw a snag in pkm generator since it doesn't reference savefile max
2018-11-19 16:15:09 -08:00
Kurt
ba1a7c2bcf
Fix broken tests
...
rework getblank for version specific
2018-11-19 16:14:49 -08:00
Kurt
3841df1234
Temp workaround for cp calc precision
...
float -> decimal
https://projectpokemon.org/home/forums/topic/48524-cp-height-weight-calculations/
2018-11-18 23:14:08 -08:00
Kurt
65febae125
Clamp max CP at 10k
...
ingame max is 10k
2018-11-18 15:32:47 -08:00
Kurt
6a0a6aa82a
Add methods for 7b quirks
...
nidoran m/f when sanitized with the old way show the gender symbols as
'?'
2018-11-14 22:51:53 -08:00
Kurt
adb6b345be
Treat GameVersion.GO like other GG vers
2018-11-14 17:40:11 -08:00
Kurt
2fb698805d
Use latest personal table as master
2018-11-13 19:20:37 -08:00
Kurt
181e75818c
Use agreed upon lgpe starter forme name
...
Thanks @Marty-D !
2018-11-13 19:20:21 -08:00
Kurt
28fec9882b
Add pkm variant for beluga
2018-11-13 19:10:31 -08:00
Kurt
98ebf4c5cb
Add sort pointer repointing
...
LGPE uses a list of pkm for boxes, and has pointers indicating where
each party member is at
need some logic for handling the sorting. Had suspected this a while
back so this pre-work came in handy (untested tho)
make eventflags offset ptr virtual, I might end up doing things
differently for event flags
2018-11-10 21:04:24 -08:00
Kurt
113eb550d4
Add IAwakened interface for future PB7 format
2018-11-10 20:21:36 -08:00
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