Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. import math
  2. import operator
  3.  
  4. #rngr
  5. def rngr(seed,j):
  6. k = 0
  7. while (k < j):
  8. seedr = (0x00003155*(seed%65536)+((0x0000B9B3*(seed%65536)+0x00003155*math.floor(seed/65536))%65536)*65536+0xA170F641)%(4294967296)
  9. seed = seedr
  10. #print k
  11. k += 1
  12. return seedr
  13.  
  14. #rng
  15. def rng(seed,j):
  16. k = 0
  17. while (k <= j):
  18. newseed = seed
  19. seed = (0x000043FD*(seed%65536)+((0x00000003*(seed%65536)+0x000043FD*math.floor(seed/65536))%65536)*65536+0x00269EC3)%(4294967296)
  20. k += 1
  21. return seed
  22.  
  23. #PID
  24. def findpid(seed,case):
  25. seedint = seed
  26. if case == 1:
  27. casen = 3
  28. if case == 2:
  29. casen = 8
  30. if case == 3:
  31. casen = 10
  32. pseed = int(rngr(seed,casen))
  33. seedint = int(rng(pseed,0))
  34. print "pseed: " + str(hex(pseed))
  35. lockpid = int(((pseed >> 16)*0x10000 + (seedint>>16)))
  36. naturelock = int(lockpid%25)
  37. print hex(lockpid)
  38. return lockpid
  39.  
  40. def nature(naturelock):
  41. natures = ['hardy', 'lonely', 'brave', 'adamant', 'naughty', 'bold', 'docile', 'relaxed', 'impish', 'lax', 'timid', 'hasty', 'serious', 'jolly', 'naive', 'modest', 'mild', 'quiet', 'bashful', 'rash', 'calm', 'gentle', 'sassy', 'careful', 'quirky']
  42. return natures[naturelock]
  43.  
  44. def main():
  45. #seed = int(raw_input('seed: '), 16)
  46. #naturelocks = int(raw_input('naturelock array: '), 10)
  47. #genderlocks = int(raw_input('genderlock array: '), 10)
  48. #nsmons = int(raw_input('number of nonshadows: '), 10)
  49. #gthresh = int(raw_input('genderthresholds: '), 10)
  50. #case = int(raw_input('case: '), 10)
  51. seed = 0xd1ae12a5
  52. case = 2
  53. inputseed = seed
  54. naturelocks = [12, 18, 0]
  55. genderlocks = [0, 0, 0]
  56. nsmons = 3
  57. gthresh = [256, 128, 256]
  58. for i in range(0,1):
  59. seedr = seed
  60. #seedr = rngr(seed,1)
  61. #seed = rng(seed,1)
  62. #seedr = int(seedr)
  63. #seed = seedr
  64. #seed = int(seed)
  65. lockpid = int(findpid(seed, case))
  66. naturelock = int(lockpid%25)
  67. print "PID: " + str(hex(lockpid))
  68. print "nature lock: " + nature(int(lockpid%25))
  69. print "ability lock: " + str(int(lockpid%2))
  70. print "gender lock: " + str(int(lockpid%256))
  71. #print hex(seed)
  72. print "hex seed: " + str(hex(seedr))
  73. print naturelocks[0]
  74. if naturelock == naturelocks[0] :
  75. if genderlocks[0] == 1:
  76. if int(lockpid%256) >= gthresh[0]:
  77. listgen(naturelocks, genderlocks, gthresh, nsmons, inputseed, case)
  78. else:
  79. print "gender does not match"
  80. else:
  81. if int(lockpid%256) < gthresh[0]:
  82. listgen(naturelocks, genderlocks, gthresh, nsmons, inputseed, case)
  83. else:
  84. print "gender does not match"
  85. else:
  86. print "naturelock doesnt match"
  87.  
  88.  
  89.  
  90. def listgen(naturelocks, genderlocks, gthresh, nsmons, inputseed, case):
  91. seed = inputseed
  92. d = 0
  93. matchlist = []
  94. currentpid = 0
  95. currentnature = 0
  96. pseed = int(rngr(seed,400))
  97. pseed0 = pseed
  98. for s in range(0,nsmons):
  99. pseed = pseed0
  100. matchlist = []
  101. pidlist = []
  102. for r in range(1,400):
  103. seedint = int(rng(pseed,0))
  104. currentpid = int(((pseed >> 16)*0x10000 + (seedint>>16)))
  105. currentnature = int(currentpid%25)
  106. pseed = seedint
  107. if currentnature == naturelocks[s-1]:
  108. if genderlocks[s-1] == 1:
  109. if int(currentpid%256) >= gthresh[s-1]:
  110. matchlist.append(r-4)
  111. pidlist.append(hex(currentpid))
  112. else:
  113. if int(currentpid%256) < gthresh[s-1]:
  114. matchlist.append(r-4)
  115. pidlist.append(hex(currentpid))
  116. print "current nature"
  117. print hex(pseed)
  118. print matchlist
  119. print pidlist
  120. if case == 1:
  121. print "target on frame 401, primary nature lock on 394"
  122. if case == 2:
  123. print "target on frame 401, primary nature lock on 389"
  124. if case == 3:
  125. print "target on frame 401, primary nature lock on 387"
  126.  
  127. # Execute Script:
  128. if __name__ == "__main__":
  129. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement