Commit graph

919 commits

Author SHA1 Message Date
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