Crime Value Per Nerve

Displays the value per nerve for Disposal and Cracking

  1. // ==UserScript==
  2. // @name Crime Value Per Nerve
  3. // @namespace heartflower.torn.com
  4. // @version 1.1.1
  5. // @description Displays the value per nerve for Disposal and Cracking
  6. // @author Heartflower [2626587]
  7. // @match https://www.torn.com/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=torn.com
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. let crackingDetailed = true;
  15.  
  16. let disposalData = [
  17. { name: 'Biological Waste', method: 'Abandon', averageMoney: 28012, successRate: 0.74, nerveAmount: 6 },
  18. { name: 'Biological Waste', method: 'Bury', averageMoney: 28201, successRate: 0.83, nerveAmount: 8 },
  19. { name: 'Biological Waste', method: 'Burn', averageMoney: 29061, successRate: 0.68, nerveAmount: 10 },
  20. { name: 'Biological Waste', method: 'Sink', averageMoney: 28477, successRate: 0.99, nerveAmount: 12 },
  21.  
  22. { name: 'Body Part', method: 'Abandon', averageMoney: 72044, successRate: 0.60, nerveAmount: 6 },
  23. { name: 'Body Part', method: 'Bury', averageMoney: 71673, successRate: 0.83, nerveAmount: 8 },
  24. { name: 'Body Part', method: 'Burn', averageMoney: 70850, successRate: 0.89, nerveAmount: 10 },
  25. { name: 'Body Part', method: 'Sink', averageMoney: 70913, successRate: 0.89, nerveAmount: 12 },
  26. { name: 'Body Part', method: 'Dissolve', averageMoney: 70543, successRate: 0.98, nerveAmount: 14 },
  27.  
  28. { name: 'Building Debris', method: 'Abandon', averageMoney: 8923, successRate: 0.83, nerveAmount: 6 },
  29. { name: 'Building Debris', method: 'Bury', averageMoney: 8860, successRate: 0.70, nerveAmount: 8 },
  30. { name: 'Building Debris', method: 'Sink', averageMoney: 8990, successRate: 0.97, nerveAmount: 12 },
  31.  
  32. { name: 'Dead Body', method: 'Abandon', averageMoney: 140755, successRate: 0.81, nerveAmount: 6 },
  33. { name: 'Dead Body', method: 'Bury', averageMoney: 130663, successRate: 0.92, nerveAmount: 8 },
  34. { name: 'Dead Body', method: 'Burn', averageMoney: 150350, successRate: 0.50, nerveAmount: 10 },
  35. { name: 'Dead Body', method: 'Sink', averageMoney: 0, successRate: 0.50, nerveAmount: 12 },
  36. { name: 'Dead Body', method: 'Dissolve', averageMoney: 137550, successRate: 1.00, nerveAmount: 14 },
  37.  
  38. { name: 'Documents', method: 'Abandon', averageMoney: 10118, successRate: 0.67, nerveAmount: 6 },
  39. { name: 'Documents', method: 'Bury', averageMoney: 9957, successRate: 0.82, nerveAmount: 8 },
  40. { name: 'Documents', method: 'Burn', averageMoney: 9973, successRate: 0.98, nerveAmount: 10 },
  41. { name: 'Documents', method: 'Sink', averageMoney: 0, successRate: 0, nerveAmount: 12 },
  42. { name: 'Documents', method: 'Dissolve', averageMoney: 0, successRate: 0, nerveAmount: 14 },
  43.  
  44. { name: 'Firearm', method: 'Abandon', averageMoney: 38433, successRate: 0.76, nerveAmount: 6 },
  45. { name: 'Firearm', method: 'Bury', averageMoney: 37241, successRate: 0.86, nerveAmount: 8 },
  46. { name: 'Firearm', method: 'Sink', averageMoney: 38222, successRate: 0.98, nerveAmount: 12 },
  47. { name: 'Firearm', method: 'Dissolve', averageMoney: 0, successRate: 0, nerveAmount: 14 },
  48.  
  49. { name: 'General Waste', method: 'Abandon', averageMoney: 2017, successRate: 0.83, nerveAmount: 6 },
  50. { name: 'General Waste', method: 'Bury', averageMoney: 2066, successRate: 0.97, nerveAmount: 8 },
  51. { name: 'General Waste', method: 'Burn', averageMoney: 1994, successRate: 0.96, nerveAmount: 10 },
  52. { name: 'General Waste', method: 'Sink', averageMoney: 1998, successRate: 0.71, nerveAmount: 12 },
  53. { name: 'General Waste', method: 'Dissolve', averageMoney: 2000, successRate: 0, nerveAmount: 14 },
  54.  
  55. { name: 'Industrial Waste', method: 'Abandon', averageMoney: 24077, successRate: 0.74, nerveAmount: 6 },
  56. { name: 'Industrial Waste', method: 'Bury', averageMoney: 24375, successRate: 0.83, nerveAmount: 8 },
  57. { name: 'Industrial Waste', method: 'Sink', averageMoney: 24067, successRate: 0.97, nerveAmount: 12 },
  58.  
  59. { name: 'Murder Weapon', method: 'Abandon', averageMoney: 39078, successRate: 0.65, nerveAmount: 6 },
  60. { name: 'Murder Weapon', method: 'Bury', averageMoney: 38912, successRate: 0.87, nerveAmount: 8 },
  61. { name: 'Murder Weapon', method: 'Sink', averageMoney: 37359, successRate: 0.98, nerveAmount: 12 },
  62. { name: 'Murder Weapon', method: 'Dissolve', averageMoney: 0, successRate: 0, nerveAmount: 14 },
  63.  
  64. { name: 'Old Furniture', method: 'Abandon', averageMoney: 2885, successRate: 0.83, nerveAmount: 6 },
  65. { name: 'Old Furniture', method: 'Bury', averageMoney: 2961, successRate: 0.67, nerveAmount: 8 },
  66. { name: 'Old Furniture', method: 'Burn', averageMoney: 2993, successRate: 0.97, nerveAmount: 10 },
  67. { name: 'Old Furniture', method: 'Sink', averageMoney: 2970, successRate: 0.85, nerveAmount: 12 },
  68. { name: 'Old Furniture', method: 'Dissolve', averageMoney: 0, successRate: 0, nerveAmount: 14 },
  69.  
  70. { name: 'Broken Appliance', method: 'Abandon', averageMoney: 4535, successRate: 0.81, nerveAmount: 6 },
  71. { name: 'Broken Appliance', method: 'Bury', averageMoney: 4557, successRate: 0.73, nerveAmount: 8 },
  72. { name: 'Broken Appliance', method: 'Sink', averageMoney: 4469, successRate: 0.97, nerveAmount: 12 },
  73. { name: 'Broken Appliance', method: 'Dissolve', averageMoney: 0, successRate: 0, nerveAmount: 14 },
  74.  
  75. { name: 'Vehicle', method: 'Abandon', averageMoney: 15070, successRate: 0.83, nerveAmount: 6 },
  76. { name: 'Vehicle', method: 'Burn', averageMoney: 14994, successRate: 0.96, nerveAmount: 10 },
  77. { name: 'Vehicle', method: 'Sink', averageMoney: 15017, successRate: 0.98, nerveAmount: 12 },
  78. ];
  79.  
  80. let crackingValues = {};
  81. if (crackingDetailed == false) {
  82. crackingValues = {
  83. 'Colleague': { low: 10000, high: 29900, encryption: 0 },
  84. 'Ex-boyfriend': { low: 10000, high: 60100, encryption: 0 },
  85. 'Ex-girlfriend': { low: 10200, high: 99800, encryption: 0 },
  86. 'Ex-husband': { low: 10100, high: 30000, encryption: 0 },
  87. 'Ex-wife': { low: 10000, high: 30000, encryption: 0 },
  88. 'Friend': { low: 10000, high: 25000, encryption: 0 },
  89. 'Informant': { low: 30100, high: 48600, encryption: 0 },
  90. 'Juror': { low: 30000, high: 49500, encryption: 0 },
  91. 'Neighbor': { low: 10000, high: 25000, encryption: 0 },
  92. 'Online adversary': { low: 10000, high: 48000, encryption: 0 },
  93. 'Romantic interest': { low: 10000, high: 29500, encryption: 0 },
  94. 'Doctor': { low: 35100, high: 139200, encryption: 0 },
  95. 'Judge': { low: 41100, high: 96100, encryption: 0 },
  96. 'Hacker': { low: 44400, high: 199700, encryption: 1 },
  97. 'Police officer': { low: 40700, high: 90000, encryption: 1 },
  98. 'Government official': { low: 70300, high: 129500, encryption: 1 },
  99. 'Politician': { low: 60000, high: 115000, encryption: 1 },
  100. 'Pornography network': { low: 72300, high: 145400, encryption: 1 },
  101. 'Campus network': { low: 61000, high: 171300, encryption: 1 },
  102. 'Health service': { low: 86500, high: 148100, encryption: 1 },
  103. 'Games developer': { low: 69800, high: 132900, encryption: 2 },
  104. 'Rival corporation': { low: 88600, high: 199600, encryption: 2 },
  105. 'Police department': { low: 101000, high: 243100, encryption: 3 },
  106. 'Crime syndicate': { low: 117000, high: 342400, encryption: 3 },
  107. 'Government': { low: 190500, high: 297500, encryption: 3 },
  108. 'Internet service provider': { low: 199900, high: 266800, encryption: 3 },
  109. 'Armed forces': { low: 410600, high: 750000, encryption: 9 },
  110. 'Intelligence agency': { low: 460000, high: 880600, encryption: 9 },
  111. };
  112. } else if (crackingDetailed == true) {
  113. crackingValues = {
  114. 'Cell phone record database': {low: 561700, high: 649600, average: 606200, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 9},
  115. 'Contractor supply database': {low: 514400, high: 596300, average: 560538, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 9},
  116. 'Edge firewall': {low: 462600, high: 499400, average: 474250, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 9},
  117. 'Encrypted communication channel': {low: 623500, high: 768300, average: 695780, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 9},
  118. 'Endpoint detection': {low: 426400, high: 463900, average: 441400, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 9},
  119. 'Enhanced interrogation archive': {low: 677800, high: 710600, average: 688900, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 9},
  120. 'Foreign intelligence records': {low: 504000, high: 516800, average: 511350, bruteForceSuccessRate: 94, crackingSuccessRate: 100, encryption: 9},
  121. 'Level 3 security authentication': {low: 500100, high: 577100, average: 526367, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 9},
  122. 'Military personnel records': {low: 410200, high: 463300, average: 443450, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 9},
  123. 'Mission report log': {low: 474600, high: 517800, average: 490425, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 9},
  124. 'Primary access terminal': {low: 727400, high: 893000, average: 811888, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 9},
  125. 'Primary load balancer': {low: 456800, high: 527800, average: 491800, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 9},
  126. 'Reconnaissance archive': {low: 488700, high: 548600, average: 510814, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 9},
  127. 'Security mainframe': {low: 547400, high: 547400, average: 547400, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 9},
  128. 'Terrorist watch list': {low: 555000, high: 595000, average: 570775, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 9},
  129. 'Arrest records': {low: 126400, high: 172400, average: 149784, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  130. 'Birth records': {low: 178700, high: 224300, average: 204332, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 3},
  131. 'Bodycam footage repository': {low: 151400, high: 199900, average: 171653, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  132. 'Cookie log': {low: 191400, high: 199900, average: 195650, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  133. 'Crime statistics database': {low: 215100, high: 293600, average: 261376, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  134. 'Cross connect ingress': {low: 198200, high: 222400, average: 207629, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  135. 'DNA database': {low: 210500, high: 242200, average: 227400, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  136. 'Encrypted file sharing platform': {low: 117000, high: 122900, average: 119950, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  137. 'Encrypted target list': {low: 141400, high: 169500, average: 156092, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  138. 'Foreign exchange account': {low: 220100, high: 285800, average: 243070, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  139. 'Immigration records': {low: 152000, high: 198300, average: 178248, bruteForceSuccessRate: 99, crackingSuccessRate: 96, encryption: 3},
  140. 'Import / export records': {low: 160700, high: 247500, average: 201777, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  141. 'Load balancing controller': {low: 190300, high: 233800, average: 211150, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  142. 'Multi cluster ingress': {low: 229100, high: 273600, average: 245360, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  143. 'Officer training records': {low: 100200, high: 149900, average: 122653, bruteForceSuccessRate: 99, crackingSuccessRate: 95, encryption: 3},
  144. 'People of interest list': {low: 176300, high: 213800, average: 195714, bruteForceSuccessRate: 97, crackingSuccessRate: 97, encryption: 3},
  145. 'Political donations ledger': {low: 204400, high: 296300, average: 250164, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 3},
  146. 'Secure communications channel': {low: 133800, high: 227800, average: 181894, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 3},
  147. 'Secure data-sharing portal': {low: 209300, high: 286800, average: 255265, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  148. 'Sensitive financial ledger': {low: 120300, high: 198300, average: 166900, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 3},
  149. 'Slush fund account': {low: 251200, high: 342400, average: 300679, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 3},
  150. 'Stacked network switch': {low: 206600, high: 249900, average: 225675, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 3},
  151. 'Surveillance network access': {low: 201700, high: 249400, average: 228154, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 3},
  152. 'Surveillance records': {low: 125800, high: 173000, average: 150375, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  153. 'Vacated properties register': {low: 150000, high: 199300, average: 172972, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 3},
  154. 'Voting records': {low: 208100, high: 246200, average: 228600, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  155. 'VRF router': {low: 259000, high: 266800, average: 262900, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 3},
  156. 'Warrant database': {low: 150200, high: 196400, average: 180164, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 3},
  157. 'Witness protection directory': {low: 350900, high: 498900, average: 422063, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 3},
  158. 'API gateway': {low: 100600, high: 129200, average: 117322, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 2},
  159. 'Business communications platform': {low: 111800, high: 128800, average: 121107, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 2},
  160. 'Client directory': {low: 148700, high: 169900, average: 159825, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 2},
  161. 'Corporate bank account': {low: 117300, high: 244200, average: 198804, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 2},
  162. 'Digital storage platform': {low: 80000, high: 119400, average: 98992, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 2},
  163. 'Forum administrator access': {low: 71400, high: 112200, average: 90686, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 2},
  164. 'Patent filing catalog': {low: 102000, high: 149500, average: 123724, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 2},
  165. 'Payment processing portal': {low: 120400, high: 146900, average: 132786, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 2},
  166. 'Pre-release media bucket': {low: 91600, high: 296300, average: 110385, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 2},
  167. 'Research & development databank': {low: 90600, high: 120000, average: 103853, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 2},
  168. 'Reward code directory': {low: 80100, high: 118400, average: 99538, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 2},
  169. 'Sales ledger': {low: 120300, high: 159200, average: 142827, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 2},
  170. 'Source code repository': {low: 80100, high: 117300, average: 97600, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 2},
  171. 'Version control system': {low: 60900, high: 121300, average: 71815, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 2},
  172. 'Botnet command module': {low: 70200, high: 99500, average: 86456, bruteForceSuccessRate: 96, crackingSuccessRate: 99, encryption: 1},
  173. 'Coroner post-mortem records': {low: 101300, high: 149200, average: 126707, bruteForceSuccessRate: 98, crackingSuccessRate: 98, encryption: 1},
  174. 'Credit card records': {low: 101200, high: 145600, average: 124700, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 1},
  175. 'Cryptocurrency mining cluster': {low: 93700, high: 149100, average: 123136, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 1},
  176. 'Dark web storefront': {low: 102000, high: 199700, average: 151911, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  177. 'Document storage platform': {low: 80800, high: 119000, average: 100915, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  178. 'Drug test results': {low: 60500, high: 90000, average: 79062, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  179. 'Enrollment documentation archive': {low: 60400, high: 78900, average: 70594, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 1},
  180. 'Gore website': {low: 50100, high: 69900, average: 60896, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  181. 'Government email account': {low: 87700, high: 95600, average: 92325, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 1},
  182. 'Home printer cache': {low: 100000, high: 129500, average: 114549, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 1},
  183. 'Lobbying minutes archive': {low: 81200, high: 136700, average: 94364, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 1},
  184. 'Malpractice reports archive': {low: 80000, high: 99000, average: 88627, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 1},
  185. 'Master password': {low: 72300, high: 139500, average: 117200, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 1},
  186. 'Medical records database': {low: 110600, high: 148100, average: 134443, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 1},
  187. 'Mental health records': {low: 40500, high: 59400, average: 50220, bruteForceSuccessRate: 94, crackingSuccessRate: 100, encryption: 1},
  188. 'Network superadmin authentication': {low: 132400, high: 174400, average: 154907, bruteForceSuccessRate: 99, crackingSuccessRate: 97, encryption: 1},
  189. 'Offshore tax account': {low: 63600, high: 119900, average: 106462, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  190. 'Online filing system': {low: 66900, high: 100000, average: 89926, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  191. 'Patient directory': {low: 89400, high: 129800, average: 118535, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  192. 'Personal email account': {low: 50200, high: 71700, average: 58334, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  193. 'Private email account': {low: 70300, high: 90000, average: 79596, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 1},
  194. 'Private email account': {low: 60000, high: 79500, average: 69284, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  195. 'Proxy server access': {low: 50900, high: 75100, average: 59685, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 1},
  196. 'Software development hub': {low: 100300, high: 149900, average: 128420, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 1},
  197. 'Stolen credit card repository': {low: 81900, high: 119900, average: 98884, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 1},
  198. 'Stolen password repository': {low: 50800, high: 69500, average: 59346, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  199. 'Student grade records': {low: 70000, high: 89700, average: 80304, bruteForceSuccessRate: 98, crackingSuccessRate: 98, encryption: 1},
  200. 'Student loan ledger': {low: 100100, high: 129800, average: 115202, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 1},
  201. 'Student personal records': {low: 60000, high: 77600, average: 69054, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 1},
  202. 'Training records': {low: 41100, high: 67400, average: 51622, bruteForceSuccessRate: 94, crackingSuccessRate: 100, encryption: 1},
  203. 'Union membership forum': {low: 60400, high: 80600, average: 70450, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 1},
  204. 'Video comments log': {low: 63400, high: 117600, average: 98096, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 1},
  205. 'Voicemail account': {low: 60300, high: 88400, average: 71411, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 1},
  206. 'VPN provider authentication': {low: 85400, high: 139700, average: 116998, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 1},
  207. 'Business communications platform': {low: 15100, high: 25000, average: 20181, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  208. 'Calendar app': {low: 10100, high: 20000, average: 15127, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  209. 'Cellphone call history': {low: 35000, high: 44600, average: 40486, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 0},
  210. 'Cellphone provider': {low: 10000, high: 20000, average: 15084, bruteForceSuccessRate: 96, crackingSuccessRate: 99, encryption: 0},
  211. 'Clothing store account': {low: 20000, high: 30000, average: 24550, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 0},
  212. 'Cloud storage bucket': {low: 15100, high: 25000, average: 20427, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  213. 'Cloud storage bucket': {low: 15000, high: 25000, average: 20378, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 0},
  214. 'Community Q&A site': {low: 30000, high: 40000, average: 34786, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  215. 'Court docket library': {low: 40200, high: 79200, average: 62388, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  216. 'Criminal records archive': {low: 50200, high: 86700, average: 63844, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  217. 'Crowdfunding account': {low: 10000, high: 20000, average: 15001, bruteForceSuccessRate: 98, crackingSuccessRate: 98, encryption: 0},
  218. 'Cryptocurrency exchange': {low: 15600, high: 29400, average: 24636, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  219. 'Cryptocurrency exchange': {low: 20000, high: 29900, average: 25201, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  220. 'Dating site': {low: 10600, high: 24600, average: 15433, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  221. 'Dental records': {low: 30700, high: 39600, average: 34080, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  222. 'Escort service website': {low: 15100, high: 25000, average: 19866, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 0},
  223. 'Fantasy sports account': {low: 10000, high: 19800, average: 14799, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  224. 'Fitness tracker': {low: 10100, high: 19800, average: 15392, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  225. 'Game streaming account': {low: 10700, high: 22600, average: 15271, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  226. 'High school records': {low: 11900, high: 73900, average: 40247, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  227. 'HOA records': {low: 10400, high: 20000, average: 15741, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 0},
  228. 'Home network access': {low: 30100, high: 39800, average: 35641, bruteForceSuccessRate: 95, crackingSuccessRate: 98, encryption: 0},
  229. 'Home router access': {low: 20200, high: 29300, average: 24261, bruteForceSuccessRate: 95, crackingSuccessRate: 97, encryption: 0},
  230. 'Home security system': {low: 12400, high: 44500, average: 39676, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 0},
  231. 'Home security system': {low: 10200, high: 24800, average: 19916, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  232. 'Home wi-fi network': {low: 10200, high: 20000, average: 14829, bruteForceSuccessRate: 94, crackingSuccessRate: 100, encryption: 0},
  233. 'Image board account': {low: 15000, high: 37300, average: 20488, bruteForceSuccessRate: 97, crackingSuccessRate: 99, encryption: 0},
  234. 'Instant messenger': {low: 11500, high: 24300, average: 18845, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  235. 'Legal advice portal': {low: 20400, high: 30000, average: 26320, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 0},
  236. 'Mental health records': {low: 31500, high: 50000, average: 45165, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  237. 'MMORPG Account': {low: 15100, high: 25000, average: 20183, bruteForceSuccessRate: 94, crackingSuccessRate: 100, encryption: 0},
  238. 'Mortuary records': {low: 100800, high: 139200, average: 120411, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  239. 'Music streaming service': {low: 11200, high: 19900, average: 15910, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  240. 'Nanny-cam access': {low: 15000, high: 39400, average: 20657, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  241. 'Offshore investment account': {low: 20000, high: 29800, average: 25066, bruteForceSuccessRate: 95, crackingSuccessRate: 98, encryption: 0},
  242. 'Online auction account': {low: 20100, high: 29700, average: 25072, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 0},
  243. 'Online bank account': {low: 20000, high: 29700, average: 25175, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 0},
  244. 'Online bank account': {low: 37500, high: 49600, average: 44363, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  245. 'Online forum account': {low: 10200, high: 19800, average: 14626, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  246. 'Online gambling account': {low: 10000, high: 19500, average: 15113, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 0},
  247. 'Online payment service': {low: 20100, high: 30000, average: 25263, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  248. 'Online pharmacy account': {low: 10000, high: 19900, average: 14944, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 0},
  249. 'Online photo collection': {low: 24100, high: 40000, average: 34531, bruteForceSuccessRate: 94, crackingSuccessRate: 98, encryption: 0},
  250. 'Online RPG account': {low: 15100, high: 45300, average: 20823, bruteForceSuccessRate: 94, crackingSuccessRate: 99, encryption: 0},
  251. 'Online therapy account': {low: 10100, high: 23700, average: 15316, bruteForceSuccessRate: 90, crackingSuccessRate: 100, encryption: 0},
  252. 'Online wishlist': {low: 11700, high: 30000, average: 24717, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 0},
  253. 'Patient database': {low: 55800, high: 79900, average: 71049, bruteForceSuccessRate: 98, crackingSuccessRate: 98, encryption: 0},
  254. 'Personal blog': {low: 10000, high: 27200, average: 14942, bruteForceSuccessRate: 98, crackingSuccessRate: 99, encryption: 0},
  255. 'Personal email account': {low: 10100, high: 19800, average: 15538, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  256. 'Personal email account': {low: 30300, high: 126200, average: 37084, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 0},
  257. 'Personal email account': {low: 60100, high: 100000, average: 80948, bruteForceSuccessRate: 95, crackingSuccessRate: 100, encryption: 0},
  258. 'Personal website': {low: 15300, high: 24800, average: 20023, bruteForceSuccessRate: 94, crackingSuccessRate: 98, encryption: 0},
  259. 'Political party hub': {low: 20000, high: 30000, average: 24705, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  260. 'Porn site': {low: 15000, high: 29200, average: 19966, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  261. 'Portfolio website': {low: 11400, high: 34600, average: 20291, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  262. 'Prescription generating software': {low: 35100, high: 65300, average: 43167, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 0},
  263. 'Search engine history': {low: 10000, high: 31600, average: 15719, bruteForceSuccessRate: 97, crackingSuccessRate: 100, encryption: 0},
  264. 'Secure filing system': {low: 47500, high: 91400, average: 59928, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  265. 'Sentencing history database': {low: 41100, high: 59200, average: 51450, bruteForceSuccessRate: 93, crackingSuccessRate: 93, encryption: 0},
  266. 'Smart heating controls': {low: 10000, high: 57000, average: 15701, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  267. 'Smart pet feeder': {low: 10400, high: 44900, average: 16180, bruteForceSuccessRate: 94, crackingSuccessRate: 100, encryption: 0},
  268. 'Social media account': {low: 17500, high: 30000, average: 24712, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  269. 'Social network profile': {low: 10000, high: 20600, average: 15343, bruteForceSuccessRate: 99, crackingSuccessRate: 98, encryption: 0},
  270. 'Stock trading platform': {low: 20000, high: 30000, average: 24541, bruteForceSuccessRate: 98, crackingSuccessRate: 98, encryption: 0},
  271. 'Takeout delivery app': {low: 10000, high: 20000, average: 15400, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  272. 'University network authentication': {low: 15000, high: 25000, average: 19806, bruteForceSuccessRate: 99, crackingSuccessRate: 100, encryption: 0},
  273. 'Video calling app': {low: 15000, high: 25000, average: 20123, bruteForceSuccessRate: 98, crackingSuccessRate: 99, encryption: 0},
  274. 'Video game storefront': {low: 11600, high: 25000, average: 20248, bruteForceSuccessRate: 95, crackingSuccessRate: 99, encryption: 0},
  275. 'Webcam network access': {low: 40300, high: 49900, average: 44545, bruteForceSuccessRate: 93, crackingSuccessRate: 100, encryption: 0},
  276. 'Work disciplinary records': {low: 30300, high: 62700, average: 35500, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 0},
  277. 'Work email account': {low: 20000, high: 29900, average: 25164, bruteForceSuccessRate: 98, crackingSuccessRate: 100, encryption: 0},
  278. 'Work email account': {low: 15000, high: 29400, average: 19904, bruteForceSuccessRate: 97, crackingSuccessRate: 99, encryption: 0},
  279. 'Remote PC access': {low: 20600, high: 48000, average: 25097, bruteForceSuccessRate: 96, crackingSuccessRate: 100, encryption: 0},
  280. 'National archive': {low: 216900, high: 216900, average: 216900, bruteForceSuccessRate: 100, crackingSuccessRate: 100, encryption: 0},
  281. }
  282. };
  283.  
  284. function fetchCrimeName() {
  285. let contentWrapper = document.querySelector('.content-wrapper');
  286.  
  287. if(!contentWrapper) {
  288. return;
  289. }
  290.  
  291. let crimeHeader = document.querySelector('.heading___dOsMq');
  292. let crimeName = crimeHeader.textContent;
  293.  
  294. if (crimeName == 'Disposal') {
  295. fetchDisposals();
  296. sortButton('disposal');
  297. } else if (crimeName == 'Cracking') {
  298. fetchCrackings();
  299. sortButton('cracking');
  300. }
  301.  
  302. }
  303.  
  304. function fetchDisposals() {
  305. let highestPayoutElements = [];
  306. let bestPayoutPerNerve = 0;
  307.  
  308. let crimeOptionElements = document.querySelectorAll('.crime-option');
  309.  
  310. let existingPayoutElements = document.querySelectorAll('.hf-disposal-payout');
  311.  
  312. // If there's already payout divs, remove them first
  313. if (existingPayoutElements) {
  314. existingPayoutElements.forEach(existingPayoutElement => {
  315. existingPayoutElement.remove();
  316. });
  317. }
  318.  
  319. // Loop through each Disposal crime
  320. crimeOptionElements.forEach(crimeOptionElement => {
  321. // Log the name
  322. let crimeTitleElement = crimeOptionElement.querySelector('.crimeOptionSection___hslpu');
  323. let crimeTitle = crimeTitleElement.textContent.trim();
  324.  
  325. // Check if any method button is selected
  326. let methodButtons = crimeOptionElement.querySelectorAll('.methodButton___lCgpf');
  327.  
  328. // Create the payout div
  329. let payoutElement = document.createElement('div');
  330. payoutElement.className = 'hf-disposal-payout';
  331. payoutElement.style.display = 'flex';
  332. payoutElement.style.flex = '1';
  333. payoutElement.style.flexDirection = 'column';
  334. payoutElement.style.alignItems = 'flex-end';
  335. payoutElement.style.color = 'var(--default-base-grey1-color)';
  336. crimeTitleElement.appendChild(payoutElement);
  337.  
  338. // Create the paragraph for the amount
  339. let payoutParagraph = document.createElement('p');
  340. payoutParagraph.className = 'hf-disposal-payout-amount';
  341. payoutParagraph.textContent = 'Unknown';
  342. payoutElement.appendChild(payoutParagraph);
  343.  
  344. let selectedButton = false;
  345. let moneyPerNerve = '';
  346.  
  347. // Go through every button and see if they're selected or not
  348. methodButtons.forEach(button => {
  349. if (button.classList.contains('selected___TKH3R')) {
  350. let methodName = button.getAttribute('aria-label');
  351.  
  352. let selectedData = disposalData.find(data => data.name === crimeTitle && data.method === methodName);
  353.  
  354. if (selectedData) {
  355. selectedButton = true;
  356.  
  357. let averageMoney = selectedData.averageMoney;
  358. let successRate = selectedData.successRate;
  359. let nerveAmount = selectedData.nerveAmount;
  360.  
  361. moneyPerNerve = (averageMoney * successRate) / nerveAmount;
  362.  
  363. if (moneyPerNerve === 0) {
  364. payoutParagraph.textContent = 'Unknown';
  365. } else {
  366. let formattedMoneyPerNerve = '$' + Math.round(moneyPerNerve).toLocaleString('en-US');
  367. payoutParagraph.textContent = formattedMoneyPerNerve;
  368. }
  369.  
  370. if (moneyPerNerve > bestPayoutPerNerve) {
  371. bestPayoutPerNerve = moneyPerNerve;
  372. highestPayoutElements = [crimeOptionElement];
  373. } else if (bestPayoutPerNerve === moneyPerNerve) {
  374. highestPayoutElements.push(crimeOptionElement);
  375. }
  376. } else {
  377. console.log('No corresponding data found');
  378. }
  379. }
  380. });
  381.  
  382. // If not selected, look for the best method for $ / nerve
  383. if (selectedButton == false) {
  384. let bestMoneyPerNerve = 0;
  385. let bestMethod = 'Unknown';
  386. payoutParagraph.textContent = 'Best';
  387.  
  388. disposalData.forEach(data => {
  389. if (data.name == crimeTitle) {
  390. moneyPerNerve = (data.averageMoney * data.successRate) / data.nerveAmount;
  391.  
  392. if (moneyPerNerve > bestMoneyPerNerve) {
  393. bestMoneyPerNerve = moneyPerNerve;
  394. bestMethod = data.method;
  395. }
  396.  
  397. if (bestMoneyPerNerve === 0) {
  398. payoutParagraph.textContent = 'Unknown';
  399. }
  400.  
  401. if (bestMoneyPerNerve > bestPayoutPerNerve) {
  402. bestPayoutPerNerve = moneyPerNerve;
  403. highestPayoutElements = [crimeOptionElement];
  404. } else if (bestPayoutPerNerve === moneyPerNerve) {
  405. highestPayoutElements.push(crimeOptionElement);
  406. }
  407.  
  408. }
  409. });
  410.  
  411. // Write down the best method above the money per nerve
  412. let bestMethodParagraph = document.createElement('p');
  413. bestMethodParagraph.textContent = bestMethod;
  414. bestMethodParagraph.style.paddingBottom = '4px';
  415. payoutParagraph.parentNode.insertBefore(bestMethodParagraph, payoutParagraph);
  416.  
  417. let formattedMoneyPerNerve = '$' + Math.round(bestMoneyPerNerve).toLocaleString('en-US');
  418. payoutParagraph.textContent = formattedMoneyPerNerve;
  419. }
  420. });
  421.  
  422. // Unhighlight previous crime options
  423. crimeOptionElements.forEach(element => {
  424. element.style.background = '';
  425. });
  426.  
  427. // Highlight the crime options with the highest payout
  428. highestPayoutElements.forEach(element => {
  429. element.style.background = 'linear-gradient(180deg, rgba(108, 173, 43, 0.5), rgba(77, 124, 30, 0.5))';
  430. });
  431.  
  432. }
  433.  
  434. function fetchCrackings() {
  435. let highestPayoutValue = 0;
  436. let highestPayoutElements = [];
  437.  
  438. let rigStatusElement = document.querySelector('.rigStatus___PyA3T');
  439. let bruteForceStrengthElement = rigStatusElement.querySelector('.strength___DM3lW');
  440. let bruteForceStrength = bruteForceStrengthElement.querySelector('.value___FmWPr').textContent;
  441.  
  442. let previousPayoutDivs = document.querySelectorAll('.payoutPerNerve');
  443.  
  444. if (previousPayoutDivs) {
  445. previousPayoutDivs.forEach(element => {
  446. element.remove();
  447. });
  448. }
  449.  
  450. let crimeOptionElements = document.querySelectorAll('.crime-option');
  451. crimeOptionElements.forEach(crimeOptionElement => {
  452. let targetElement = crimeOptionElement.querySelector('.targetSection___F_nB4');
  453.  
  454. let crimeTypeElement = '';
  455.  
  456. if (crackingDetailed == false) {
  457. crimeTypeElement = targetElement.querySelector('.type___T9oMA');
  458. } else if (crackingDetailed == true) {
  459. crimeTypeElement = targetElement.querySelector('.service___uYhDL');
  460. }
  461.  
  462. let crimeType = crimeTypeElement.textContent;
  463.  
  464. let passwordLength = crimeOptionElement.querySelectorAll('.charSlot___b_S9h').length;
  465.  
  466. if (crackingValues.hasOwnProperty(crimeType)) {
  467. let lowReward = crackingValues[crimeType].low;
  468. let highReward = crackingValues[crimeType].high;
  469.  
  470. let averageReward = '';
  471.  
  472. if (crackingDetailed == false) {
  473. averageReward = (lowReward + highReward) / 2;
  474. } else if (crackingDetailed == true) {
  475. averageReward = crackingValues[crimeType].average;
  476. }
  477.  
  478. let encryption = crackingValues[crimeType].encryption;
  479.  
  480. let payoutPerNerve = '';
  481. let tries = '';
  482.  
  483. if (crackingDetailed == false) {
  484. tries = Math.ceil((passwordLength * (encryption + 1)) / bruteForceStrength);
  485. payoutPerNerve = averageReward / ((7 * tries) + 5);
  486. } else if (crackingDetailed == true) {
  487. let bruteForceSuccessRate = (crackingValues[crimeType].bruteForceSuccessRate / 100) || 1;
  488. let crackingSuccessRate = (crackingValues[crimeType].crackingSuccessRate / 100) || 1;
  489. tries = (passwordLength * (encryption + 1)) / (bruteForceStrength * bruteForceSuccessRate);
  490. let totalNerve = (7 * tries + 5) / crackingSuccessRate;
  491. payoutPerNerve = averageReward / totalNerve;
  492. }
  493.  
  494. let formattedPayoutPerNerve = '$' + Math.round(payoutPerNerve).toLocaleString('en-US');
  495.  
  496. let payoutDiv = document.createElement('div');
  497. payoutDiv.className = 'payoutPerNerve';
  498. payoutDiv.textContent = formattedPayoutPerNerve;
  499. payoutDiv.style.display = 'flex';
  500. payoutDiv.style.flex = '1';
  501. payoutDiv.style.justifyContent = 'right';
  502.  
  503. targetElement.appendChild(payoutDiv);
  504.  
  505. // Update highest payout
  506. if (payoutPerNerve > highestPayoutValue) {
  507. highestPayoutValue = payoutPerNerve;
  508. highestPayoutElements = [crimeOptionElement];
  509. } else if (payoutPerNerve === highestPayoutValue) {
  510. highestPayoutElements.push(crimeOptionElement);
  511. }
  512. }
  513. });
  514.  
  515. crimeOptionElements.forEach(element => {
  516. element.style.background = '';
  517. });
  518.  
  519. // Highlight the crime options with the highest payout
  520. highestPayoutElements.forEach(element => {
  521. element.style.background = 'linear-gradient(180deg, rgba(108, 173, 43, 0.5), rgba(77, 124, 30, 0.5))';
  522. });
  523. }
  524.  
  525. function sortButton(key) {
  526. let currentCrime = document.body.querySelector('.currentCrime___MN0T1');
  527. let titleBar = currentCrime.querySelector('.titleBar___Cci85');
  528.  
  529. let existingDiv = document.body.querySelector('.sort-button-div');
  530.  
  531. if (existingDiv) {
  532. return;
  533. }
  534.  
  535. let div = document.createElement('div');
  536. div.className = 'sort-button-div';
  537. div.style.display = 'flex';
  538. div.style.flex = '2';
  539. div.style.marginLeft = '8px';
  540.  
  541. let button = document.createElement('button');
  542. button.textContent = 'SORT BY VALUE';
  543. button.style.background = 'linear-gradient(180deg, #008dc3c7, #001f4bad)';
  544. button.style.color = '#ddd';
  545. button.style.borderRadius = '10px';
  546. button.style.borderStyle = 'none';
  547. button.style.padding = '4px 8px';
  548. button.style.fontSize = '12px';
  549. button.style.fontWeight = 'bold';
  550. button.style.cursor = 'pointer';
  551.  
  552. div.appendChild(button);
  553.  
  554. titleBar.insertBefore(div, titleBar.lastElementChild);
  555.  
  556. button.onclick = function() {
  557. let container = document.querySelector('.crimeOptionGroup___gQ6rI');
  558. let crimeOptionElements = document.querySelectorAll('.crime-option');
  559. let crimeOptionArray = Array.from(crimeOptionElements);
  560.  
  561. // Sort the crime options
  562. let sortedCrimeOptions = crimeOptionArray.sort((a, b) => {
  563. let payoutA;
  564. let payoutB;
  565. if (key === 'cracking') {
  566. payoutA = parseInt(a.querySelector('.payoutPerNerve').textContent.replace('$', '').replace(',', '').trim()) || 0;
  567. payoutB = parseInt(b.querySelector('.payoutPerNerve').textContent.replace('$', '').replace(',', '').trim()) || 0;
  568. } else if (key === 'disposal') {
  569. payoutA = parseInt(a.querySelector('.hf-disposal-payout-amount').textContent.replace('$', '').replace(',', '').trim()) || 0;
  570. payoutB = parseInt(b.querySelector('.hf-disposal-payout-amount').textContent.replace('$', '').replace(',', '').trim()) || 0;
  571. }
  572. return payoutB - payoutA;
  573. });
  574.  
  575. // Append the sorted crime options
  576. sortedCrimeOptions.forEach(option => {
  577. container.appendChild(option)
  578. });
  579. };
  580. }
  581.  
  582. function checkUrl() {
  583. if (window.location.href.includes('sid=crimes')) {
  584. fetchCrimeName();
  585. }
  586. }
  587.  
  588. setInterval(checkUrl, 200);
  589.  
  590. })();