Commit Graph

475 Commits

Author SHA1 Message Date
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
133cc22f50 Add bypass for gen4 unown
meh
2017-12-02 19:54:50 -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
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
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