Kurt
b353701d3e
More generator updates
...
adds pokewalker handling
now stuck on GSC Trade Spearow (likely not setting OT details as needed)
2018-04-29 11:33:35 -07:00
Kurt
4214b1be7b
More generator fixes/improvements
...
Fix/add missing gameversion references (BU instead of BW,
pokewalker=HGSS)
increase reuse of pidgenerator & add more generating methods.
seems like it's generating pkm fine besides the PID edge cases, which is
nice
2018-04-29 09:31:13 -07:00
Kurt
08603c5664
Fix xd miror b encounters not receiving versionID
...
version was set to Encounter_XD, which did not contain the miror b
encounters.
simplify XD check to be O(1) now that version is stored in the encounter
obj
2018-04-29 08:31:57 -07:00
Kurt
120f5380c9
Rework some more pkm generating logic
...
can get all the way to caterpie
- gen3/4 needs an antishiny,
- gen5 needs shiny&antishiny mech
- else case needs both as well.
2018-04-28 22:56:10 -07:00
Kurt
70992138e2
Misc encounter->pkm generating fixes
...
eggs for Gen1 must be generated in Gen2
gen1 wild encounter initial moves
gen4 abilities have 0 for single ability mons
2018-04-28 16:30:56 -07:00
Kurt
55f0143400
Handle generating gb2 events & eggs
...
restrict the simple encounter provider to not spit out cart era only
gifts.
2018-04-28 15:59:33 -07:00
Kurt
af8084fd34
Rework cosplay pikachu static encounter population
...
Now IV3, thanks @wwwwwwzx for finding the hard-coded case (Lati@s is
already IV3).
https://projectpokemon.org/home/forums/topic/45011-illegal-cosplay-pikachu/?tab=comments#comment-230318
remove SkipFormCheck, and just have all 6 populated (so that Form0
pikachu doesn't slip through).
2018-04-27 21:53:00 -07:00
Kurt
1b4ec11335
Add rebattleable Miror B locations to xd shadows
...
https://projectpokemon.org/home/forums/topic/44957-bug-pokemon-xd-post-game-shadows-flagged-illegal/
if shadow lock sets are ever implemented, would need to update this as
well to 'clone' with the different shadow teams available.
2018-04-23 17:14:52 -07:00
Kurt
a48c70ccf2
Add evolution minbound check
...
https://projectpokemon.org/home/forums/topic/44834-bugabout-event-evolution/?do=findComment&comment=229887
(espeon at level 50 originating from a level 50 eevee gift is not valid)
2018-04-17 20:06:23 -07:00
Kurt
fef1d6e0dd
de-linq some evolution dexlevel fetch
...
use shared IList interface instead of IEnumerable
2018-04-17 19:56:43 -07:00
Kurt
f767b2db0f
Differentiate WasEgg (any egg location) from bred
...
https://projectpokemon.org/home/forums/topic/44838-buggen5-egg/
WasEgg is used for other encounter based checks, so can't reduce the
logic usage
2018-04-17 18:54:38 -07:00
Kurt
7a77b4524f
Add b2w2 route 23 amoonguss
...
https://projectpokemon.org/home/forums/topic/44798-bug-report-amoonguss-encount-error-b2w2/
Thanks smileynation!
2018-04-14 08:47:02 -07:00
Kurt
b8a5ccdf7d
Simplify shedinja evo move check
...
Closes #1895 , re-verified with pkm provided in #1805
there's no shedinja gift, always is an evolution
seal some forms to remove virt call in constructor warning
2018-04-10 17:00:28 -07:00
Kurt
be285917b9
Update ingame trade data
...
https://projectpokemon.org/home/forums/topic/44726-bug-in-game-trader-pokemon-flagged-illegal/
Thanks Jimmy Cerno!
2018-04-07 12:34:06 -07:00
Kurt
547c799eeb
Handle gen1/2 static encounters
...
levelup starts after initial moves
2018-04-02 17:51:37 -07:00
Kurt
39f1805940
Fix gen2 met data setting
2018-04-01 20:25:40 -07:00
Kurt
d4e38dded0
Refactor time of day check/validate
...
Fixes time of day flitering property reference (met_day is always 0, so
it never reached)
2018-04-01 20:22:10 -07:00
Kurt
867c705597
Fix broken gen2 tests
...
add oddish to the mix
2018-04-01 15:51:55 -07:00
Kurt
d42eb4372f
Fix 4 egg move gen2 oddish
...
egg moves also can be taught in gen1, which causes the learn source to
be locked to a tradeback (removing egg moves that have IDs greater than
RBY's moves). Simplify gen<=2 parse preference ordering with this
addition to force egg moves to be acknowledged.
2018-04-01 15:04:53 -07:00
Kurt
07b2568b1f
Fix g2 caterpie generating
...
has no egg moves -> no moves generated!
2018-04-01 15:02:27 -07:00
Kurt
5e55b916fa
Handle fixed gender statics
...
Seems like a PID/Nature/Gender/Ability smart-setter is necessary for
other encounters
2018-03-31 21:55:59 -07:00
Kurt
ba4c911566
Refactoring & finish eevee test case
...
generates a legal pk* for every possible encounter; there's likely other
scenarios and more roughness to smooth out, but seems legit for now
2018-03-31 20:37:36 -07:00
Kurt
32f9f806db
Add other iencounterable->pkm generators
...
not tested
2018-03-31 00:43:41 -07:00
Kurt
0b4adf9763
Sync missing content
...
fixes tests
2018-03-30 22:11:24 -07:00
Kurt
0597833899
Track version of slots/static/trades
...
I think I set the version at the appropriate times to get all encounter
objects
2018-03-30 21:38:57 -07:00
Kurt
a89c0c3312
Rename egg game->version
...
add more gameversions (soon)
2018-03-30 21:37:01 -07:00
Kurt
b38abc22e2
Refactoring
...
add IVersion interface with common interactions
2018-03-30 16:31:40 -07:00
Kurt
537ad33229
Add encounterlink gen
...
not tested
2018-03-30 01:02:37 -07:00
Kurt
d03ff147d4
Add template -> pkm method
...
fix signature if no versions are provided (empty params is [0], not
null)
2018-03-29 21:04:05 -07:00
Kurt
2ea1fea5f5
Refactoring
...
add GameVersion to generation
fix generating pk2 eggs
relocate some logic
2018-03-29 21:00:38 -07:00
Kurt
e74e7878cd
Lower dragonair encounter level req for trade
...
https://projectpokemon.org/home/forums/topic/44555-gen2-legality-issue-with-in-game-trade/
Thanks Bumidek !
2018-03-29 08:50:23 -07:00
Kurt
e5ccae906a
misc quality of life improvements
...
set egg friendship
allow SetRandomIVs to use a minimum fixed IV count
2018-03-28 20:56:58 -07:00
Kurt
76b4db1477
Add egg converter & test
...
only tested for gen7 egg->pkm (not to eventual set)
pretty sure a good chunk of the egg generation logic can be pulled out
for reuse in other IEncounterable generators (IEncounterable
extensions?)
2018-03-28 20:40:07 -07:00
Kurt
6333c42cf1
Add more suggestions for eggs
2018-03-28 20:38:21 -07:00
Kurt
1e13220e6e
Add IEncounterable -> pkm interface method
...
egg,slot,static,link,trade need to be implemented later
remove IEncounterable from PL6
2018-03-28 20:38:07 -07:00
Kurt
78616e1ad5
Add showdownset -> pkm encounter fetch test case
...
Test parsing glaceon, input must equal output
Test generating encounters for a specific version (exists only on Moon)
Test generating encounters for the same version (add handling trainer
data to permit Tutors)
fixes error in VC generations-present fetch which allowed movesets from
generations 3-6 lul
exclude negative/invalid gameversions
2018-03-27 19:45:22 -07:00
Kurt
1ca69965bf
store encountertrade nick/ot within object
...
allows for ot/nick fetch for a given language
2018-03-26 22:23:11 -07:00
Kurt
4d3877bf7f
Add EncounterMovesetGenerator
...
lack of a better name; generates IEncounterable list.
2018-03-25 22:50:32 -07:00
Kurt
99a4c55579
Relocate some logic to core
...
party stats set when setting a slot to a save file
simplify set/delete slotchange duplicate logic
suggest better met locations beyond VC transfers
hatching a gen6 egg applies memories automatically
2018-03-25 19:05:49 -07:00
Kurt
a24e5aa742
Update personalinfo usages
...
less temp array usages, add methods for cleaner understanding
2018-03-25 13:54:30 -07:00
Kurt
1e708a2102
Simplify default met location fetch
...
now that IGeneration is available, don't call pkm.GenNumber (slower)
2018-03-24 17:28:56 -07:00
Kurt
a6977af19a
Pull out Contest Stat logic to interface
2018-03-24 10:36:48 -07:00
Kurt
d1cfdd782e
Rework ball / frame check passing
...
Two checks are performed for Gen 3 & 4:
A: Encounterability (wurmple, ball, ability)
B: RNG Compatibility (frame)
Original code only checked 'A'
Recent code ordered by 'A', but returned anything that matched 'B'. If
'B was not satisfied, an 'A' match would get deferred, allowing for an
eventual B & !A to be returned before a A & !B being returned.
yay bool logic
we want to prefer a RNGFrameMatch as well as a SlotCompatible match
original code (no RNG checks) retrieves with SlotCompatible just fine
recent adding in framematch resulted in deferring compatible if not RNG
frame, yielding !A matches before A & !B
maintain 3 queues (A & B get yielded immediately) to track A!B, !AB, and
!A!B
not necessary to check unown case anymore as it'll fall into the A!B
group. better performant to skip that check in favor of only adding for
fail.
thanks theSlayer!
2018-03-21 20:19:54 -07:00
Kurt
636736c3fa
Add g3 safari ball wild deferrals
...
Pineco is valid but also can be sourced to altering cave
similar for sandslash
Thanks theSlayer!
2018-03-21 17:30:19 -07:00
Kurt
2c4e3358e4
Fix ninjask evo move comparison
...
https://projectpokemon.org/home/forums/topic/44413-bug-information-about-bug-found-on-the-new-version-180319/
2018-03-18 15:30:19 -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
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
1cdbe6f4f8
Fix ditto5 IV order
...
closes #1863
2018-03-12 19:34:54 -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
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
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
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
89248b30a9
Re-add rufflet pelago for sn
...
Thanks @wwwwwwzx !
2018-02-12 17:38:31 -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
f289249b2d
Add oddball crabrawler berry pile levels
...
thanks @wwwwwwzx !
2018-02-09 21:26:28 -08:00
Kurt
d6fbd0f0d7
Reorder gsc encounters
...
new string resources have shuckle last
thanks @sora10pls
2018-02-08 17:05:15 -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
9408255bee
Add other international (non english) gen2 tradeOTs
2018-02-06 23:09:00 -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
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
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
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
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
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
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
13e7d8ff85
Fix dragonair ingame trade genders
...
#1787
2018-01-27 23:23:10 -08:00
Kurt
282676e2f2
Refactoring
...
reduces mental footprint
2018-01-27 17:49:18 -08:00
Kurt
ca2898d648
Rework gbc celebi detection
...
disallow outside jp games
2018-01-27 11:46:51 -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
58e374bcc6
Add celebi / more crystal legality handling
...
Closes #1772
2018-01-25 19:25:10 -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
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
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
63a983749e
Don't generate encounter slots for eggs
...
Closes #1749
2018-01-06 21:51:58 -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
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
0c2b16391f
fix spanish ranch gift name check
...
oops
2017-12-29 13:08:06 -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
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
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
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
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
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
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
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
816ebf6b0e
Refactoring
...
no functional change
2017-12-11 16:01:24 -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
5bc2e6da88
Refactoring
...
de-linq some areas where direct accessing is possible (list/array)
2017-12-04 20:16:54 -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
1007c5ddb8
don't flag pokespot for frame not matching
...
#1693
2017-12-04 16:05:21 -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
Kurt
133cc22f50
Add bypass for gen4 unown
...
meh
2017-12-02 19:54:50 -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
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
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
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
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
187726b4af
Use static/magnet pull values
...
reorganize a little for lead use cases
2017-11-26 16:09:24 -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
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
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
3483b4bb91
Clean up vc2 legality/transfer stuff
2017-11-24 10:13:42 -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
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
b2b6df7808
Shuffle encountertype loading around
...
add rocksmash type for cianwood
closes #1646
2017-11-21 18:32:26 -08:00
Kurt
01dacce214
Add gs transfer met location
...
30017
2017-11-19 19:19:35 -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
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
6b281cbefe
more rockruff 1 handling
...
y u do dis gf
Closes #1630
2017-11-18 20:08:11 -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
311e110f6b
Block wild dusk rockruff
...
closes #1627
adds test cases
2017-11-17 20:02:01 -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
55d8f4aa26
Add rockruff event evo edge case
...
different altform IDs
2017-11-16 21:04:51 -08:00
Kurt
0cfb79a3e2
handle hacked edge case input
...
gen7 pkm version on format5 -> exception on new int[-X]
normally caught via exception suppression but better to handle the
cause.
2017-11-15 18:13:04 -08:00
Kurt
897ed84933
update milotic specific evolution checks
...
verifier: return true if detectably traded
check: invert condition to skip out if it is verified traded
2017-11-15 08:36:09 -08:00
Kurt
3832a8afd4
Fix noibat trade gender
...
closes #1608
2017-11-15 08:23:45 -08:00
Kurt
5e6b2f43c2
Update wild/egg generators for totem cases
...
so wonky edge cases
2017-11-14 08:43:04 -08:00
Kurt
8b5803781d
Add bewear location
...
All static encounters have been found!
Closes #1577
2017-11-13 20:50:10 -08:00
Kurt
4341dc1775
Add Galactic Key to usum key items permitted
...
add zygarde cube reconstructs gifts, thanks @sora10pls !
2017-11-12 21:56:08 -08:00
Kurt
9b61c94402
Add ditto5 natures
...
thanks @wwwwwwzx for pointing this out
remove others that have encounter details forced (for totem battles)
2017-11-12 12:15:08 -08:00
Kurt
55c31cb598
Update encounters
...
add ability locks for sm gifts
add poipole secondary location
add magearna details
2017-11-12 10:59:23 -08:00
Matt
6ecc7f2efb
Update USUM static encounter list
2017-11-12 12:08:48 -05:00
ReignOfComputer
0b95f7d4b8
Porygon/Zygarde/Trainer School Encounters
2017-11-12 22:29:21 +08:00
ReignOfComputer
f1e7c0f759
Hypno Trio Encounter at Hau'oli City PD
2017-11-12 18:33:06 +08:00
Kurt
dea70bf243
Add cosmog & zygarde gift locations
...
thanks @architdate !
(thanks @bui for the pikachu!)
porygon remains
2017-11-11 17:24:49 -08:00
Kurt
d674ea4f39
Add surf pikachu details
...
Closes #1589
Thanks @PolarPeridot !
2017-11-11 17:16:31 -08:00
Kurt
5d90e9dc53
Refactoring
...
check alolan forms for forme matching, break up large method to
something a little more understandable.
2017-11-11 09:35:07 -08:00
Kurt
f5a6f23161
Add more static enc data
...
clear out unused (highly certain) SM encounters
add solgaleo/lunala locations
add partner form pikachu
2017-11-10 19:43:31 -08:00
sora10pls
6cd2a08238
Fix Type: Null location
2017-11-10 13:19:47 -05:00
sora10pls
1d44c45fe0
Fix indenting
2017-11-10 13:16:43 -05:00
sora10pls
6f58698187
Add more static encounter locations
2017-11-10 13:08:36 -05:00
ReignOfComputer
7dd8dd970f
Normal Pokemon @ Ultra Space Wilds
2017-11-10 17:29:20 +08:00
ReignOfComputer
ec6e485c50
Sandygast @ Route 15
2017-11-10 13:14:18 +08:00
Kurt
23d57f8807
Add ditto5, necrozma
...
fix tab for oras flag resource
2017-11-09 21:11:19 -08:00
Matt
c1de054c7f
Add several Ultra Warp Ride locations
...
- Cresselia
- Swanna
- Drapion
- Audino
- Medicham
- Magcargo
- Quagsire
2017-11-09 20:27:14 -05:00
Kurt
4deb24cc95
Add gender locks
...
lots of totems with fixed genders (not capturable), but some other
slightly important ones needing enforcement.
2017-11-09 16:32:09 -08:00
Kurt
55820246cf
Misc tweaks
...
mark SOS slots for usum, only permit varied alolan evos to be forme
changed (blocks totem raticate from being matched to non totem forme
inputs)
2017-11-09 16:18:30 -08:00
Matt
82a7502cf4
Add Poipole location
2017-11-09 19:10:11 -05:00
Matt
273231ad00
Add USUM Pinsir on Exeggutor Island locations
2017-11-09 16:56:10 -05:00
Kurt
ccdb84b851
update for some errors
...
restore ekans values, re-add antishiny for yungoos set
2017-11-09 07:22:34 -08:00
Kurt
b615ef0057
Update static7 with more data
2017-11-09 07:17:36 -08:00
Kurt
ae0122254a
Add abilities & IV3 flags for usum gifts
2017-11-09 06:43:11 -08:00
sora10pls
38cbf160ec
Add Totem-Sized gift ability/version checks
2017-11-09 02:01:09 -05:00
Matt
a8000608f2
Add more USUM static encounter locations
...
Totems @ Heahea Beach, Island Scan.
Grovyle is Akala-Friday @ Route 5, as is Bellsprout in SM; assume locations were unchanged.
2017-11-08 22:56:13 -05:00
Kurt
115c611120
add surf to gift pikachu moveset
...
only gift pkm with special move
2017-11-08 19:51:04 -08:00
Kurt
93b49928a0
add lvl/egg move tables for usum
...
add a few met locations for static encounters, recognizes torracat with
double kick correctly!
2017-11-08 19:31:07 -08:00
Kurt
93bd974249
Add EncounterStatic data
...
sourced from Ultra Moon, location IDs are not known (need manual docs).
Many of these may be unused, like last gen. Will eventually remove
unused ones once crowdsourced effort finishes.
2017-11-08 18:43:55 -08:00
Kurt
800ba6cf90
encounter additions
...
add ingame trade data
add placeholder SOS data containers
add refs to all wild encounters (pelago is same as sm)
unmark some todo's
2017-11-08 15:07:04 -08:00
Kurt
f959179e1a
add more colo encounter locations
...
dogs had hypothetical met locations, now fixed (y u so weird cxd)
Closes #1556
2017-11-03 21:33:48 -07:00
Kurt
f48afaf12d
Switch slottype to flags
...
simplifies some logic, adds some documentation, speeds up loading very
slightly
2017-11-03 17:14:18 -07:00
Kurt
d7300ce68f
Cleanup
...
add amoongus route22 encounter
fix typos in comments
resharper suggestions for recent pr
2017-11-02 21:37:28 -07:00
Kurt
495eb26740
Rework colo starter PIDIV detection
...
force colo starters to be male only
use some c# lang features for EncounterType flags
add edge case PIDIV detection for starter gender/shiny lock scenario
adds a little documentation for those unfamiliar with the NPC PKM
generation quirks.
Colosseum Starters will now be recognized with a different PIDIV type
which is specific to them & them only.
2017-11-01 21:12:44 -07:00
Kurt
e9cebf933c
Fix headbutt encountertype fetch
...
future improvement can be detecting when "none" is appropriate, but for
now, whatever.
Closes #1502
2017-10-29 20:19:49 -07:00
Kurt
da9e316cd8
Add rock smash encounter type flagging
...
I don't believe rock smash (EncounterType 1) exists, tests at Route 19
and Vermillion yielded None & City.
Closes #1379
Opens #1502
2017-10-29 19:17:53 -07:00
Kurt
3f533399f2
Simplify slot type loading
...
instead of 2 similar methods, use params to achieve a flexible method
for both situations
isolate rock smash / headbutt type loading
2017-10-29 18:09:30 -07:00
Kurt
afde4514e2
Add realgam tower / deep colosseum locs
...
sudowoodo & gsc dogs
closes #1549
fix loading issue for abilities in gen3 format, copy the gen4
sanitization
2017-10-29 10:41:12 -07:00
Kurt
9ada593af9
add gen7 nick ot (trades)
...
#1249
todo usum table when appropriate
2017-10-28 23:04:02 -07:00
Kurt
d2ebb6340e
Add gen5 nick/OT info (trades)
...
#1249
appears b2w2 is the first game with fixed nature & nonfixed PID (based
on RoC's specimens), so can't filter by PID on those.
2017-10-28 21:43:47 -07:00
Kurt
e4319fd929
Add gen3 nick/OT info
...
#1249
2017-10-28 19:51:55 -07:00
Kurt
2c73e130af
Add gen4 nick/OT info
...
#1249
2017-10-28 19:02:18 -07:00
Kurt
9d0b153eab
Add egg hatch suggestion for b2w2
2017-10-28 14:00:44 -07:00
Kurt
a401db608e
Split trade encounter nick/OT verification methods
...
#1249
2017-10-28 13:15:51 -07:00
Kurt
0e9960909b
Refactor encountertype check to bitflags
...
#1379
need to double check none permissive later
2017-10-27 23:57:21 -07:00
Kurt
00a4c1adf5
Add multilang c/xd ingame gifts
...
save space by just using a loop
closes #1529 , pokespot proc discussion relocated to associated issue
(as previously noted in comments)
2017-10-25 21:53:55 -07:00
Kurt
a6ef105544
Update gen3/4 encounter generators
...
revisit for simplification now that EncounterTrade matching is more
precise (PID required to match).
#1249
2017-10-24 22:25:52 -07:00
Kurt
59319a614a
Add PID values for Gen3/4 ingame trades
...
#1249
2017-10-24 22:24:29 -07:00
Kurt
933bfba8e1
Misc cleanup
...
check gen2 stadium names, use pkm.Japanese when favorable
2017-10-24 18:27:40 -07:00
Kurt
69cf1eaa9c
add more pkhex.core xml documentation
...
adds a bunch of documentation useful for those unfamiliar with the core
library
2017-10-23 23:12:58 -07:00