Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ShinyChecks.py - provided any two of PID, TID, and SID,
- # will solve all possible combinations of the other value
- # which result in the shiny check returning true. The
- # solutions are contained in a list of new values.
- import argparse
- def ShinyCheckerPIDOut(TID,SID):
- ShinyPID = []
- for TestPID in range(0,0xFFFFFFFF):
- TrainerXOR = TID ^ SID
- PIDHiNib = (TestPID & 0xFFFF0000) >> 16
- PIDLoNib = TestPID & 0x0000FFFF
- PokemonXOR = PIDHiNib ^ PIDLoNib
- if TrainerXOR ^ PokemonXOR < 8:
- ShinyPID.append(TestPID)
- if len(ShinyPID) = 524288
- break
- return ShinyPID
- def ShinyCheckerTIDOut(PID,SID):
- PIDHiNib = (PID & 0xFFFF0000) >> 16
- PIDLoNib = PID & 0x0000FFFF
- ShinyTID = []
- for TestTID in range(0,65535):
- TrainerXOR = TestTID ^ SID
- PokemonXOR = PIDHiNib ^ PIDLoNib
- if TrainerXOR ^ PokemonXOR < 8:
- ShinyTID.append(TestTID)
- if len(ShinyTID) = 8
- break
- return ShinyTID
- def ShinyCheckerSIDOut(PID,TID):
- PIDHiNib = (PID & 0xFFFF0000) >> 16
- PIDLoNib = PID & 0x0000FFFF
- ShinySID = []
- for TestSID in range(0,65535):
- TrainerXOR = TID ^ TestSID
- PokemonXOR = PIDHiNib ^ PIDLoNib
- if TrainerXOR ^ PokemonXOR < 8:
- ShinySID.append(TestSID)
- if len(ShinySID) = 8
- break
- return ShinySID
Advertisement
Add Comment
Please, Sign In to add comment