Commit graph

1278 commits

Author SHA1 Message Date
Kurt
f55028c1a0 Fix KChart errors
gen1 & gen2 types aren't laid out contiguously (yay bird type and extra
types)
fix gen2 type accessors looking at the wrong byte

type sprites now load correctly, and 3rd ability no longer throws an
error (forced to None).
2018-03-18 11:22:20 -07:00
Kurt
88ce27f26b Add R/S roamer data offset
is different from emerald

Thanks TetsuyaGR!

https://projectpokemon.org/home/forums/topic/44407-bug-rubysapphire-roamer-bug/

(use concatall in encounters4)
2018-03-18 08:37:40 -07:00
Kurt
75dbec6038 Remove unnecessary switch entries
null return is only really useful for implementing; can remove the
chance for null when using the api
2018-03-17 20:05:35 -07:00
Kurt
49d92758c5 xd ribbon fix
lol
2018-03-17 10:36:37 -07:00
Kurt
e9a3b4acf1 Merge PIDType and bool? shiny property
Gen5 does not follow the same convention, 0 = non, 1 = rnd, 2 = always;
not gonna bother updating for just that one

bool? occupies 2 bytes; enum:byte is 1 byte.

should probably move validity checking logic into the IEncounterable
objects instead...
2018-03-16 19:35:55 -07:00
Kurt
d1a789eeab Fix some pokedex4 behavior
https://projectpokemon.org/home/forums/topic/44347-gen-4-pokédex-forms-incorrectly-readwritten/
2018-03-16 17:54:47 -07:00
Kurt
274d2200a3 Correctly flag hidden7apricorn
[0] -> Last()

Thanks Davil!

https://projectpokemon.org/home/forums/topic/44374-bug-about-hidden-apricorn-voltorb-bronzor/
2018-03-15 19:04:14 -07:00
Kurt
3e9dabf46d Set forced hatch egg friendship
use base friendship, obviously (previously used current egg ctr)
fix force hatch on gen2->gen1 handling with nickname
2018-03-14 22:34:15 -07:00
Kurt
2685fe29c2 Ban hidden-apricorn voltorb bronzor
Thanks @wwwwwwzx !
2018-03-14 08:10:12 -07:00
Kurt
46e1d8a4eb Add ability to replace IV marking method
set the MarkingMethod to a desired func provider (out int markval, int
IVvalue, int IVindex)
#1862
2018-03-12 20:44:16 -07:00
Kurt
1cdbe6f4f8 Fix ditto5 IV order
closes #1863
2018-03-12 19:34:54 -07:00
Kurt
b41095bb28 ShowdownSet gender/markings
Closes #1862
2018-03-12 17:40:09 -07:00
Kurt
102550174e Simplification
invalid/unknown usages were incorrectly interchangable; dex-sets were
looking at Unknown which was impossible for some cases.

only use GameVersion.Unknown as a temp placeholder for later resolution
by the user.
2018-03-11 18:07:48 -07:00
Kurt
22bde0af52 Fix incorrect variable reference
new SAV3() throws exception, no more!
2018-03-11 14:42:56 -07:00
Kurt
59c01396ab Add string[] -> showdownset & showdownset[]
remove some unnecessary pre-processing / allocation (ToArray)

pls lmk if there's any sets that break (should really have parsing test
cases)
2018-03-11 11:39:58 -07:00
Kurt
aa65d88d3d Cache pressure slot instead of saving all to list
faster to do:
null check & comparison for each
vs
collection add (especially if growing collection)

