Advertisement
yojimbos_law

failed attempt at spading TCRS enchantment seeding

Jun 16th, 2019
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.41 KB | None | 0 0
  1. import seeded_mt_rand.ash
  2. import seeded_rand.ash
  3.  
  4. /* personal trainer items with one enchantment in seed:
  5.  
  6. 2481 demon buckler
  7. 2889 tiny plastic apathetic lizardman
  8. 5089 Pokëmann figurine: Vegemite
  9. 5100 Pokëmann figurine: Frank
  10.  
  11. */
  12.  
  13.  
  14. //throwing in 1, 10, 69, and 100 because you never know.
  15. int[int] primes_also_one = {1, 2, 3, 5, 7, 10, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97, 100};
  16. //subset of slightly higher likelihood things for quicker tests.
  17. //int[int] primes_also_one = {1, 3, 5, 7, 10, 11, 13, 23, 37, 69, 100};
  18. int[int] roll;
  19. int[int] test_item;
  20. int but = 2**31-1;
  21.  
  22.  
  23.  
  24. test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
  25. //test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
  26. int county_thing;
  27. int start = gametime_to_int();
  28. for sample from 0 to 1{
  29. //maybe there's a multiplier?
  30. for g from 0 to (primes_also_one.count()-1){
  31. //maybe path matters?
  32. for h from 0 to primes_also_one.count()-1{
  33. //not including path because eh...
  34. //for h from primes_also_one.count() to primes_also_one.count(){
  35. for i from 0 to (primes_also_one.count()-1){
  36. for j from 0 to (primes_also_one.count()-1){
  37. for k from 0 to (primes_also_one.count()-1){
  38. roll[1] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 0, but, sample)%170;
  39. roll[2] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 0, but, sample)%170;
  40. if(roll[2] == roll[1]){
  41. roll[3] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 0, but, sample)%170;
  42. if(roll[3] == roll[1]){
  43. roll[4] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 0, but, sample)%170;
  44. if(roll[4] == roll[1]){
  45. print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+0+","+but+"] mod 170");
  46. }
  47. }
  48. }
  49. roll[1] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 0, 169, sample);
  50. roll[2] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 0, 169, sample);
  51. if(roll[2] == roll[1]){
  52. roll[3] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 0, 169, sample);
  53. if(roll[3] == roll[1]){
  54. roll[4] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 0, 169, sample);
  55. if(roll[4] == roll[1]){
  56. print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+0+","+169+"]");
  57. }
  58. }
  59. }
  60. roll[1] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 1, 170, sample);
  61. roll[2] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 1, 170, sample);
  62. if(roll[2] == roll[1]){
  63. roll[3] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 1, 170, sample);
  64. if(roll[3] == roll[1]){
  65. roll[4] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 1, 170, sample);
  66. if(roll[4] == roll[1]){
  67. print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+1+","+170+"]");
  68. }
  69. }
  70. }
  71. county_thing++;
  72. if(county_thing % 10000 == 0){
  73. //print_html(county_thing+" iterations done");
  74. print((county_thing)+" iterations done in "+((gametime_to_int() - start)/1000)+" seconds");
  75. }
  76. }
  77. }
  78. }
  79. }
  80. }
  81. }
  82.  
  83. print("done");
  84.  
  85.  
  86.  
  87. /*
  88. test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
  89. //test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
  90. int county_thing;
  91. int start = gametime_to_int();
  92. for sample from 1 to 3{
  93. for low_mod from 0 to 0{
  94. //maybe there's a multiplier?
  95. for g from 0 to (primes_also_one.count()-1){
  96. //maybe path matters?
  97. for h from 0 to primes_also_one.count(){
  98. for i from 0 to (primes_also_one.count()-1){
  99. for j from 0 to (primes_also_one.count()-1){
  100. for k from 0 to (primes_also_one.count()-1){
  101. roll[1] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 0, but, sample)%170;
  102. roll[2] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 0, but, sample)%170;
  103. if(roll[2] == roll[1]){
  104. roll[3] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 0, but, sample)%170;
  105. if(roll[3] == roll[1]){
  106. roll[4] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 0, but, sample)%170;
  107. if(roll[4] == roll[1]){
  108. print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+0+","+but+"] mod 170");
  109. }
  110. }
  111. }
  112. county_thing++;
  113. if(county_thing % 10000 == 0){
  114. //print_html(county_thing+" iterations done");
  115. print((county_thing)+" iterations done in "+((gametime_to_int() - start)/1000)+" seconds");
  116. }
  117. }
  118. }
  119. }
  120. }
  121. }
  122. }
  123. }
  124. print("done");
  125.  
  126.  
  127. */
  128.  
  129.  
  130.  
  131.  
  132. /*
  133. test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
  134. //test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
  135. int county_thing;
  136. int start = gametime_to_int();
  137. for sample from 1 to 2{
  138. for low_mod from 0 to 1{
  139. //maybe path matters?
  140. for h from 0 to (primes_also_one.count()-1){
  141. for i from 0 to (primes_also_one.count()-1){
  142. for j from 0 to (primes_also_one.count()-1){
  143. for k from 0 to (primes_also_one.count()-1){
  144. roll[1] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
  145. roll[2] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
  146. if(roll[2] == roll[1]){
  147. roll[3] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
  148. if(roll[3] == roll[1]){
  149. roll[4] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
  150. if(roll[4] == roll[1]){
  151. print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+") on sample "+sample+" of ["+low_mod+","+(low_mod+169)+"]");
  152. }
  153. }
  154. }
  155.  
  156. county_thing++;
  157. if(county_thing % 10000 == 0){
  158. //print_html(county_thing+" iterations done");
  159. print((county_thing)+" iterations done in "+((gametime_to_int() - start)/1000)+" seconds");
  160. }
  161. }
  162. }
  163. }
  164. }
  165. }
  166. }
  167. print("done");
  168. */
  169.  
  170. /*
  171. no result for
  172.  
  173. int[int] primes_also_one = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97};
  174. test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
  175.  
  176. for sample from 1 to 1{
  177. for low_mod from 0 to 1{
  178. for x from 167 to 169{
  179. for i from 0 to 26{
  180. for j from 0 to 26{
  181. for k from 0 to 26{
  182.  
  183. */
  184.  
  185. /*
  186. no result for
  187.  
  188. int[int] primes_also_one = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97};
  189. test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
  190.  
  191. for sample from 1 to 1{
  192. for low_mod from 0 to 1{
  193. for x from 167 to 169{
  194. for i from 0 to 26{
  195. for j from 0 to 26{
  196. for k from 0 to 26{
  197.  
  198. */
  199.  
  200. /*
  201. no result for
  202.  
  203. int[int] primes_also_one = {1, 2, 3, 5, 7, 10, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97, 100};
  204. test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
  205.  
  206. for sample from 2 to 3{
  207. for low_mod from 0 to 1{
  208. for i from 0 to (primes_also_one.count()-1){
  209. for j from 0 to (primes_also_one.count()-1){
  210. for k from 0 to (primes_also_one.count()-1){
  211.  
  212. */
  213.  
  214. /*
  215. no result for
  216. int[int] primes_also_one = {1, 3, 5, 7, 10, 11, 13, 23, 37, 69, 100};
  217.  
  218. test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
  219. for sample from 1 to 2{
  220. for low_mod from 0 to 1{
  221. //maybe path matters?
  222. for h from 0 to (primes_also_one.count()-1){
  223. for i from 0 to (primes_also_one.count()-1){
  224. for j from 0 to (primes_also_one.count()-1){
  225. for k from 0 to (primes_also_one.count()-1){
  226. roll[1] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
  227.  
  228. */
  229.  
  230.  
  231.  
  232. /*
  233.  
  234. no result for
  235.  
  236. int[int] primes_also_one = {1, 3, 5, 7, 10, 11, 13, 23, 37, 69, 100};
  237. int but = 2**31-1;
  238.  
  239. test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
  240. for sample from 1 to 1{
  241. for low_mod from 0 to 0{
  242. //maybe path matters?
  243. for h from 0 to primes_also_one.count(){
  244. for i from 0 to (primes_also_one.count()-1){
  245. for j from 0 to (primes_also_one.count()-1){
  246. for k from 0 to (primes_also_one.count()-1){
  247. roll[1] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35, 0, but, sample)%170;
  248. //
  249. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement