Kurt
a0ee7a3e51
Add route 2 lapras location
...
ty Waves (discord)
https://www.serebii.net/pokearth/galar/route2.shtml#xy-lake
2019-11-27 19:44:14 -08:00
Kurt
5761f03f94
Add OT memory details for gen6 ingame trades
2019-11-27 19:30:28 -08:00
Kurt
c81edac9e5
Fix CGB import
...
Trainer1 now unused for this class
Closes #2533
2019-11-27 18:33:30 -08:00
Kurt
907f036956
Disregard OT memory values on gen7 origin
2019-11-27 16:01:12 -08:00
Kurt
c4951f1650
Add strong piloswine location
...
ty wowjinxy
2019-11-27 11:34:20 -08:00
Kurt
d3bd37a950
tweak last saved string format
...
ty @sora10pls for testing
2019-11-26 23:10:28 -08:00
Kurt
bac6032152
Update last saved parsing
...
year is years-since-1900
month is months-since-jan (jan=0)
2019-11-26 19:15:05 -08:00
Kurt
4cd358833a
Add corvisquire static enc location
...
https://projectpokemon.org/home/forums/topic/55611-corvisquire-route-3/
thanks ThePunish3D!
2019-11-26 18:20:52 -08:00
Kurt
b95ab53e92
Finalize unreleased item banlist
2019-11-26 17:16:57 -08:00
Kurt
5b932c961f
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-11-26 16:58:44 -08:00
Kurt
08e293dadc
Add SimpleTrainerInfo constructor
...
zeroes out console region data if not present in game
2019-11-26 16:55:28 -08:00
Chris
f23874b1ae
Safari/Sports Ball is also not released
2019-11-27 01:55:15 +01:00
Kurt
4182b22686
Update Unreleased Items(SwSh) ( #2529 )
...
https://www.serebii.net/swordshield/items.shtml
only Pixie Plate & Normal Gem are in the Game yet.
2019-11-26 16:13:30 -08:00
Kurt
5883acd5b9
Fix florges/floette evo tree
...
No personal stats for those evos different from main species
2019-11-26 16:12:35 -08:00
Chris
ba43631d40
Update Unreleased Items(SwSh)
...
https://www.serebii.net/swordshield/items.shtml
only Pixie Plate & Normal Gem are in the Game yet.
2019-11-27 01:08:31 +01:00
Kurt
9cb56be3dd
Add bronzong/galvantula strong loc
...
previous Bronzong location is likely a crossover case
ty wowjinxy
2019-11-26 11:39:17 -08:00
Kurt
b58ff25741
Use stat nature for showdown set export
...
thanks @sora10pls
2019-11-26 11:36:20 -08:00
Kurt
15ef6555a8
Add WC8 memory & fix fallthrough
...
ty @sora10pls
2019-11-26 11:22:01 -08:00
Kurt
ef425af835
Add memory / console region checks for pb7/pk8
...
yeah your initial hacks were hacks
It appears there's a bug (in the game) for link trade memories --
applied to the OT memory instead of HT memory?? Fun!
2019-11-26 11:01:09 -08:00
Kurt
7960f2d748
Don't set console region data for pb7/pk8+
2019-11-26 10:46:32 -08:00
Kurt
445fdee2ba
Add shared memory interface (encounter)
2019-11-26 10:46:16 -08:00
Kurt
6627d7e2f4
Minor clean
2019-11-26 10:45:36 -08:00
Kurt
0f96b3c4d5
Add Species specific arg memories
2019-11-26 10:44:36 -08:00
Kurt
6987edd7a3
Simplify expression
...
no allocations
2019-11-25 23:34:49 -08:00
Kurt
c0270b18e4
Add trainer card number editing
2019-11-25 23:26:01 -08:00
Kurt
e8f5ac8a00
Minor clean
2019-11-25 22:51:07 -08:00
Kurt
87a498ac05
Add flag api
2019-11-25 22:50:53 -08:00
Kurt
7a10311207
Unban scrafty/scraggy HA
...
new EncounterStatic8N(Nest87,3,4,4) { Species = 560, Ability = A4 }, //
Scrafty
2019-11-25 20:31:42 -08:00
Kurt
24ac0d9d4b
Fix WasLink comparison
...
Closes #2525
G4Celebi & G6Link met location match; Pokémon Link was only available
for Gen6 so just check for that origin.
Ty @Ammako
tbh I shouldn't even have this property ha
2019-11-25 19:29:12 -08:00
Kurt
c416fc5fa1
Update handling for invalid genNumber
...
all edge case movepool stuff is IGeneration; we're fine just using
IGeneration.Generation
2019-11-25 18:33:38 -08:00
Kurt
5dde0f5c43
Merge Error flag into Parsed
...
Simplify some logic with ??=
2019-11-25 18:32:50 -08:00
Kurt
c5593470df
Add 2 more static enc locations, swap yield order
...
Private report with 3 specimens, 2 undocumented met locations
The other was a Gigantamax which matched another static encounter,
resulting in a partial match being accepted (the real match came after,
but was never iterated to).
Rather than adding deferrals for Enc8, do nest stuff first since it's
the most restrictive
In the past we didn't really have duplicate static encounters with
slightly different permissions.
Thanks @ReignOfComputer & {reporting user}!
2019-11-25 17:57:25 -08:00
Kurt
5435a5d93e
Minor updates
...
Fix mark (ribbon) read for index > 64
Heal party stats on set detail import
Wipe HT Language for eggs/untraded
Extract BST total color logic
2019-11-25 17:32:10 -08:00
Kurt
22a5df5181
Only set permitted record flags for Move[]
...
Closes #2523
2019-11-25 12:02:30 -08:00
Archit Date
a05bed8f18
updated shiny indicator for xor0 ( #2522 )
2019-11-25 09:27:42 -08:00
Kurt
b37a0c5bfe
Add downleveled regular raid movepool verification
...
#2416
Not having enough badges pulls the level of the captured mon down
need more info if the other raid types behave similarly
2019-11-25 08:52:03 -08:00
Kurt
5dec94d456
Handle banned form eggs with more flexibility
...
Closes #2519
better to not generate the encounter as opposed to flagging it after
generation
2019-11-25 00:16:16 -08:00
Kurt
6ca8571759
Add stomp min level for Steenee
...
Closes #2520
2019-11-24 23:50:10 -08:00
Kurt
b588af8300
Ban meowstic-1 hidden ability
...
Closes #2521
2019-11-24 23:14:42 -08:00
Kurt
0dcd9b744a
Include swsh held items to valid items list
...
Closes #2518
2019-11-24 22:34:51 -08:00
Kurt
c446ff5b51
Fix non-galar egg moves passing
...
Closes #2516
2019-11-24 18:18:26 -08:00
Kurt
e1e7bf321b
Add South Lake Miloch for den 42
...
#2416
2019-11-24 11:07:31 -08:00
Kurt
aeb3ee6cec
Fix shedinja evo chain logic
...
#2416
2019-11-24 09:49:54 -08:00
Kurt
9d02a2c2b1
Simplify comparison
...
never null
2019-11-24 09:48:22 -08:00
Kurt
cf12f7f4bc
Fix type comparison
...
works fine without this, but this is the correct type comparison
2019-11-24 06:43:42 -08:00
Kurt
32d8225023
Fix drag slot equality check
...
prevents deleting party slots if a slot is dragged into its original
slot (X->X); Equals check only checked reference
2019-11-24 06:42:41 -08:00
Kurt
64d94903ff
Change fixed ability
...
0=abil1
1=abil2
2=abil4
3=abil1/2
4=any
probably same as WC8 etc
doesn't have any impact as there's other encounters that allow Hidden
2019-11-24 06:26:33 -08:00
Kurt
dd51ed707f
Update record flags on default showdown import
...
Closes #2511
2019-11-24 06:06:08 -08:00
Kurt
113d16fa5d
Fix darumaka->darmanitan blizzard move
...
#2416
Looks like the only issues left are:
Shedinja
Crossover/Bleed locations
Static Encounter locations
2019-11-23 22:48:02 -08:00
Kurt
96f6db0e38
Add recognition for distribution raids
...
Closes #2457
2019-11-23 22:23:43 -08:00
Kurt
52cd8ae855
Revise HA banlist
...
https://www.smogon.com/forums/threads/sword-shield-battle-mechanics-research.3655528/post-8291236
2019-11-23 20:50:56 -08:00
Kurt
09d1d0e799
Add darumaka to galar origin
...
lol oops
Closes #2508 thanks @iiippppk !
2019-11-23 19:45:18 -08:00
Kurt
5df6565597
Add fast ball
...
Closes #2507
2019-11-23 19:12:53 -08:00
Kurt
cccf2a1939
Fix flawless IV count check
...
#2506 trapinch
2019-11-23 14:46:09 -08:00
Kurt
66ebf7cb60
Add $suggest for techrecord & (stat)nature
2019-11-23 12:02:58 -08:00
Archit Date
f96eafa682
grab correct evo stage 1 from evocriteria list ( #2503 )
...
EncounterMovesetGenerator was using the de-evolution order in the passed evocriteria list
2019-11-23 09:01:09 -08:00
Kurt
e70a2f40b8
Add den crossover via online share
...
fix ability deferral for non-HA (eg. A4 mr rime encounter)
2019-11-23 08:27:50 -08:00
Kurt
b29fc5216e
Add shared moveset transfer
...
Closes #2501 for now
2019-11-23 07:27:06 -08:00
Kurt
c27b1d0bb8
Revise hidden ability banlist
...
Might need to remove entries once the Distribution raid data is added.
2019-11-23 07:12:50 -08:00
Kurt
67565aa71d
Update structure note comment
2019-11-23 07:12:20 -08:00
Kurt
4a6fa684e6
Fix IsUntraded check
...
used the pk6 offsets lol
2019-11-22 23:00:36 -08:00
Chris
03ee264d0c
Add Vanilluxe Multiple Encounters ( #2499 )
...
* Add Vanilluxe Multiple Encounters
Vanilluxe spawns also on any Lake if its snowing
2019-11-22 21:32:39 -08:00
Kurt
9e4c408ac7
Fix galar form egg move fetch
...
Closes #2500
2019-11-22 21:32:05 -08:00
Kurt
26b21d8603
Rewrite reverse evo lineage rectifier
...
Closes #2479
Fixes Silvally in swsh not having evo reversal content for each form
2019-11-22 21:04:34 -08:00
Kurt
d25f388bf5
Fix dexnav relearn checks
...
Closes #2491
Thanks @NinFanBoyFTW !
2019-11-22 19:59:40 -08:00
Chris
97f156364d
Update Multiple Encounters for Lakes ( #2498 )
...
happens also for:
Drifloon, Wingull, Goldeen, Frillish, Magikarp
but theese aren't listed, feel free to add new encounters.
2019-11-22 18:26:47 -08:00
Archit Date
915f6a5e42
fix toxtricity parsing ( #2496 )
...
Full amped form has no form string, so does not need fixing. Exporting low key form also adds a hyphen, so that does not need fixing either!
2019-11-22 14:17:52 -08:00
Chris
e90d2fbc29
Also Seaking have multiple Locations ( #2495 )
...
^
2019-11-22 08:05:46 -08:00
Chris
4c9815c17e
Add Multiple Gyarados Spawns ( #2493 )
...
Gyarados Spawns in Area 1:
North/East/South/West Lake Miloch,
Area 2:
the Lake of Outrage (in a Wild Area)
2019-11-22 08:04:17 -08:00
Chris
8bdc110e2b
Added Multiple Lapras Spawns ( #2492 )
...
Lapras Spawns in Area 1:
North/East/South/West Lake Miloch,
Area 2:
the Lake of Outrage (in a Wild Area)
2019-11-22 08:03:16 -08:00
Kurt
5a38e118e8
Add raid spawn initial docs
...
linq dump code I used for ez vis:
var sav = new SAV8SWSH(File.ReadAllBytes(@"D:\Kurt\Downloads\main
(7)"));
var blocks = sav.Blocks;
var raid = blocks.Raid;
raid.GetAllRaids().Dump();
2019-11-21 22:55:21 -08:00
Kurt
1ffee3de02
Add raid/fashion block accessors
...
set breakpoint at end of ctor... immediate window dump:
System.IO.File.WriteAllBytes(@"E:\raid.bin", Raid.Data);
2019-11-21 22:26:24 -08:00
Kurt
4b3d85d5e6
Add multi-location strong encounter handling
...
#2484
OH BOY REUSED INDEXES
smart to save space, but a small pain for legality
feels pretty bad breaking up abstractions for every minor difference in
verification...
2019-11-21 21:44:41 -08:00
Kurt
5235c9b252
Revert "Add lapras encounter location?"
...
This reverts commit e4e516d1c2
.
2019-11-21 21:14:45 -08:00
Kurt
e4e516d1c2
Add lapras encounter location?
...
#2484
The other lapras encounter was found by @sora10pls and was lv56; we're
assuming this other lapras is the encounter (for now).
2019-11-21 20:59:24 -08:00
Kurt
4c8dd0cb3a
Defer rather than reject
...
#2490
2019-11-21 20:05:20 -08:00
Archit Date
e93bc5e67c
Misc Nest Fixes ( #2490 )
...
* fix A3 and A4 ability values
private > internal so it can be used in Encounter Nest matching
* reject ability number 4 if ability is from A3
2019-11-21 20:03:02 -08:00
Kurt
b9e32c67a0
Add encounter static deferral oop
...
We've already been doing something similar for the deferral check; just
merge the logic into the base object
Closes #2489
2019-11-21 20:02:08 -08:00
Archit Date
93028b3439
modify nest locations based on serebii ( #2483 )
...
https://serebii.net/swordshield/maxraidbattles.shtml
2019-11-20 23:02:54 -08:00
Kurt
f6c6639078
Add online den location
...
There's still the down-leveled issue with high level moves. fun.
2019-11-20 23:02:31 -08:00
Kurt
a50169d3d2
Add shift-set shinyxor0 pid
...
Display xor value on hover, not gonna do alternate stars/square display
Closes #2482
2019-11-20 20:38:05 -08:00
Kurt
1be9a6f70d
Fix sav4 load for daycare / gts slots
...
Closes #2481
2019-11-20 19:16:25 -08:00
Kurt
2aaa3763ee
Fix record setting logic
...
Thanks @AnalogMan151 ! #2416
Fix method reference lol
2019-11-20 18:18:33 -08:00
Kurt
f30a14ebf0
Disallow dynamax level on story legends
...
ty @sora10pls
2019-11-20 18:15:21 -08:00
Kurt
473afb8377
Initial rough draft of nest location matching
...
nest data doesn't match what's expected, but recognition is ready for
tweaks
2019-11-20 17:07:55 -08:00
Kurt
c6f515c755
Use more performat array join
2019-11-20 17:07:55 -08:00
Ammako
ee9c91e893
Add G4 Box Flags ( #2478 )
2019-11-20 11:39:31 -08:00
ReignOfComputer
f19193c66f
Static Locations Update ( #2475 )
...
* Static Locations Update
- Removed version lock on Motostoke Stadium Vulpix (may want to investigate Growlithe)
- Wild Area Updates
- Other Static Updates
* Squeeze in 2 more Statics
* Rhydon Static Location
Last one I promise.
2019-11-20 11:38:25 -08:00
Kurt
8294d77464
Add Carkol static loc
2019-11-19 20:24:12 -08:00
Kurt
2c5a7cd5de
Add linoone strong loc
2019-11-19 19:41:30 -08:00
Kurt
feef1c1122
Add 2 more strong locations
2019-11-19 19:27:57 -08:00
Chris
7ef4fce89e
Add Eevveelutions Spawns for Lake of Outrage ( #2471 )
...
All Eeveelutions spawns at the Lake of Outrage, based on the weather?
2019-11-19 19:21:41 -08:00
Kurt
18b20e09d2
Add leafeon location
2019-11-19 19:03:39 -08:00
Kurt
e6476e943b
Change Gender to OT Gender
...
ty @sora10pls for confirmation
2019-11-19 18:55:03 -08:00
Kurt
0f4598ff66
Update some comparisons
2019-11-19 18:02:57 -08:00
Kurt
85fa6e0273
Add more strong encounter locations
2019-11-19 17:07:11 -08:00
Archit Date
686f69484d
set gigantamax flag from showdown set ( #2469 )
2019-11-19 15:57:08 -08:00
Matt
ea80718919
Unban GO Shiny Tentacool ( #2468 )
...
* Unban GO Shiny Tentacool
* Also unban GO Shiny Meowth
2019-11-19 13:54:29 -08:00
Kurt
9734010fcd
Add unsorted combolist method
...
#2465
2019-11-19 08:48:44 -08:00
Kurt
256de0380f
Swap order of vc1/vc2 in version dropdown
...
Closes #2464
2019-11-19 08:42:31 -08:00
Kurt
fa344208b2
Add crossover location handling
...
Closes #2461 by implementing slightly differently
Dictionary instead of new[] every area
Checks original met location first before attempting the dictionary
lookup (missing in pull request)
Easy path forward if LGPE crossover is needed
Potential issues: Since encounter types aren't marked, shaking trees and
fishing encounters are allowed to cross over. Maybe need to have some
marking for encounter slots or something...
2019-11-19 08:38:18 -08:00
Kurt
1538f04dce
Remove unnecessary logic
...
rip return frustration, don't need to consider this
2019-11-19 08:15:58 -08:00
ReignOfComputer
0230dafe2b
Wild Area Updates from RoC's PC ( #2460 )
2019-11-19 08:13:53 -08:00
Kurt
a368b81519
Minor clean
2019-11-18 22:48:03 -08:00
ReignOfComputer
0ef6f024d6
Wild Area Updates from #2416 ( #2459 )
...
https://github.com/kwsch/PKHeX/issues/2416
2019-11-18 22:21:13 -08:00
Kurt
f88388cb70
Add Form (AltForm) to IEncounterable interface
...
All of the encounterable templates have Form anyway; funny that I was
consistent naming them all differently than pkm.AltForm :)
Closes #2452
2019-11-18 22:20:55 -08:00
iiippppk
4a82b424ce
Use simplified Chinese characters ( #2458 )
2019-11-18 21:35:21 -08:00
ReignOfComputer
6d95fa5884
Wild Area Updates from RoC's PC ( #2456 )
2019-11-18 20:26:38 -08:00
Kurt
1df90199e3
Rework GetBaseSpecies to return EvoCriteria
...
#2452
2019-11-18 20:26:11 -08:00
Kurt
5a4c026dc7
Restrict egg related species fetch to EvoCriteria
...
#2452
2019-11-18 20:10:39 -08:00
Kurt
535397cf5e
Consolidate egg ctor with args
...
Form is an absolute requirement for the encounter data.
#2452
2019-11-18 20:01:48 -08:00
Kurt
2b76fe148d
Fix property reference for Darmanitan-G
...
lul
Closes #2453
2019-11-18 19:29:05 -08:00
Kurt
5e1937d8b4
Fix fossil8 to unbreedable
...
Not needed in the HA banlist table since it can't breed.
Closes #2451 thanks @iiippppk !
(undiscovered egg group)
2019-11-18 19:26:01 -08:00
Kurt
1ea3976805
Split up Encounters8
...
Nests in their own file
Encounter types in their own files
2019-11-18 19:23:01 -08:00
Kurt
e9fdc721df
Add chewtle
2019-11-18 18:42:10 -08:00
Kurt
86796cd67a
Add accessor for TrainerCard block
2019-11-18 17:57:33 -08:00
Kurt
adf33404b3
Add Trainer Card block
2019-11-18 17:57:18 -08:00
Kurt
21c3b4e1b1
Add Ribbon interfaces to WC8
...
pretty silly but gets the job done
Closes #2446 by fully implementing all ribbon checks possible
2019-11-18 17:37:38 -08:00
Kurt
d7d2db8764
Add ribbon index enumeration and extension methods
2019-11-18 17:00:57 -08:00
Kurt
674152aa25
Add Mark interface
2019-11-18 17:00:16 -08:00
Kurt
fac5182d4b
Add a ChangeAllCount to current value dropdown
2019-11-18 16:25:27 -08:00
Kurt
5cf58dbb5f
Fix dex clearing on setting altform/gender
2019-11-18 16:21:11 -08:00
Ammako
acf5df07be
Box Layout fixes ( #2449 )
...
* Enforce box name length in Box Layout
* Fix G4 box renaming
* Fix G7 box renaming
2019-11-18 16:01:36 -08:00
Kurt
3aa3a29264
Add 3 more static enc locations
2019-11-17 22:04:52 -08:00
Kurt
38abafab99
Catch some evolution edge cases
2019-11-17 22:04:41 -08:00
Kurt
47be249331
Rework evo tree chaining to track form
...
Now recognizes & reverses form-changing evolution chains like Sirfetch'd
basically the whole process is to build the tree but point in the
opposite direction (for de-evolution paths)
2019-11-17 21:45:53 -08:00
Kurt
2c11632a3c
gen6 Un-truncate box names
...
Closes #2445 ty @Ammako
2019-11-17 20:41:40 -08:00
Kurt
4bcf60746b
Add egg move sharing checks
...
Was referencing wild caught mons that are given a single egg move; this
logic handles shared egg moves too via daycare.
Probably need to rework SplitBreed into a dictionary; this might not
catch Mime/etc split breeds if they have different tables.
2019-11-17 17:14:21 -08:00
Kurt
c2dce518c2
Invert sign of fake met locations
...
Suggested encounters check < 0
2019-11-17 16:03:53 -08:00
Kurt
d4c5919e5e
Revisions for some static encounters
...
Identified a few more
2019-11-17 15:50:41 -08:00
Kurt
fa169ff61c
Fix box binary / pcbin export
...
19784aaa41 (diff-37bd5b548e2b340e5c38fd0961a3eb04L880)
Was just exporting blank data, lol
https://projectpokemon.org/home/forums/topic/55436-issue-with-box-data-binary/
2019-11-17 14:04:04 -08:00
Kurt
13adc38ee8
Add elemental tutors
...
Closes #2443
Capture some array references to avoid re-fetching array -- array
reference is readonly so it probably won't matter
2019-11-17 11:13:57 -08:00
Kurt
ea822e9fcd
Add raid flawless IV check (speculation)
2019-11-17 09:55:27 -08:00
Kurt
86a20afe8e
Minor style fix
2019-11-17 09:47:10 -08:00
Kurt
d077d8549e
Add alcremie form display for dex edit
...
Nothing for the PKM Editor; not sure how I want to handle the reused
FormDuration work value.
For the meantime, just use the Batch Editor for a targeted write.
Closes #2441
2019-11-17 09:34:04 -08:00
Kurt
23c04cf809
Add beast ball to wild balls
2019-11-16 22:22:21 -08:00
Michael Scire
4227343a62
WC8: Add SWSH Pokeball Plus Mew
2019-11-16 22:13:44 -08:00
Kurt
f20f6cd4bb
Only check east asian script chars on gen7&below
...
Closes #2437 thanks @iiippppk !
2019-11-16 17:47:26 -08:00
Kurt
31c09c52e8
Add initial nieve check for ball inheritance
...
Closes #2438
2019-11-16 17:45:51 -08:00
Kurt
915c2d52b1
Update handling for non-competitive set import
...
Gen3 item paste -> Gen3 item import => take item ID as is
once parsing moves starts, break if any following lines are not move
lines
Closes #2412 , thanks @The-Fireplace !
2019-11-16 16:34:28 -08:00
Kurt
d981dc57e1
Handle ’ ' edge case
...
#2412
2019-11-16 16:21:17 -08:00
Kurt
31f9a5f4d8
Correctly locate pk8 foreign transfer checks
2019-11-16 16:05:45 -08:00
Kurt
08c1534cee
Lock sha256 for multithreaded use
...
Opening the database can result in multiple threads trying to hash at
the same time with the same sha256 object, so just gate it behind a lock
2019-11-16 15:46:45 -08:00
Kurt
524ceb7bf9
Fix dracozolt species ID
...
heh dunno how that happened
2019-11-16 15:02:32 -08:00
Kurt
3e4127b9e1
Track Gigantamax flag for set data
...
Closes #2436
2019-11-16 14:37:33 -08:00
Kurt
dbda5e6934
Update comments
...
align all, add location text for motostoke 3(4) encounters
2019-11-16 14:37:00 -08:00
Kurt
025cf69eeb
Switch pkm export formats to party format
...
Now dumps party format bytes
Cons: more space
Pros: stats are retained, especially when users drag-drop.
Closes #2419
2019-11-16 14:03:25 -08:00
Kurt
22fb1c8e8f
Fix - show daycare tab on sav5/7
...
Closes #2434 thanks @Ammako !
2019-11-16 13:19:41 -08:00
Ammako
6d61a97247
Fix Gen. 2 key items and balls ( #2432 )
2019-11-16 13:15:09 -08:00
Kurt
0716e50fd6
Add Gigantamax owned flag logic
...
Closes #2430 ty @igniscitrinus !
2019-11-16 13:10:46 -08:00
Kurt
e5bd026eec
Add static crustle location
...
ty @ReignOfComputer
2019-11-16 12:46:24 -08:00
Kurt
ce4cd2c60f
Add non-levelup evo methods to validator
2019-11-16 11:52:40 -08:00
Kurt
83388cc6fe
Add missing memecrypto clear
...
See the SAV7SM.cs constructor... yeah oops!
A hotfix has been posted (committing after I upload!)
Closes #2415 thanks @Ammako !
2019-11-16 11:44:48 -08:00
Kurt
d65e3369c9
Add toxtricity evo check
...
refer to sub_71007805B0 for algo
2019-11-16 11:01:00 -08:00
Kurt
3be4fde2d5
Prevent non-galar forms for wild match
...
uses the same logic as the wild area boost lines above
2019-11-16 10:35:08 -08:00
Kurt
53cec64e5e
Add recognition for dropped wc8 files
2019-11-16 09:35:14 -08:00
Kurt
b172008981
Fix Check All behavior
...
- Gender specific forms now set the correct flags
- Regular click on Check All doesn't set shiny flags
- Shift click on Check All sets shiny flags too.
Closes #2425 thanks @igniscitrinus !
2019-11-16 09:28:32 -08:00
Kurt
29d52e065f
Don't generate invalid sister-pair eggs
2019-11-16 09:00:05 -08:00
Kurt
dfcd93bfff
Fix alcremie form list, use toxtricity0 amped
...
https://projectpokemon.org/home/forums/topic/55410-alcreamie-mismatches/
2019-11-16 08:46:59 -08:00
Kurt
ab25038b58
Update max gen, add pk8/wc8 to dropdowns
2019-11-16 08:25:05 -08:00
Kurt
502adc6d74
Don't throw exception on setting giftused
...
needed in mystery gift db to clear flags (why idk)
2019-11-16 08:24:46 -08:00
Kurt
d7657f948d
Update documentation for techrecord flag methods
...
Allow an ienumerable of moves rather than a readonly list
2019-11-16 08:18:57 -08:00
Kurt
d1e9bc3877
Update evo dictionary and unreleased list
...
#2416 thanks @AnalogMan151
2019-11-16 08:18:12 -08:00
Kurt
d3b2a798fa
Fix evo via move check (tsareena)
...
Closes #2427
2019-11-16 08:01:49 -08:00
Kurt
87bb8f3b3f
Fix record clear
2019-11-16 08:00:58 -08:00
Kurt
981ed9a253
Add technical record flag editor & api
2019-11-15 23:12:28 -08:00
Kurt
848737b2a0
Remove giga gender lock
...
can be female
2019-11-15 21:05:19 -08:00
Kurt
19784aaa41
Update box format size get
...
fixes importing and exporting concatenated binaries
2019-11-15 21:01:22 -08:00
Kurt
025e36c5fc
Add treasure items to valid held item table
2019-11-15 19:50:22 -08:00
Kurt
ab7e920410
Update toxel static encounter def
...
flawless attack IVs, yay
2019-11-15 19:43:09 -08:00
Kurt
451694da28
Flag past gen transfers
...
not valid yet
2019-11-15 19:37:04 -08:00
Kurt
522d219b3c
Re-cap berries at 999
...
Closes #2414 , thanks @SatoMew !
2019-11-15 18:06:31 -08:00
Kurt
199570b12d
Update 19.11.15
...
Introducing Sword/Shield support!
Legality is still a work in progress, and documentation of encounters
and game features with respect to save data is ready for community
effort!
-Kurt
2019-11-15 17:52:08 -08:00
Kurt
cefb56a749
Sword/Shield Update
2019-11-15 17:52:08 -08:00
Kurt
d59764f25f
Fix keyitem reference
...
Closes #2410 ty @PKMWM1
2019-11-01 23:12:31 -07:00
Kurt
a6b6383538
Handle more messages
...
un-nest some classes, tooltip/menu disposing
2019-10-27 20:39:15 -07:00
Kurt
b8835facd5
Rename public "pkm" properties to non-lowercase
...
lowercase = local variable or private member
2019-10-27 12:57:04 -07:00
Kurt
ba593800d8
Keep text/value as get properties
...
Needed for binding in winforms, oops
2019-10-27 12:47:09 -07:00
Kurt
9401b7a790
More readonly struct tweaks
...
help dat compiler
minor clean elsewhere
2019-10-26 23:18:25 -07:00
Kurt
46640d48a3
Misc clean
...
un-nest classes,
move some logic to core,
update some get-only properties that return arrays to methods
2019-10-26 12:58:55 -07:00
Kurt
fcc993784b
Rename abstract pkm inherited class names
...
leading underscore for a class name = pls no
2019-10-26 12:42:33 -07:00
Kurt
e3efa65160
Cleanup
...
handle messages for dirty cleaning :)
2019-10-26 12:33:58 -07:00
Kurt
64a5c30356
Add 4th uint of fashion data
...
struct is really 16 bytes, and female uses 8 bits of the final uint
Closes #2407
2019-10-25 19:54:50 -07:00
Kurt
1c418e8394
Add advanced format output
...
groups together by encounter slottype (grass, water, etc) for a little
more detail
2019-10-25 19:53:32 -07:00
Kurt
5dcee4fb9a
Set random moves if GetMoveSet yields invalid set
...
Closes #2406
No clean way to check for these edge scenarios, so just double check the
moveset and return random moves if we fail
2019-10-24 18:11:25 -07:00
Kurt
4be35890e7
Make some usages generic
2019-10-24 18:10:23 -07:00
Kurt
f0b320eb28
Remove [Relic Gold] from g7 item banlist
...
Closes #2404 ty @CaptainBarnaklez (aka Glitch Guide Gabe on Discord)
2019-10-20 15:55:13 -07:00
Kurt
bb84ec4e89
Handle some vs message suggestions
2019-10-19 20:33:17 -07:00
Kurt
12a8dc66b6
Fix displayed bit set for gen6
...
Zukan5/6 was pushing 0 for the formBit, which was an incorrect value. I
probably should have abstracted things since gen5/6 don't behave the
same as gen7
rewrite the SetDisplayedFlag for more clarity, and to early-return
without checking displayed state if the flag is being cleared.
2019-10-19 18:24:37 -07:00
Kurt
923b581fed
Fix language flag set
...
looks like it was unfinished
2019-10-19 18:18:44 -07:00
Kurt
f77f0e8a4b
Keep gen6 dex form flags
...
oops, forgot to include ...(+ i)
ty @Ammako
https://projectpokemon.org/home/forums/topic/55244-pokedex-displays-shiny-version-of-transfered-pokemon/?do=findComment&comment=249665
no need to set editing flag as I'm not changing anything
have sav6xy use the sav6xy accessor interface instead of the main one
2019-10-19 17:38:01 -07:00
Kurt
3b0fd81aae
Rework & fix party slot deletion
...
Two birds with one stone:
- sav4 doesn't use Data (instead uses General/Storage), so we need to
use the abstracted method calls instead of trying to do things manually.
- setting a blank pkm at a party slot will decrease the party count!
don't decrease things twice.
2019-10-18 21:10:39 -07:00
Kurt
c3a6fd2a64
Handle bad gennumber indexes
...
Maybe returning 0 for "bad gen" will prevent bad array indexing...
2019-10-18 20:50:38 -07:00
Kurt
d4ce0644c8
Simplify block property names
...
[...]Block -> [...] since it's kinda redundant, we already know by its
type.
Rename offset ints that collide
2019-10-18 20:42:03 -07:00
Kurt
4302347366
Show missing editors
...
yay useless integer stores instead of checking if an interface is
implemented
2019-10-18 20:26:41 -07:00
Kurt
abe87eb369
Relocate maison stats to block access
2019-10-18 20:13:21 -07:00
Kurt
e05d75eeb7
More training bags
...
giff swsh
2019-10-17 23:02:01 -07:00
Kurt
c24851129f
Add super training block details & to block access
...
Use some properties in the super training editor, not gonna rewrite that
even though it really needs it :)
2019-10-17 20:13:17 -07:00
Kurt
fee92e4f32
Handle past gen transfer evochain for new evos
...
basically Math.Max(2, format);
we always want permissible evo chains when fetching encounters
Closes #2403 ty @Rayqo !
2019-10-17 18:23:50 -07:00
Kurt
cf955e9fc7
Fix sav7 init
...
guess I never launched this format the entire week
2019-10-16 19:08:13 -07:00
Kurt
2367fbd69a
Add docs for super training block
2019-10-16 18:49:01 -07:00
Kurt
02420d3e93
PKHeX.Core Nullable cleanup ( #2401 )
...
* Handle some nullable cases
Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data)
Make some classes have explicit constructors instead of { } initialization
* Handle bits more obviously without null
* Make SaveFile.BAK explicitly readonly again
* merge constructor methods to have readonly fields
* Inline some properties
* More nullable handling
* Rearrange box actions
define straightforward classes to not have any null properties
* Make extrabyte reference array immutable
* Move tooltip creation to designer
* Rearrange some logic to reduce nesting
* Cache generated fonts
* Split mystery gift album purpose
* Handle more tooltips
* Disallow null setters
* Don't capture RNG object, only type enum
* Unify learnset objects
Now have readonly properties which are never null
don't new() empty learnsets (>800 Learnset objects no longer created,
total of 2400 objects since we also new() a move & level array)
optimize g1/2 reader for early abort case
* Access rewrite
Initialize blocks in a separate object, and get via that object
removes a couple hundred "might be null" warnings since blocks are now readonly getters
some block references have been relocated, but interfaces should expose all that's needed
put HoF6 controls in a groupbox, and disable
* Readonly personal data
* IVs non nullable for mystery gift
* Explicitly initialize forced encounter moves
* Make shadow objects readonly & non-null
Put murkrow fix in binary data resource, instead of on startup
* Assign dex form fetch on constructor
Fixes legality parsing edge cases
also handle cxd parse for valid; exit before exception is thrown in FrameGenerator
* Remove unnecessary null checks
* Keep empty value until init
SetPouch sets the value to an actual one during load, but whatever
* Readonly team lock data
* Readonly locks
Put locked encounters at bottom (favor unlocked)
* Mail readonly data / offset
Rearrange some call flow and pass defaults
Add fake classes for SaveDataEditor mocking
Always party size, no need to check twice in stat editor
use a fake save file as initial data for savedata editor, and for
gamedata (wow i found a usage)
constrain eventwork editor to struct variable types (uint, int, etc),
thus preventing null assignment errors
2019-10-16 18:47:31 -07:00
Kurt
a70769dc76
Remove static encounter voltorb def
...
unused ingame; only electrodes are static
Closes #2399 , ty @steph9009 !
2019-10-11 08:19:35 -07:00
Kurt
4baf745af8
Use some c#8 sugar
...
static local functions
switch expressions
using usings :)
nullable next?
2019-10-07 18:40:09 -07:00
Kurt
a792e58d49
Fix poketch logic
...
ushort poketch_def
{
enabled:1
unk1:1
unk2:1
color:3
unk40:1
unk80:1
unk:8
}
byte currentapp;
u825] unlockedflags
...app-specific data follows
2019-10-06 20:27:34 -07:00
Kurt
d249975895
Make current box reads s8 instead of s32
...
https://projectpokemon.org/home/forums/topic/55168-bug-report-pkhex-unable-to-load-pokemon-platinum-save/
saves with un-initialized boxes (FF'd) have 00 FF FF FF in the first 4
bytes
2019-10-05 14:32:40 -07:00
Kurt
40db929166
Re-add resources for inventory editor
...
Closes #2398
2019-10-04 21:23:54 -07:00
Kurt
87f43a47d8
Bump lang version to 8
...
some lang upgrades
2019-10-04 20:10:50 -07:00
Kurt
255cdc6ae0
Seal r2
...
https://www.reddit.com/r/csharp/comments/dd5c1o/til_sealed_override_modifier/
only a few instances for now
2019-10-04 15:56:22 -07:00
Kurt
d3b0c392b2
Minor tweaks
...
no functional change
2019-10-03 22:21:33 -07:00
Kurt
8d8adde2b1
sealed
...
sealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealed
2019-10-03 19:09:02 -07:00
Kurt
ffe3a4ba15
Relocate resource naming for sprite fetch to draw
2019-10-03 18:23:40 -07:00
Kurt
39eedb1db2
Make PCBinary a method instead of get prop
2019-10-03 17:45:19 -07:00
Kurt
c0cdf81ca5
Default LGPE backgrounds to clean
...
Could iterate up and use the xy special backgrounds; just keep em simple
ty @sora10pls for pointing out this unintended behavior
2019-10-02 20:11:21 -07:00
Matt
72a751b9ce
Update GO Shiny Banlist ( #2397 )
...
oddish family
2019-10-02 20:04:49 -07:00
Kurt
94baab1c45
Split off image generation to separate project ( #2395 )
...
With the approaching games, PKM sprites are a different size from the 3DS era (as already hinted by LGPE, which has 56x68). It'll be a little easier to manage with this portion of the library walled off from the rest of the codebase.
Eventually the net46 target will use fody or something to merge in these extra dependency dll's automatically to not disturb the usual exe/dll experience.
2019-09-29 09:47:06 -07:00
Kurt
03c3610eb5
Handle level20 transferred feebas edge case
...
Closes #2394 thanks @iiippppk !
2019-09-27 20:22:54 -07:00
Kurt
930f4a2062
Use format specific item IDs
2019-09-25 22:40:16 -07:00
Kurt
7013d4f0c8
add 7->8 transfer legality check
...
currently flags anything transferred as illegal, which is the right
thing to do until home is released.
2019-09-24 23:28:05 -07:00
Kurt
33649d4e02
Fix bitflag clearing for g6/7 gifts
...
https://projectpokemon.org/home/forums/topic/55092-recevied-list-in-mystery-gift/?tab=comments#comment-249220
ty tsubasa830 !
2019-09-23 19:01:37 -07:00
Kurt
825e06130e
Add nullable reftype compiler checks to test proj
...
New in c# 8
Assert.True(check for null) doesn't give a hint that the obj isnt null
afterwards.
Assert.NotNull does have the compiler hint attribute
could probably use fluentexpression syntax, but resharper doesn't pick
up on the nonnullable hint like vs does.
GeneratorTests: swap FirstOrDefault to First, can keep the fluent style
and resharper gets the hint.
tl;dr : resharper doesn't look at external lib for hints, gotta use
Assert.NotNull or something that doesn't return null
2019-09-23 18:13:51 -07:00
Kurt
980a9874a3
Remove unused wrappers
...
I think I left these in so AutoLegality could function, but we already
have a couple breaking changes / build pause notice, so lets keep
cleaning our API 👍
2019-09-23 17:28:40 -07:00
Kurt
ab0b8979e9
Add swsh content placeholders ( #2392 )
...
placeholder content until real data is dumped
2019-09-23 16:56:47 -07:00
Kurt
7819c16792
Use slice operation instead of linq chain
...
Reuse IsRangeAll for smdemo detect
reset dragdrop on dropping folder (early returned)
2019-09-23 15:13:22 -07:00
Kurt
78b7409e77
Use start index for writing box binary
...
Closes #2390 ty @PKMWM1 !
2019-09-23 15:12:03 -07:00
Kurt
a60a73e9d5
Fix unintentional overflow
...
oops
2019-09-22 13:56:13 -07:00
Kurt
ea5b498f8f
Fix sav4 stored slot redirect
...
all Get*Slot fetches are now used like the Set*Slot methods.
https://projectpokemon.org/home/forums/topic/55067-box-2-bug/?do=findComment&comment=249136
2019-09-21 10:42:54 -07:00
Kurt
02014273b8
Remove unused abstractions (slotview)
2019-09-21 10:31:59 -07:00
Kurt
8912f76726
Clean up super training medal checks
...
Futureproof with transfer considerations
This is just a guess; gen7 didn't update the medal count and if we
assume pk8 overhauls the structure for a new console, they'll drop old
data.
With c#8 later next week, will move SuperTrainingMedalCount() to a
default interface method ez.
2019-09-20 20:55:36 -07:00
Kurt
3c50983afd
Use less efficient IsLevelWithinRange, for clarity
...
See previous commit for discussion; it's easier to read and maintain
this rather than have the precomputed min/max comparisons.
LevelMin - minDecrease <= min && max <= LevelMax + maxIncrease;
See EncounterArea7b:
Since we know min and minDecrease (0) before doing the linq filter we
can precompute the lowbound, same for highbound; but this isn't
immediately obvious to the reader. The perf cost is pretty much
negligible in the big picture, so leave it in the more readable state.
Thanks @fattard & @ammako !
#2389
2019-09-19 22:54:53 -07:00
Kurt
a4a0e3ac6e
Fix flute level amp direction
...
The inputs to "IsLevelWithinRange" are the highest value the
lowest-level can be, and the lowest value the highest level can be...
seems confusing (hence the original error).
If a slot is 6-7, with a wild encounter (flute), we can go +/-3 from
6-7, which is 3-10.
With an encounter of level 5, the inputs are: 5+3, and 5-3 (8, 2).
Since 8>lvlmin and 2<lvlhi, we can get a level 5 pkm from the slot
(using a negative flute yielding a -1 adjustment).
I could probably refactor it to be a 3-input signature (lvl, lvlneg,
lvlpos), and have it do LevelMin - lvlneg <= lvl && lvl <= LevelMax +
lvlpos
I should probably refactor these methods to do minLevel & maxLevel (so
baseSpecies.Level to CurrentLevel for pkm that lost their original met
data) but nothing needs the extra logic at this time.
2019-09-19 22:37:56 -07:00
Kurt
7e70d83664
Add missing filter overrides
...
Were using default filter behavior, which needs to be tweaked to account
for the original met location/level not being present (ie skip the
minLevel bounds check).
Hardcode logic for HasOriginalMetLocation for simplicity
Closes #2389 , thanks @Ammako !
2019-09-19 16:19:07 -07:00
Kurt
b41f2a3062
Extract logic from PKX
...
Extract Species Name logic to SpeciesName
Extract Language logic to Language
Remove FormConverter wrapper for string[] fetch
Rearrange some logic to more appropriate locations, update access
modifiers / types
Move some pkm array methods to arrayutil, make generic
PKX.GetVCLanguage was a dupe of _K12.GuessedLanguage() so just expose
the method
PKX is now back to pkm data manip only
2019-09-18 19:58:23 -07:00
Kurt
712a9cf4a0
Update 19.09.19
...
Update event binaries with latest from the Event Gallery
2019-09-18 15:29:07 -07:00
Matt
84f72ed2b9
Unban GO Shiny Mewtwo ( #2387 )
...
Ultra Bonus Unlock (Week 3)
2019-09-16 15:04:52 -07:00
Kurt
b9246ece37
Extract y2k datetime logic, also wardrobe tweak
...
swsh gonna have wardrobe, so rename class and relocate some logic in for
better docs
2019-09-15 22:12:32 -07:00
Kurt
0fe42a1db3
Minor tweaks
...
no functional change
2019-09-14 11:48:07 -07:00
Kurt
229bb0d05d
Merge dualbuffer into sav4
...
SAV3 has two general save chunks and storage
SAV4 also has the hall of fame block, which is a third block; no mo
silly names !
2019-09-14 11:39:48 -07:00
Kurt
972e35a289
Minor reorganization
...
Move the ea32->array creation to the actual class
2019-09-13 09:08:12 -07:00
Kurt
aa6f803ba9
fix g7sm trade strings
...
borked in a prior commit, nice string reference
2019-09-13 08:36:21 -07:00
Kurt
734aa33898
Split encounter areas, relocate slot finding to obj
...
Now logic is reasonably split, and each format of area has its own way
of yielding slots
Too much junk with checking flute boosts or catch combo applicability;
just let the area dictate how slots match.
2019-09-12 23:20:52 -07:00
Kurt
dc10c057a0
Use correct boxdata buffer when doing box manip
...
Closes #2386 ; guess I forgot to finish this.
2019-09-12 19:01:06 -07:00
Kurt
0d9c18e1c6
Minor clean
...
dual bounds check -> single check via uint cast
pkx: keep array reference for reuse in next check
format return to second line to stick out more; lines of code are cheap
:)
2019-09-11 22:17:16 -07:00
Kurt
477187a66c
Split EncounterArea into game-specific classes
...
Generating encounters from an EncounterArea is getting a little stupid
without inheritance; each type can now have its own specific behavior
without checking for each individual type of generation pattern. Will
add the abstract method implementations in a future commit
Move some string[] array fetch (for all languages) to Util
2019-09-11 22:06:24 -07:00
Kurt
40cbbaa695
Relocate to more appropriate util class
2019-09-11 18:39:49 -07:00
Kurt
c5ebbbbe15
Minor clean
...
Magic number -> const usage
default(T) -> default (c#7.x feature)
remove some unused stuff
fix indentation in some spots
2019-09-10 22:07:50 -07:00
Kurt
62d08d7c30
Misc clean
...
split some methods with optional parameters=null
add more xmldoc
replace some magic numbers -> enum/const references
consolidate common array operations (span soon maybe?)
2019-09-10 00:21:51 -07:00
Kurt
74f8e312ca
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-09-09 21:30:05 -07:00
Matt
5ab0005de7
Update GO Shiny Banlist ( #2384 )
...
Ultra Unlock Bonus, Week 2.
2019-09-09 21:07:30 -07:00
Kurt
02f36655a0
Reload box data cache on resetting slots
...
clear box and other calls to ResetSlots weren't reloading with the NEW
modified pkms.
2019-09-09 20:23:18 -07:00
Kurt
6d8ff992e2
Clean up / fix external drag in ( #2383 )
...
* stash
* Consolidate some logic
2019-09-03 19:54:41 -07:00
Kurt
edf36e8a34
Fix sav4 checksum calc
...
DPPt have a footer that's 0x14 bytes; HGSS is only 0x10 (first u32 was
removed from struct).
2019-09-03 18:16:10 -07:00
Kurt
4b8082be23
Add Pokegear number editing (hgss)
...
Closes #2379
2019-09-02 21:24:49 -07:00
Kurt
b81a1e1e29
Refactoring
...
Increase abstraction for arbitrary slot get/set operations, and fracture
SAV4 behavior for each game type.
Adds: Undo/Redo of party slot changes
Fixes: Fixed Gen5 daycare slot 2 reading, and EXP reading
Fixes: Some slot color glitchiness
Fixed: Box layout editor now hides the flag label if no flags are
present
Fixed: Gen7 box flags are now shown (unknown purpose lol)
Changed: savefile objects are generally smaller (removed a few shared
offset fields)
2019-09-02 19:30:58 -07:00
Matt
afd4ff25a5
Fix off-by-one ( #2382 )
2019-09-02 19:28:48 -07:00
Kurt
0fc9b4dd15
Fix lgpe init
...
oops prior commit
2019-09-02 19:07:20 -07:00
Kurt
ef5ff32c3c
Add GO transfer restrictions for min level
...
Closes #2381
Keep Raichu and Marowak at the end for ez referencing. Keep a separate
refence for alolan kanto stuff for futureproofing
Might want to improve the EncounterArea abstraction to do the
slot-finding labor themselves, but whatever, hardcode stuff until swsh
throws new monkey wrenches in. A good idea would be a dictionary with
level forcings [species | form << 10] = X and use the dictionary to
check on slot creation
2019-09-02 18:38:12 -07:00
Kurt
a133abc615
Add pokegear caller ID enum
...
#2379
Cheat as requested in issue not implemented yet; pending future changes
to split sav4.
2019-08-27 16:17:29 -07:00
Kurt
f0df115ccd
Fix box load on uninitialized box load
...
Closes #2376
probably will be rewritten at a later time; am reworking the slot info
messaging for drag/drop/display
2019-08-23 18:03:10 -07:00
Kurt
bf6c25eca7
Break up SlotChangeManager logic
...
A little bit cleaner when the logic is separated
Keep an abstraction of BoxEdit to cache the current box contents.
Already fetched to show sprites; any future fetches (for preview text /
hover sprite) can reuse the already fetched pkm data.
Should probably rewrite this stuff completely, but effort better spent
elsewhere
2019-08-20 19:50:28 -07:00
Kurt
d0ae47eb6c
Update 19.08.19
...
Update event binaries with latest from the Event Gallery
2019-08-18 21:51:40 -07:00
Kurt
4f3745e3c6
Change enumerate -> array fetch to force eval
...
https://projectpokemon.org/home/forums/topic/54426-pkhex-error/
trycatch will trip here rather than be uncaught when evaluated later
tbh I don't like pkhex's method chain (enumerable, bool, throws), but
this fixes the error.
2019-08-14 16:45:21 -07:00
Kurt
cf574337e9
Rewrite encounter move suggestion logic
...
more straightforward logic flow, don't repeat same <= 2 comparison
2019-08-14 16:35:25 -07:00
Matt
d85a57ac1e
Update Generation 3 Event Flags/Constants ( #2374 )
2019-08-12 15:26:00 -07:00
Matt
fb4a33ce7e
Unban GO Shiny Poliwag
...
Yokohama GO Fest
2019-08-05 21:06:57 -04:00
Kurt
8b49ddb0ad
Merge pull request #2372 from XxPhoenix1996xX/patch-13
...
Update lang_es.txt
2019-08-04 23:09:07 -07:00
Kurt
b81742c38c
Update MessageStrings_es.txt ( #2371 )
2019-08-04 23:08:58 -07:00
XxPhoenix1996xX
ec9ae87340
Update LegalityCheckStrings_es.txt ( #2370 )
2019-08-04 23:08:52 -07:00
XxPhoenix1996xX
e89c2f6d25
Update lang_es.txt
2019-08-04 19:13:56 -04:00
XxPhoenix1996xX
e2227cbddf
Update MessageStrings_es.txt
2019-08-04 18:50:34 -04:00
Kurt
9c58903f55
Fix blank sav3 : sapphire init
...
lol it's been this way for 7+mo
Closes #2369 ty @CorvusAtrox !
2019-08-04 00:59:59 -07:00
Kurt
f462f49eec
Fix sav7 map data rw
...
https://projectpokemon.org/home/forums/topic/54197-issues-with-newest-version-of-pkhex/
2019-08-02 15:11:22 -07:00
ReignOfComputer
33ae5b3ac5
Add Realgam Tower to Colosseum Encounters ( #2368 )
...
https://github.com/kwsch/PKHeX/issues/2367
2019-07-30 08:43:30 -07:00
Kurt
7424cf6fb0
Remove GSC/C differentiation in PK2
...
Allows for no adjusting the game group
2019-07-28 13:26:39 -07:00
Matt
79127d02e4
Update GO Shiny banlist ( #2365 )
2019-07-26 15:33:19 -07:00
Riccardo Boninsegna
3e7be6832c
Even more FR/LG stuff ( #2364 )
...
* corrections and styling
* FR/LG: some more story/item related variables
* FR/LG: More HMs and Oak's Aide's items
* FR/LG: League beaten flag fairly confirmed
* FR/LG: variables
2019-07-25 17:42:41 -07:00
Kurt
db632905fd
Remove WasEgg setter
...
WasEgg (aka WasDefinitelyAnEgg) from stored properties is one thing,
WasEgg from encounter info is another; don't mix
2019-07-25 17:42:20 -07:00
Riccardo Boninsegna
8ffcdc9570
FR/LG: More variables! ( #2363 )
...
* FR/LG/E: Altering Cave variable
* FR/LG: Pokemon Tower related variables
* FR/LG: Pokedex/Oak/Rival (part 1) related variables
* FR/LG: more story related variables
2019-07-23 16:08:54 -07:00
Riccardo Boninsegna
c508d49f87
FR/LG flag names ( #2362 )
...
* FR/LG: Event flags for eventually reaching event-only places
(required to enable processing of the appropriate items; officially set by DLC scripts)
* FR/LG: Badge names and Running Shoes
2019-07-23 09:40:41 -07:00
Kurt
9ed47cc8fd
Minor tweaks, no functional change
2019-07-21 12:30:21 -07:00
Matt
9cab2e366d
Misc Let's Go updates ( #2361 )
2019-07-15 09:05:53 -07:00
Kurt
894237449b
Allow differentiation between SAV2 blanks
...
Choosing G/S will initialize as GS
Choosing C will initialize as C
calling via their own code (GSC/GS) will choose the most recent (crystal
if possible).
Closes #2359
2019-07-14 15:13:13 -07:00
Kurt
a608e0b252
Minor clean
...
Remove some unnecessary properties from SaveFile
Enumerate checksum flag results for GC memcard checking
Remove unnecessary checks on savefile type
Add some documentation
Decapitalize some method parameters
2019-07-14 15:06:45 -07:00
Kurt
839500a7ee
Fix medicine offset for AO
2019-07-13 17:43:29 -07:00
Kurt
c7eecf5976
Extract summary object to core
2019-07-13 17:43:05 -07:00
Kurt
82f305cd36
Fix dex gender set again
...
Closes #2356
update test case to actually set a genderless gender
2019-07-12 23:43:12 -07:00
Kurt
f37a587a1c
Minor simplifications
...
move some pk3->pk4 stuff into object constructor
annotate pk3->pk4 string buffer (trash) quirks
split Heal into Party/PP method uses. Setting suggested stats no longer
refreshes PP
apply current level to Stat Level (wasn't being set previously)
2019-07-12 16:41:13 -07:00
Kurt
d153224af1
Add traded egg allowance for nickname
...
store bool for reuse, not any slower :)
Closes #2320
2019-07-11 22:55:41 -07:00
Kurt
face8d64a9
Fix gen5 dexflag set
...
Add unit tests to check
Closes #2356
2019-07-11 00:13:52 -07:00
Kurt
c64ff5dd76
Fix sav5 behavior
...
Closes #2356 ty @Ammako
2019-07-10 00:19:59 -07:00
Kurt
ab735de2d9
Revert "Decapitalize non-nicknamed on 4->5 transfer"
...
This reverts commit 904dc84b52
.
2019-07-09 20:24:47 -07:00
Kurt
1de685c6d8
Add Happy Hour/Hold Hands
...
per confirmation from @PP-theSLAYER
https://projectpokemon.org/home/forums/topic/53818-these-events-are-flagged/?do=findComment&comment=246918
they probably won't release these two moves tho, LGPE has become stale
2019-07-08 22:18:15 -07:00
Kurt
90cc8ca3ec
Add Celebrate for lgpe valid move filter
...
event move only
still haven't bothered finding the table in the exefs that results in
the pkm with an oob move being dummied. hardcoded based on data for now
:)
2019-07-08 22:14:21 -07:00
Kurt
3f4f02cee1
Add string quality tests
...
Expect no duplicates in met locations, items, or moves. These are arrays
with common duplicate strings (poor localizations).
Should help futureproof / help implementation for this type of err:
https://projectpokemon.org/home/forums/topic/53818-these-events-are-flagged/
2019-07-08 22:05:59 -07:00
Kurt
605b410d52
Make Distribution Super Training missions invalid
...
Was initially implemented as fishy during SM's initial implementation. Any nonzero value in this byte is invalid, don't even bother checking unused/count.
Now that Gen6 (and Gen7) are no longer current gen, any hope for them being released is the same as hoping for Gen4's Azure Flute Arceus. Thus we mark as invalid :)
Closes #2353 by effect of no longer flagging as Fishy. I think that my initial implementation of VC stuff had assumed the Generation==7, but later used 1/2 for factual correctness.
2019-07-08 12:12:16 -07:00
Kurt
cf0908a21e
Remove check for impossible conditions
...
#2354
SUBE is never < 0 with the latest change (blank saves behave same as
retail saves).
2019-07-08 10:03:53 -07:00
NotTsunami
e29da1a8e8
Remove check for impossible condition in XY Save ( #2354 )
...
XY can't be ORASDEMO
2019-07-07 22:58:33 -07:00
Kurt
fef4dbb9dc
More super training checks
...
Check the secret unlocked/complete flags for eggs
Check the count for VC, and flags too (even though they're checked
later, just do it here)
#2353
2019-07-07 15:04:58 -07:00
Kurt
15c44139c3
Fix record read offset
...
Closes #2353
first 100 are u32, second 100 are u16; shift accordingly
2019-07-07 14:54:38 -07:00
Kurt
8f88e630c2
Fix ORAS inventory class type
...
now no longer removes items from pouch
https://projectpokemon.org/home/forums/topic/53761-oras-item-problems-with-new-version/
2019-07-07 08:43:58 -07:00
Kurt
772a2715c0
Fix SecondsTo* read offset
...
copypasted from gen6's, oops
Thanks CreamatedReptile2018!
2019-07-07 08:43:04 -07:00
Kurt
f2ac29ff4e
Relocate some logic
...
slightly reduces savefile.cs footprint
2019-07-05 22:02:29 -07:00
Kurt
9a61f0de0f
Minor relocation of logic
...
and the gradual shift to full-oop continues
2019-07-05 21:39:47 -07:00
Kurt
c0eda5eb61
Add more dex bulk manip options
...
unused, not sure how an abstraction can work for all games (needs some
virtual methods to actually work, since 1-3 don't have langflags)
2019-07-05 18:49:43 -07:00
Kurt
aa94c70df2
Hide gen6 dex logic behind zukan class
...
Same as prior commit for gen5 & gen7
2019-07-05 18:04:36 -07:00
Kurt
adbb3e842a
Hide gen7 dex logic behind zukan class
...
Same as prior commit for gen5
2019-07-05 17:05:42 -07:00
Kurt
79a9269fbe
Hide gen5 dex logic in Zukan class
...
Didn't change any of the bulk modifications, but the data get/set is now
done via the Zukan object rather than raw data manipulation
2019-07-05 16:21:53 -07:00
Kurt
7f186048fb
Really fix dex lang flag offset style
...
c345688f6d
base(x) -> base(x - y) resulted in incorrect offsets for LGPE. Great.
Just make PokeDexLanguageFlags a shift offset instead of absolute;
update all usages.
Closes #2348
2019-07-05 12:16:09 -07:00
Kurt
599ec4ed45
Fix checksum offset fetch
...
#2348
2019-07-05 11:57:40 -07:00
Kurt
810f7271c6
Clear boxes after initialize
...
Closes #2349
2019-07-05 11:53:13 -07:00
Kurt
808c1d2992
Update 19.07.05
...
Update event binaries with latest from the Event Gallery
2019-07-04 22:00:48 -07:00
pokecal
6b3d6999d1
update MailBoxEditor ( #2344 )
...
fixed FRLG offset, etc.
2019-07-04 21:48:18 -07:00
Kurt
5a8b421672
Add jp crystal eventflag offset
...
was pointing to an FF'd region, was added back via
e86b8c670f
Closes #2347
2019-07-04 15:07:37 -07:00
Kurt
7a2b27ebbe
Provide min level to evochain fetch
...
Feels pretty brittle with all the optional parameters; if things get
funky for SW/SH it may warrant a rewrite of this portion
Closes #2345 ty @iiippppk !
2019-07-02 08:34:28 -07:00
Kurt
b5945624eb
Add VC2 trade OT gender check
...
Closes #2343 ty @WEERSOQUEER !
#2338 was referenced by
4d08e21126
, that commit was incorrect. Looks like these 2 have OT Gender female.
Instead of marking every trade MALE except for these two, just update
the handling (i'll probably regret this lol)
2019-06-29 17:43:09 -07:00
Kurt
4eb3f8529b
Filter Species & Moves for legal combobox display
...
LGPE will missingno your pokemon if it's not a Kanto/M&M, or one of its
moves is not obtainable. For the user's benefit, filter down these
sources to the non-baddata list.
Item filtering and ball filtering might be something to think about for
the future, but not much benefit vs effort.
2019-06-29 08:19:01 -07:00
Matt
08ea140f17
Update GO Shiny banlist for GO 3rd Anniversary ( #2342 )
...
* Update GO Shiny banlist for GO 3rd Anniversary
2019-06-28 11:04:23 -07:00
Kurt
c8747d4ede
Apply OT mismatch deferral to gen2
...
Check the OT length for the deferral
other encounters are more permissive than trades, hence why we defer
unless we know for certain. Same OTs are possible, except for the
too-long ones!
Closes #2338 , thanks @WEERSOQUEER !
2019-06-27 21:38:24 -07:00
Kurt
4d08e21126
Explicitly check VC in-game trade gender
...
can't have Female ever, so check == 0
#2338
2019-06-27 21:24:08 -07:00
Kurt
da93a19c05
Add edge-case transfer OT cases
...
Needs to be checked prior to the strict Array Index search, as we can't
have an exact string match.
can probably be revised to a StartsWith to only check for the specific
language match, but that's a little less obvious & extra work :)
#2338
2019-06-26 21:19:37 -07:00
Kurt
7e0fc61428
Add unused character encodings to dictionary
...
Two of the inaccessible keyboard chars are used by Spanish trades, so
they aren't completely unused.
#2338
2019-06-26 21:16:18 -07:00
Kurt
71fdd01a93
Fix Stationary haxorus encounter gen
...
remove unnecessary %25 check (only applicable for gen4 encounters),
unneeded for gen5 method.
add a test case to generate a haxorus for all natures, verify shininess
Closes #2336
2019-06-26 20:37:26 -07:00
Matt
4ff5fcb25c
Add SM Poké Ride flags ( #2341 )
2019-06-26 11:39:39 -07:00
Matt
a47036d2f4
Add USUM Poké Ride flags ( #2337 )
2019-06-26 06:35:27 -07:00
Kurt
444eab0756
Add mystry mew seed table
...
no validation for wc3 encounters yet, dunno when that will happen
2019-06-25 21:15:56 -07:00
Matt
7472ba8152
Encounters cleanup ( #2335 )
2019-06-25 10:55:35 -07:00
Kurt
6b18208ccb
Fix g2 trade OT check
...
Closes #2332 thanks @WEERSOQUEER !
2019-06-24 15:45:52 -07:00
Kurt
59ddd4b3dd
Add lure ball to ball color table
2019-06-22 20:00:17 -07:00
Kurt
c345688f6d
Fix dex lang bitflag offset write
...
LangFlags is expected to be less than 0x500 or whatever, zero indexed to
the start of the dex block; NOT an absolute position.
I don't feel like making every usage consistent (gen5, gui editors)
which use the absolute position, so just adjust in the zukan
constructors
2019-06-22 16:53:25 -07:00
Kurt
cbd039b18c
Extract datasource filtered lists to object
...
GameInfo has been the storage for the current Game Language environment
When using GameInfo, only one environment is tracked at a time, which is
initialized by the PKM editor (items, moves). Rework things to allow
multiple filtered sources to exist, and keep the filtering logic in
PKHeX.Core for reuse in other programs... ;)
2019-06-22 10:50:32 -07:00
Kurt
e81e5f31da
Remove shadow info index shift
...
Thanks @PP-theSLAYER !
https://projectpokemon.org/home/forums/topic/53405-bug-oddity-with-shadow-recognition/?do=findComment&comment=246125
2019-06-20 20:39:34 -07:00
Kurt
63c705061d
Add recognition for Method 3 encounters
...
Pass them as Legal for wild encounters similar to M1/M2/M4.
Add test cases & test pkm validation
Add pid generator support
I decided against checking these PIDIVs after all others; inlined
methods.
Closes #2328 , thanks @pokecal !
2019-06-19 19:15:06 -07:00
Kurt
dc813da2f7
Add DisplayTID/SID getset
2019-06-19 17:49:56 -07:00
Matt
08835d5d97
Fix ORAS held items/personal reference ( #2329 )
2019-06-19 12:18:09 -07:00
Kurt
5fbf9ba278
Fix cloning of a bad-checksum pk3
2019-06-18 20:55:35 -07:00
Kurt
e02f7ef30f
Reduce allocation required for ability check
2019-06-18 20:54:59 -07:00
Kurt
523c36d982
Add qr parse util
...
used in pkhex.mobile, might as well migrate some logic into core
I'd rather not untangle the decode-api response parsing to use QRUtil.
2019-06-18 20:10:01 -07:00
Kurt
55d486af31
Extract event block diff logic
2019-06-18 18:10:48 -07:00
Kurt
de77f949da
Prevent assert on non-exportable saves
2019-06-17 20:55:01 -07:00
Matt
59a7e247cb
Update GO Shiny banlist ( #2325 )
2019-06-13 08:46:53 -07:00
Matt
186adca755
Unban GO Shiny Onix ( #2323 )
2019-06-10 22:33:34 -07:00
Kurt
7225b2b87b
Add more sav1/2 option properties
...
Closes #2321
Closes #2322
no gui as SimpleTrainer is kinda getting overloaded; use linqpad or wait
for someone to make a GUI for the specific games
2019-06-09 14:15:42 -07:00
Kurt
455ab32722
Retain override version on clone
...
Also hide the pika friend label when YW features hidden #2283
2019-06-09 13:48:51 -07:00
Kurt
a30a00317f
Add missing trainer location overrides
...
Was missing from #2319
2019-06-08 20:19:39 -07:00
Kurt
904dc84b52
Decapitalize non-nicknamed on 4->5 transfer
...
Closes #2320
2019-06-08 20:16:30 -07:00
Kurt
1b028198ad
Split gen5-7 saves with inheritance ( #2319 )
...
refer to pull request comments for summary
2019-06-08 19:56:11 -07:00
pokecal
84d1354e2f
Update EncounterArea.cs ( #2318 )
...
fix FishingTable of Route12,13(same as R32), R14(water inaccessible).
Some issues about Qwilfish will be solved.
2019-06-07 19:24:59 -07:00
Kurt
de774ed131
readonly ComboItem
...
create once, never modified after
2019-06-01 19:12:41 -07:00
Kurt
2b8ef9236a
use some explicit dex numbers as enum
2019-06-01 10:22:49 -07:00
Kurt
36114e6ff9
Update checksum on templating
...
pk3 loading tries to decrypt shuffle or something; this makes it work
2019-05-29 22:50:34 -07:00
Kurt
9cdbc46740
Relocate apply basic template out of gui
2019-05-29 22:40:39 -07:00
Kurt
a9152d36a4
Minor tweaks
...
make some enums non-int (in favor of byte etc)
return current nickname if desired
clamp nature top bound too
2019-05-29 22:40:07 -07:00
Kurt
5879cc8a18
Extract some pkm gui logic
...
probably won't stay this way if things are eventually rewritten; too
much business logic in the pkmeditor.cs, would need a ton of abstraction
2019-05-29 21:35:52 -07:00
Kurt
144a78d688
Relocate method
2019-05-29 16:42:48 -07:00
Kurt
8d781fd167
Simplify sorting to remove linq usage
...
create custom comparer to do the work
reorder some parameters
simplify gb hm set (All and FindIndex is duplicate work)
only usages of linq remaining are for the bulk action Where filtering
(ok)
2019-05-28 22:55:41 -07:00
Kurt
513648638f
Fix incompatible hax conversion (1/2->3 etc) error
...
Shared base classes throw a new snag, where the property may be Declared
in the shared class.
eg:
PKM -> _K12 -> PK2
just filter all public ones that have a setter; works well enough idk
2019-05-28 16:52:59 -07:00
Kurt
a45cddd3ed
Add missing hax item clamp early return
...
Closes #2281
remove unnecessary "else", and break for visual separation
2019-05-27 21:38:04 -07:00
Kurt
33a07a6fcd
Try and force destination language on transfer
...
Closes #2314
2019-05-27 11:23:47 -07:00
PP-theSLAYER
88d7be62d9
Removed Special Funfest Poliwag & updated min Lvl. ( #2315 )
...
According to the link below, the official page states that Poliwag's announcement was a mistake, and they clarified it would not be appearing.
This message was echoed across various pages (Sapporo, Fukuoka, Tohoku), not just the Yokohama one.
https://voice.pokemon.co.jp/stv/yokohama/2013/08/post-2286.html
Additionally, based on tests from me and jojo, Funfest missions forces the grotto encounters to be max level (of the individual grottoes).
https://projectpokemon.org/home/forums/topic/39810-unlock-all-funfiesta-missions/?do=findComment&comment=245303
2019-05-27 00:39:36 -07:00
PP-theSLAYER
968f850138
Added Funfest week 3 encounters ( #2312 )
2019-05-21 23:37:47 -07:00
Kurt
6e8f7fe680
Fix pgf gender criteria roll
...
got stuck in an infinite loop for PID (gender invalid from the start)
https://projectpokemon.org/home/forums/topic/52873-pkhex-mystery-gift-database-not-working/
2019-05-20 18:35:57 -07:00
Kurt
9b8b8f784a
Revert "Add another vc nature checks"
...
This reverts commit b51bdc9230
.
2019-05-20 17:05:53 -07:00
Kurt
d1bc1d07c8
Disallow shiny aura
...
if hadou were here, it'd get the same anti treatment too
2019-05-17 17:48:45 -07:00
Kurt
827eb94f3c
Add GameSync r/w for lgpe
...
https://projectpokemon.org/home/forums/topic/52797-request-lgpe-game-sync-like-value-to-be-added/
ty @PP-theSLAYER !
2019-05-16 22:26:51 -07:00
Kurt
7f9328e883
Fix vivillon comparisons
...
Fix template->pkm form fetch too; would return 0 for non-subregion
countries rather than the Country Specific form ID
https://projectpokemon.org/home/forums/topic/52800-invalid-internal-error-with-the-spewpa-evolution-line/
2019-05-16 22:01:11 -07:00
Kurt
73b61e5bf0
Add gender changed azurill evo pokewalker edge case
...
Closes #2311 , thanks @SpiredMoth !
2019-05-15 17:14:48 -07:00
Matt
25985f11e6
Fix Static/Gift IV method call ( #2310 )
2019-05-15 12:07:48 -07:00
Kurt
b7f024e3ea
Fix arceus held item compare
...
https://projectpokemon.org/home/forums/topic/52771-bug-report-pkhex-20190515-arceus-forms-error/
2019-05-15 09:46:52 -07:00
ReignOfComputer
7625ab66b4
Fix Import Count on Load Boxes ( #2308 )
...
Calculation was wrong if non-overwrite is selected. Also fixed OCD-triggering extra space in output message.
2019-05-15 09:11:48 -07:00
Kurt
be8e8851e2
Update 19.05.15
2019-05-14 22:47:48 -07:00
Kurt
1d44136e54
Update xd fateful flag leniency
...
not enough documentation to know what every single flag does; just be
lenient
I assume that flags being present XK3->PK3 will set fateful, so we could
remove that logic...
Exposing bitflags for editing isn't fun for the editor, so just ignore
it behind the fateful bool get/set.
fateful required for all xk3 origin
#2289
2019-05-14 20:14:15 -07:00
Kurt
555e81205d
Update fateful encounter read location
...
Closes #2289
2019-05-14 18:36:48 -07:00
Kurt
091b9e2281
Add g4 poffin editor (misc edits)
...
Thanks @sora10pls for docs!
https://pastebin.com/jNeVJQi0
2019-05-13 22:56:45 -07:00
Kurt
5140350ceb
Bump to net standard 2
2019-05-13 22:33:24 -07:00
Kurt
76e3174d8c
Add gen4 poffin logic
...
800 bytes starting at Offset = SAV.DP ? 0x5050 : 0x52E0;
8 bytes per poffin, 100 poffins.
2019-05-13 18:42:30 -07:00
ReignOfComputer
6c42e3b1bb
Enhance Invalid Convert Error ( #2305 )
...
Makes it clearer for conversion failure with Pokemon files - prevent confusion with save files.
2019-05-13 15:38:33 -07:00
ReignOfComputer
2b39d75141
Allow Open WB7Full / WB7 ( #2304 )
2019-05-13 15:35:40 -07:00
ReignOfComputer
9d6127dfc2
Fix C# 7.2 Build Error ( #2303 )
...
Explicitly target LangVersion 7.2.
2019-05-13 15:35:19 -07:00
Kurt
15f93216bd
Fix record flag clearing
...
yay missing ~, Closes #2301 ty @CanoeHope !
rewrite flag loading to not use linq
2019-05-12 15:08:04 -07:00
Kurt
bad16adcee
Fix sav7b clone method
...
underlying data should be a different reference when cloned
2019-05-12 15:06:50 -07:00
Kurt
4703a3d364
Fix incorrect method call
...
IVs for regular trade gifts can have random IVs; only VC-era have purely
fixed IVs.
Closes #2300
2019-05-11 17:03:22 -07:00
Kurt
4b770e62d9
Simplify and relocate wurmple evo logic
2019-05-11 14:25:58 -07:00
Kurt
feb36f58b5
Minor simplification
...
#2298
#2299
2019-05-11 13:10:51 -07:00
Andrew Johnson
b1ad10d8ad
Add shiny check for Ash-Greninja ( #2299 )
2019-05-11 13:08:22 -07:00
Kurt
21e7f4317e
Minor updates
...
increase readability, simplifly some expressions
relocate hot path for legality report string creation
2019-05-11 10:12:14 -07:00
Kurt
332784d34b
Misc updates
...
parameter name lowercase
simplify some comparisons/calcs
reuse comparison methods
wrap memory dump into readonly struct
2019-05-11 00:59:07 -07:00
Kurt
55189a6967
Extract most common location numbers to class
2019-05-10 20:46:49 -07:00
Kurt
72edb6aa72
Misc tweaks to 3->4+ branching
...
more lines, a little clearer
2019-05-09 22:47:37 -07:00
Kurt
b51bdc9230
Add another vc nature checks
...
transfer level exp and current exp not being different enough, which
limits the amount of natures possible. Could handle the 100&<=2 cases
the same way, but keep the branches for faster cases.
fix bad test cases
2019-05-09 01:56:44 -07:00
Matt
316430985a
Unban Shiny Seel ( #2293 )
2019-05-01 14:23:08 -07:00
Kurt
042e5176a6
Remove hardy shuckie & version split
...
Not version specific; I'm assuming the 00020003 PID is a result of
hacking the save file to change OT gender. Legitimate saves haven't
yielded the Hardy PID. Changing gender probably results in a bad
pointer, fetching the wrong value.
Closes #2290
2019-04-30 17:03:12 -07:00
Kurt
520c9da5c9
Update string loading
...
Remove usage of linq for sorting, use array.sort for in-place sorting.
Wasteful creating temp sorted buffers then enumerating them to dump into
the list.
2019-04-29 21:55:43 -07:00
Kurt
7094132eac
Fix b2w2 fr trade OT name
...
Closes #2291 ty @WEERSOQUEER
2019-04-29 17:42:39 -07:00
Kurt
be50830975
Relocate method to extension logic class
...
GetLocationString is now right below GetPotentialString
PKX no longer has extension methods aside from the two CopyTo sugar
2019-04-29 17:36:29 -07:00
Kurt
300ef4d60a
Minor simplifications
...
Use "SetData" method to automatically apply the Edited flag
Use appropriate method for CopyTo
simplify expressions a tad
2019-04-29 17:21:19 -07:00
Kurt
7c380a29c3
Make sort skip delegate more general
2019-04-29 17:20:16 -07:00
Kurt
9838ea9a2b
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-04-29 16:40:58 -07:00
Matt
091e64571b
Update GO shiny banlist ( #2292 )
2019-04-29 15:32:17 -07:00
Kurt
0dc45c00ec
Check block index before calculating
...
Missing/Duplicate blocks (???) result in -1, so skip them.
https://projectpokemon.org/home/forums/topic/52437-cant-export-unmodified-sav-file/
replace linq with manual allocation
2019-04-27 17:19:54 -07:00
Kurt
0bd6caf927
Fix male-only dex bit wiping
...
only wipe the index specific bits, don't wipe everything but the index
specific bits
2019-04-22 22:25:14 -07:00
Matt
963cb1aa99
Unban GO Shiny Lapras ( #2287 )
2019-04-17 22:49:58 -07:00
Kurt
d8f064409f
Fix pk1->pk2 conversion parameters
...
https://projectpokemon.org/home/forums/topic/52273-replicable-issue-cant-inject-pk1-in-silvercrystal-save/
Thanks Maddaren!
2019-04-17 18:35:51 -07:00
Matt
b8c490ae2e
Update GO shiny banlist ( #2286 )
2019-04-17 12:53:13 -07:00
Kurt
35851fcf5c
Simplify and enhance expression
...
cache fetch of PersonalInfo (avoid re-fetching)
If event, the pkm wasn't bred with ditto
If genderless or male-only (except nido/volb), assume ditto
2019-04-16 23:07:47 -07:00
Kurt
ab64eb5850
Trim unused
2019-04-16 22:58:37 -07:00
Kurt
a481757b45
Relocate CheckEncrypted to PKX
...
PKX references within the method; no dependence on anything in
PKMConverter
2019-04-16 22:51:01 -07:00
Kurt
5a53c2490a
Simplify expression, emit inner error messages
...
existing logic had been overwriting the inner error messages with the
generic fail message
Remove backwards conversion precondition check; the ConvertPKM method
has no branches that allow conversion so it'll naturally fail -- end
result is the same with less upfront logic.
2019-04-16 22:38:50 -07:00
Kurt
86d10af78b
Minor clean
...
cache Generation value, store arceus stuff as ushort
2019-04-16 22:14:21 -07:00
Matt
7e553155e1
Fix PKM conversion prompt order ( #2285 )
2019-04-16 10:54:29 -07:00
Kurt
934595126f
Simplify qr gender
...
use personalinfo object to do majority of work,
end result has the 4 sequential bytes set neatly
2019-04-15 15:43:48 -07:00
Kurt
286df71c5a
Hide sound type for nonyellow gen1 saves
...
Closes #2283
Fix label name & update translation file for them
2019-04-15 15:38:49 -07:00
Kurt
9736efd332
Updates continued
...
Use clone track bool
could instead track the result for each pkm step instead, for extending
functionality to mass-delete any flagged entry (cleanup).
2019-04-14 16:04:36 -07:00
Kurt
34ea56c2a7
Minor updates
...
Fresh day, fresh tests of the new code :)
Fix assert conditions
Add extra considerations
Detected clones should be skipped for PID/EC/TID checks -- should
probably detect this a different way rather than checking a computed
string (bool array of flags for the clone check results)
2019-04-14 09:06:43 -07:00
Kurt
0fdd9d98e6
Fix xmldoc typo
2019-04-14 09:04:40 -07:00
Kurt
3d60bea245
Add savefile-wide pkm legality checks
...
clone checks, duplicate PID/EC/TID
untested & no gui access for now
2019-04-14 01:06:34 -07:00
Kurt
74a45c436a
Remove machoke trade catchrate restriction
...
reverts to 90
Closes #2282 , also evident in RoC's PC files (as 90 catch rate).
2019-04-12 22:46:05 -07:00
Kurt
289a36cbd4
Relocate tables to folder
...
less overpopulated folders
2019-04-12 14:12:30 -07:00
Kurt
ba2b9ace8d
Use byte for pp value storage
...
more appropriate storage; for 3887 indexes -> saves 11.3KB
2019-04-10 22:05:57 -07:00
Kurt
27dfffd5b2
Add model-gender/starter-gender get/set
...
https://projectpokemon.org/home/forums/topic/52127-lgpe-save-research/?tab=comments#comment-243751
Thanks theSlayer!
(starter gender not modifiable via gui)
2019-04-10 17:03:05 -07:00
Kurt
82fb95b436
Add ConfigSave language get/set
...
This value is what determines what language the game runs with
2019-04-09 21:19:08 -07:00
Kurt
f4740bbe52
Capture reused variables
2019-04-09 20:58:19 -07:00
Kurt
1a343c3b21
Add more xmldoc
2019-04-09 20:57:44 -07:00
Kurt
2f2512b09c
Reduce allocations for checking file write time
...
FileInfo inherits from FileSystemInfo, which initializes a bunch of
strings that we don't need
this isn't a great optimization, just a fun exercise finding a quicker
approach to get these values
2019-04-05 18:45:59 -07:00
Kurt
054d498619
Add vc transfer nature checks
...
Closes #2279 thanks @SadisticMystic !
2019-04-03 20:13:35 -07:00
Matt
21e7d82468
Update GO shiny banlist ( #2278 )
2019-04-02 13:59:43 -07:00
Kurt
9e83e13559
Update 19.04.02
...
Update mgdb too
2019-04-01 18:35:01 -07:00
Evan Dixon
1ccbddd442
Merge pull request #2276 from kwsch/nupkg-license
...
Add NuGet metadata
2019-04-01 19:47:55 -05:00
Kurt
bbe56a3318
Simplify trade trainer parameters
...
Bank was always false, don't try to minimalize gets by fetching before
call (be simple)
remove unreachable branches now that dust has settled
2019-03-30 22:05:28 -07:00
Kurt
e614aa9ac8
Relocate xd/batrev encryption
...
update some xmldoc too
2019-03-30 21:28:32 -07:00
Kurt
f212ba29c9
Misc reductions
...
same stuff as previous commit but for Gen2
EventConstMax is always > 0, remove guards
2019-03-30 16:38:52 -07:00
Kurt
4f347fbfa9
Misc reductions
...
no functional change
2019-03-30 16:21:45 -07:00
Kurt
609db23dc5
Consolidate pouch load/set
2019-03-30 16:10:14 -07:00
Kurt
db7feaa8eb
Update translations with latest additions
2019-03-30 12:37:18 -07:00
Kurt
e1a3c8edb3
Add RTC reset, allows game to define on continue
...
Closes #2273 , thanks @SatoMew !
2019-03-30 12:34:51 -07:00
Kurt
bb8cf5d3d8
Simplify get/decrypt pkm access
2019-03-29 19:43:33 -07:00
Kurt
5dcf2f4dc8
Use enum instead of nullable bool tristate
2019-03-29 17:52:26 -07:00
Kurt
4f2b9baede
Add missing stamp
...
Closes #2274
2019-03-29 09:40:31 -07:00
Kurt
86db3e85e7
Unban HA g7 monkeys
...
https://twitter.com/SerebiiNet/status/1111223652178112513
bank gift can breed to pass on HA
2019-03-28 21:44:46 -07:00
Kurt
c7a610b02b
Fix typo in method names
...
Transferrable->Transferable
2019-03-28 21:44:06 -07:00
Kurt
e83f313281
Remove unnecessary abstraction
...
less objects with only 1 property/field, less objects created = faster
2019-03-23 18:59:45 -07:00
Kurt
55c7bf9858
Remove unnecessary abstraction
...
EvolutionSet was just an object that hides an array, with no logic
was planning to use the EvolutionSet to do the evolution checks, but
EvolutionTree was required to connect the evolution chains together
2019-03-23 10:36:28 -07:00
Kurt
41e066c562
Consolidate duplicate logic
...
Reformat g1/2 evolution data binaries for easy loading
precomputed count => no unnecessary allocation/resizing
2019-03-23 10:05:33 -07:00
Kurt
20f023e619
Reduce allocations
...
GetMethod used to create new array every time; reuse static hashset
(same arrays)
use scan approach to allocate required count
2019-03-23 01:01:04 -07:00
Kurt
4650a6f5b5
Reduce sizes
2019-03-22 21:19:47 -07:00
Kurt
583fcfa449
Use builtin struct instead of anonymous object
...
faster overall
2019-03-22 18:46:31 -07:00
Kurt
bc5ed2d218
Misc reductions
...
Removes empty trashbyte array allocation (less objects)
Change int[] to byte[] (less filesize/mem) (-256*6)
Change int[] to ushort[], precompute reverse table in saved space
removes dictionary lookup for array index fetch (faster, less memory, no
temp obj allocations!)
could make the ushort[] arrays into byte[] by changing them to be value
shifts? Not worth saving filesize for cpu.
2019-03-22 18:42:03 -07:00
Kurt
687da38e2e
Add pkrs infected/cured setters
2019-03-21 16:48:17 -07:00
Kurt
cce362b98a
Relocate FFFF trim (and 0000) to same location
2019-03-20 22:13:09 -07:00
Kurt
b1ead9e630
Split StringConverter into smaller pieces
...
reduces loading time (don't have to allocate conversion arrays when
launching a gen7 game), and separates things to easier to manage
locations
reworks gen3 string encode/decode, no longer does 3->4->5 and 5->4->3;
instead goes straight to the end result without an intermediary format.
String sanitization should probably be broken up rather than reused, oh
well.
2019-03-20 21:50:44 -07:00
Kurt
8bc949152d
Enhance IEncounterable list summarization
...
separates by type (wild, egg, etc) then groups by generation, listing
the locations and games that can obtain it in that location
2019-03-19 22:05:13 -07:00
Kurt
fad5e4bdee
Expand comboitem loading for simple cases
...
slightly less gc pressure, precompute capacity
2019-03-18 21:55:33 -07:00
Kurt
82a40cb965
Misc updates
...
add comboitem list to string[]
add regions list as cached comboitem list
lock resource cache on fetch
extract alola time list generating
2019-03-18 21:34:21 -07:00
Kurt
7e8154fa62
Make parsing flexible / diacritic insensitive
...
Flabébé if users manually type it :)
2019-03-18 18:09:48 -07:00
Kurt
53dbdf62f7
Add more test cases, case insensitive parse
2019-03-18 00:04:17 -07:00
Kurt
5e3b390fe1
Add learnability API and tests
2019-03-17 22:19:46 -07:00
Kurt
d975081a86
Add short/long name property differentiation
2019-03-17 22:19:37 -07:00
Kurt
9f7f9f9e75
Use glyph dictionary instead of creating 19 strings
...
muh optimization
2019-03-16 20:15:12 -07:00
Kurt
3eed1370c1
Minor simplification
...
if conditional checks >=3, and all subsequent checks require Valid; add
this to the continue condition, and remove unnecessary comparisons
update some comments
2019-03-16 20:07:30 -07:00
Kurt
99baca5f5e
Use min parameter count
...
PK2 doesn't like getting passed null for the byte[] parameter (rightly
so); don't depend on the src code order having the first constructor
being the one with the least arguments
fix it in pk1/2 so that the first constructor has the least args, anyway
2019-03-16 20:04:44 -07:00
Kurt
8a08d32dff
Simplify pkm constructors
...
remove Identifier param. 99% of the time, identifier is not provided,
resulting in a useless call
end result:
provide 'create new' and 'create from' constructors
2019-03-16 18:41:56 -07:00
Kurt
fb76032a39
Remove unnecessary null checks on constructors
2019-03-16 18:23:50 -07:00
Kurt
5765ce8229
Extract gc version IDs to separate logic
2019-03-16 16:48:38 -07:00
Kurt
ebc7c6ae29
Remove PKX.LCRNG method
...
Duplicate with RNG.LCRNG
reuse cryptarray for gen5 mysterygift r/w
2019-03-16 16:25:25 -07:00
Kurt
fc10fd3d60
Simplify transfer xor, extract glyph conversion
2019-03-16 16:19:00 -07:00
Kurt
9ca4ef1e09
Move pkx hidden power logic to HiddenPower.cs
2019-03-16 12:07:22 -07:00
Kurt
13a6d16cb9
Relocate checksum/dexform logic
2019-03-16 12:01:21 -07:00
Benjamin Sinkula
e4d59b8b98
Add PlayerNames and MatchDate to BV7
2019-03-15 14:35:55 -05:00
Kurt
41bc3f6182
Fix header'ed file export
...
For xd, getfinaldata returned a standard 344KB save, but then slapped it together with the inner savedata (0x28000 bytes) rather than using the GCI header. Don't use 'Data'
2019-03-15 10:26:16 -07:00
Kurt
94c80fd32c
Update 19.03.11
...
update mgdb latest
2019-03-10 22:56:30 -07:00
Kurt
e0ca0ac1f4
Add decoration / unown puzzle flags
...
UnlockAllDecorations already exists in SAV2.cs , but expose these in the
GUI with names
2019-03-09 23:13:07 -08:00
Kurt
e8a5a55323
Add union/berry crush stat ids
2019-03-09 10:26:43 -08:00
Kurt
88e2bce495
Sync gs en flags
...
match zh/ja
2019-03-09 00:16:16 -08:00
Kurt
0d5ee9489b
Fix memcard sav cloning
...
Closes #2267 , Thanks @PMArkive && @Subject21J !
2019-03-07 18:05:55 -08:00
Kurt
bd00680545
Fix incorrect block index ref
...
https://github.com/kwsch/PKHeX/issues/2267
Still doesn't fix the underlying issue
2019-03-07 17:30:50 -08:00
Kurt
ee787a0f71
Fix HoF size check
...
now matches the code in ChecksumsValid (< instead of <=)
2019-03-07 15:45:51 -08:00
Kurt
9b783dd047
Unban mankey/machop shiny pgo transfers
...
https://pokemongolive.com/en/post/battleshowdown2019/
Mar. 5, 2019, at 1:00 p.m. PST (GMT −8) to Mar. 12, 2019, at 1:00 p.m.
PDT (GMT −7)
2019-03-05 23:09:39 -08:00
Kurt
61bf82e2bd
Add gs event flags
...
https://projectpokemon.org/home/forums/topic/49717-pkhex-flag-editing/?tab=comments#comment-240804
via pret repo; looks like 2000 event flags, and 0x100 event
consts/work-vals (byte)
add more rebattle toggles
2019-03-05 23:06:05 -08:00
Kurt
8d49400b07
Change SecondsTo* from int to uint
...
having a year > 2050 can result in a 32bit seconds value (top bit set);
instead of being negative, keep it as a 32bit number.
2019-03-05 15:55:26 -08:00
Kurt
bb2c7e22cb
Add HoF checksum verification and saving
...
Thanks @av🥑 cado#0315 (discord)
2019-03-02 09:16:03 -08:00
Kurt
174f9758a1
Fix gen1 hm index check
...
Closes #2266
2019-02-28 10:01:28 -08:00
Kurt
e8ade4dd63
Add swsh placeholders
...
no point adding for legality until much closer to game release
2019-02-27 06:37:11 -08:00
Kurt
fb818f203d
Add gb pp/stat calc test
...
refer #2265
2019-02-25 17:39:41 -08:00
Russell Jones
2909c4afef
Update _K12.cs
2019-02-26 01:26:19 +00:00
Kurt
51bdd7d67c
Unban shiny rattata & pidgey
...
available on pokemon day 2019
https://twitter.com/SerebiiNet/status/1100138566833852421
2019-02-25 17:09:03 -08:00
Kurt
925167bd33
Fix Invalid/Missing Ribbon string format swap
...
Thanks TORNADO (discord)
2019-02-24 22:20:02 -08:00
Kurt
28823bd437
Split optional into overload
2019-02-24 22:16:30 -08:00
Kurt
30e36579be
Misc updates
...
add more xmldoc
revise some comments for clarity
redo a little bit of logic for perf
rename some methods for better description
2019-02-24 13:57:10 -08:00
Kurt
993bb00a61
Remove powersave unused logic
...
unused & deprecated in favor of using cfw (powersaves price >>>
ntrboot-b9s flashcart)
2019-02-23 18:02:50 -08:00
Kurt
7ba21c5d8c
Use subsection fetch
2019-02-23 17:59:46 -08:00
Kurt
52dd2d6701
Misc tweaks
...
replace linq for Encrypt/Decrypt pkmdata fetch with faster length check
& optional resize (Span pls!?)
update pk6 comment for why affection is not cleared
2019-02-23 16:05:01 -08:00
Kurt
d792c0d3a0
use u/L
...
use 'u' to denote uint values, so that less IL ops are required
~(21->17) in the case of IVs
no functional change, just a fun exercise looking at generated IL and
finding ways to use less ops
2019-02-23 15:36:26 -08:00
Kurt
5b29e71954
Misc tweaks
...
no functional change, just rewrite some logic for better flow
fix subform popup count restriction (OwnedForms requires forms to be
added/removed manually; it doesn't automatically update)
sanitize box names when dumping boxes with separate folders (and bad box
names)
2019-02-23 14:58:48 -08:00
Kurt
17f954b4e8
Xmldoc
...
Reorder to match parameter order
add more xmldoc
2019-02-23 14:57:35 -08:00
Kurt
ca51edbdcf
Change sav.LoadBoxes to return int
...
make MysteryGift specific method flexible so that any IEncounterable
enumerable can be passed.
2019-02-23 14:37:06 -08:00
Kurt
a339cc9289
Extract pouch manipulation logic
...
add overloads for API syntactic sugar
make ItemConverter internal again
2019-02-22 22:48:34 -08:00
Kurt
05ba7c519c
Misc simplifications
...
removed duplicate sorting GUI logic
extract grid fetch method
2019-02-21 23:17:50 -08:00
Kurt
df94afa711
Misc updates
...
extract some enums to core, use Enum.GetNames to do string fetch
make stamp listbox taller
clean up Display*ID setters
2019-02-21 21:54:41 -08:00
Kurt
5f4241063f
Misc verbosity reductions
...
hide enum name
2019-02-21 20:44:31 -08:00
Kurt
c9e894a46d
Misc reductions
...
hide setters for LegalInfo outside assembly (shouldn't overwrite the
stored values)
update GenNumber to Gen* if appropriate; GenNumber checks for first Gen*
to match, is a little more explicit and quicker than calling twice when
checking a range
2019-02-21 20:41:04 -08:00
Kurt
ba65580a8c
Rename parameter names for consistency
...
pkm->pk
2019-02-20 22:23:54 -08:00
Kurt
f30b2766cb
Use Heal methods
2019-02-20 22:16:38 -08:00
Kurt
941b1b5c47
Extract some reused logic
...
Put the methods in Tables4; kinda breaks the 'only arrays here' rule but
they only reference values in this file(partial class).
2019-02-20 22:10:15 -08:00
Kurt
1b221e052c
Add PP Heal method
2019-02-20 22:08:28 -08:00
Kurt
cffa6e681d
Add OT name setter
2019-02-20 21:52:22 -08:00
Kurt
ba6a958a1d
Add xmldoc, make manip not fetch all BoxData
2019-02-20 19:39:49 -08:00
Kurt
d3dd4fb2a5
Track slot modified count on sort/delete/mod
...
Sorting will always show multiples of boxcount since it repositions
empty slots
2019-02-20 17:59:54 -08:00
Kurt
72ec264f4c
Prevent g7 silvally from learning fire/water pledge
...
https://bulbapedia.bulbagarden.net/wiki/Silvally_(Pok%C3%A9mon)#Trivia
has the two bitflags set but the game only tutors the first bitflag it
sees
2019-02-19 22:57:07 -08:00
Kurt
40963c012a
Add sav3 BP Earned editing
...
misc editor, first tab (main)
2019-02-19 20:59:47 -08:00
Kurt
fa4318ae2f
Add gen3 record editing
...
in misc edits window
2019-02-19 20:46:58 -08:00
Kurt
fb8aa3bba0
Lowercase parameter
2019-02-19 20:26:20 -08:00
Kurt
a385a8481d
Misc tweak to savefile export
...
Use flags to request header/footer in the output
gets rid of the DSV/GCI bool arguments
2019-02-18 21:59:57 -08:00
Kurt
726f69240a
Update translations
...
no localization for new settings/sort options, just expanding from
csharp->english
2019-02-18 19:09:31 -08:00
Kurt
fdc97885c5
Speed up clone detection purge
...
override Execute's default behavior to use a HashSet
2019-02-18 17:19:25 -08:00
Kurt
98b21eaaa8
Add clone deletion quick action
...
kinda slow, if a save has 900 mons, it has to check 900*900 which is
O(n^2), takes a few seconds
as opposed to just doing a hashset checking contains, would be O(n)
gotta do some fun stuff to make it faster
2019-02-18 17:00:16 -08:00
Kurt
9171055fd4
Add box sort by encounter type
...
grabs encounter name and orders by that (Egg/Static/Wild etc)
2019-02-18 15:34:55 -08:00
Kurt
7c3e5aa83c
Make RandomGender a method instead of property
...
See pkNX for similar change; the functionality is really *method*
2019-02-17 22:13:40 -08:00
Kurt
258f0f0ad4
Minor refactoring
...
clean up some gc logic, no functional changes
2019-02-17 10:42:43 -08:00
Kurt
202f911d45
Tidy up comboitem fetch naming
2019-02-15 11:47:35 -08:00
Kurt
d1f6a5a3ff
Misc clean
...
no functional change
2019-02-15 11:46:46 -08:00
Kurt
9c521919e5
Reverse array in place
2019-02-15 11:46:02 -08:00
Kurt
858760fa28
Misc updates
...
relocate program language enum
test that test case is proper
move getcompatible & gettemplate to core
remove catch rate changing for pk1 (catchrate editor now used instead)
2019-02-15 00:50:23 -08:00
Kurt
7acdf0d16d
Expose parse results for external consumption
2019-02-14 20:14:46 -08:00
Kurt
3d01617c93
Fix safari unlock
...
dat 0 -> o
Closes #2262
2019-02-14 18:17:16 -08:00
Kurt
c67b774e1e
use enum to decorate rather than comments
2019-02-14 18:12:25 -08:00
Matt
7538a33c81
Update GO shinies ( #2260 )
2019-02-14 10:49:37 -08:00
Kurt
e7486e4534
Update gender check
...
showdownset now no longer leaks nulls
2019-02-13 15:50:48 -08:00
Kurt
e82b4de657
Misc clean
...
replace Friendship control click to match shortcut description (used to
do nothing)
Remove some duplicate translation strings
fix gameselect string formatting
apparently systemsounds changed in a recent win10 update, Question is
now silent?? Exclamation is now the same as Asterisk (same as Beep?) Use
hand instead of Exclamation.
only use asterisk for notifications
2019-02-11 22:39:12 -08: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
304203262d
Add species & ability enumerations
...
remove hardcoded 810 in unit test, add ability test too
2019-02-10 21:28:32 -08:00
Kurt
182348526c
Add display TID/SID get/set
2019-02-10 10:31:20 -08:00
Kurt
9715a08342
Fix custom hex parse
...
hurr dont write your own parsers
Closes #2256
2019-02-10 10:19:05 -08:00
Kurt
a39f917f84
Simplify expression
...
ternary with a null check and long method signature is pretty ugly
2019-02-09 23:22:22 -08:00
Kurt
54ba9a0312
Update file->open for pb7 filtering
...
add pb7 to pkm extension list, ignore it in gen7 (sm/usum), update gg
filtering (allow pb7, not bk7)
add comments indicating format source game
2019-02-09 20:33:37 -08:00
Kurt
e96ef76dcd
Add xmldoc
...
no code changes
2019-02-09 20:24:38 -08:00
Kurt
48e2bbcfed
Refactor DumpBox to return 1 value
...
count < 0 implies an error; values >= 0 can be used to indicate actual
dumped count
2019-02-09 20:19:55 -08:00
Kurt
9a93b20515
Minor rework
...
use hashset instead of new[] every call
precompute empty arr
allow criteria input for better gen requests
2019-02-09 20:07:15 -08:00
Kurt
ec1d3069a5
Remove SaveFile dependency for wallpaper data fetch
...
reusability++
2019-02-09 20:05:32 -08:00
Kurt
dc5cdc34d7
Remove FieldsInitialized and rename check method
2019-02-09 17:07:44 -08:00
Kurt
cb98c83bd2
Remove references to Stat_HPMax
...
use computed value to check if Party Stats are present
maybe I want to use Span and stop resizing all pkm arrays to party
format years from now idk
2019-02-09 13:17:00 -08:00
Kurt
e79f46673c
Refactoring iencounterable->pkm
...
SetPINGA{S}(pk, criteria) -> pid,iv, nature, gender, ability (stats
future?)
memes aside, this is where criteria data is forced
Split N encounterstatic (has fixed PID and special flag) from
EncounterStaticPID
2019-02-09 11:37:20 -08:00
Kurt
cda06bc701
Increase custom parse speed
...
remove double string replace (now less allocations); only add up values
if they're valid numbers.
builtin int.Parse throws with "1 2", but users can type stupid stuff
like that in the program (so we parse as 12).
2019-02-08 18:29:26 -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
3474d97fb2
Weaken float comparison for weight/height
...
ThePunish3D was able to find examples with less precise calcs
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=240188
assuming these were unmodified
2019-02-07 16:57:17 -08:00
Dixon, Evan
8f8e8020b7
Add NuGet metadata
2019-02-07 17:39:15 -06:00
Kurt
59b41937e1
Misc variable name changes
...
readability++
2019-02-06 23:28:02 -08:00
Kurt
d03ff30140
Fix ita traded lgpe diglett OT
...
ty ThePunish3D!
https://projectpokemon.org/home/forums/topic/46143-bug-in-last-update/?do=findComment&comment=240159
2019-02-05 17:09:47 -08:00
Kurt
a97ae79086
Unban m&m go shinies
...
https://twitter.com/SerebiiNet/status/1092892163782991873
2019-02-05 15:33:59 -08:00
Kurt
29253ed636
More cleaning
2019-02-03 20:28:03 -08:00
Kurt
264c7d1cbc
Replace null return val
...
Closes #2255
2019-02-03 20:01:56 -08:00