don't evaluate all slots (faster), capturing the dexlevel[] object is
fine until the enumerable is discarded
2018-03-11 11:02:02 -07:00
Kurt
5148fd2c4e Add minimally filtered encounter generators
Filters by species at most, resulting in something that can be scanned
for a preferred encounter.
2018-03-11 00:29:31 -08:00
Kurt
94811d9052 Split up IEncounterable generators
Can break the filtering out into smaller methods such that the generator
can return results with less strict filtering
2018-03-10 19:51:09 -08:00
Kurt
84c5decfc0 Comment out unused
temp = temp permanent lul
2018-03-10 19:40:57 -08:00
Kurt
2bd9d99d9e Refactoring
WinForms->Core logic absorbing (CommonEdits)
loading ShowdownSet now applies properties to PKM instead of PKMEditor
Contest/IVs for Static/Trades are no longer set by default (less object
allocations), and are now checked by the encounter generator
2018-03-10 18:03:09 -08:00
Kurt
9da1913f1b Only check static IVs if original IVs still exist
https://projectpokemon.org/home/forums/topic/44319-bug-vc-mew/
Thanks Davil!
2018-03-09 20:00:13 -08:00
Kurt
cda2cfcefd Clean up EncounterLink
no new gen6 pkm link gifts, simplify usages
2018-03-09 18:58:00 -08:00
Kurt
452ffe2369 Refactoring
relocate location of stuff
2018-03-08 21:18:32 -08:00
ReignOfComputer
8147258e9e Unban Gen 7 Starters HA (#1860)
HA Starters Event via Pokemon Bank
2018-03-08 05:55:47 -08:00
Kurt
cbf4038a95 Refactoring
relocate gift data storage out of legal.cs
2018-03-05 22:19:56 -08:00
Kurt
21cdf4f642 Reorganization
wonder if it's possible to provide a more lightweight core by pulling
out legality stuff to a separate project?
2018-03-05 20:49:45 -08:00
wwwwwwzx
c9a54307c4 Fix WC6/7 IV generation (#1857)
https://pastebin.com/bbpS6svw
IV lock doesn't work for IV3 case
2018-03-02 16:17:14 -08:00
Kurt
e4210e2b3e Misc api improvements
extract common nature amp logic
generic ienumerable copyto which now returns count of elements copied
(maybe useful later). prior usages never tried to copy an enumerable
larger than the dest array (now length checked).
2018-02-28 21:50:50 -08:00
Kurt
24982fe8c5 Misc simplifications 2018-02-28 21:05:50 -08:00
Kurt
1411933e27 Relocate pkm stat controls to separate usercontrol
splits the logic up
change hypertrain from ctrl (prevents 30/31 setting) to shift (allows)
2018-02-26 21:22:35 -08:00
Kurt
89d3437d0b prevent blue flabebe apricorn/beast
closes #1850
impossible SOS's were already removed from the SOS list (e.g. no slots
in the SOS table with w.Species == 669 && w.Form == 3)
2018-02-24 17:28:07 -08:00
Kurt
934757eac1 Add Bank7 r/w 2018-02-24 13:03:32 -08:00
Kurt
f9002c6cc9 Add trashbyte copy for OT import on gen1/2
Closes #1849
NAME_LENGTH is 11 for both gens and the offsets don't vary between
languages, so it's a simple fetch.
2018-02-22 22:42:50 -08:00
Kurt
016b75fe83 Fix necrozma showdown->short names
closes #1848 , had deleted short->showdown conversion

Thanks @architdate !
2018-02-21 20:40:06 -08:00
Kurt
ee1196a57d Set playedtime accurately
closes #1847
override playtimestring if max time... better than nothing
2018-02-21 15:22:43 -08:00
Kurt
d20f14504e Refactoring
pull out BlockInfo logic, standardize common block checking
reduces array allocations
2018-02-19 11:33:37 -08:00
Kurt
26ca111630 Fix SetHPIVs order
speed IV last -> speed IV first
closes #1844
2018-02-18 09:54:17 -08:00
Kurt
e6a74b0145 Only skip nickname set if currently same
Closes #1842
2018-02-17 17:42:00 -08:00
Kurt
47643f49b6 remove linq personalinfo bit fetch
reads the bits out of the original array (saves a few ms by not
allocating/gc)
2018-02-16 19:34:42 -08:00
Matt
43d8f74342 Fix Swampert dex forms (#1839) 2018-02-16 16:30:34 -08:00
smileynation
d7fa703b99 Update lang_ja.txt (#1836)
Add change translation files.
2018-02-15 19:41:05 -08:00
Kurt
e33bd4c327 Add Dialga/Palkia headbutt location
turns out route 47 (below route 48) also yields dialgapalkia, which also
has a tall grass patch that can be headbutted from.

Closes #1833
2018-02-15 19:40:42 -08:00
Kurt
c825d5919c Fix wc4->pgt crypt
array isn't encrypted in place (didn't use return value)
Closes #1835
2018-02-15 19:07:41 -08:00
Kurt
2b49ab0034 Fix return value for forme parsing
false => failed to parse
Closes #1834
2018-02-15 18:59:38 -08:00
Kurt
f8bf3e400b Misc tweaks
Add bulkstorage SaveFile template
remove unused using
un-virtual box property (don't override behavior)
Split new-USUM island names (unused)
Remove island names from valid egg locations (thanks Davil !)

https://projectpokemon.org/home/forums/topic/43874-bug-met-location/?tab=comments#comment-227684
2018-02-15 17:05:45 -08:00
Kurt
89248b30a9 Re-add rufflet pelago for sn
Thanks @wwwwwwzx !
2018-02-12 17:38:31 -08:00
Kurt
68c782e661 Handle version mega import/export
Closes #1832
2018-02-12 17:36:15 -08:00
Kurt
28180687a5 Add transfer2 future evos for legality reuse
https://projectpokemon.org/home/forums/topic/43827-gsc-mismagius-treated-as-illegal/
2018-02-11 20:48:36 -08:00
Kurt
f1cd1d8b50 Fix pgt->pk4 obj usage
clone the data, don't reuse & tamper with pgt data...
thanks @ReignOfComputer !
2018-02-11 17:28:23 -08:00
Kurt
38fb30e847 Remove Punishment from Murkrow USUM eggmoves
Closes #1829

"In Pokémon Ultra Sun and Ultra Moon, Murkrow is programmed to be able
to learn Punishment through breeding, but no other Pokémon in the Flying
Group can pass down Punishment as an Egg Move in those games. Vullaby
and Mandibuzz are the only Flying Egg Group Pokémon that can learn
Punishment, but they cannot pass down the move due to being female-only
species."
2018-02-10 18:56:06 -08:00
Kurt
d706d825a9 Handle legal pichu form values
Closes #1828 , thanks @SpiredMoth !

slightly optimize batrev key init
fix exception for pkm loading switching between gen3->4 saves
2018-02-10 17:43:00 -08:00
wwwwwwzx
9187be8177 Update CHS translation files (#1827)
* Update CHS translation files

* Fix crabrawler outliers

Double check the wild encounters level range again.
2018-02-10 15:29:22 -08:00
Kurt
dae038d59c Use hidden power spread with most 31IVs w/guessing
#1826 (HP Ice with ATK=0 now prefers flaws in only defense rather than
HP and defense).
2018-02-09 21:27:57 -08:00
Kurt
f289249b2d Add oddball crabrawler berry pile levels
thanks @wwwwwwzx !
2018-02-09 21:26:28 -08:00
Kurt
033d5baa06 Check EC-PID same for gen1/2 transfers
Fix PID->EC on gen<3 transfers

https://projectpokemon.org/home/forums/topic/43779-about-vc-pokemons-pid-and-encryptionconstant/
2018-02-08 18:47:52 -08:00
Kurt
d6fbd0f0d7 Reorder gsc encounters
new string resources have shuckle last
thanks @sora10pls
2018-02-08 17:05:15 -08:00
Kurt
22a2056a91 Fix showdownset IV HPtype export
no need to reshuffle IVs since the pkm->showdownset defines the IVs in
the speed-first order
Closes #1824
2018-02-07 20:59:36 -08:00
Kurt
05c4a0f286 partner cap pikachu update
great job gamefreak

allow current handler to be 0, remove static encounter as the data was
sneakily faked as a WC7 in the events gallery.

Closes #1817 ; still needs to update with new pikachu pid method
allowing shinies (next update).
2018-02-07 19:56:02 -08:00
Kurt
07bd2412cb Add all deco unlock
#1819
not exposed via GUI
2018-02-07 18:29:45 -08:00
Kurt
93fd47a8e5 Rework hidden power IV setting
If the Hidden Power set doesn't match what is required (missing Hyper
Trained IVs), will need to adjust IVs.

Compute the first matching hidden power IV set by permuting flawless IVs
to flawed.

Closes #1821
2018-02-07 18:28:56 -08:00
Kurt
9408255bee Add other international (non english) gen2 tradeOTs 2018-02-06 23:09:00 -08:00
Kurt
af0e05f6af Fix sav editing from direct memcard saves
Thanks @sora10pls for finding this

(just use the existing MC data)
2018-02-06 20:33:32 -08:00
Matt
1b2aded412 Allow shiny Partner Cap Pikachu (#1820)
good job Game Freak https://twitter.com/wwwwwwzx/status/961057063198539778
2018-02-06 18:54:45 -08:00
Kurt
05355f3566 Fix gsc shuckle jp name
Closes #1818
strengthen language specific checks (JP or INT, not any)
2018-02-05 20:55:10 -08:00
Kurt
246b9d46a9 Add GSC fishing swarm encounters
Closes #1814
2018-02-04 23:14:12 -08:00
Kurt
2a638a957f Refactoring
compress some ideas
2018-02-04 19:17:44 -08:00
Kurt
e3ca751e2c Add dp/hgss shedinja gender glitch handling
not providing pkmeditor ability since Pt behaves correctly.
Closes #1813 , thanks @ultima-soul & @Lusamine !
2018-02-04 18:12:20 -08:00
Kurt
420a18ea85 Rework shadow lock checking
tested for 2 locks, later commits with legality check implementation
will feature more lengthy lock checks (test case automation).

https://pastebin.com/VdbjWaqL
(species doesn't matter since most are 50/50 ratio)
2018-02-04 16:33:53 -08:00
Kurt
c20f03434f Add FrameCache object
arbitrary access for RNG frame results, only generating frames when the
frame is unavailable. all calculated frames are cached.

to be used in RNG searching where caching seeds is necessary (repeat
checks)
2018-02-04 16:30:50 -08:00
Kurt
35e5dbfb32 Add eterna forest honey tree location
Closes #1812 , thanks @ultima-soul !
2018-02-04 14:03:35 -08:00
Kurt
04888a5c39 Add crabrawler berry pile scripted encounter
https://projectpokemon.org/home/forums/topic/43628-crabawler-bug/
doesn't exist in static encounters, maybe is set up like the swooping
encounters of gen6.
2018-02-04 13:04:45 -08:00
Kurt
8695666044 Fix showdown set form import off by 1
closes #1811
2018-02-04 09:44:19 -08:00
Kurt
9a20734be2 Update lock checks
test case
https://pastebin.com/f4K7uc56
only checked for single locks
2018-02-04 00:06:07 -08:00
Kurt
14fc71a5d2 Fix Zygarde Aura Break formechange detect
original was AltForm != 1, 0 is also invalid so >1 suffices.
remove parameter from method & update usages
2018-02-03 21:12:36 -08:00
Kurt
118a213b6c Fix backwards conversion copy order
reflection (now only used for backwards conversion) will use destination
order instead of source order so that the destination can order itself
for quirks

redo method call (probably breaks someone if they update, maybe pk2pk)
2018-02-03 15:32:45 -08:00
Kurt
886398184f Add pk4/bk4 shared class
reflection no longer used for official transfers
2018-02-03 15:31:35 -08:00
Kurt
c5655166bf Add shared pk3/xk3/ck3 class
standard generation 3 pkm content & interactions
generic inter-converter (more efficient than reflection)

update conversion methods; specific format conversion is now in the
object's src file now.

may be worth doing for gen4 pk4<->bk4
2018-02-03 12:42:06 -08:00
Kurt
0a22ccdb2b Disallow invalid pelago levels
simplify pelago slot generation too
linq for now; can be silly and make it a for loop but meh
2018-02-02 20:52:44 -08:00
Kurt
382c94c348 drop sm pelago exclusives back to 1-55 not 37-55
https://projectpokemon.org/home/forums/topic/43711-vullaby-invalid-error/
2018-02-02 20:10:43 -08:00
Kurt
d9d27a52b7 Refactoring
explode xorpad into more reusable ideas
2018-02-01 22:09:31 -08:00
Kurt
b603bc87b8 Update shedinja ninjask move checks
check level of source moves for any incompatibility in non-bred cases.
Closes #1805
2018-02-01 19:57:02 -08:00
Kurt
999427f484 Update gen2 egg generator
Level = Level is equivalent to Level = 0

update EggInfoSource to use Level instead of LevelMin (LevelMin returns
Level, just be clear on usage)
update VerifyCurrentMoves so that only gen1/2 do the gen1/2 move update
methods. Recently extended all encounters to have a generation property;
we only care about gen1/2 here.

https://projectpokemon.org/home/forums/topic/43655-pokemon-crystal-egg-mark-as-not-legit/
2018-01-30 20:36:22 -08:00
Kurt
84a0381050 Add Italian to gb languages
https://projectpokemon.org/home/forums/topic/43655-pokemon-crystal-egg-mark-as-not-legit/
2018-01-30 20:34:11 -08:00
Kurt
836566004f Use CXD met location string on verbose output
was previously using RSEFRLG locations for CXD encounters
2018-01-30 20:24:45 -08:00
Kurt
1ca9180e21
use SlotList view to dynamically show slots (#1798)
Closes #1795 by redoing the controls

Allows for a specified slot type & offset to be passed, can easily add extra slots by updating the GetExtraSlots extension method.
2018-01-30 18:52:55 -08:00
Kurt
c4865c6c0a Fix kommo-o-totem detection
psim lexing sucks lul
Closes #1796
2018-01-30 16:18:39 -08:00
Kurt
7063ea2971 Remove vc1 pay day mewtwo restriction
Closes #1794
2018-01-30 09:38:45 -08:00
Kurt
4ac92b9418 Update nincada->shedinja evo chain check
Thanks @admiral-fish & @Marty-D !
2018-01-29 20:52:05 -08:00
Kurt
834d115e3a Add extra slot fetch utility
fix resort offset fetch (+=4)
2018-01-29 20:15:51 -08:00
Kurt
e472bfe278 Refactoring
move slotchange to core
2018-01-29 17:52:21 -08:00
Kurt
d7eae51c1f Use showdown specific gender culture for formID
Closes #1793 , the form was returning -1 because it was expecting ♀ not
F
2018-01-29 17:20:12 -08:00
Kurt
74f185591a Fix shiny/nonshiny egg mysterygift link trade checks
thanks @Admiral-Fish for finding this case
2018-01-28 23:40:57 -08:00
Kurt
9085dfd950 Allow backwards conversion on hax
works somewhat on drag&drop individual files, not guaranteed to work for
all pkm formats
https://i.imgur.com/v3i3ON9.png

Closes #1792
2018-01-28 22:47:03 -08:00
Kurt
9e7a4d01ab Update blank constructor
first declared constructor is a static constructor, skip that one by
filtering out !static
2018-01-28 21:40:42 -08:00
Kurt
2365e2394c Add eggcycles override for Odd Eggs
not gonna bother checking for exp < 125 because after transfer these are
indistinguishable from regular eggs.
2018-01-28 09:46:11 -08:00
Kurt
2828c89497 Update 18.01.28
Update event binaries with latest from the Event Gallery
2018-01-28 00:31:35 -08:00
smileynation
3ff72a3f51 Update flags_c_ja.txt (#1788) 2018-01-28 00:19:18 -08:00
Kurt
735ff26486 Rework GetEncounterMoves to match games
Closes #1787

Noticed that the search-backwards approach for GetMoves yields Sludge
for muk even though it shouldn't be allowed
im fine with this for now because gen2 never had online checks and any
current-gen checks allow relearning.
2018-01-28 00:09:11 -08:00
Kurt
eb505303bb Fix vc backups acting like gb era saves
ends with .dat only works if the real file ends with dat
load the filename data after stripping off the bak filename data
#1787
2018-01-28 00:03:49 -08:00
Kurt
13e7d8ff85 Fix dragonair ingame trade genders
#1787
2018-01-27 23:23:10 -08:00
Kurt
bfe4f3222d Don't update HP IVs if IVs already provided
Closes #1786
2018-01-27 20:18:38 -08:00
Kurt
282676e2f2 Refactoring
reduces mental footprint
2018-01-27 17:49:18 -08:00
Kurt
bc61980663 Add EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
c60f1331fe/constants/event_flags.asm (L851)
2018-01-27 12:54:07 -08:00
Kurt
ca2898d648 Rework gbc celebi detection
disallow outside jp games
2018-01-27 11:46:51 -08:00
Matt
705098418b Add Odd Egg event flag (#1783) 2018-01-27 10:16:37 -08:00
Kurt
0e7350ee9e Update korean vc string checks
https://projectpokemon.org/home/forums/topic/43610-legality-about-gen-2/
2018-01-27 09:45:33 -08:00
Kurt
c066df243f Misc fixes/updates
Fix crystal lacking met level<->current level checks
Fix met location loading for gen2 saves (gen7 sav loaded gen1/2 pkm ->
load gen2 sav)
refactor some logic with pattern matching/consistent method names
2018-01-26 09:19:20 -08:00
Kurt
48564d7e30 Fix celebi iv check
update version ID as well
Closes #1775
2018-01-25 20:39:32 -08:00
Kurt
9b7b0b25d4 Flag iv<5 celebi
thanks @sora10pls
2018-01-25 19:34:18 -08:00
Kurt
58e374bcc6 Add celebi / more crystal legality handling
Closes #1772
2018-01-25 19:25:10 -08:00
Kurt
802105d22d Allow pay day mewtwo, disallow dizzy punch
#1772
transfer pk1->pk2->pk7 for mewtwo knowing dizzy punch, just so we can
keep Pay Day
2018-01-25 19:17:42 -08:00
Kurt
4c93183575 Add jp vc gen2 sizes
so many so consistent
2018-01-25 18:30:09 -08:00
Kurt
5472f869cf Remove some crystal vc checks
now legal
assuming x->kor7 sets the language val based on the cart language,
should be good for the kor crystal checks.
2018-01-25 09:14:25 -08:00
Kurt
1db5161a59 Add shiny star to pk1 filename export
closes #1770
2018-01-25 08:50:17 -08:00
Kurt
b69a6df6e7 Add roamer glitch IV collision detection
M1 is checked before M1R. A M1R PIDIV can also be a M1 PIDIV, so check
that collision.

https://projectpokemon.org/home/forums/topic/43567-gen-3-suicune-unaffected-by-roamers-glitch/
2018-01-24 19:07:03 -08:00
Kurt
713e9ea209 Compress box padding 2018-01-23 17:18:37 -08:00
Kurt
b229a947f2 Fix pt/hgss egg location handling 4->5
Closes #1766
pt/hgss egg location data is lost on transfer, retaining faraway place
only.
2c8e2176e9 fix was incorrect
2018-01-21 11:57:34 -08:00
Kurt
e616b56bfa Remove uncatchable grubbin static encounter
#1763
2018-01-18 14:06:17 -08:00
Kurt
2063cef3e4 Fix arrays not being cloned
don't use the existing data array silly -- i was paranoid long ago for a
reason
all other SAV clone methods don't return the Data array, only these
#1764 additional behavior noted
2018-01-18 14:05:34 -08:00
Kurt
387030e16f Fix 7th gen pikachu altform check
https://projectpokemon.org/home/forums/topic/43498-bug-about-event-pikachu/
2018-01-18 13:50:29 -08:00
Kurt
75c67b02b9
Merge pull request #1760 from smileynation/patch-11
Update flags_dp_ja.txt
2018-01-16 19:32:41 -08:00
Kurt
b74bf7d499 Misc simplification
no functional change, just compute hash over array span instead
2018-01-15 17:51:33 -08:00
Kurt
17e4bdbe3a Add pikachu7 forme nongift check
other branch was unhandled, flag if we have a mismatch
closes #1762
2018-01-15 17:50:33 -08:00
smileynation
d01ad5c4ae
Update flags_dp_ja.txt 2018-01-14 15:55:47 +09:00
Kurt
06733d6e34 Refactoring
Split up c-gear skin bitmap, move generic handling to core
2018-01-13 21:31:02 -08:00
Kurt
6caefef181 Add cgb->psk & misc clarifications
Closes #1699
tested on black2 & white, skin isn't corrupt on game boot and appears
correctly

still don't like setpixel/System.Drawing reliance (maybe split logic to
CGearSkin & CGearSkinVisualizer) for PKHeX.Core compat
2018-01-13 16:32:57 -08:00
Kurt
029539003b FormChange check: use original form not current form
Closes #1758
noticing the different usage for species (encounter species vs current),
iterating over possible dexlevels (unnecessary?)
2018-01-13 12:10:17 -08:00
Kurt
fb6738f18b Add unown 2->7+ shiny check
closes #1755

also:
fix vc transfer checks not being called (EncounterOriginalGB is no
longer GBEncounterData).
remove usages of GBEncounterData -- class is (as of a ~~month ago) now
never leaked out of the EncounterGenerator -- always returns the actual
encounter data as the wrapper is not needed.
simplify logic flow / references
2018-01-10 16:16:35 -08:00
Kurt
c751c987a9 Add DebutGeneration get
https://projectpokemon.org/home/forums/topic/43378-generation-search-in-pkmdb-andor-batch-editor/

(less than) < and (greater than) > not currently supported (no plan to
add, would need to rewrite value eval logic)
2018-01-10 15:40:33 -08:00
Evan Dixon
5a4ddd685c Update Project Pokemon URLs in comment 2018-01-08 13:15:19 -06:00
Kurt
701edbc592 Remove KOR language from gen3 selection
add flag for non japanese lang gen3 eggs
Closes #1747
2018-01-06 22:43:48 -08:00
Kurt
63a983749e Don't generate encounter slots for eggs
Closes #1749
2018-01-06 21:51:58 -08:00
Kurt
659f2098a9 Fix sav4 coin read
#1746
2018-01-06 21:36:44 -08:00
Kurt
218c20d804 Add sav4 coin edits to misc4
closes #1746
2018-01-06 14:02:55 -08:00
Kurt
8cf97f3761 Add pom-pom edge case
dash was stripped out during conversion
closes #1744
2018-01-06 09:40:30 -08:00
Kurt
6a9e2ed4b9 Refactoring
improve speed for resource fetch, add optional Shiny parameter
(currently unused)
#1735
2018-01-02 16:53:39 -08:00
Kurt
0f21fc2217 add location interface for verbose analysis output
indicates met location for transferred mons
most gen1/2 encounters won't show values due to the location not being
stored respective to the string tables (anyone wanna do a location remap
after initial load?)
2018-01-02 12:00:41 -08:00
Kurt
5888898e7d fix gen2 egg met level mod
https://projectpokemon.org/home/forums/topic/43278-gen-2-hitmonlee-and-hitmonchan-flagged-as-illegal-if-location-is-mt-mortar-at-level-10/?tab=comments#comment-225577
2018-01-01 21:51:36 -08:00
Kurt
76385a6b4a Fix gsc pre-evo species chain filtering
simplify gsc check to do only once

https://projectpokemon.org/home/forums/topic/43278-gen-2-hitmonlee-and-hitmonchan-flagged-as-illegal-if-location-is-mt-mortar-at-level-10/
2018-01-01 13:53:28 -08:00
Kurt
e79a35d387 Fix long OT name length setting
StringLength is the raw buffer size, needs to be offset by 1 as the
string length enforced does not consider the terminator

12char OT name in sav7 loaded to tabs -> load gen1/2 save = exception
(now fixed)
2018-01-01 11:27:45 -08:00
Kurt
cfe78a7a0c Add rby power plant static encounters
https://projectpokemon.org/home/forums/topic/43272-small-electrode-legality-bug/?tab=comments#comment-225537
2018-01-01 10:38:38 -08:00
Kurt
1b409dd327 Ban phione egg in non-pokeball
Thanks Davil!
https://projectpokemon.org/home/forums/topic/43262-bug-phione-ball/
2017-12-31 09:56:27 -08:00
lilymaniac
e58696cd56 Update Korean translation 2017-12-31 15:17:04 +09:00
Kurt
14821dfb82 Fix catchrate set auto-fix
https://projectpokemon.org/home/forums/topic/43252-pk1-pokémon-files-arent-holding-items-when-imported-to-gen-2/?tab=comments#comment-225459
2017-12-30 10:40:28 -08:00
Kurt
ca20e78269 pkm crypto Refactoring r2
condense repeated logic, reduce overall operations
removes 1 array alloc for pkm encryption (shuffle clones the array, so
don't clone->clone)
removes 1 array alloc for pkm decryption (mutate encrypted array), be
aware that no current use cases input an encrypted region and expect the
reference to stay encrypted (always was a temp array).
remove duplicate bounds checks (early return & for loop)
2017-12-29 15:29:31 -08:00
Kurt
0c2b16391f fix spanish ranch gift name check
oops
2017-12-29 13:08:06 -08:00
Kurt
90260187f7 Add light of ruin & plasma fists as invalid sketch
moves not available for sketch without hacking a specimen in

https://projectpokemon.org/home/forums/topic/43244-two-problems/?tab=comments#comment-225421
2017-12-29 12:00:06 -08:00
Kurt
34188f275a misc perf improvements
reduce linq usage / reduce obj creation in tight loops
speed++
2017-12-29 10:40:00 -08:00
Kurt
1d405d63c8 speed up pkm crypt
GetBytes returns an array that is immediately discarded (GC pressure)
reduces overhead when loading large pkm collections from save files
(shaved off a couple seconds from my loading from 200+ bak saves)

could probably go faster with unsafe code to r/w ushort directly
then again im profiling under debug but i'd assume the improvements made
actually do improve speed for release builds
2017-12-28 23:24:12 -08:00
Kurt
dccad6c2f4 Simplify/fix UnSanitizeString
Species and Nicknamed params were never used; foreign always resulted in
true for cases when it actually mattered.

Filter to the non-fullwidth characters, check the char type (latin base
vs jp/zh/ko) in order to determine if the full/half symbols should be
squished

could be faster replacing char instead of string, so change those

add two test cases for half width & full width string
sanitization/unsanitization
2017-12-28 22:50:32 -08:00
Kurt
43cb0e8d7d Provide more accurate met level for eggs
Gen6 egg with met level != 1 (ie 98) will use the gen3-4 metlevel
branch.
fuzzed input from #1728 to be hacked (met level = 98)
2017-12-28 10:01:48 -08:00
Kurt
a1f2f8708a Refactoring
pass identifier on cloning pkm
remove unnecessary ref for passing Data (not modifying array reference)
const some magic numbers
2017-12-27 16:36:24 -08:00
Kurt
61b65198f2 Allow box name editing on gen2 2017-12-27 15:52:29 -08:00
Kurt
1e388fb85a Add first unown seen on dex set
immediately after unown dex:

c2a7216d9b/wram.asm (L2714-L2722)

per discussion on forums:

https://projectpokemon.org/home/forums/topic/43179-bug-unown-sprite-glitched-in-pokédex-in-gen2/?tab=comments#comment-225342

expose some useful properties for the pkhex.core api (unlock all, unlock
individual, define which unown shows up)
2017-12-27 09:56:04 -08:00
Kurt
3445b46526 Remove unnecessary array cloning
new objects would always clone the input array; only clone on object
cloning (keep the original array reference on initial creation from
bytes)
2017-12-26 21:38:19 -08:00
Kurt
5ec99b6c1c Refactoring
expose individual types, items, and abilities
2017-12-26 18:54:08 -08:00
Kurt
dbe000d08e Add some overloads for non-specified generation
fetches current gen if used without generation parameter
2017-12-26 18:54:07 -08:00
Kurt
5580d6a7d4 Extend set obj to apply to pkm data
var psimSet = new ShowdownSet(Clipboard.GetText());
psimSet.ApplyToPKM(pkm);
2017-12-26 18:54:07 -08:00
sora10pls
c3d5266b89 Add XY gift Lapras ability check 2017-12-23 18:28:00 -05:00
Kurt
ea76d6a899 Misc tweaks
minor perf improvements (don't ToList for encounter slots, store all
slots incrementally); has better performance for legal pkm checks
2017-12-23 11:49:20 -08:00
Kurt
7f21728e84 Add area->location references to remaining slots 2017-12-23 11:48:10 -08:00
Kurt
9e2bd8f64a fix pokewalker course flag set
07FF_FFFF
not
7FFF_FFFF
2017-12-21 14:28:19 -08:00
Kurt
431baec087
Merge pull request #1716 from smileynation/patch-9
Update text_cxd_00000_ja.txt
2017-12-19 18:42:17 -08:00
smileynation
0615895dce
Update text_rsefrlg_00000_ja.txt 2017-12-20 11:11:43 +09:00
smileynation
7fb7487e6b
Update text_cxd_00000_ja.txt 2017-12-20 11:08:28 +09:00
Kurt
5e59e20ea1 Store matched encounter generation
previously was only defined for gen1/2, why not all gens
can now query encounters in Core for encounters per generation via
reflection; can help group encounters for data vis or be faster than
getting individual gen numbers
2017-12-18 16:17:21 -08:00
Kurt
80baaea3b7 add b2w2 n's pokemon PIDs
add b2w2 fixed PID encounters (N's Pokemon), move nsparkle to this class
redo static encounter cloning
2017-12-18 15:25:40 -08:00
Kurt
9263856845 Add apricorn pouch editing 2017-12-18 09:36:53 -08:00
Kurt
60787e652c Add new text ja flag resources to project
re: previous pull requests
2017-12-17 21:35:06 -08:00
Kurt
24b5cc48ed Fix gb encounter move comparison
don't calc NoMoveReminder for non-gen2 formats, also fix comparisons
(gen1 || gen2&&noRemind)
Closes #1707
2017-12-17 21:26:31 -08:00
Kurt
453f66e2b4
Merge pull request #1709 from smileynation/patch-3
Create flags_oras_ja.txt
2017-12-17 20:27:51 -08:00
Kurt
a1bf7e1b3a
Merge pull request #1710 from smileynation/patch-4
Create flags_b2w2_ja.txt
2017-12-17 20:27:45 -08:00
Kurt
dc9e83fcfe
Merge pull request #1711 from smileynation/patch-5
Create flags_bw_ja.txt
2017-12-17 20:27:38 -08:00
Kurt
c88024534a
Merge pull request #1712 from smileynation/patch-6
Create flags_pt_ja.txt
2017-12-17 20:27:27 -08:00
Kurt
14acaa6d04
Merge pull request #1713 from smileynation/patch-7
Create flags_dp_ja.txt
2017-12-17 20:27:22 -08:00
smileynation
673147b94f
Create flags_hgss_ja.txt 2017-12-18 13:04:25 +09:00
smileynation
6331758973
Create flags_dp_ja.txt 2017-12-18 13:04:01 +09:00
smileynation
5b4f24e54a
Create flags_pt_ja.txt 2017-12-18 13:03:37 +09:00
smileynation
c545c53121
Create flags_bw_ja.txt 2017-12-18 13:03:01 +09:00
smileynation
54e1410f78
Create flags_b2w2_ja.txt 2017-12-18 13:02:50 +09:00
smileynation
fd33e4e7a0
Create flags_oras_ja.txt 2017-12-18 12:56:52 +09:00
Kurt
810ec39ee0 add recent pr flags resource
#1708
2017-12-17 19:33:26 -08:00
smileynation
c2031bf347
Update flags_xy_ja.txt 2017-12-18 11:43:03 +09:00
smileynation
037ab76d45
Create flags_xy_ja.txt
I can not understand the meaning of Statuette and can not translate.
2017-12-18 11:31:34 +09:00
smileynation
205f141c44
Update text_Ribbons_ja.txt
Gen3, Gen4 Ribbons transration.
2017-12-18 10:29:57 +09:00
Kurt
47eee3aa98 Add roto powers as held items
not gonna add sprites because these are useless, anyone can submit via
pr (image might need downscaling to <15x15)
Closes #1703

remove useless null checks (throws the exact same exception it would if
it were not there, except without detail)
2017-12-16 19:52:06 -08:00
Kurt
2dbdb35955 Misc tweaks
possibly fix UI not-1x scaling screwing up drawn pkm images with
items/shiny/illegal.
simplify some logic -> speed improvements (wow so noticable /s)
2017-12-16 18:29:10 -08:00
Kurt
21c1dde3a7 Fix static encounter gift / egg edge case
extract EncounterStatic match determination; in doing so fixes "lvl" by
passing byval.

Pichu encounters (2) come before the Gift level 25 pikachu, causing lvl
to be dropped to 5. When pikachu comes around, it compares 5==25 -> bad;
pulling out the method and passing byval allows it to be 25 at the start
of every new encounterstatic checked.
2017-12-16 18:24:03 -08:00
Kurt
06ea6d94a2 Allow box layout / wallpaper editing for sav5
was temporarily disabled during sav5 implementation 2y ago, now noticed.
Closes #1702
2017-12-16 14:15:09 -08:00
Kurt
18796d6f92 Misc tweaks
fix bk4 ribbon checks (lacked interface inheritance)
change MN -> UM for get blank save (unused in PKHeX solution)
prevent inheriting from derived pkm classes
2017-12-16 14:11:41 -08:00
Kurt
0b58d4ffe9 Add form/nature checks for gen5 trades
altform wasn't checked for EncounterTrade
nature wasn't checked for gen5 origin (decoupled from PID, but forced)
#1702
2017-12-16 14:09:03 -08:00
Kurt
e5aa39a6bb Refactoring
get language list now doesn't return new objects (or re-enumerate)
update rand usage to be inclusive for top bound, extend shuffle to
collections
remove unnecessary location overrides (already overriden in legal fetch)
2017-12-14 20:58:55 -08:00
wwwwwwzx
6c4a4ff4ec Fix chinese language ID check
Some species have the same unicode name in CHS and in CHT, so it will lose language info after converting from a in-game string to textbox (The game will use different fonts to distinguish them, bad GF)
This change will give CHT encoding a higher priorty if the pkm is in CHT, although it's possible to get CHS encoding default species name with CHT language ID.
Also fixed previous editing error
2017-12-14 19:30:59 -08:00
Kurt
b5640de538 Misc tweaks
reorder some args, reuse some standard methods;
add spanish for gen1/2 egg name case
2017-12-14 16:16:47 -08:00
Kurt
278f7cad25 Add pwt record get/set
thanks @sora10pls
2017-12-14 12:34:03 -08:00
Kurt
9a39f818f9 Misc fixes
#1700
dp personal: add wormadam/deoxys manual forme count values
generator: bcc handling for pkm present in & out of bcc, and static/wild
duplicates
util: fix incorrect variable reference
2017-12-13 16:17:02 -08:00
Kurt
a9ff74059a Misc perf tweaks
checking untraded should just check for the first character (rather than
creating string object)
hashset for wild6 balls
2017-12-13 16:12:53 -08:00
Kurt
816ebf6b0e Refactoring
no functional change
2017-12-11 16:01:24 -08:00
Kurt
0588135b60 sync missing change
g already used
2017-12-11 11:01:57 -08:00
Kurt
f1cabdfa25 Handle setting decrypted pgt pkm gift data 2017-12-11 10:13:08 -08:00
Kurt
dd21f9375f Misc updates
Disallow sandygast on US
Add 2 more records
thanks @feralfalcon
Closes #1698
2017-12-08 08:54:00 -08:00
Kurt
a43880184a Fix artist ribbon gen6+
having 4 ribbons is sufficient (normal/super/hyper/master = 4, etc)

https://projectpokemon.org/home/forums/topic/42933-2-issues-invalid-ribbons-artist-encounter-level-in-origin-game/
2017-12-07 07:57:07 -08:00
Kurt
f9946368a0 Remove usage of LegalityAnalysis from PK*
CK3<->XK3 transfers to PK3 first now (no direct transfer legally)
2017-12-06 21:28:34 -08:00
Kurt
bd9f7fc7e2 Remove fossils from usum capture list 2017-12-06 21:05:36 -08:00
Kurt
4550f656d0 Update gs vc check female
will be revised when/if vc-c is released
2017-12-05 15:08:02 -08:00
Kurt
88f67ebd36 fix crystal gender flagging
C->GS->Gen7 keeps female OT but gives GS version
also fixes wrong logic path for format2
thanks randomdice101
2017-12-05 14:43:02 -08:00
Kurt
f3cc29df57 Update 17.12.05
Update event binaries with latest from the Event Gallery
2017-12-05 09:04:59 -08:00
Kurt
5bc2e6da88 Refactoring
de-linq some areas where direct accessing is possible (list/array)
2017-12-04 20:16:54 -08:00
Kurt
4a63769351 Add voltorb to beast ball permissible table
closes #1694
2017-12-04 16:54:09 -08:00
Kurt
3d7b2a2b29 Misc tweaks
RNG frame mismatch -> fishy (for now)
fix xmldoc copypaste
clean up some resharper warnings
2017-12-04 16:26:26 -08:00
Kurt
5a69f1d596 Rework gen3 crc32 to not require a new obj for byte[]
removes toarray in favor of iterating over the source array
maybe with the next c# (span)...
2017-12-04 16:13:18 -08:00
Kurt
1007c5ddb8 don't flag pokespot for frame not matching
#1693
2017-12-04 16:05:21 -08:00
Kurt
a5dbdf91bd Misc tweaks
detect antishiny cxd
remove unused using
don't set caught for seenAll (gen7 dex)
2017-12-04 13:18:28 -08:00
Kurt
f030161fd6
Merge pull request #1691 from Ntonio36/patch-1
Translation update, round 2
2017-12-03 14:06:10 -08:00
Kurt
55c2a603d7 Purge non-dp data for BK4 transfer
#1690
2017-12-03 13:10:14 -08:00
Kurt
805efdbdfa Add missing bk4 property for abilitynum
used in legality analysis, was returning 0 (invalid)
Closes #1690
2017-12-03 12:40:10 -08:00
Kurt
593612740f Fix bk4 IV read order
still pending ability mismatch
#1690
2017-12-03 12:35:51 -08:00
Kurt
6773a2801d update static/magnet slot permutations
using certain slot modifiers (swarm/game pak) causes different
arrangements of slots for different static/magnet pull groups to pull
from

store a list of permuted/different slots and add them to the table at
the end with the rest

move static/magnet pull marking into gen4 methods (only leave for gen3)
move trophy slot generation into gen4dppt area fetch (necessary for
static/magnet permuting)
fix electric off-by-one (yay for curse ??? type shifting everything)
2017-12-03 12:20:53 -08:00
Ntonio36
55b82f5ec4
translation update, round 2 2017-12-03 22:20:03 +02:00
Kurt
792910a485
Merge pull request #1689 from pokecal/master
fix MailBoxEditor
2017-12-03 07:14:49 -08:00
Kurt
f21906ee9a store gen3 origin seed for default frames 2017-12-03 07:13:28 -08:00
Kurt
09a41f66ba Fix z coordinate writeback 2017-12-03 07:12:52 -08:00
pokecal
0f52f94222 fix MailBoxEditor
add Mail5, almost same as Mail4.
2017-12-04 00:00:14 +09:00
wwwwwwzx
4aa3b941fd Add gen7 flags/consts chinese localization files 2017-12-03 01:22:39 -08:00
smileynation
a9002e50ba
Update flags_usum_ja.txt 2017-12-03 15:52:52 +09:00
Kurt
d301cb5469 Remove ESV rollback for varied level encounters
ESV rand is stored uniquely now via generated frames from FrameFinder,
no need to roll back.
2017-12-02 22:34:54 -08:00
Kurt
bdc9d7edce fix plaza get set
closes #1684
2017-12-02 21:37:46 -08:00
Kurt
133cc22f50 Add bypass for gen4 unown
meh
2017-12-02 19:54:50 -08:00
Kurt
2d3203fc1a Refactoring
extract out Mail classes to core
2017-12-02 19:12:04 -08:00
Kurt
9c32b36709 Don't reuse friend safari message
use the string format variant that has less hints.

https://projectpokemon.org/home/forums/topic/42869-bugg7-ditto/?tab=comments#comment-224365
2017-12-02 18:54:41 -08:00
Kurt
2a6c33b68b
Merge pull request #1681 from pokecal/master
add MailBox Editor
2017-12-02 16:40:51 -08:00
Kurt
e06b7945ad
Merge pull request #1682 from wwwwwwzx/master
Breeding ball legality fixes
2017-12-02 16:40:42 -08:00
Kurt
15489b8a7c Use dppt specific rand calls 2017-12-02 15:44:44 -08:00
wwwwwwzx
21a31c9fce Breeding ball legality fixes
Unban safari ball Slakoth, Pichu and Igglybuff, beast ball Helioptile.
2017-12-02 15:44:04 -08:00
pokecal
c4ca3aba75 add MailBox Editor
I just wanted to fix PK3 heldMailID.
2017-12-03 07:21:07 +09:00
Kurt
ff63cf4fce Enable french legality translation
resource added to project
#1680
2017-12-02 13:14:40 -08:00
Kurt
70f2d36af0
Merge pull request #1680 from Ntonio36/patch-1
Legality Strings in French
2017-12-02 13:12:43 -08:00
Kurt
70451004e7 Add more translation files
cxd locations in spanish (thanks JoseAbad)
japanese localization updates (thanks smileynation)
2017-12-02 13:12:22 -08:00
Ntonio36
9770db784e
Update lang_fr.txt 2017-12-02 17:34:47 +02:00
Ntonio36
086cfed803
Legality Strings in French
There are a lot of them that I couldn't make. I guess I should continue them soon.
2017-12-02 16:23:40 +02:00
Kurt
87748e18c9 Continued updates for frame generating
fixes broken test, provide encounter proc call
2017-12-01 22:49:38 -08:00
Kurt
40ec87fc9d Add gen4 lead frame finding variants
can use level call or not at all (fixed slot)
still untested, assumed same call order as gen3.
2017-12-01 21:23:37 -08:00
Kurt
48242109fd Rework lead required to flags 2017-12-01 17:27:09 -08:00
Kurt
15ab0d5aff Add origin seed for frame output
looks like for gen4 I have to yield twice as many frames (for FixedLevel
and non) as level call usage is dependent on encounter
2017-12-01 16:33:03 -08:00
Kurt
16592395ab Add victini disappeared (not appearing)
different from the "just despawned" value of 5
Closes #1678
2017-12-01 15:58:23 -08:00
Matt
1fcac7c06b
Fix level check compare 2017-12-01 15:13:03 -05:00
Kurt
4b954cd102 Add static/magnet fail enum value
can fail leading to regular ESV calc
2017-11-30 23:07:11 -08:00
Kurt
5d74096243 Apply static/magnet groups by slot type
only apply for emerald (only game in gen3 that supports it)
2017-11-30 22:34:57 -08:00
Kurt
de25056275 Check SOS hidden ability minimum IVs
Closes #1675
2017-11-30 21:06:11 -08:00
Kurt
2ab805ba98 Add method h safari analogues for ESV->slot 2017-11-30 19:31:38 -08:00
Kurt
4d5f81c6b8
Merge pull request #1674 from wwwwwwzx/master
Update Chinese translations
2017-11-30 19:09:40 -08:00
Kurt
0aa4dad921 Add species parse edge case
dashes in species name && dash for forme name, handle edge case.
Closes #1673
2017-11-30 18:24:31 -08:00
wwwwwwzx
5700adfb59 Update Chinese translations
- USUM texts CHT -> CHS
- Translate subform names
- Update legality strings
2017-11-30 18:15:36 -08:00
Kurt
8c675793ba Fix gen4 trade nickname/ot check
Closes #1672 by changing length check to check the correct dimension
add handling for DP english trades (localization error).
2017-11-30 18:13:30 -08:00
Kurt
9930e8765a Add frame level checking
still WIP but should be working fairly well
2017-11-29 23:20:49 -08:00
Kurt
d3d7d7d50d Add slot level / IsEncounterable beginnings
dynamic level -> calc level
no sweet scent -> proc available (rock smash/fish)

change frame checking in encountergenerator to save which frame it was
found on (unused but possibly later can capture this for output)
2017-11-29 21:31:52 -08:00
Kurt
fdc52e2c19 Add pkm league starter EC for gen7
Closes #1671
2017-11-29 20:04:01 -08:00
Kurt
4a898b0829 Leave empty item slots for gen7+
game depends on an existing value to check for if the item is truly
"New"
Closes #1670

Don't clear count=0 slots for gen7+
For sorting, put all the count=0 at the near top (any feedback on how
this actually works?)
2017-11-29 19:47:27 -08:00
Kurt
36894a588d Add FRLG unown frame matching
Turns out there was no documentation anywhere on encounterslot numbers
for the individual forms; some sites had overall rates.
Assuming a human filled out the encounter slots, forms would repeat left
to right until a new form takes over. Below slot numbers match the rates
when summed up.

https://pastebin.com/raw/bQt3ZMbq
2017-11-29 18:28:20 -08:00
Kurt
8f8cf5bc9a Fix tradepair calculation (link trade eggs)
returned invalid pair values for gen7 due to 2 unused game IDs between
the gen6&gen7 pairs
2017-11-29 09:21:17 -08:00
Kurt
acb105b706 Fix platinum altforms not having formcount set
fix by hex editing the manually altered field in the personal table so
that it matches HGSS
thanks @sora10pls !

fix unused writeback location for saving tmhm data
2017-11-28 23:14:08 -08:00
Kurt
dc2ef24fcd Handle fixed lang trade name detection explicitly
edge cases suck
2017-11-28 22:26:31 -08:00
Kurt
dd7684735a Add Frame mismatch illegal message handling
encounter will no longer be ignored as valid, will instead show the RNG
frame mismatch message.
2017-11-28 21:30:53 -08:00
Kurt
c7a59453b1 Fix frlg safari rod slot checks
tfw whole legit boxes of dratini were flagged -> now legal
2017-11-28 20:56:21 -08:00
Kurt
fb4fffffa0 Change rse feebas to swarm slottype
behaves the same as a swarm pkm in terms of proc (50% -> level ->
generate), so have it travel the same code path.
2017-11-28 19:41:29 -08:00
Kurt
0bc2ee0938 Skip scatterbug static encounter forme check
closes #1668
add 2/3 pkms provided as test cases (spewpa can be ignored, close
enough. just want an evo & orig).
2017-11-28 19:29:25 -08:00
Matt
42d6d483f2
Comment out Old Amber Aerodactyl 2017-11-28 19:10:56 -05:00
Kurt
1e0bf7b6ea handle hgss volty pikachu trade lang swap
en<->fr
not sure what FR has for the pikachu language (is it EN? if so the code
here works fine); if not, the OT should be checked for lang detection.
2017-11-27 23:21:19 -08:00
Kurt
daa49a23a2
Merge pull request #1666 from sora10pls/master
Event Flag/Constant revisisons
2017-11-27 22:54:16 -08:00
Kurt
c5b7ebf50a Add egg forme check
all other egg formes that are disallowed are checked later; check for
totems here
Closes #1667
2017-11-27 18:13:54 -08:00
sora10pls
2dc33f5473 Slight fixes 2017-11-27 19:56:03 -05:00
sora10pls
06e6afbacb Revise several event flags/constants 2017-11-27 19:51:49 -05:00
Kurt
f13cc289a7 Move eventflag offset fetch to SAV2Offsets obj 2017-11-27 16:46:14 -08:00
pokecal
e86b8c670f add Crystal GS EventFlags
have checked with US ver.
2017-11-28 03:35:55 +09:00
Kurt
b2c3884391 Permit 5->6+ forme mismatch keldeo
BW tutor -> transfer up doesn't update the form
thanks @wwwwwwzx !
2017-11-26 22:19:27 -08:00
wwwwwwzx
f70dab1d19 Remove duplicates
oops..
2017-11-26 20:45:27 -08:00
wwwwwwzx
5886b3e609 ban beast ball fossils
- Add G1/G3/G6 fossils to Alolannatives
- Ban all fossils in beast ball
2017-11-26 20:38:52 -08:00
Kurt
be4d30bb6d Add pokeblock slot filtering
since there's 300 calls to rand to shuffle, I wouldn't be surprised if
there are vblanks messing up the frames

judging from my data 6 years ago (wow, still wrong, just look at the
frame offsets)

http://www.smogon.com/forums/threads/past-gen-rng-research.61090/page-35#post-4021415

looks like it happens quite erratically. may have to just override this
to return true for all gen3 safari mons as it's entirely unpredictable.
2017-11-26 20:07:38 -08:00
Kurt
187726b4af Use static/magnet pull values
reorganize a little for lead use cases
2017-11-26 16:09:24 -08:00
Kurt
22abce5e16 Update gen3 frame finder 2017-11-26 14:48:55 -08:00
Kurt
0f3529e764 Add gen3 swarm encounter slot call
via pret/pokeemerald (and pokeruby); rate is set at 50%
swarm pokemon have the ability to have 4 fixed moves, so derive from
EncounterSlot to have moves, and remove special handling from
VerifyCurrentMoves (now picked up by IMoveset pattern
2017-11-26 11:00:54 -08:00
Kurt
b30cc933e5 Extract festafacility from gui code
move to core project as a structure/class
2017-11-26 08:47:25 -08:00
Kurt
61ca9232e2 fix sav3 dexflag get/set
incorrectly added bit offset twice
Closes #1660
switch /8 to >>3 for consistency with gets
2017-11-26 08:37:08 -08:00
Kurt
1162ba5b3d update bcc slot table
https://pastebin.com/Y0VRnJxu
not sure what the 2nd rand value is

still some things to sort out with RoC's PC
2017-11-25 22:28:38 -08:00
Kurt
2be84b6005 Rework encounterslot location fetch
store ref to area instead of location, useful for fetching sibling slots
from the parent.
2017-11-25 18:16:50 -08:00
Kurt
690cbaae79 Unban fossils
except for aerodactyl (old amber not obtainable)

https://projectpokemon.org/home/forums/topic/42761-fossil-legality-issue-usum/
https://www.serebii.net/itemdex/clawfossil.shtml
etc
2017-11-25 15:20:45 -08:00
Kurt
ad5e69550e Add hgss safari slot block priority bypass
allows hgss safari mons regardless of frame call (table is currently all
Slot=0).

may need separate handling down the road:
* switch slot number to an enum for slot codes (>0 = slot number, less
than -> do something else).

not something im interested in right now
2017-11-25 15:03:37 -08:00
Kurt
fbce8582c7 Add encounter slot checking
emerald silly stuff like magnet pull not implemented so some stuff may
be not matched.
2017-11-25 13:53:39 -08:00
Kurt
76903bce9f Fix gen4-6 gen4 origin encounter type defer check
only check etype if appropriate (not gen7+)
2017-11-25 09:48:49 -08:00
Kurt
d1bae13250 Add flagging for crystal transfers
users should know better but best to know
allow gen2 female when from crystal
2017-11-24 18:19:16 -08:00
Kurt
a7866d3ed0 Simplify crystal detection
any crystal-only data => crystal
no change in overall function for legal pkms being transferred
2017-11-24 18:12:30 -08:00
Kurt
1aea5ac7de Switch crystal detect to gender 2017-11-24 16:21:52 -08:00
Kurt
bb5456bf9d Update 17.11.25
Update event binaries with latest from the Event Gallery
2017-11-24 14:15:01 -08:00
Kurt
d757282ffe add cxd spanish item names
thanks JoseAbad !
2017-11-24 13:19:13 -08:00
Kurt
20cd29c088 remove mind blown for sm
off by one
Closes #1658, thanks @Ntonio36
2017-11-24 12:05:08 -08:00
Kurt
3483b4bb91 Clean up vc2 legality/transfer stuff 2017-11-24 10:13:42 -08:00
Matt
c2fa0892f1
Fix Nihilist flag 2017-11-23 16:13:08 -05:00
Matt
71403c3541
Fix Cosmog/Magearna flags 2017-11-23 15:09:19 -05:00
Kurt
c8bd6d8aea misc kor encoding updates
transporter/bank parsed:
fix 벵벴 swaps (verified ingame)
switch ⋯ for … to match bank
add blank space (u3000) for 0xFF to match bank
note 0xB6C is incorrectly 0xB6D in transporter (=> "."); not an issue as
not a valid char choice ingame.

table data dump: https://pastebin.com/R254mB9p
reproduce via exefs: (kor1-B table followed by english analog
kor_table0)
int ofs0 = 0x1BE3C0;
int ofsK = 0x1BBE48;
int len0 = 0x130;
int lenK = ofs0-ofsK;

A+ parsing: https://pastebin.com/FAxpadxs
2017-11-23 10:18:09 -08:00
Kurt
b8a5657d5a misc tweaks
pull out transfer locations to const references
add vc2 & crown beast/celebi met location suggesting
add vc2 crystal sensitive detection
add 2 more usum trainer stats (thanks holla!)
2017-11-22 21:45:30 -08:00
Kurt
4bbe586981 block ash greninja from USUM game origin
should really be part of a 'receivable by game' check; not doing any
more of these edge cases. need card hash -> permit bits for future
cases.
2017-11-22 08:24:54 -08:00
Kurt
d834ae3ccf allow banned pokemon for BattleTreeGreat in USUM
stupid banlist removal case
master still downlevels/bans
2017-11-22 08:23:50 -08:00
Kurt
d5411f1453 Add nickname flag override for encountertrade
closes #1649
2017-11-22 08:11:53 -08:00
Kurt
9806677d5e EncounterType init update
move MarkEncounterTypeData back above the area size reduction so that
the mark-by-locationID special handling will work
prevent slottype from becoming overwritten if already defined by special
case handling

add examples provided to automated test cases
closes #1648
2017-11-22 07:52:17 -08:00
Kurt
f25b4fea9c Add forme range check method to personalinfo
relocates logic to better location
2017-11-21 18:32:27 -08:00
Kurt
b2b6df7808 Shuffle encountertype loading around
add rocksmash type for cianwood
closes #1646
2017-11-21 18:32:26 -08:00
Ntonio36
0578ec19a9
Light retyping 2017-11-22 01:50:33 +02:00
Kurt
9923dc4a7a Update spanish legality translation text
https://www.diffchecker.com/nKe4LYso
Thanks JoseAbad !
2017-11-21 15:37:48 -08:00
Kurt
05f2968c95 Add wormhole species to AlolanCaptureOffspring
allows apricorn & beast balls
2017-11-20 17:16:16 -08:00
Kurt
1e5fc96e8e fix gs met location errors
override current location if format is GB
update GS transfer location ID
2017-11-20 09:11:37 -08:00
Kurt
8b2ec89c52 Add default value for formecount
https://projectpokemon.org/home/forums/topic/42632-bug-gsc-titles-support-broken-gs-transfers-not-recognized/?do=findComment&comment=223647
2017-11-20 08:08:48 -08:00
Kurt
6534ef1919 Refactoring
Reworks festa facility into a get/set object, simplify some operations
naming convention (PascalCase) for methods/properties
closes #1635
2017-11-19 21:25:46 -08:00
Kurt
8f5fbeb504 allow pupitar hidden ability on 2->7
yay
2017-11-19 19:48:45 -08:00
Kurt
a570d13dc5 Quacklin’ edge case
can't be bothered remapping the input file to match encoding/decoding
tweaks. best to just handle this one case.
2017-11-19 19:37:25 -08:00
Kurt
01dacce214 Add gs transfer met location
30017
2017-11-19 19:19:35 -08:00
Kurt
70ec1fda5e cleanup
wasn't able to view the designer layout so I removed & readded to
project -- works fine now.
uppercase method names
2017-11-19 16:16:44 -08:00
Kurt
a8d5acdd50
Merge pull request #1635 from pokecal/master
add G7 FestivalPlaza Editor
2017-11-19 15:27:13 -08:00
Kurt
ef9722153f move evochain fetch outside of location iterator
also relocate gen12 code so it only runs for gen12
2017-11-19 15:26:41 -08:00
Kurt
f5aa3c3b0a Fix form not specified check for totems
Closes #1634
2017-11-19 14:16:28 -08:00
pokecal
3c85b0ead3 add G7 FestivalPlaza Editor
There are too many phrases,
I have no plan to complete all list of phrases.
But I think user can edit phrases of each facility
 by using their phrase settings.
2017-11-20 06:50:39 +09:00
Kurt
237f376354 Add battle style learned flags for usum
thanks @sora10pls
2017-11-19 13:30:17 -08:00
Kurt
6d3ee54d44 Reorder case fallthrough
closes #1631
based on
5859daf1d8
any case -> reverse game order
2017-11-19 13:15:32 -08:00
Kurt
1b9d657c2f Remove double encounter slot species filtering
GetValid already filters by species
move some common non-location code out of the method; can be done for
the dexlevel fetching too -- future improvement.
2017-11-19 12:41:23 -08:00
Kurt
469587bbbd Add Rotom OT name
"nah lets just store the OT in the save file twice"

add a double check if OT != RotOT to remind the user
2017-11-18 22:26:57 -08:00
Kurt
5859daf1d8 Add maxspecies checks for gen7
accesses arrays outside the range for the new USUM species
Closes #1631 , add test case
also adds lycanroc test cases for #1630
2017-11-18 21:50:48 -08:00
Kurt
6b281cbefe more rockruff 1 handling
y u do dis gf
Closes #1630
2017-11-18 20:08:11 -08:00
Kurt
f29529d141 Add spanish legality translation
Thanks @BlackPyoVic!
2017-11-18 17:38:06 -08:00
Kurt
3b5e6239de Add usum pelago encounters
nothing exclusive, but different from sm
https://pastebin.com/NhAA1vJn
2017-11-18 13:53:51 -08:00
Kurt
6394dac19f Rework mysterygift pkm sprite generation
don't bother converting to pkm then generating the sprite off that; use
the overload with int/bool

removes sav/pkm dependency for generating gift descriptions, and
standardizes the names a little. maybe a PKMBase interface would be
useful...
2017-11-18 11:34:23 -08:00
Kurt
f7e20a3c43 Misc tweaks
fix roamer3 not setting IVs
fix usum z items rightmost pixel getting chopped off
use Gen* instead of GenNumber for specific cases (faster)
add WasGiftEgg location case for Gen7
remove some unnecessary array allocations
2017-11-17 22:19:23 -08:00
Kurt
6a033b00fc
Merge pull request #1628 from wwwwwwzx/master
Unban white/orange Flabebe HA
2017-11-17 20:40:30 -08:00
Kurt
b111b9dad4 Add totem showdown export
soontm
https://github.com/kwsch/PKHeX/issues/1626#issuecomment-345417263
2017-11-17 20:38:43 -08:00
wwwwwwzx
f48e6f711a Unban white/orange Flabebe HA
obtainable from SOS call
2017-11-17 20:19:41 -08:00
Kurt
311e110f6b Block wild dusk rockruff
closes #1627
adds test cases
2017-11-17 20:02:01 -08:00
Kurt
9d1ca22b6d Add usum showdown forme/species i/o
Closes #1626
2017-11-17 19:14:27 -08:00
Kurt
523c03606e Add guard check for out of range gen1 species
Thanks ShadowMario3!
2017-11-17 17:07:12 -08:00
Michael Scire
d56354822c Fix Magearna gift flag, add can-receive flags 2017-11-17 14:27:28 -08:00
Kurt
61c0bf5271 Fix italian/german b2w2 yancy/curtis OT swap
https://projectpokemon.org/home/forums/topic/42528-bw2-in-game-trades-yancycurtis-20171117/
2017-11-17 08:38:38 -08:00
Kurt
5ae7c9a5da
Merge pull request #1623 from ReignOfComputer/master
Flip Valid Trade OT Compare Operator
2017-11-17 08:31:30 -08:00
Kamron Batman
eb635c31de Fixes reference in csproj. 2017-11-17 08:16:57 -08:00
Kamron Batman
d2d04075bc Replaces PCD.pkl with WC4.pkl. Tested and working. 2017-11-17 08:11:49 -08:00
ReignOfComputer
69f11ec3bc Flip Valid Trade OT Compare Operator
Related:
https://projectpokemon.org/home/forums/topic/42528-bw2-in-game-trades-yancycurtis-20171117/
2017-11-17 23:57:55 +08:00
Kurt
55d8f4aa26 Add rockruff event evo edge case
different altform IDs
2017-11-16 21:04:51 -08:00
Kurt
e4b48b2712 Update 17.11.17
Update event binaries with latest from the Event Gallery
2017-11-16 19:32:58 -08:00
Kurt
025b8da52c Flag invalid forms on sav compatibility check
closes #1615
2017-11-16 14:30:18 -08:00
Kurt
8958646ae6 Fix game specific pair evolution comparison
US table with SN result in false; just check the even/odd for these (as
they are pair specific).
Closes #1611 , thanks @Ammako !
2017-11-16 14:20:13 -08:00
sora10pls
a977b722db USUM event flag updates 2017-11-16 16:01:06 -05:00
Michael Scire
e8d1d1f521 Add "IsSMCompatible" helper method to PK7.
Translated from official game code (PokeRegulation::CheckNijiCompatible).
Potentially for future use in USUM -> SM transfers?
2017-11-16 12:23:35 -08:00
pokecal
909148a42a add USUM UB flags
Stakataka APPEARABLE means NOT CAPTURED,
I think the latter will get misunderstand as CAPTURED,
so I adopt former.
2017-11-17 02:31:36 +09:00
pokecal
33c37370c3 add UltraRide SlidePad flag
SlidePad will be enabled from the first play.
2017-11-17 00:06:36 +09:00