Commit graph

520 commits

Author SHA1 Message Date
wwwwwwzx
21a31c9fce Breeding ball legality fixes
Unban safari ball Slakoth, Pichu and Igglybuff, beast ball Helioptile.
2017-12-02 15:44:04 -08: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
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
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
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
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
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
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
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
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
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
Kurt
05f2968c95 Add wormhole species to AlolanCaptureOffspring
allows apricorn & beast balls
2017-11-20 17:16:16 -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
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
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
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
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
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
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
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
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
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
725d094a0d Add dusk form rockruff check
Repurposes "alolan only form" to specify that the form cannot be
obtained with the current game of origin.
Closes #1611

sorry for butchering any translation
2017-11-15 16:28:47 -08:00
Kurt
5fbf331827
Fix trade evolution check
incorrect behavior; check for milotic case if appropriate first
Closes #1609
2017-11-15 10:11:05 -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
Kurt
54b9fa7c93
Merge pull request #1592 from sora10pls/patch-1
Update USUM static encounter list
2017-11-12 09:18:31 -08:00
Kurt
064d18c13f Add necrozma special forme moves
not present in the levelup movepool like they should be...
2017-11-12 09:17:59 -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
e6c68a8fc9 Add heavy ball permissions for USUM
heavy ball now works in USUM
2017-11-11 16:26:22 -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
Kurt
41a60dda78 permit necrozma formes 1&2
and 0.
was eventually reaching the Battle Megas list so insert this abort-early
detection.
2017-11-10 09:22:41 -08:00
Kurt
30f07fc979 Fix wishiwashi handling
totem wishi isn't a gift because it isn't really a totem
2017-11-10 08:42:25 -08:00
Kurt
a3b8b15b4d
Merge pull request #1582 from ReignOfComputer/master
Normal Pokemon @ Ultra Space Wilds / Sandygast @ Route 15
2017-11-10 05:21:35 -08:00
ReignOfComputer
7dd8dd970f Normal Pokemon @ Ultra Space Wilds 2017-11-10 17:29:20 +08:00
Kurt
af91388792 Return empty enumerables for invalid table fetch
shouldn't ever be called but best practice
2017-11-09 22:17:55 -08:00
Kurt
b3436cb791 Add totem forms selection/spritemod and req changes 2017-11-09 21:52:11 -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
Kurt
38f4f773f3
Merge pull request #1580 from sora10pls/patch-1
Add several Ultra Warp Ride locations
2017-11-09 20:12:39 -08:00
Kurt
139e130b82 evo table / check update
prune froslass/gallade evolution tree pruning by editing the binary like
prior commit for sm

fe66a65464 (diff-e0f20441fd5149efa4e829994c94f683)

revise banlist interaction for usum evos (need to trade to USUM to be
able to undergo these evolutions).

Closes #1570 (evolution table issues), other open issues can catch any
other/unrelated fallout.
2017-11-09 19:47:01 -08:00