@elite-dangerous-almanac/core 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/PROVENANCE/ships/SOURCES.md +23 -0
  2. package/README.md +3 -2
  3. package/THIRD_PARTY_NOTICES.md +24 -2
  4. package/dist/astro/body-orbit.d.ts +174 -0
  5. package/dist/astro/body-orbit.js +1 -0
  6. package/dist/astro/body-orbit.js.map +1 -0
  7. package/dist/astro/body-physics.d.ts +228 -0
  8. package/dist/astro/body-physics.js +1 -0
  9. package/dist/astro/body-physics.js.map +1 -0
  10. package/dist/astro/body-rings.d.ts +223 -0
  11. package/dist/astro/body-rings.js +1 -0
  12. package/dist/astro/body-rings.js.map +1 -0
  13. package/dist/astro/codex-region-lookup.js +1 -1
  14. package/dist/astro/codex-region-lookup.js.map +1 -1
  15. package/dist/astro/index.d.ts +38 -1
  16. package/dist/astro/index.js +1 -1
  17. package/dist/astro/nebulae.d.ts +4 -4
  18. package/dist/astro/procedural-system.js +1 -1
  19. package/dist/astro/star-physics.d.ts +255 -0
  20. package/dist/astro/star-physics.js +1 -0
  21. package/dist/astro/star-physics.js.map +1 -0
  22. package/dist/body-scan-CEUYjCfH.d.ts +416 -0
  23. package/dist/chunk-37JIMWLK.js +1 -0
  24. package/dist/chunk-37JIMWLK.js.map +1 -0
  25. package/dist/{chunk-PA5EITW5.js → chunk-3LZXB2MC.js} +1 -1
  26. package/dist/{chunk-PA5EITW5.js.map → chunk-3LZXB2MC.js.map} +1 -1
  27. package/dist/chunk-3RTUSDQF.js +1 -0
  28. package/dist/chunk-3RTUSDQF.js.map +1 -0
  29. package/dist/chunk-4CBMQULR.js +1 -0
  30. package/dist/{chunk-4ZGUSHTP.js.map → chunk-4CBMQULR.js.map} +1 -1
  31. package/dist/{chunk-GZYPQIO2.js → chunk-4OTQBHQL.js} +1 -1
  32. package/dist/chunk-4OTQBHQL.js.map +1 -0
  33. package/dist/{chunk-QTAMQ6ME.js → chunk-5VWACBTN.js} +1 -1
  34. package/dist/chunk-65FZECUX.js +1 -0
  35. package/dist/chunk-65FZECUX.js.map +1 -0
  36. package/dist/chunk-6BFQIYGZ.js +1 -0
  37. package/dist/chunk-6BFQIYGZ.js.map +1 -0
  38. package/dist/chunk-6HA2YIKW.js +1 -0
  39. package/dist/chunk-6HA2YIKW.js.map +1 -0
  40. package/dist/{chunk-7EE5VIHR.js → chunk-6HMIF2RJ.js} +1 -1
  41. package/dist/chunk-6WTUY6ZX.js +1 -0
  42. package/dist/{chunk-V3AEUBHV.js.map → chunk-6WTUY6ZX.js.map} +1 -1
  43. package/dist/chunk-77TT4K53.js +1 -0
  44. package/dist/{chunk-MRTTQYT5.js → chunk-7EWZGDWY.js} +1 -1
  45. package/dist/{chunk-TBZJIQ5P.js → chunk-7TVFV3VO.js} +1 -1
  46. package/dist/chunk-7TVFV3VO.js.map +1 -0
  47. package/dist/chunk-7ZERP4TB.js +1 -0
  48. package/dist/{chunk-QY3L5BKN.js.map → chunk-7ZERP4TB.js.map} +1 -1
  49. package/dist/{chunk-Y6KJJMIM.js → chunk-A4QKXXZD.js} +1 -1
  50. package/dist/{chunk-Q5XOGATC.js → chunk-AIEC3LBT.js} +1 -1
  51. package/dist/chunk-B5VTFOK4.js +1 -0
  52. package/dist/chunk-B5VTFOK4.js.map +1 -0
  53. package/dist/chunk-DAQ3PJ4R.js +1 -0
  54. package/dist/chunk-DAQ3PJ4R.js.map +1 -0
  55. package/dist/{chunk-JGOAQLYW.js → chunk-F44QX47A.js} +1 -1
  56. package/dist/{chunk-EVJ32UF3.js → chunk-FA5JVXVG.js} +1 -1
  57. package/dist/{chunk-EVJ32UF3.js.map → chunk-FA5JVXVG.js.map} +1 -1
  58. package/dist/chunk-GBTCWNO6.js +1 -0
  59. package/dist/chunk-GBTCWNO6.js.map +1 -0
  60. package/dist/chunk-GGQMIQPC.js +1 -0
  61. package/dist/chunk-GGQMIQPC.js.map +1 -0
  62. package/dist/{chunk-EYGVDJ2I.js → chunk-GMTAFUAG.js} +1 -1
  63. package/dist/{chunk-Z43DN4PY.js → chunk-GTEHRZPN.js} +1 -1
  64. package/dist/{chunk-Z43DN4PY.js.map → chunk-GTEHRZPN.js.map} +1 -1
  65. package/dist/{chunk-HKXXFIRI.js → chunk-ITKZKREP.js} +1 -1
  66. package/dist/{chunk-OYR5HUQZ.js → chunk-IWFQ4ZKF.js} +1 -1
  67. package/dist/{chunk-ZCEAPJDH.js → chunk-J7BM5NGK.js} +1 -1
  68. package/dist/chunk-JMAXSXXQ.js +1 -0
  69. package/dist/chunk-JMAXSXXQ.js.map +1 -0
  70. package/dist/chunk-JO52LYO3.js +1 -0
  71. package/dist/chunk-M2TCZKRT.js +1 -0
  72. package/dist/chunk-M2TCZKRT.js.map +1 -0
  73. package/dist/chunk-M4FZRDAH.js +1 -0
  74. package/dist/chunk-M4FZRDAH.js.map +1 -0
  75. package/dist/chunk-NEXDA73Y.js +1 -0
  76. package/dist/chunk-NEXDA73Y.js.map +1 -0
  77. package/dist/chunk-OJC6AUL7.js +1 -0
  78. package/dist/chunk-OJC6AUL7.js.map +1 -0
  79. package/dist/chunk-P2MUFVJC.js +1 -0
  80. package/dist/chunk-P2MUFVJC.js.map +1 -0
  81. package/dist/{chunk-FYVPZBXN.js → chunk-Q5ALV3DI.js} +1 -1
  82. package/dist/{chunk-SQS7672E.js → chunk-Q6YDPREF.js} +1 -1
  83. package/dist/chunk-SS6XK336.js +1 -0
  84. package/dist/chunk-SS6XK336.js.map +1 -0
  85. package/dist/{chunk-OVUHQEH5.js → chunk-T4MKUKYS.js} +1 -1
  86. package/dist/{chunk-OVUHQEH5.js.map → chunk-T4MKUKYS.js.map} +1 -1
  87. package/dist/chunk-TMXKC6JL.js +1 -0
  88. package/dist/chunk-TMXKC6JL.js.map +1 -0
  89. package/dist/{chunk-XUHAPOM6.js → chunk-VEEBJFJ7.js} +1 -1
  90. package/dist/{chunk-L747RVPO.js → chunk-VQJXRPYI.js} +1 -1
  91. package/dist/{chunk-L747RVPO.js.map → chunk-VQJXRPYI.js.map} +1 -1
  92. package/dist/chunk-VTMCSCXV.js +1 -0
  93. package/dist/chunk-VTMCSCXV.js.map +1 -0
  94. package/dist/chunk-XQJERZUS.js +1 -0
  95. package/dist/chunk-XQJERZUS.js.map +1 -0
  96. package/dist/chunk-ZZ376WHL.js +1 -0
  97. package/dist/chunk-ZZ376WHL.js.map +1 -0
  98. package/dist/commodities/commodities-all.js +1 -1
  99. package/dist/commodities/commodities-rare.js +1 -1
  100. package/dist/commodities/commodities-standard.js +1 -1
  101. package/dist/commodities/commodities.d.ts +1 -1
  102. package/dist/commodities/commodities.js +1 -1
  103. package/dist/commodities/index.js +1 -1
  104. package/dist/equipment/index.js +1 -1
  105. package/dist/equipment/upgrade-costs.js +1 -1
  106. package/dist/equipment/upgrade-costs.js.map +1 -1
  107. package/dist/i18n/index.js +1 -1
  108. package/dist/materials/index.js +1 -1
  109. package/dist/materials/materials-all.js +1 -1
  110. package/dist/materials/materials-encoded.js +1 -1
  111. package/dist/materials/materials-manufactured.js +1 -1
  112. package/dist/materials/materials-raw.js +1 -1
  113. package/dist/materials/materials.d.ts +1 -1
  114. package/dist/materials/materials.js +1 -1
  115. package/dist/materials/micro-resources-all.js +1 -1
  116. package/dist/materials/micro-resources.d.ts +1 -1
  117. package/dist/materials/micro-resources.js +1 -1
  118. package/dist/ships/armour.js +1 -1
  119. package/dist/ships/build-metrics.d.ts +21 -232
  120. package/dist/ships/build-metrics.js +1 -1
  121. package/dist/ships/distributor.d.ts +1 -1
  122. package/dist/ships/distributor.js +1 -1
  123. package/dist/ships/heat.d.ts +1 -1
  124. package/dist/ships/heat.js +1 -1
  125. package/dist/ships/index.d.ts +3 -3
  126. package/dist/ships/index.js +1 -1
  127. package/dist/ships/jump-range.js +1 -1
  128. package/dist/ships/loadout-calculations.d.ts +2 -2
  129. package/dist/ships/loadout-validation.d.ts +111 -5
  130. package/dist/ships/loadout-validation.js +1 -1
  131. package/dist/ships/mobility-capacitor.d.ts +1 -1
  132. package/dist/ships/mobility-capacitor.js +1 -1
  133. package/dist/ships/mobility.js +1 -1
  134. package/dist/ships/modules-all.js +1 -1
  135. package/dist/ships/modules-core.js +1 -1
  136. package/dist/ships/modules-internal.js +1 -1
  137. package/dist/ships/modules.d.ts +21 -1
  138. package/dist/ships/modules.js +1 -1
  139. package/dist/ships/power.js +1 -1
  140. package/dist/ships/pre-engineered-stats.d.ts +17 -10
  141. package/dist/ships/pre-engineered-stats.js +1 -1
  142. package/dist/ships/resistances.js +1 -1
  143. package/dist/ships/shield-capacitor.d.ts +1 -1
  144. package/dist/ships/shield-capacitor.js +1 -1
  145. package/dist/ships/shield-recovery.js +1 -1
  146. package/dist/ships/shields.d.ts +1 -1
  147. package/dist/ships/shields.js +1 -1
  148. package/dist/ships/ship-loadout.d.ts +140 -18
  149. package/dist/ships/ship-loadout.js +1 -1
  150. package/dist/ships/slef.d.ts +4 -1
  151. package/dist/ships/slef.js +1 -1
  152. package/dist/ships/weapons-capacitor.js +1 -1
  153. package/dist/ships/weapons.js +1 -1
  154. package/package.json +18 -3
  155. package/dist/chunk-4KJ7CR74.js +0 -1
  156. package/dist/chunk-4KJ7CR74.js.map +0 -1
  157. package/dist/chunk-4ZGUSHTP.js +0 -1
  158. package/dist/chunk-6L56LWTT.js +0 -1
  159. package/dist/chunk-6L56LWTT.js.map +0 -1
  160. package/dist/chunk-6O4NRRSB.js +0 -1
  161. package/dist/chunk-6O4NRRSB.js.map +0 -1
  162. package/dist/chunk-7TQ2X6Q3.js +0 -1
  163. package/dist/chunk-7TQ2X6Q3.js.map +0 -1
  164. package/dist/chunk-B4ZSTOM4.js +0 -1
  165. package/dist/chunk-B4ZSTOM4.js.map +0 -1
  166. package/dist/chunk-D6YEHR5S.js +0 -1
  167. package/dist/chunk-D6YEHR5S.js.map +0 -1
  168. package/dist/chunk-EVW4Z4CB.js +0 -1
  169. package/dist/chunk-EVW4Z4CB.js.map +0 -1
  170. package/dist/chunk-GVNTKCVF.js +0 -1
  171. package/dist/chunk-GVNTKCVF.js.map +0 -1
  172. package/dist/chunk-GZYPQIO2.js.map +0 -1
  173. package/dist/chunk-JQG4C67D.js +0 -1
  174. package/dist/chunk-OYFMHDYT.js +0 -1
  175. package/dist/chunk-OYFMHDYT.js.map +0 -1
  176. package/dist/chunk-PY5L6WC5.js +0 -1
  177. package/dist/chunk-PY5L6WC5.js.map +0 -1
  178. package/dist/chunk-Q2L75GSI.js +0 -1
  179. package/dist/chunk-Q2L75GSI.js.map +0 -1
  180. package/dist/chunk-QJ7GB6FF.js +0 -1
  181. package/dist/chunk-QJ7GB6FF.js.map +0 -1
  182. package/dist/chunk-QY3L5BKN.js +0 -1
  183. package/dist/chunk-RRYBSAPX.js +0 -1
  184. package/dist/chunk-RRYBSAPX.js.map +0 -1
  185. package/dist/chunk-TBZJIQ5P.js.map +0 -1
  186. package/dist/chunk-V3AEUBHV.js +0 -1
  187. package/dist/chunk-V4C6FIE2.js +0 -1
  188. package/dist/chunk-VYDQHPY2.js +0 -1
  189. package/dist/chunk-VYDQHPY2.js.map +0 -1
  190. package/dist/chunk-YXPZ7QQB.js +0 -1
  191. package/dist/chunk-YXPZ7QQB.js.map +0 -1
  192. /package/dist/{chunk-QTAMQ6ME.js.map → chunk-5VWACBTN.js.map} +0 -0
  193. /package/dist/{chunk-7EE5VIHR.js.map → chunk-6HMIF2RJ.js.map} +0 -0
  194. /package/dist/{chunk-JQG4C67D.js.map → chunk-77TT4K53.js.map} +0 -0
  195. /package/dist/{chunk-MRTTQYT5.js.map → chunk-7EWZGDWY.js.map} +0 -0
  196. /package/dist/{chunk-Y6KJJMIM.js.map → chunk-A4QKXXZD.js.map} +0 -0
  197. /package/dist/{chunk-Q5XOGATC.js.map → chunk-AIEC3LBT.js.map} +0 -0
  198. /package/dist/{chunk-JGOAQLYW.js.map → chunk-F44QX47A.js.map} +0 -0
  199. /package/dist/{chunk-EYGVDJ2I.js.map → chunk-GMTAFUAG.js.map} +0 -0
  200. /package/dist/{chunk-HKXXFIRI.js.map → chunk-ITKZKREP.js.map} +0 -0
  201. /package/dist/{chunk-OYR5HUQZ.js.map → chunk-IWFQ4ZKF.js.map} +0 -0
  202. /package/dist/{chunk-ZCEAPJDH.js.map → chunk-J7BM5NGK.js.map} +0 -0
  203. /package/dist/{chunk-V4C6FIE2.js.map → chunk-JO52LYO3.js.map} +0 -0
  204. /package/dist/{chunk-FYVPZBXN.js.map → chunk-Q5ALV3DI.js.map} +0 -0
  205. /package/dist/{chunk-SQS7672E.js.map → chunk-Q6YDPREF.js.map} +0 -0
  206. /package/dist/{chunk-XUHAPOM6.js.map → chunk-VEEBJFJ7.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elite-dangerous-almanac/core",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Elite Dangerous static data and calculations: astronomy, ships and outfitting, personal equipment and engineering, materials, and market commodities.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -53,6 +53,18 @@
53
53
  "import": "./dist/astro/index.js"
54
54
  },
55
55
  "./astro/internal/*": null,
56
+ "./astro/body-orbit": {
57
+ "types": "./dist/astro/body-orbit.d.ts",
58
+ "import": "./dist/astro/body-orbit.js"
59
+ },
60
+ "./astro/body-physics": {
61
+ "types": "./dist/astro/body-physics.d.ts",
62
+ "import": "./dist/astro/body-physics.js"
63
+ },
64
+ "./astro/body-rings": {
65
+ "types": "./dist/astro/body-rings.d.ts",
66
+ "import": "./dist/astro/body-rings.js"
67
+ },
56
68
  "./astro/codex-region-lookup": {
57
69
  "types": "./dist/astro/codex-region-lookup.d.ts",
58
70
  "import": "./dist/astro/codex-region-lookup.js"
@@ -117,6 +129,10 @@
117
129
  "types": "./dist/astro/sector-name.d.ts",
118
130
  "import": "./dist/astro/sector-name.js"
119
131
  },
132
+ "./astro/star-physics": {
133
+ "types": "./dist/astro/star-physics.d.ts",
134
+ "import": "./dist/astro/star-physics.js"
135
+ },
120
136
  "./astro/system-address-input": {
121
137
  "types": "./dist/astro/system-address-input.d.ts",
122
138
  "import": "./dist/astro/system-address-input.js"
@@ -470,7 +486,7 @@
470
486
  "scripts": {
471
487
  "audit": "pnpm audit --audit-level=low",
472
488
  "build": "node scripts/copy-notices.mjs && node scripts/copy-assets.mjs && tsup && node scripts/prune-sourcemap-sources.mjs && node scripts/prune-barrel-imports.mjs && node scripts/attach-barrel-docs.mjs",
473
- "check": "pnpm run check:fixtures && pnpm run check:i18n-coverage && pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run check:examples && pnpm run check:sizes && pnpm test",
489
+ "check": "pnpm run check:fixtures && pnpm run check:i18n-coverage && pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run check:examples && pnpm test",
474
490
  "check:fixtures": "node ../scripts/fixtures/generate-schema-and-types.mjs --check",
475
491
  "check:i18n-coverage": "node scripts/i18n-coverage.mjs --check",
476
492
  "format": "prettier --write . ../README.md ../CONTRIBUTING.md ../SECURITY.md ../schemas/**/*.{json,md} ../scripts/**/*.mjs ../.github/*.{md,yml} ../.github/workflows/*.yml ../.github/ISSUE_TEMPLATE/*.yml",
@@ -483,7 +499,6 @@
483
499
  "typecheck": "tsc --noEmit",
484
500
  "docs": "typedoc && node scripts/build-wiki-sidebar.mjs && node scripts/postprocess-wiki.mjs",
485
501
  "check:examples": "node --test scripts/example-claims.test.mjs scripts/example-runtime.test.mjs && node scripts/check-examples.mjs",
486
- "check:sizes": "pnpm run build && node scripts/check-sizes.mjs",
487
502
  "test:package": "node --test package.test.mjs"
488
503
  },
489
504
  "devDependencies": {
@@ -1 +0,0 @@
1
- import{capacitorRechargeAtPips}from"./chunk-JOTAOI5T.js";var phaseTime=(megajoules,rate,draw,capacity,recharge)=>{if(megajoules<=0)return 0;if(rate<=0)return Infinity;if(draw<=0)return megajoules/rate;const drain=rate*draw-recharge;if(drain<=0)return megajoules/rate;const capacitorLifetime=capacity/drain;const beforeEmpty=capacitorLifetime*rate;if(megajoules<=beforeEmpty)return megajoules/rate;if(recharge<=0)return Infinity;return capacitorLifetime+(megajoules-beforeEmpty)/(recharge/draw)};var requireFiniteNonNegative=(name,value)=>{if(!Number.isFinite(value)||value<0){throw new RangeError(`shieldRecovery: ${name} must be a finite non-negative number`)}};function shieldRecovery(input){const pips=input.systemsPips??4;if(!Number.isFinite(pips)||pips<0||pips>4){throw new RangeError("shieldRecovery: systemsPips must be a finite number from 0 to 4")}for(const field of["strength","regenRate","brokenRegenRate","distributorDraw","systemsCapacity","systemsRecharge"]){requireFiniteNonNegative(field,input[field])}const recharge=capacitorRechargeAtPips(input.systemsRecharge,pips);const half=input.strength/2;return Object.freeze({regenRate:input.regenRate,brokenRegenRate:input.brokenRegenRate,recoveryTime:16+phaseTime(half,input.brokenRegenRate,input.distributorDraw,input.systemsCapacity,recharge),regenTime:phaseTime(half,input.regenRate,input.distributorDraw,input.systemsCapacity,recharge)})}function cellBankSummary(banks){for(const[index,bank]of banks.entries()){if(typeof bank.powered!=="boolean"){throw new TypeError(`cellBankSummary: banks[${index}].powered must be a boolean`)}}const metrics=banks.map(bank=>Object.freeze({slot:bank.slot,symbol:bank.symbol,reinforcement:bank.reinforcementRate*bank.duration,cells:bank.cells,spinUp:bank.spinUp,duration:bank.duration,heat:bank.heat,powered:bank.powered}));return Object.freeze({banks:Object.freeze(metrics),totalRestorable:metrics.reduce((sum,bank)=>sum+(bank.powered?bank.reinforcement*bank.cells:0),0),totalCells:metrics.reduce((sum,bank)=>sum+(bank.powered?bank.cells:0),0)})}export{cellBankSummary,shieldRecovery};//# sourceMappingURL=chunk-4KJ7CR74.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ships/shield-recovery.ts"],"names":["capacitorRechargeAtPips","phaseTime","megajoules","rate","draw","capacity","recharge","Infinity","drain","capacitorLifetime","beforeEmpty","requireFiniteNonNegative","name","value","Number","isFinite","RangeError","shieldRecovery","input","pips","systemsPips","field","systemsRecharge","half","strength","Object","freeze","regenRate","brokenRegenRate","recoveryTime","distributorDraw","systemsCapacity","regenTime","cellBankSummary","banks","index","bank","entries","powered","TypeError","metrics","map","slot","symbol","reinforcement","reinforcementRate","duration","cells","spinUp","heat","totalRestorable","reduce","sum","totalCells"],"mappings":"O,kDA0GA,IAAMC,UAAY,CACdC,WACAC,KACAC,KACAC,SACAC,YAEA,GAAIJ,YAAc,EAAG,OAAO,EAC5B,GAAIC,MAAQ,EAAG,OAAOI,SACtB,GAAIH,MAAQ,EAAG,OAAOF,WAAaC,KACnC,MAAMK,MAAQL,KAAOC,KAAOE,SAC5B,GAAIE,OAAS,EAAG,OAAON,WAAaC,KACpC,MAAMM,kBAAoBJ,SAAWG,MACrC,MAAME,YAAcD,kBAAoBN,KACxC,GAAID,YAAcQ,YAAa,OAAOR,WAAaC,KACnD,GAAIG,UAAY,EAAG,OAAOC,SAC1B,OAAOE,mBAAqBP,WAAaQ,cAAgBJ,SAAWF,OAGxE,IAAMO,yBAA2B,CAACC,KAAcC,SAC5C,IAAKC,OAAOC,SAASF,QAAUA,MAAQ,EAAG,CACtC,MAAM,IAAIG,WAAW,mBAAmBJ,4CAC5C,GAoBG,SAASK,eAAeC,OAC3B,MAAMC,KAAOD,MAAME,aAAe,EAClC,IAAKN,OAAOC,SAASI,OAASA,KAAO,GAAKA,KAAO,EAAG,CAChD,MAAM,IAAIH,WAAW,kEACzB,CACA,IAAA,MAAWK,QAAS,CAChB,WACA,YACA,kBACA,kBACA,kBACA,mBACQ,CACRV,yBAAyBU,MAAOH,MAAMG,OAC1C,CACA,MAAMf,SAAWN,wBAAwBkB,MAAMI,gBAAiBH,MAChE,MAAMI,KAAOL,MAAMM,SAAW,EAC9B,OAAOC,OAAOC,OAAO,CACjBC,UAAWT,MAAMS,UACjBC,gBAAiBV,MAAMU,gBACvBC,aACI,GACA5B,UACIsB,KACAL,MAAMU,gBACNV,MAAMY,gBACNZ,MAAMa,gBACNzB,UAER0B,UAAW/B,UACPsB,KACAL,MAAMS,UACNT,MAAMY,gBACNZ,MAAMa,gBACNzB,WAGZ,CAmBO,SAAS2B,gBAAgBC,OAC5B,IAAA,MAAYC,MAAOC,QAASF,MAAMG,UAAW,CACzC,UAAWD,KAAKE,UAAY,UAAW,CACnC,MAAM,IAAIC,UAAU,0BAA0BJ,mCAClD,CACJ,CACA,MAAMK,QAAUN,MAAMO,IAAKL,MACvBX,OAAOC,OAAO,CACVgB,KAAMN,KAAKM,KACXC,OAAQP,KAAKO,OACbC,cAAeR,KAAKS,kBAAoBT,KAAKU,SAC7CC,MAAOX,KAAKW,MACZC,OAAQZ,KAAKY,OACbF,SAAUV,KAAKU,SACfG,KAAMb,KAAKa,KACXX,QAASF,KAAKE,WAGtB,OAAOb,OAAOC,OAAO,CACjBQ,MAAOT,OAAOC,OAAOc,SACrBU,gBAAiBV,QAAQW,OACrB,CAACC,IAAKhB,OAASgB,KAAOhB,KAAKE,QAAUF,KAAKQ,cAAgBR,KAAKW,MAAQ,GACvE,GAEJM,WAAYb,QAAQW,OAAO,CAACC,IAAKhB,OAASgB,KAAOhB,KAAKE,QAAUF,KAAKW,MAAQ,GAAI,IAEzF,QAAAd,gBAAAhB"}
@@ -1 +0,0 @@
1
- import{buildModuleCatalogue}from"./chunk-AFS6HN3D.js";var modules_internal_default=[{symbol:"Int_DockingComputer_Standard",familyId:"dockingComputers",name:"Standard Docking Computer",class:1,rating:"E",exclusionGroup:"dockingComputer",mass:0,integrity:10,powerDraw:.39,bootTime:3,cost:4500},{symbol:"Int_ShieldGenerator_Size1_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:1,rating:"E",exclusionGroup:"shieldGenerator",mass:1.3,integrity:32,powerDraw:.72,bootTime:1,optMass:25,minMass:13,maxMass:63,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:300},{symbol:"Int_ShieldGenerator_Size1_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:1,rating:"D",exclusionGroup:"shieldGenerator",mass:.5,integrity:24,powerDraw:.96,bootTime:1,optMass:25,minMass:13,maxMass:63,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:1240},{symbol:"Int_ShieldGenerator_Size1_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:1,rating:"C",exclusionGroup:"shieldGenerator",mass:1.3,integrity:40,powerDraw:1.2,bootTime:1,optMass:25,minMass:13,maxMass:63,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:5140},{symbol:"Int_ShieldGenerator_Size1_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:1,rating:"B",exclusionGroup:"shieldGenerator",mass:2,integrity:56,powerDraw:1.44,bootTime:1,optMass:25,minMass:13,maxMass:63,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6},{symbol:"Int_ShieldGenerator_Size1_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:1,rating:"A",exclusionGroup:"shieldGenerator",mass:1.3,integrity:48,powerDraw:1.68,bootTime:1,optMass:25,minMass:13,maxMass:63,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:88075},{symbol:"Int_ShieldGenerator_Size2_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:2,rating:"E",exclusionGroup:"shieldGenerator",mass:2.5,integrity:41,powerDraw:.9,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:1978},{symbol:"Int_ShieldGenerator_Size2_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:2,rating:"D",exclusionGroup:"shieldGenerator",mass:1,integrity:31,powerDraw:1.2,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:5934},{symbol:"Int_ShieldGenerator_Size2_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:2,rating:"C",exclusionGroup:"shieldGenerator",mass:2.5,integrity:51,powerDraw:1.5,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:17803},{symbol:"Int_ShieldGenerator_Size2_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:2,rating:"B",exclusionGroup:"shieldGenerator",mass:4,integrity:71,powerDraw:1.8,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:53408},{symbol:"Int_ShieldGenerator_Size2_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:2,rating:"A",exclusionGroup:"shieldGenerator",mass:2.5,integrity:61,powerDraw:2.1,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:160224},{symbol:"Int_ShieldGenerator_Size3_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:3,rating:"E",exclusionGroup:"shieldGenerator",mass:5,integrity:51,powerDraw:1.08,bootTime:1,optMass:165,minMass:83,maxMass:413,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1,shieldBrokenRegenRate:1.87,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:6271},{symbol:"Int_ShieldGenerator_Size3_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:3,rating:"D",exclusionGroup:"shieldGenerator",mass:2,integrity:38,powerDraw:1.44,bootTime:1,optMass:165,minMass:83,maxMass:413,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1,shieldBrokenRegenRate:1.87,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:18812},{symbol:"Int_ShieldGenerator_Size3_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:3,rating:"C",exclusionGroup:"shieldGenerator",mass:5,integrity:64,powerDraw:1.8,bootTime:1,optMass:165,minMass:83,maxMass:413,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:1,shieldBrokenRegenRate:1.87,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:56435},{symbol:"Int_ShieldGenerator_Size3_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:3,rating:"B",exclusionGroup:"shieldGenerator",mass:8,integrity:90,powerDraw:2.16,bootTime:1,optMass:165,minMass:83,maxMass:413,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:1,shieldBrokenRegenRate:1.87,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:169304},{symbol:"Int_ShieldGenerator_Size3_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:3,rating:"A",exclusionGroup:"shieldGenerator",mass:5,integrity:77,powerDraw:2.52,bootTime:1,optMass:165,minMass:83,maxMass:413,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:1,shieldBrokenRegenRate:1.87,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:507912},{symbol:"Int_ShieldGenerator_Size4_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:4,rating:"E",exclusionGroup:"shieldGenerator",mass:10,integrity:64,powerDraw:1.32,bootTime:1,optMass:285,minMass:143,maxMass:713,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1,shieldBrokenRegenRate:2.53,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:19878},{symbol:"Int_ShieldGenerator_Size4_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:4,rating:"D",exclusionGroup:"shieldGenerator",mass:4,integrity:48,powerDraw:1.76,bootTime:1,optMass:285,minMass:143,maxMass:713,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1,shieldBrokenRegenRate:2.53,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:59633},{symbol:"Int_ShieldGenerator_Size4_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:4,rating:"C",exclusionGroup:"shieldGenerator",mass:10,integrity:80,powerDraw:2.2,bootTime:1,optMass:285,minMass:143,maxMass:713,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:1,shieldBrokenRegenRate:2.53,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:178898},{symbol:"Int_ShieldGenerator_Size4_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:4,rating:"B",exclusionGroup:"shieldGenerator",mass:16,integrity:112,powerDraw:2.64,bootTime:1,optMass:285,minMass:143,maxMass:713,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:1,shieldBrokenRegenRate:2.53,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:536693},{symbol:"Int_ShieldGenerator_Size4_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:4,rating:"A",exclusionGroup:"shieldGenerator",mass:10,integrity:96,powerDraw:3.08,bootTime:1,optMass:285,minMass:143,maxMass:713,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:1,shieldBrokenRegenRate:2.53,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:1610080},{symbol:"Int_ShieldGenerator_Size5_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:5,rating:"E",exclusionGroup:"shieldGenerator",mass:20,integrity:77,powerDraw:1.56,bootTime:1,optMass:405,minMass:203,maxMass:1013,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1,shieldBrokenRegenRate:3.75,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:63012},{symbol:"Int_ShieldGenerator_Size5_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:5,rating:"D",exclusionGroup:"shieldGenerator",mass:8,integrity:58,powerDraw:2.08,bootTime:1,optMass:405,minMass:203,maxMass:1013,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1,shieldBrokenRegenRate:3.75,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:189035},{symbol:"Int_ShieldGenerator_Size5_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:5,rating:"C",exclusionGroup:"shieldGenerator",mass:20,integrity:96,powerDraw:2.6,bootTime:1,optMass:405,minMass:203,maxMass:1013,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:1,shieldBrokenRegenRate:3.75,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:567106},{symbol:"Int_ShieldGenerator_Size5_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:5,rating:"B",exclusionGroup:"shieldGenerator",mass:32,integrity:134,powerDraw:3.12,bootTime:1,optMass:405,minMass:203,maxMass:1013,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:1,shieldBrokenRegenRate:3.75,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:1701318},{symbol:"Int_ShieldGenerator_Size5_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:5,rating:"A",exclusionGroup:"shieldGenerator",mass:20,integrity:115,powerDraw:3.64,bootTime:1,optMass:405,minMass:203,maxMass:1013,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:1,shieldBrokenRegenRate:3.75,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:5103953},{symbol:"Int_ShieldGenerator_Size6_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:6,rating:"E",exclusionGroup:"shieldGenerator",mass:40,integrity:90,powerDraw:1.86,bootTime:1,optMass:540,minMass:270,maxMass:1350,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1.3,shieldBrokenRegenRate:5.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:199747},{symbol:"Int_ShieldGenerator_Size6_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:6,rating:"D",exclusionGroup:"shieldGenerator",mass:16,integrity:68,powerDraw:2.48,bootTime:1,optMass:540,minMass:270,maxMass:1350,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1.33,shieldBrokenRegenRate:5.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:599242},{symbol:"Int_ShieldGenerator_Size6_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:6,rating:"C",exclusionGroup:"shieldGenerator",mass:40,integrity:113,powerDraw:3.1,bootTime:1,optMass:540,minMass:270,maxMass:1350,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:1.33,shieldBrokenRegenRate:5.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:1797726},{symbol:"Int_ShieldGenerator_Size6_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:6,rating:"B",exclusionGroup:"shieldGenerator",mass:64,integrity:158,powerDraw:3.72,bootTime:1,optMass:540,minMass:270,maxMass:1350,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:1.33,shieldBrokenRegenRate:5.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:5393177},{symbol:"Int_ShieldGenerator_Size6_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:6,rating:"A",exclusionGroup:"shieldGenerator",mass:40,integrity:136,powerDraw:4.34,bootTime:1,optMass:540,minMass:270,maxMass:1350,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:1.33,shieldBrokenRegenRate:5.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:16179531},{symbol:"Int_ShieldGenerator_Size7_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:7,rating:"E",exclusionGroup:"shieldGenerator",mass:80,integrity:105,powerDraw:2.1,bootTime:1,optMass:1060,minMass:530,maxMass:2650,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1.83,shieldBrokenRegenRate:7.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:633199},{symbol:"Int_ShieldGenerator_Size7_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:7,rating:"D",exclusionGroup:"shieldGenerator",mass:32,integrity:79,powerDraw:2.8,bootTime:1,optMass:1060,minMass:530,maxMass:2650,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1.83,shieldBrokenRegenRate:7.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:1899597},{symbol:"Int_ShieldGenerator_Size7_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:7,rating:"C",exclusionGroup:"shieldGenerator",mass:80,integrity:131,powerDraw:3.5,bootTime:1,optMass:1060,minMass:530,maxMass:2650,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:1.83,shieldBrokenRegenRate:7.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:5698790},{symbol:"Int_ShieldGenerator_Size7_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:7,rating:"B",exclusionGroup:"shieldGenerator",mass:128,integrity:183,powerDraw:4.2,bootTime:1,optMass:1060,minMass:530,maxMass:2650,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:1.83,shieldBrokenRegenRate:7.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:17096371},{symbol:"Int_ShieldGenerator_Size7_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:7,rating:"A",exclusionGroup:"shieldGenerator",mass:80,integrity:157,powerDraw:4.9,bootTime:1,optMass:1060,minMass:530,maxMass:2650,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:1.83,shieldBrokenRegenRate:7.33,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:51289112},{symbol:"Int_ShieldGenerator_Size8_Class1",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:8,rating:"E",exclusionGroup:"shieldGenerator",mass:160,integrity:120,powerDraw:2.4,bootTime:1,optMass:1800,minMass:900,maxMass:4500,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:2.4,shieldBrokenRegenRate:9.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:2007241},{symbol:"Int_ShieldGenerator_Size8_Class2",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:8,rating:"D",exclusionGroup:"shieldGenerator",mass:64,integrity:90,powerDraw:3.2,bootTime:1,optMass:1800,minMass:900,maxMass:4500,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:2.4,shieldBrokenRegenRate:9.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:6021722},{symbol:"Int_ShieldGenerator_Size8_Class3",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:8,rating:"C",exclusionGroup:"shieldGenerator",mass:160,integrity:150,powerDraw:4,bootTime:1,optMass:1800,minMass:900,maxMass:4500,optMultiplier:1,minMultiplier:.5,maxMultiplier:1.5,shieldRegenRate:2.4,shieldBrokenRegenRate:9.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:18065165},{symbol:"Int_ShieldGenerator_Size8_Class4",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:8,rating:"B",exclusionGroup:"shieldGenerator",mass:256,integrity:210,powerDraw:4.8,bootTime:1,optMass:1800,minMass:900,maxMass:4500,optMultiplier:1.1,minMultiplier:.6,maxMultiplier:1.6,shieldRegenRate:2.4,shieldBrokenRegenRate:9.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:54195495},{symbol:"Int_ShieldGenerator_Size8_Class5",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:8,rating:"A",exclusionGroup:"shieldGenerator",mass:160,integrity:180,powerDraw:5.6,bootTime:1,optMass:1800,minMass:900,maxMass:4500,optMultiplier:1.2,minMultiplier:.7,maxMultiplier:1.7,shieldRegenRate:2.4,shieldBrokenRegenRate:9.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:162586486},{symbol:"Int_ShieldCellBank_Size1_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:1,rating:"E",mass:1.3,integrity:32,powerDraw:.41,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:170,shieldBankReinforcement:12,shieldBankHeat:170,shieldBankSpinUp:5,shieldBankDuration:1,cost:517},{symbol:"Int_ShieldCellBank_Size1_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:1,rating:"D",mass:.5,integrity:24,powerDraw:.55,bootTime:25,clipSize:1,ammoMaximum:1,thermalLoad:170,shieldBankReinforcement:16,shieldBankHeat:170,shieldBankSpinUp:5,shieldBankDuration:1,cost:1293},{symbol:"Int_ShieldCellBank_Size1_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:1,rating:"C",mass:1.3,integrity:40,powerDraw:.69,bootTime:25,clipSize:1,ammoMaximum:2,thermalLoad:170,shieldBankReinforcement:20,shieldBankHeat:170,shieldBankSpinUp:5,shieldBankDuration:1,cost:3231},{symbol:"Int_ShieldCellBank_Size1_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:1,rating:"B",mass:2,integrity:56,powerDraw:.83,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:170,shieldBankReinforcement:24,shieldBankHeat:170,shieldBankSpinUp:5,shieldBankDuration:1,cost:8078},{symbol:"Int_ShieldCellBank_Size1_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:1,rating:"A",mass:1.3,integrity:48,powerDraw:.97,bootTime:25,clipSize:1,ammoMaximum:2,thermalLoad:170,shieldBankReinforcement:28,shieldBankHeat:170,shieldBankSpinUp:5,shieldBankDuration:1,cost:20195},{symbol:"Int_ShieldCellBank_Size2_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:2,rating:"E",mass:2.5,integrity:41,powerDraw:.5,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:240,shieldBankReinforcement:14,shieldBankHeat:240,shieldBankSpinUp:5,shieldBankDuration:1.5,cost:1448},{symbol:"Int_ShieldCellBank_Size2_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:2,rating:"D",mass:1,integrity:31,powerDraw:.67,bootTime:25,clipSize:1,ammoMaximum:2,thermalLoad:240,shieldBankReinforcement:18,shieldBankHeat:240,shieldBankSpinUp:5,shieldBankDuration:1.5,cost:3619},{symbol:"Int_ShieldCellBank_Size2_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:2,rating:"C",mass:2.5,integrity:51,powerDraw:.84,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:240,shieldBankReinforcement:23,shieldBankHeat:240,shieldBankSpinUp:5,shieldBankDuration:1.5,cost:9048},{symbol:"Int_ShieldCellBank_Size2_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:2,rating:"B",mass:4,integrity:71,powerDraw:1.01,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:240,shieldBankReinforcement:28,shieldBankHeat:240,shieldBankSpinUp:5,shieldBankDuration:1.5,cost:22619},{symbol:"Int_ShieldCellBank_Size2_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:2,rating:"A",mass:2.5,integrity:61,powerDraw:1.18,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:240,shieldBankReinforcement:32,shieldBankHeat:240,shieldBankSpinUp:5,shieldBankDuration:1.5,cost:56547},{symbol:"Int_ShieldCellBank_Size3_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:3,rating:"E",mass:5,integrity:51,powerDraw:.61,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:340,shieldBankReinforcement:17,shieldBankHeat:340,shieldBankSpinUp:5,shieldBankDuration:2.3,cost:4053},{symbol:"Int_ShieldCellBank_Size3_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:3,rating:"D",mass:2,integrity:38,powerDraw:.82,bootTime:25,clipSize:1,ammoMaximum:2,thermalLoad:340,shieldBankReinforcement:23,shieldBankHeat:340,shieldBankSpinUp:5,shieldBankDuration:2.3,cost:10133},{symbol:"Int_ShieldCellBank_Size3_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:3,rating:"C",mass:5,integrity:64,powerDraw:1.02,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:340,shieldBankReinforcement:29,shieldBankHeat:340,shieldBankSpinUp:5,shieldBankDuration:2.3,cost:25333},{symbol:"Int_ShieldCellBank_Size3_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:3,rating:"B",mass:8,integrity:90,powerDraw:1.22,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:340,shieldBankReinforcement:35,shieldBankHeat:340,shieldBankSpinUp:5,shieldBankDuration:2.3,cost:63333},{symbol:"Int_ShieldCellBank_Size3_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:3,rating:"A",mass:5,integrity:77,powerDraw:1.43,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:340,shieldBankReinforcement:41,shieldBankHeat:340,shieldBankSpinUp:5,shieldBankDuration:2.3,cost:158331},{symbol:"Int_ShieldCellBank_Size4_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:4,rating:"E",mass:10,integrity:64,powerDraw:.74,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:410,shieldBankReinforcement:20,shieldBankHeat:410,shieldBankSpinUp:5,shieldBankDuration:3.4,cost:11349},{symbol:"Int_ShieldCellBank_Size4_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:4,rating:"D",mass:4,integrity:48,powerDraw:.98,bootTime:25,clipSize:1,ammoMaximum:2,thermalLoad:410,shieldBankReinforcement:26,shieldBankHeat:410,shieldBankSpinUp:5,shieldBankDuration:3.4,cost:28373},{symbol:"Int_ShieldCellBank_Size4_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:4,rating:"C",mass:10,integrity:80,powerDraw:1.23,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:410,shieldBankReinforcement:33,shieldBankHeat:410,shieldBankSpinUp:5,shieldBankDuration:3.4,cost:70932},{symbol:"Int_ShieldCellBank_Size4_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:4,rating:"B",mass:16,integrity:112,powerDraw:1.48,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:410,shieldBankReinforcement:39,shieldBankHeat:410,shieldBankSpinUp:5,shieldBankDuration:3.4,cost:177331},{symbol:"Int_ShieldCellBank_Size4_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:4,rating:"A",mass:10,integrity:96,powerDraw:1.72,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:410,shieldBankReinforcement:46,shieldBankHeat:410,shieldBankSpinUp:5,shieldBankDuration:3.4,cost:443328},{symbol:"Int_ShieldCellBank_Size5_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:5,rating:"E",mass:20,integrity:77,powerDraw:.9,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:540,shieldBankReinforcement:21,shieldBankHeat:540,shieldBankSpinUp:5,shieldBankDuration:5.1,cost:31778},{symbol:"Int_ShieldCellBank_Size5_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:5,rating:"D",mass:8,integrity:58,powerDraw:1.2,bootTime:25,clipSize:1,ammoMaximum:2,thermalLoad:540,shieldBankReinforcement:28,shieldBankHeat:540,shieldBankSpinUp:5,shieldBankDuration:5.1,cost:79444},{symbol:"Int_ShieldCellBank_Size5_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:5,rating:"C",mass:20,integrity:96,powerDraw:1.5,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:540,shieldBankReinforcement:35,shieldBankHeat:540,shieldBankSpinUp:5,shieldBankDuration:5.1,cost:198611},{symbol:"Int_ShieldCellBank_Size5_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:5,rating:"B",mass:32,integrity:134,powerDraw:1.8,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:540,shieldBankReinforcement:41,shieldBankHeat:540,shieldBankSpinUp:5,shieldBankDuration:5.1,cost:496527},{symbol:"Int_ShieldCellBank_Size5_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:5,rating:"A",mass:20,integrity:115,powerDraw:2.1,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:540,shieldBankReinforcement:48,shieldBankHeat:540,shieldBankSpinUp:5,shieldBankDuration:5.1,cost:1241317},{symbol:"Int_ShieldCellBank_Size6_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:6,rating:"E",mass:40,integrity:90,powerDraw:1.06,bootTime:25,clipSize:1,ammoMaximum:5,thermalLoad:640,shieldBankReinforcement:20,shieldBankHeat:640,shieldBankSpinUp:5,shieldBankDuration:7.6,cost:88978},{symbol:"Int_ShieldCellBank_Size6_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:6,rating:"D",mass:16,integrity:68,powerDraw:1.42,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:640,shieldBankReinforcement:26,shieldBankHeat:640,shieldBankSpinUp:5,shieldBankDuration:7.6,cost:222444},{symbol:"Int_ShieldCellBank_Size6_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:6,rating:"C",mass:40,integrity:113,powerDraw:1.77,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:640,shieldBankReinforcement:33,shieldBankHeat:640,shieldBankSpinUp:5,shieldBankDuration:7.6,cost:556110},{symbol:"Int_ShieldCellBank_Size6_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:6,rating:"B",mass:64,integrity:158,powerDraw:2.12,bootTime:25,clipSize:1,ammoMaximum:5,thermalLoad:640,shieldBankReinforcement:39,shieldBankHeat:640,shieldBankSpinUp:5,shieldBankDuration:7.6,cost:1390275},{symbol:"Int_ShieldCellBank_Size6_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:6,rating:"A",mass:40,integrity:136,powerDraw:2.48,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:640,shieldBankReinforcement:46,shieldBankHeat:640,shieldBankSpinUp:5,shieldBankDuration:7.6,cost:3475688},{symbol:"Int_ShieldCellBank_Size7_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:7,rating:"E",mass:80,integrity:105,powerDraw:1.24,bootTime:25,clipSize:1,ammoMaximum:5,thermalLoad:720,shieldBankReinforcement:24,shieldBankHeat:720,shieldBankSpinUp:5,shieldBankDuration:11.4,cost:249137},{symbol:"Int_ShieldCellBank_Size7_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:7,rating:"D",mass:32,integrity:79,powerDraw:1.66,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:720,shieldBankReinforcement:32,shieldBankHeat:720,shieldBankSpinUp:5,shieldBankDuration:11.4,cost:622843},{symbol:"Int_ShieldCellBank_Size7_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:7,rating:"C",mass:80,integrity:131,powerDraw:2.07,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:720,shieldBankReinforcement:41,shieldBankHeat:720,shieldBankSpinUp:5,shieldBankDuration:11.4,cost:1557108},{symbol:"Int_ShieldCellBank_Size7_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:7,rating:"B",mass:128,integrity:183,powerDraw:2.48,bootTime:25,clipSize:1,ammoMaximum:5,thermalLoad:720,shieldBankReinforcement:49,shieldBankHeat:720,shieldBankSpinUp:5,shieldBankDuration:11.4,cost:3892770},{symbol:"Int_ShieldCellBank_Size7_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:7,rating:"A",mass:80,integrity:157,powerDraw:2.9,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:720,shieldBankReinforcement:57,shieldBankHeat:720,shieldBankSpinUp:5,shieldBankDuration:11.4,cost:9731925},{symbol:"Int_ShieldCellBank_Size8_Class1",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:8,rating:"E",mass:160,integrity:120,powerDraw:1.44,bootTime:25,clipSize:1,ammoMaximum:5,thermalLoad:800,shieldBankReinforcement:28,shieldBankHeat:800,shieldBankSpinUp:5,shieldBankDuration:17.1,cost:697584},{symbol:"Int_ShieldCellBank_Size8_Class2",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:8,rating:"D",mass:64,integrity:90,powerDraw:1.92,bootTime:25,clipSize:1,ammoMaximum:3,thermalLoad:800,shieldBankReinforcement:37,shieldBankHeat:800,shieldBankSpinUp:5,shieldBankDuration:17.1,cost:1743961},{symbol:"Int_ShieldCellBank_Size8_Class3",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:8,rating:"C",mass:160,integrity:150,powerDraw:2.4,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:800,shieldBankReinforcement:47,shieldBankHeat:800,shieldBankSpinUp:5,shieldBankDuration:17.1,cost:4359903},{symbol:"Int_ShieldCellBank_Size8_Class4",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:8,rating:"B",mass:256,integrity:210,powerDraw:2.88,bootTime:25,clipSize:1,ammoMaximum:5,thermalLoad:800,shieldBankReinforcement:56,shieldBankHeat:800,shieldBankSpinUp:5,shieldBankDuration:17.1,cost:10899756},{symbol:"Int_ShieldCellBank_Size8_Class5",kind:"shieldCellBanks",familyId:"shieldCellBanks",name:"Shield Cell Bank",class:8,rating:"A",mass:160,integrity:180,powerDraw:3.36,bootTime:25,clipSize:1,ammoMaximum:4,thermalLoad:800,shieldBankReinforcement:65,shieldBankHeat:800,shieldBankSpinUp:5,shieldBankDuration:17.1,cost:27249391},{symbol:"Int_CargoRack_Size1_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:1,rating:"E",mass:0,cargoCapacity:2,cost:1e3},{symbol:"Int_CargoRack_Size2_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:2,rating:"E",mass:0,cargoCapacity:4,cost:3250},{symbol:"Int_CargoRack_Size3_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:3,rating:"E",mass:0,cargoCapacity:8,cost:10563},{symbol:"Int_CargoRack_Size4_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:4,rating:"E",mass:0,cargoCapacity:16,cost:34328},{symbol:"Int_CargoRack_Size5_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:5,rating:"E",mass:0,cargoCapacity:32,cost:111566},{symbol:"Int_CargoRack_Size6_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:6,rating:"E",mass:0,cargoCapacity:64,cost:362591},{symbol:"Int_CargoRack_Size7_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:7,rating:"E",mass:0,cargoCapacity:128,cost:1178420},{symbol:"Int_CargoRack_Size8_Class1",familyId:"cargoRacks",name:"Cargo Rack",class:8,rating:"E",mass:0,cargoCapacity:256,cost:3829866},{symbol:"Int_DroneControl_ResourceSiphon",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:1,rating:"I",mass:0,integrity:20,powerDraw:.4,bootTime:0,cost:18040},{symbol:"Int_DroneControl_ResourceSiphon_Size1_Class1",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:1,rating:"E",mass:1.3,integrity:32,powerDraw:.12,bootTime:3,cost:600},{symbol:"Int_DroneControl_ResourceSiphon_Size1_Class2",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:1,rating:"D",mass:.5,integrity:24,powerDraw:.16,bootTime:3,cost:1200},{symbol:"Int_DroneControl_ResourceSiphon_Size1_Class3",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:1,rating:"C",mass:1.3,integrity:40,powerDraw:.2,bootTime:3,cost:2400},{symbol:"Int_DroneControl_ResourceSiphon_Size1_Class4",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:1,rating:"B",mass:2,integrity:56,powerDraw:.24,bootTime:3,cost:4800},{symbol:"Int_DroneControl_ResourceSiphon_Size1_Class5",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:1,rating:"A",mass:1.3,integrity:48,powerDraw:.28,bootTime:3,cost:9600},{symbol:"Int_DroneControl_ResourceSiphon_Size3_Class1",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:3,rating:"E",mass:5,integrity:51,powerDraw:.18,bootTime:3,cost:5400},{symbol:"Int_DroneControl_ResourceSiphon_Size3_Class2",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:3,rating:"D",mass:2,integrity:38,powerDraw:.24,bootTime:3,cost:10800},{symbol:"Int_DroneControl_ResourceSiphon_Size3_Class3",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:3,rating:"C",mass:5,integrity:64,powerDraw:.3,bootTime:3,cost:21600},{symbol:"Int_DroneControl_ResourceSiphon_Size3_Class4",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:3,rating:"B",mass:8,integrity:90,powerDraw:.36,bootTime:3,cost:43200},{symbol:"Int_DroneControl_ResourceSiphon_Size3_Class5",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:3,rating:"A",mass:5,integrity:77,powerDraw:.42,bootTime:3,cost:86400},{symbol:"Int_DroneControl_ResourceSiphon_Size5_Class1",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:5,rating:"E",mass:20,integrity:77,powerDraw:.3,bootTime:3,cost:48600},{symbol:"Int_DroneControl_ResourceSiphon_Size5_Class2",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:5,rating:"D",mass:8,integrity:58,powerDraw:.4,bootTime:3,cost:97200},{symbol:"Int_DroneControl_ResourceSiphon_Size5_Class3",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:5,rating:"C",mass:20,integrity:96,powerDraw:.5,bootTime:3,cost:194400},{symbol:"Int_DroneControl_ResourceSiphon_Size5_Class4",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:5,rating:"B",mass:32,integrity:134,powerDraw:.6,bootTime:3,cost:388800},{symbol:"Int_DroneControl_ResourceSiphon_Size5_Class5",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:5,rating:"A",mass:20,integrity:115,powerDraw:.7,bootTime:3,cost:777600},{symbol:"Int_DroneControl_ResourceSiphon_Size7_Class1",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:7,rating:"E",mass:80,integrity:105,powerDraw:.42,bootTime:3,cost:437400},{symbol:"Int_DroneControl_ResourceSiphon_Size7_Class2",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:7,rating:"D",mass:32,integrity:79,powerDraw:.56,bootTime:3,cost:874800},{symbol:"Int_DroneControl_ResourceSiphon_Size7_Class3",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:7,rating:"C",mass:80,integrity:131,powerDraw:.7,bootTime:3,cost:1749600},{symbol:"Int_DroneControl_ResourceSiphon_Size7_Class4",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:7,rating:"B",mass:128,integrity:183,powerDraw:.84,bootTime:3,cost:3499200},{symbol:"Int_DroneControl_ResourceSiphon_Size7_Class5",kind:"hatchBreakerLimpets",familyId:"hatchBreakerLimpets",name:"Hatch Breaker Limpet Controller",class:7,rating:"A",mass:80,integrity:157,powerDraw:.98,bootTime:3,cost:6998400},{symbol:"Int_DetailedSurfaceScanner_Tiny",kind:"surfaceScanners",familyId:"surfaceScanners",name:"Detailed Surface Scanner",class:1,rating:"I",exclusionGroup:"detailedSurfaceScanner",mass:0,integrity:20,powerDraw:0,bootTime:0,probeRadius:20,cost:25e4},{symbol:"Int_ShieldGenerator_Size2_Class1_free",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Shield Generator",class:2,rating:"E",exclusionGroup:"shieldGenerator",mass:2.5,integrity:41,powerDraw:.9,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:.8,minMultiplier:.3,maxMultiplier:1.3,shieldRegenRate:1,shieldBrokenRegenRate:1.6,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6},{symbol:"Int_CargoRack_Size2_Class1_free",familyId:"cargoRacks",name:"Cargo Rack",class:2,rating:"E",mass:0,cargoCapacity:4},{symbol:"Int_FuelScoop_Size1_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:1,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:32,powerDraw:.14,bootTime:4,refuelRate:.018,cost:309},{symbol:"Int_FuelScoop_Size2_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:2,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:41,powerDraw:.17,bootTime:4,refuelRate:.032,cost:1068},{symbol:"Int_FuelScoop_Size3_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:3,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:51,powerDraw:.2,bootTime:4,refuelRate:.075,cost:3386},{symbol:"Int_FuelScoop_Size4_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:4,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:64,powerDraw:.25,bootTime:4,refuelRate:.147,cost:10734},{symbol:"Int_FuelScoop_Size5_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:5,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:77,powerDraw:.3,bootTime:4,refuelRate:.247,cost:34026},{symbol:"Int_FuelScoop_Size6_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:6,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:90,powerDraw:.35,bootTime:4,refuelRate:.376,cost:107864},{symbol:"Int_FuelScoop_Size7_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:7,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:105,powerDraw:.41,bootTime:4,refuelRate:.534,cost:341927},{symbol:"Int_FuelScoop_Size8_Class1",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:8,rating:"E",exclusionGroup:"fuelScoop",mass:0,integrity:120,powerDraw:.48,bootTime:4,refuelRate:.72,cost:1083910},{symbol:"Int_FuelScoop_Size1_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:1,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:24,powerDraw:.18,bootTime:4,refuelRate:.024,cost:1285},{symbol:"Int_FuelScoop_Size2_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:2,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:31,powerDraw:.22,bootTime:4,refuelRate:.043,cost:4451},{symbol:"Int_FuelScoop_Size3_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:3,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:38,powerDraw:.27,bootTime:4,refuelRate:.1,cost:14109},{symbol:"Int_FuelScoop_Size4_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:4,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:48,powerDraw:.33,bootTime:4,refuelRate:.196,cost:44724},{symbol:"Int_FuelScoop_Size5_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:5,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:58,powerDraw:.4,bootTime:4,refuelRate:.33,cost:141776},{symbol:"Int_FuelScoop_Size6_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:6,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:68,powerDraw:.47,bootTime:4,refuelRate:.502,cost:449431},{symbol:"Int_FuelScoop_Size7_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:7,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:79,powerDraw:.55,bootTime:4,refuelRate:.712,cost:1424698},{symbol:"Int_FuelScoop_Size8_Class2",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:8,rating:"D",exclusionGroup:"fuelScoop",mass:0,integrity:90,powerDraw:.64,bootTime:4,refuelRate:.96,cost:4516291},{symbol:"Int_FuelScoop_Size1_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:1,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:40,powerDraw:.23,bootTime:4,refuelRate:.03,cost:5142},{symbol:"Int_FuelScoop_Size2_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:2,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:51,powerDraw:.28,bootTime:4,refuelRate:.054,cost:17803},{symbol:"Int_FuelScoop_Size3_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:3,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:64,powerDraw:.34,bootTime:4,refuelRate:.126,cost:56435},{symbol:"Int_FuelScoop_Size4_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:4,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:80,powerDraw:.41,bootTime:4,refuelRate:.245,cost:178898},{symbol:"Int_FuelScoop_Size5_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:5,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:96,powerDraw:.5,bootTime:4,refuelRate:.412,cost:567106},{symbol:"Int_FuelScoop_Size6_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:6,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:113,powerDraw:.59,bootTime:4,refuelRate:.627,cost:1797726},{symbol:"Int_FuelScoop_Size7_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:7,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:131,powerDraw:.69,bootTime:4,refuelRate:.89,cost:5698790},{symbol:"Int_FuelScoop_Size8_Class3",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:8,rating:"C",exclusionGroup:"fuelScoop",mass:0,integrity:150,powerDraw:.8,bootTime:4,refuelRate:1.2,cost:18065165},{symbol:"Int_FuelScoop_Size1_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:1,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:56,powerDraw:.28,bootTime:4,refuelRate:.036,cost:20568},{symbol:"Int_FuelScoop_Size2_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:2,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:70,powerDraw:.34,bootTime:4,refuelRate:.065,cost:71211},{symbol:"Int_FuelScoop_Size3_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:3,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:90,powerDraw:.41,bootTime:4,refuelRate:.151,cost:225738},{symbol:"Int_FuelScoop_Size4_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:4,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:112,powerDraw:.49,bootTime:4,refuelRate:.294,cost:715591},{symbol:"Int_FuelScoop_Size5_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:5,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:134,powerDraw:.6,bootTime:4,refuelRate:.494,cost:2268424},{symbol:"Int_FuelScoop_Size6_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:6,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:158,powerDraw:.71,bootTime:4,refuelRate:.752,cost:7190903},{symbol:"Int_FuelScoop_Size7_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:7,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:183,powerDraw:.83,bootTime:4,refuelRate:1.068,cost:22795161},{symbol:"Int_FuelScoop_Size8_Class4",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:8,rating:"B",exclusionGroup:"fuelScoop",mass:0,integrity:210,powerDraw:.96,bootTime:4,refuelRate:1.44,cost:72260660},{symbol:"Int_FuelScoop_Size1_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:1,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:48,powerDraw:.32,bootTime:4,refuelRate:.042,cost:82270},{symbol:"Int_FuelScoop_Size2_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:2,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:61,powerDraw:.39,bootTime:4,refuelRate:.075,cost:284844},{symbol:"Int_FuelScoop_Size3_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:3,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:77,powerDraw:.48,bootTime:4,refuelRate:.176,cost:902954},{symbol:"Int_FuelScoop_Size4_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:4,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:96,powerDraw:.57,bootTime:4,refuelRate:.343,cost:2862364},{symbol:"Int_FuelScoop_Size5_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:5,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:115,powerDraw:.7,bootTime:4,refuelRate:.577,cost:9073694},{symbol:"Int_FuelScoop_Size6_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:6,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:136,powerDraw:.83,bootTime:4,refuelRate:.878,cost:28763610},{symbol:"Int_FuelScoop_Size7_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:7,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:157,powerDraw:.97,bootTime:4,refuelRate:1.245,cost:91180644},{symbol:"Int_FuelScoop_Size8_Class5",kind:"fuelScoops",familyId:"fuelScoops",name:"Fuel Scoop",class:8,rating:"A",exclusionGroup:"fuelScoop",mass:0,integrity:180,powerDraw:1.12,bootTime:4,refuelRate:1.68,cost:289042641},{symbol:"Int_Refinery_Size1_Class1",kind:"refineries",familyId:"refineries",name:"Refinery",class:1,rating:"E",exclusionGroup:"refinery",mass:0,integrity:32,powerDraw:.14,bootTime:10,cost:6e3},{symbol:"Int_Refinery_Size2_Class1",kind:"refineries",familyId:"refineries",name:"Refinery",class:2,rating:"E",exclusionGroup:"refinery",mass:0,integrity:41,powerDraw:.17,bootTime:10,cost:12600},{symbol:"Int_Refinery_Size3_Class1",kind:"refineries",familyId:"refineries",name:"Refinery",class:3,rating:"E",exclusionGroup:"refinery",mass:0,integrity:51,powerDraw:.2,bootTime:10,cost:26460},{symbol:"Int_Refinery_Size4_Class1",kind:"refineries",familyId:"refineries",name:"Refinery",class:4,rating:"E",exclusionGroup:"refinery",mass:0,integrity:64,powerDraw:.25,bootTime:10,cost:55566},{symbol:"Int_Refinery_Size1_Class2",kind:"refineries",familyId:"refineries",name:"Refinery",class:1,rating:"D",exclusionGroup:"refinery",mass:0,integrity:24,powerDraw:.18,bootTime:10,cost:18e3},{symbol:"Int_Refinery_Size2_Class2",kind:"refineries",familyId:"refineries",name:"Refinery",class:2,rating:"D",exclusionGroup:"refinery",mass:0,integrity:31,powerDraw:.22,bootTime:10,cost:37800},{symbol:"Int_Refinery_Size3_Class2",kind:"refineries",familyId:"refineries",name:"Refinery",class:3,rating:"D",exclusionGroup:"refinery",mass:0,integrity:38,powerDraw:.27,bootTime:10,cost:79380},{symbol:"Int_Refinery_Size4_Class2",kind:"refineries",familyId:"refineries",name:"Refinery",class:4,rating:"D",exclusionGroup:"refinery",mass:0,integrity:48,powerDraw:.33,bootTime:10,cost:166698},{symbol:"Int_Refinery_Size1_Class3",kind:"refineries",familyId:"refineries",name:"Refinery",class:1,rating:"C",exclusionGroup:"refinery",mass:0,integrity:40,powerDraw:.23,bootTime:10,cost:54e3},{symbol:"Int_Refinery_Size2_Class3",kind:"refineries",familyId:"refineries",name:"Refinery",class:2,rating:"C",exclusionGroup:"refinery",mass:0,integrity:51,powerDraw:.28,bootTime:10,cost:113400},{symbol:"Int_Refinery_Size3_Class3",kind:"refineries",familyId:"refineries",name:"Refinery",class:3,rating:"C",exclusionGroup:"refinery",mass:0,integrity:64,powerDraw:.34,bootTime:10,cost:238140},{symbol:"Int_Refinery_Size4_Class3",kind:"refineries",familyId:"refineries",name:"Refinery",class:4,rating:"C",exclusionGroup:"refinery",mass:0,integrity:80,powerDraw:.41,bootTime:10,cost:500094},{symbol:"Int_Refinery_Size1_Class4",kind:"refineries",familyId:"refineries",name:"Refinery",class:1,rating:"B",exclusionGroup:"refinery",mass:0,integrity:56,powerDraw:.28,bootTime:10,cost:162e3},{symbol:"Int_Refinery_Size2_Class4",kind:"refineries",familyId:"refineries",name:"Refinery",class:2,rating:"B",exclusionGroup:"refinery",mass:0,integrity:71,powerDraw:.34,bootTime:10,cost:340200},{symbol:"Int_Refinery_Size3_Class4",kind:"refineries",familyId:"refineries",name:"Refinery",class:3,rating:"B",exclusionGroup:"refinery",mass:0,integrity:90,powerDraw:.41,bootTime:10,cost:714420},{symbol:"Int_Refinery_Size4_Class4",kind:"refineries",familyId:"refineries",name:"Refinery",class:4,rating:"B",exclusionGroup:"refinery",mass:0,integrity:112,powerDraw:.49,bootTime:10,cost:1500282},{symbol:"Int_Refinery_Size1_Class5",kind:"refineries",familyId:"refineries",name:"Refinery",class:1,rating:"A",exclusionGroup:"refinery",mass:0,integrity:48,powerDraw:.32,bootTime:10,cost:486e3},{symbol:"Int_Refinery_Size2_Class5",kind:"refineries",familyId:"refineries",name:"Refinery",class:2,rating:"A",exclusionGroup:"refinery",mass:0,integrity:61,powerDraw:.39,bootTime:10,cost:1020600},{symbol:"Int_Refinery_Size3_Class5",kind:"refineries",familyId:"refineries",name:"Refinery",class:3,rating:"A",exclusionGroup:"refinery",mass:0,integrity:77,powerDraw:.48,bootTime:10,cost:2143260},{symbol:"Int_Refinery_Size4_Class5",kind:"refineries",familyId:"refineries",name:"Refinery",class:4,rating:"A",exclusionGroup:"refinery",mass:0,integrity:96,powerDraw:.57,bootTime:10,cost:4500846},{symbol:"Int_FSDInterdictor_Size1_Class1",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:1,rating:"E",exclusionGroup:"frameShiftDriveInterdictor",mass:1.3,integrity:32,powerDraw:.14,bootTime:15,interdictorFacingLimit:50,interdictorRange:3,cost:12e3},{symbol:"Int_FSDInterdictor_Size2_Class1",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:2,rating:"E",exclusionGroup:"frameShiftDriveInterdictor",mass:2.5,integrity:41,powerDraw:.17,bootTime:15,interdictorFacingLimit:50,interdictorRange:6,cost:33600},{symbol:"Int_FSDInterdictor_Size3_Class1",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:3,rating:"E",exclusionGroup:"frameShiftDriveInterdictor",mass:5,integrity:51,powerDraw:.2,bootTime:15,interdictorFacingLimit:50,interdictorRange:9,cost:94080},{symbol:"Int_FSDInterdictor_Size4_Class1",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:4,rating:"E",exclusionGroup:"frameShiftDriveInterdictor",mass:10,integrity:64,powerDraw:.25,bootTime:15,interdictorFacingLimit:50,interdictorRange:12,cost:263424},{symbol:"Int_FSDInterdictor_Size1_Class2",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:1,rating:"D",exclusionGroup:"frameShiftDriveInterdictor",mass:.5,integrity:24,powerDraw:.18,bootTime:15,interdictorFacingLimit:50,interdictorRange:4,cost:36e3},{symbol:"Int_FSDInterdictor_Size2_Class2",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:2,rating:"D",exclusionGroup:"frameShiftDriveInterdictor",mass:1,integrity:31,powerDraw:.22,bootTime:15,interdictorFacingLimit:50,interdictorRange:7,cost:100800},{symbol:"Int_FSDInterdictor_Size3_Class2",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:3,rating:"D",exclusionGroup:"frameShiftDriveInterdictor",mass:2,integrity:38,powerDraw:.27,bootTime:15,interdictorFacingLimit:50,interdictorRange:10,cost:282240},{symbol:"Int_FSDInterdictor_Size4_Class2",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:4,rating:"D",exclusionGroup:"frameShiftDriveInterdictor",mass:4,integrity:48,powerDraw:.33,bootTime:15,interdictorFacingLimit:50,interdictorRange:13,cost:790272},{symbol:"Int_FSDInterdictor_Size1_Class3",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:1,rating:"C",exclusionGroup:"frameShiftDriveInterdictor",mass:1.3,integrity:40,powerDraw:.23,bootTime:15,interdictorFacingLimit:50,interdictorRange:5,cost:108e3},{symbol:"Int_FSDInterdictor_Size2_Class3",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:2,rating:"C",exclusionGroup:"frameShiftDriveInterdictor",mass:2.5,integrity:51,powerDraw:.28,bootTime:15,interdictorFacingLimit:50,interdictorRange:8,cost:302400},{symbol:"Int_FSDInterdictor_Size3_Class3",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:3,rating:"C",exclusionGroup:"frameShiftDriveInterdictor",mass:5,integrity:64,powerDraw:.34,bootTime:15,interdictorFacingLimit:50,interdictorRange:11,cost:846720},{symbol:"Int_FSDInterdictor_Size4_Class3",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:4,rating:"C",exclusionGroup:"frameShiftDriveInterdictor",mass:10,integrity:80,powerDraw:.41,bootTime:15,interdictorFacingLimit:50,interdictorRange:14,cost:2370816},{symbol:"Int_FSDInterdictor_Size1_Class4",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:1,rating:"B",exclusionGroup:"frameShiftDriveInterdictor",mass:2,integrity:56,powerDraw:.28,bootTime:15,interdictorFacingLimit:50,interdictorRange:6,cost:324e3},{symbol:"Int_FSDInterdictor_Size2_Class4",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:2,rating:"B",exclusionGroup:"frameShiftDriveInterdictor",mass:4,integrity:71,powerDraw:.34,bootTime:15,interdictorFacingLimit:50,interdictorRange:9,cost:907200},{symbol:"Int_FSDInterdictor_Size3_Class4",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:3,rating:"B",exclusionGroup:"frameShiftDriveInterdictor",mass:8,integrity:90,powerDraw:.41,bootTime:15,interdictorFacingLimit:50,interdictorRange:12,cost:2540160},{symbol:"Int_FSDInterdictor_Size4_Class4",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:4,rating:"B",exclusionGroup:"frameShiftDriveInterdictor",mass:16,integrity:112,powerDraw:.49,bootTime:15,interdictorFacingLimit:50,interdictorRange:15,cost:7112448},{symbol:"Int_FSDInterdictor_Size1_Class5",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:1,rating:"A",exclusionGroup:"frameShiftDriveInterdictor",mass:1.3,integrity:48,powerDraw:.32,bootTime:15,interdictorFacingLimit:50,interdictorRange:7,cost:972e3},{symbol:"Int_FSDInterdictor_Size2_Class5",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:2,rating:"A",exclusionGroup:"frameShiftDriveInterdictor",mass:2.5,integrity:61,powerDraw:.39,bootTime:15,interdictorFacingLimit:50,interdictorRange:10,cost:2721600},{symbol:"Int_FSDInterdictor_Size3_Class5",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:3,rating:"A",exclusionGroup:"frameShiftDriveInterdictor",mass:5,integrity:77,powerDraw:.48,bootTime:15,interdictorFacingLimit:50,interdictorRange:13,cost:7620480},{symbol:"Int_FSDInterdictor_Size4_Class5",kind:"fsdInterdictors",familyId:"fsdInterdictors",name:"Frame Shift Drive Interdictor",class:4,rating:"A",exclusionGroup:"frameShiftDriveInterdictor",mass:10,integrity:96,powerDraw:.57,bootTime:15,interdictorFacingLimit:50,interdictorRange:16,cost:21337344},{symbol:"Int_Repairer_Size1_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:1,rating:"E",mass:0,integrity:32,powerDraw:.54,bootTime:9,ammoMaximum:1e3,cost:1e4},{symbol:"Int_Repairer_Size2_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:2,rating:"E",mass:0,integrity:41,powerDraw:.68,bootTime:9,ammoMaximum:2300,cost:18e3},{symbol:"Int_Repairer_Size3_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:3,rating:"E",mass:0,integrity:51,powerDraw:.81,bootTime:9,ammoMaximum:3600,cost:32400},{symbol:"Int_Repairer_Size4_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:4,rating:"E",mass:0,integrity:64,powerDraw:.99,bootTime:9,ammoMaximum:4900,cost:58320},{symbol:"Int_Repairer_Size5_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:5,rating:"E",mass:0,integrity:77,powerDraw:1.17,bootTime:9,ammoMaximum:6100,cost:104976},{symbol:"Int_Repairer_Size6_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:6,rating:"E",mass:0,integrity:90,powerDraw:1.4,bootTime:9,ammoMaximum:7400,cost:188957},{symbol:"Int_Repairer_Size7_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:7,rating:"E",mass:0,integrity:105,powerDraw:1.58,bootTime:9,ammoMaximum:8700,cost:340122},{symbol:"Int_Repairer_Size8_Class1",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:8,rating:"E",mass:0,integrity:120,powerDraw:1.8,bootTime:9,ammoMaximum:1e4,cost:612220},{symbol:"Int_Repairer_Size1_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:1,rating:"D",mass:0,integrity:24,powerDraw:.72,bootTime:9,ammoMaximum:900,cost:3e4},{symbol:"Int_Repairer_Size2_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:2,rating:"D",mass:0,integrity:31,powerDraw:.9,bootTime:9,ammoMaximum:2100,cost:54e3},{symbol:"Int_Repairer_Size3_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:3,rating:"D",mass:0,integrity:38,powerDraw:1.08,bootTime:9,ammoMaximum:3200,cost:97200},{symbol:"Int_Repairer_Size4_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:4,rating:"D",mass:0,integrity:48,powerDraw:1.32,bootTime:9,ammoMaximum:4400,cost:174960},{symbol:"Int_Repairer_Size5_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:5,rating:"D",mass:0,integrity:58,powerDraw:1.56,bootTime:9,ammoMaximum:5500,cost:314928},{symbol:"Int_Repairer_Size6_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:6,rating:"D",mass:0,integrity:68,powerDraw:1.86,bootTime:9,ammoMaximum:6700,cost:566870},{symbol:"Int_Repairer_Size7_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:7,rating:"D",mass:0,integrity:79,powerDraw:2.1,bootTime:9,ammoMaximum:7800,cost:1020367},{symbol:"Int_Repairer_Size8_Class2",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:8,rating:"D",mass:0,integrity:90,powerDraw:2.4,bootTime:9,ammoMaximum:9e3,cost:1836660},{symbol:"Int_Repairer_Size1_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:1,rating:"C",mass:0,integrity:40,powerDraw:.9,bootTime:9,ammoMaximum:1e3,cost:9e4},{symbol:"Int_Repairer_Size2_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:2,rating:"C",mass:0,integrity:51,powerDraw:1.13,bootTime:9,ammoMaximum:2300,cost:162e3},{symbol:"Int_Repairer_Size3_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:3,rating:"C",mass:0,integrity:64,powerDraw:1.35,bootTime:9,ammoMaximum:3600,cost:291600},{symbol:"Int_Repairer_Size4_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:4,rating:"C",mass:0,integrity:80,powerDraw:1.65,bootTime:9,ammoMaximum:4900,cost:524880},{symbol:"Int_Repairer_Size5_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:5,rating:"C",mass:0,integrity:96,powerDraw:1.95,bootTime:9,ammoMaximum:6100,cost:944784},{symbol:"Int_Repairer_Size6_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:6,rating:"C",mass:0,integrity:113,powerDraw:2.33,bootTime:9,ammoMaximum:7400,cost:1700611},{symbol:"Int_Repairer_Size7_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:7,rating:"C",mass:0,integrity:131,powerDraw:2.63,bootTime:9,ammoMaximum:8700,cost:3061100},{symbol:"Int_Repairer_Size8_Class3",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:8,rating:"C",mass:0,integrity:150,powerDraw:3,bootTime:9,ammoMaximum:1e4,cost:5509980},{symbol:"Int_Repairer_Size1_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:1,rating:"B",mass:0,integrity:56,powerDraw:1.04,bootTime:9,ammoMaximum:1200,cost:27e4},{symbol:"Int_Repairer_Size2_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:2,rating:"B",mass:0,integrity:71,powerDraw:1.29,bootTime:9,ammoMaximum:2800,cost:486e3},{symbol:"Int_Repairer_Size3_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:3,rating:"B",mass:0,integrity:90,powerDraw:1.55,bootTime:9,ammoMaximum:4300,cost:874800},{symbol:"Int_Repairer_Size4_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:4,rating:"B",mass:0,integrity:112,powerDraw:1.9,bootTime:9,ammoMaximum:5900,cost:1574640},{symbol:"Int_Repairer_Size5_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:5,rating:"B",mass:0,integrity:134,powerDraw:2.24,bootTime:9,ammoMaximum:7300,cost:2834352},{symbol:"Int_Repairer_Size6_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:6,rating:"B",mass:0,integrity:158,powerDraw:2.67,bootTime:9,ammoMaximum:8900,cost:5101834},{symbol:"Int_Repairer_Size7_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:7,rating:"B",mass:0,integrity:183,powerDraw:3.02,bootTime:9,ammoMaximum:10400,cost:9183300},{symbol:"Int_Repairer_Size8_Class4",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:8,rating:"B",mass:0,integrity:210,powerDraw:3.45,bootTime:9,ammoMaximum:12e3,cost:16529941},{symbol:"Int_Repairer_Size1_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:1,rating:"A",mass:0,integrity:46,powerDraw:1.26,bootTime:9,ammoMaximum:1100,cost:81e4},{symbol:"Int_Repairer_Size2_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:2,rating:"A",mass:0,integrity:59,powerDraw:1.58,bootTime:9,ammoMaximum:2500,cost:1458e3},{symbol:"Int_Repairer_Size3_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:3,rating:"A",mass:0,integrity:74,powerDraw:1.89,bootTime:9,ammoMaximum:4e3,cost:2624400},{symbol:"Int_Repairer_Size4_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:4,rating:"A",mass:0,integrity:92,powerDraw:2.31,bootTime:9,ammoMaximum:5400,cost:4723920},{symbol:"Int_Repairer_Size5_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:5,rating:"A",mass:0,integrity:110,powerDraw:2.73,bootTime:9,ammoMaximum:6700,cost:8503056},{symbol:"Int_Repairer_Size6_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:6,rating:"A",mass:0,integrity:130,powerDraw:3.26,bootTime:9,ammoMaximum:8100,cost:15305501},{symbol:"Int_Repairer_Size7_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:7,rating:"A",mass:0,integrity:151,powerDraw:3.68,bootTime:9,ammoMaximum:9600,cost:27549901},{symbol:"Int_Repairer_Size8_Class5",kind:"autoFieldMaintenanceUnits",familyId:"afms",name:"Auto Field-Maintenance Unit",class:8,rating:"A",mass:0,integrity:173,powerDraw:4.2,bootTime:9,ammoMaximum:11e3,cost:49589823},{symbol:"Int_HullReinforcement_Size1_Class1",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:1,rating:"E",mass:2,kineticResistance:.005,thermalResistance:.005,explosiveResistance:.005,causticResistance:0,hullReinforcement:80,cost:5e3},{symbol:"Int_HullReinforcement_Size1_Class2",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:1,rating:"D",mass:1,kineticResistance:.005,thermalResistance:.005,explosiveResistance:.005,causticResistance:0,hullReinforcement:110,cost:15e3},{symbol:"Int_HullReinforcement_Size2_Class1",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:2,rating:"E",mass:4,kineticResistance:.01,thermalResistance:.01,explosiveResistance:.01,causticResistance:0,hullReinforcement:150,cost:12e3},{symbol:"Int_HullReinforcement_Size2_Class2",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:2,rating:"D",mass:2,kineticResistance:.01,thermalResistance:.01,explosiveResistance:.01,causticResistance:0,hullReinforcement:190,cost:36e3},{symbol:"Int_HullReinforcement_Size3_Class1",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:3,rating:"E",mass:8,kineticResistance:.015,thermalResistance:.015,explosiveResistance:.015,causticResistance:0,hullReinforcement:230,cost:28e3},{symbol:"Int_HullReinforcement_Size3_Class2",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:3,rating:"D",mass:4,kineticResistance:.015,thermalResistance:.015,explosiveResistance:.015,causticResistance:0,hullReinforcement:260,cost:84e3},{symbol:"Int_HullReinforcement_Size4_Class1",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:4,rating:"E",mass:16,kineticResistance:.02,thermalResistance:.02,explosiveResistance:.02,causticResistance:0,hullReinforcement:300,cost:65e3},{symbol:"Int_HullReinforcement_Size4_Class2",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:4,rating:"D",mass:8,kineticResistance:.02,thermalResistance:.02,explosiveResistance:.02,causticResistance:0,hullReinforcement:330,cost:195e3},{symbol:"Int_HullReinforcement_Size5_Class1",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:5,rating:"E",mass:32,kineticResistance:.025,thermalResistance:.025,explosiveResistance:.025,causticResistance:0,hullReinforcement:360,cost:15e4},{symbol:"Int_HullReinforcement_Size5_Class2",kind:"hullReinforcements",familyId:"hullReinforcements",name:"Hull Reinforcement Package",class:5,rating:"D",mass:16,kineticResistance:.025,thermalResistance:.025,explosiveResistance:.025,causticResistance:0,hullReinforcement:390,cost:45e4},{symbol:"Int_DroneControl_Collection_Size1_Class1",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:1,rating:"E",mass:.5,integrity:24,powerDraw:.14,bootTime:6,cost:600},{symbol:"Int_DroneControl_Collection_Size1_Class2",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:1,rating:"D",mass:.5,integrity:32,powerDraw:.18,bootTime:6,cost:1200},{symbol:"Int_DroneControl_Collection_Size1_Class3",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:1,rating:"C",mass:1.3,integrity:40,powerDraw:.23,bootTime:6,cost:2400},{symbol:"Int_DroneControl_Collection_Size1_Class4",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:1,rating:"B",mass:2,integrity:48,powerDraw:.28,bootTime:6,cost:4800},{symbol:"Int_DroneControl_Collection_Size1_Class5",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:1,rating:"A",mass:2,integrity:56,powerDraw:.32,bootTime:6,cost:9600},{symbol:"Int_DroneControl_Collection_Size3_Class1",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:3,rating:"E",mass:2,integrity:38,powerDraw:.2,bootTime:6,cost:5400},{symbol:"Int_DroneControl_Collection_Size3_Class2",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:3,rating:"D",mass:2,integrity:51,powerDraw:.27,bootTime:6,cost:10800},{symbol:"Int_DroneControl_Collection_Size3_Class3",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:3,rating:"C",mass:5,integrity:64,powerDraw:.34,bootTime:6,cost:21600},{symbol:"Int_DroneControl_Collection_Size3_Class4",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:3,rating:"B",mass:8,integrity:77,powerDraw:.41,bootTime:6,cost:43200},{symbol:"Int_DroneControl_Collection_Size3_Class5",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:3,rating:"A",mass:8,integrity:90,powerDraw:.48,bootTime:6,cost:86400},{symbol:"Int_DroneControl_Collection_Size5_Class1",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:5,rating:"E",mass:8,integrity:58,powerDraw:.3,bootTime:6,cost:48600},{symbol:"Int_DroneControl_Collection_Size5_Class2",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:5,rating:"D",mass:8,integrity:77,powerDraw:.4,bootTime:6,cost:97200},{symbol:"Int_DroneControl_Collection_Size5_Class3",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:5,rating:"C",mass:20,integrity:96,powerDraw:.5,bootTime:6,cost:194400},{symbol:"Int_DroneControl_Collection_Size5_Class4",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:5,rating:"B",mass:32,integrity:115,powerDraw:.6,bootTime:6,cost:388800},{symbol:"Int_DroneControl_Collection_Size5_Class5",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:5,rating:"A",mass:32,integrity:134,powerDraw:.7,bootTime:6,cost:777600},{symbol:"Int_DroneControl_Collection_Size7_Class1",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:7,rating:"E",mass:32,integrity:79,powerDraw:.41,bootTime:6,cost:437400},{symbol:"Int_DroneControl_Collection_Size7_Class2",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:7,rating:"D",mass:32,integrity:105,powerDraw:.55,bootTime:6,cost:874800},{symbol:"Int_DroneControl_Collection_Size7_Class3",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:7,rating:"C",mass:80,integrity:131,powerDraw:.69,bootTime:6,cost:1749600},{symbol:"Int_DroneControl_Collection_Size7_Class4",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:7,rating:"B",mass:128,integrity:157,powerDraw:.83,bootTime:6,cost:3499200},{symbol:"Int_DroneControl_Collection_Size7_Class5",kind:"collectionLimpets",familyId:"collectorLimpets",name:"Collector Limpet Controller",class:7,rating:"A",mass:128,integrity:183,powerDraw:.97,bootTime:6,cost:6998400},{symbol:"Int_DroneControl_FuelTransfer_Size1_Class1",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:1,rating:"E",mass:1.3,integrity:24,powerDraw:.18,bootTime:10,cost:600},{symbol:"Int_DroneControl_FuelTransfer_Size1_Class2",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:1,rating:"D",mass:.5,integrity:32,powerDraw:.14,bootTime:10,cost:1200},{symbol:"Int_DroneControl_FuelTransfer_Size1_Class3",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:1,rating:"C",mass:1.3,integrity:40,powerDraw:.23,bootTime:10,cost:2400},{symbol:"Int_DroneControl_FuelTransfer_Size1_Class4",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:1,rating:"B",mass:2,integrity:48,powerDraw:.32,bootTime:10,cost:4800},{symbol:"Int_DroneControl_FuelTransfer_Size1_Class5",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:1,rating:"A",mass:1.3,integrity:56,powerDraw:.28,bootTime:10,cost:9600},{symbol:"Int_DroneControl_FuelTransfer_Size3_Class1",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:3,rating:"E",mass:5,integrity:38,powerDraw:.27,bootTime:10,cost:5400},{symbol:"Int_DroneControl_FuelTransfer_Size3_Class2",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:3,rating:"D",mass:2,integrity:51,powerDraw:.2,bootTime:10,cost:10800},{symbol:"Int_DroneControl_FuelTransfer_Size3_Class3",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:3,rating:"C",mass:5,integrity:64,powerDraw:.34,bootTime:10,cost:21600},{symbol:"Int_DroneControl_FuelTransfer_Size3_Class4",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:3,rating:"B",mass:8,integrity:77,powerDraw:.48,bootTime:10,cost:43200},{symbol:"Int_DroneControl_FuelTransfer_Size3_Class5",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:3,rating:"A",mass:5,integrity:90,powerDraw:.41,bootTime:10,cost:86400},{symbol:"Int_DroneControl_FuelTransfer_Size5_Class1",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:5,rating:"E",mass:20,integrity:58,powerDraw:.4,bootTime:10,cost:48600},{symbol:"Int_DroneControl_FuelTransfer_Size5_Class2",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:5,rating:"D",mass:8,integrity:77,powerDraw:.3,bootTime:10,cost:97200},{symbol:"Int_DroneControl_FuelTransfer_Size5_Class3",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:5,rating:"C",mass:20,integrity:96,powerDraw:.5,bootTime:10,cost:194400},{symbol:"Int_DroneControl_FuelTransfer_Size5_Class4",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:5,rating:"B",mass:32,integrity:115,powerDraw:.72,bootTime:10,cost:388800},{symbol:"Int_DroneControl_FuelTransfer_Size5_Class5",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:5,rating:"A",mass:20,integrity:134,powerDraw:.6,bootTime:10,cost:777600},{symbol:"Int_DroneControl_FuelTransfer_Size7_Class1",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:7,rating:"E",mass:80,integrity:79,powerDraw:.55,bootTime:10,cost:437400},{symbol:"Int_DroneControl_FuelTransfer_Size7_Class2",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:7,rating:"D",mass:32,integrity:105,powerDraw:.41,bootTime:10,cost:874800},{symbol:"Int_DroneControl_FuelTransfer_Size7_Class3",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:7,rating:"C",mass:80,integrity:131,powerDraw:.69,bootTime:10,cost:1749600},{symbol:"Int_DroneControl_FuelTransfer_Size7_Class4",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:7,rating:"B",mass:128,integrity:157,powerDraw:.97,bootTime:10,cost:3499200},{symbol:"Int_DroneControl_FuelTransfer_Size7_Class5",kind:"fuelTransferLimpets",familyId:"fuelTransferLimpets",name:"Fuel Transfer Limpet Controller",class:7,rating:"A",mass:80,integrity:183,powerDraw:.83,bootTime:10,cost:6998400},{symbol:"Int_DroneControl_Prospector_Size1_Class1",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:1,rating:"E",mass:1.3,integrity:24,powerDraw:.18,bootTime:4,cost:600},{symbol:"Int_DroneControl_Prospector_Size1_Class2",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:1,rating:"D",mass:.5,integrity:32,powerDraw:.14,bootTime:4,cost:1200},{symbol:"Int_DroneControl_Prospector_Size1_Class3",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:1,rating:"C",mass:1.3,integrity:40,powerDraw:.23,bootTime:4,cost:2400},{symbol:"Int_DroneControl_Prospector_Size1_Class4",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:1,rating:"B",mass:2,integrity:48,powerDraw:.32,bootTime:4,cost:4800},{symbol:"Int_DroneControl_Prospector_Size1_Class5",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:1,rating:"A",mass:1.3,integrity:56,powerDraw:.28,bootTime:4,cost:9600},{symbol:"Int_DroneControl_Prospector_Size3_Class1",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:3,rating:"E",mass:5,integrity:38,powerDraw:.27,bootTime:4,cost:5400},{symbol:"Int_DroneControl_Prospector_Size3_Class2",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:3,rating:"D",mass:2,integrity:51,powerDraw:.2,bootTime:4,cost:10800},{symbol:"Int_DroneControl_Prospector_Size3_Class3",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:3,rating:"C",mass:5,integrity:64,powerDraw:.34,bootTime:4,cost:21600},{symbol:"Int_DroneControl_Prospector_Size3_Class4",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:3,rating:"B",mass:8,integrity:77,powerDraw:.48,bootTime:4,cost:43200},{symbol:"Int_DroneControl_Prospector_Size3_Class5",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:3,rating:"A",mass:5,integrity:90,powerDraw:.41,bootTime:4,cost:86400},{symbol:"Int_DroneControl_Prospector_Size5_Class1",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:5,rating:"E",mass:20,integrity:58,powerDraw:.4,bootTime:4,cost:48600},{symbol:"Int_DroneControl_Prospector_Size5_Class2",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:5,rating:"D",mass:8,integrity:77,powerDraw:.3,bootTime:4,cost:97200},{symbol:"Int_DroneControl_Prospector_Size5_Class3",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:5,rating:"C",mass:20,integrity:96,powerDraw:.5,bootTime:4,cost:194400},{symbol:"Int_DroneControl_Prospector_Size5_Class4",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:5,rating:"B",mass:32,integrity:115,powerDraw:.72,bootTime:4,cost:388800},{symbol:"Int_DroneControl_Prospector_Size5_Class5",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:5,rating:"A",mass:20,integrity:134,powerDraw:.6,bootTime:4,cost:777600},{symbol:"Int_DroneControl_Prospector_Size7_Class1",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:7,rating:"E",mass:80,integrity:79,powerDraw:.55,bootTime:4,cost:437400},{symbol:"Int_DroneControl_Prospector_Size7_Class2",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:7,rating:"D",mass:32,integrity:105,powerDraw:.41,bootTime:4,cost:874800},{symbol:"Int_DroneControl_Prospector_Size7_Class3",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:7,rating:"C",mass:80,integrity:131,powerDraw:.69,bootTime:4,cost:1749600},{symbol:"Int_DroneControl_Prospector_Size7_Class4",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:7,rating:"B",mass:128,integrity:157,powerDraw:.97,bootTime:4,cost:3499200},{symbol:"Int_DroneControl_Prospector_Size7_Class5",kind:"prospectingLimpets",familyId:"prospectingLimpets",name:"Prospector Limpet Controller",class:7,rating:"A",mass:80,integrity:183,powerDraw:.83,bootTime:4,cost:6998400},{symbol:"Int_ShieldGenerator_Size1_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:1,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:2.6,integrity:48,powerDraw:2.52,bootTime:1,optMass:25,minMass:13,maxMass:63,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1,shieldBrokenRegenRate:1.2,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:132200},{symbol:"Int_ShieldGenerator_Size2_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:2,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:5,integrity:61,powerDraw:3.15,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1,shieldBrokenRegenRate:1.2,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:240340},{symbol:"Int_ShieldGenerator_Size3_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:3,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:10,integrity:77,powerDraw:3.78,bootTime:1,optMass:165,minMass:83,maxMass:413,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1,shieldBrokenRegenRate:1.3,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:761870},{symbol:"Int_ShieldGenerator_Size4_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:4,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:20,integrity:96,powerDraw:4.62,bootTime:1,optMass:285,minMass:143,maxMass:713,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1,shieldBrokenRegenRate:1.66,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:2415120},{symbol:"Int_ShieldGenerator_Size5_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:5,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:40,integrity:115,powerDraw:5.46,bootTime:1,optMass:405,minMass:203,maxMass:1013,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1,shieldBrokenRegenRate:2.34,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:7655930},{symbol:"Int_ShieldGenerator_Size6_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:6,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:80,integrity:136,powerDraw:6.51,bootTime:1,optMass:540,minMass:270,maxMass:1350,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1,shieldBrokenRegenRate:3.2,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:24269300},{symbol:"Int_ShieldGenerator_Size7_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:7,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:160,integrity:157,powerDraw:7.35,bootTime:1,optMass:1060,minMass:530,maxMass:2650,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1.06,shieldBrokenRegenRate:4.25,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:76933670},{symbol:"Int_ShieldGenerator_Size8_Class5_Strong",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Prismatic Shield Generator",class:8,rating:"A",exclusionGroup:"shieldGenerator",entitlement:"ELITE_SPECIFIC_V_POWER_200020",mass:320,integrity:180,powerDraw:8.4,bootTime:1,optMass:1800,minMass:900,maxMass:4500,optMultiplier:1.5,minMultiplier:1,maxMultiplier:2,shieldRegenRate:1.35,shieldBrokenRegenRate:5.4,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:243879730},{symbol:"Int_ShieldGenerator_Size1_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:1,rating:"C",exclusionGroup:"shieldGenerator",mass:1.3,integrity:40,powerDraw:1.2,bootTime:1,optMass:25,minMass:13,maxMass:63,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1.8,shieldBrokenRegenRate:2.4,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:7713},{symbol:"Int_ShieldGenerator_Size2_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:2,rating:"C",exclusionGroup:"shieldGenerator",mass:2.5,integrity:51,powerDraw:1.5,bootTime:1,optMass:55,minMass:28,maxMass:138,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1.8,shieldBrokenRegenRate:2.4,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:26705},{symbol:"Int_ShieldGenerator_Size3_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:3,rating:"C",exclusionGroup:"shieldGenerator",mass:5,integrity:64,powerDraw:1.8,bootTime:1,optMass:165,minMass:83,maxMass:413,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1.8,shieldBrokenRegenRate:2.8,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:84653},{symbol:"Int_ShieldGenerator_Size4_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:4,rating:"C",exclusionGroup:"shieldGenerator",mass:10,integrity:80,powerDraw:2.2,bootTime:1,optMass:285,minMass:143,maxMass:713,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:1.8,shieldBrokenRegenRate:3.8,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:268347},{symbol:"Int_ShieldGenerator_Size5_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:5,rating:"C",exclusionGroup:"shieldGenerator",mass:20,integrity:96,powerDraw:2.6,bootTime:1,optMass:405,minMass:203,maxMass:1013,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:2.25,shieldBrokenRegenRate:5.63,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:850659},{symbol:"Int_ShieldGenerator_Size6_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:6,rating:"C",exclusionGroup:"shieldGenerator",mass:40,integrity:113,powerDraw:3.1,bootTime:1,optMass:540,minMass:270,maxMass:1350,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:3.2,shieldBrokenRegenRate:8,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:2696589},{symbol:"Int_ShieldGenerator_Size7_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:7,rating:"C",exclusionGroup:"shieldGenerator",mass:80,integrity:131,powerDraw:3.5,bootTime:1,optMass:1060,minMass:530,maxMass:2650,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:4.4,shieldBrokenRegenRate:11,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:8548185},{symbol:"Int_ShieldGenerator_Size8_Class3_Fast",kind:"shieldGenerators",familyId:"shieldGenerators",name:"Bi-Weave Shield Generator",class:8,rating:"C",exclusionGroup:"shieldGenerator",mass:160,integrity:150,powerDraw:4,bootTime:1,optMass:1800,minMass:900,maxMass:4500,optMultiplier:.9,minMultiplier:.4,maxMultiplier:1.4,shieldRegenRate:5.76,shieldBrokenRegenRate:14.4,kineticResistance:.4,thermalResistance:-.2,explosiveResistance:.5,distributorDraw:.6,cost:27097748},{symbol:"Int_BuggyBay_Size2_Class1",familyId:"planetaryVehicleHangars",name:"Planetary Vehicle Hangar",class:2,rating:"H",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:12,integrity:30,powerDraw:.25,bootTime:5,cost:18e3},{symbol:"Int_BuggyBay_Size2_Class2",familyId:"planetaryVehicleHangars",name:"Planetary Vehicle Hangar",class:2,rating:"G",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:6,integrity:30,powerDraw:.75,bootTime:5,cost:21600},{symbol:"Int_BuggyBay_Size4_Class1",familyId:"planetaryVehicleHangars",name:"Planetary Vehicle Hangar",class:4,rating:"H",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:20,integrity:30,powerDraw:.4,bootTime:5,cost:72e3},{symbol:"Int_BuggyBay_Size4_Class2",familyId:"planetaryVehicleHangars",name:"Planetary Vehicle Hangar",class:4,rating:"G",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:10,integrity:30,powerDraw:1.2,bootTime:5,cost:86400},{symbol:"Int_BuggyBay_Size6_Class1",familyId:"planetaryVehicleHangars",name:"Planetary Vehicle Hangar",class:6,rating:"H",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:34,integrity:30,powerDraw:.6,bootTime:5,cost:576e3},{symbol:"Int_BuggyBay_Size6_Class2",familyId:"planetaryVehicleHangars",name:"Planetary Vehicle Hangar",class:6,rating:"G",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:17,integrity:30,powerDraw:1.8,bootTime:5,cost:691200},{symbol:"Int_PlanetApproachSuite",familyId:"planetaryApproachSuites",name:"Planetary Approach Suite",class:1,rating:"I",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:0,powerDraw:0,restrictedToSlot:"planetaryApproachSuite",cost:500},{symbol:"Int_CorrosionProofCargoRack_Size1_Class1",familyId:"cargoRacks",name:"Corrosion Resistant Cargo Rack",class:1,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:0,cargoCapacity:1,cost:6250},{symbol:"Int_CorrosionProofCargoRack_Size1_Class2",familyId:"cargoRacks",name:"Corrosion Resistant Cargo Rack",class:1,rating:"F",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:0,cargoCapacity:2,cost:12560},{symbol:"Int_CorrosionProofCargoRack_Size5_Class1",familyId:"cargoRacks",name:"Corrosion Resistant Cargo Rack",class:5,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:0,cargoCapacity:32},{symbol:"Int_CorrosionProofCargoRack_Size6_Class1",familyId:"cargoRacks",name:"Corrosion Resistant Cargo Rack",class:6,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:0,cargoCapacity:64},{symbol:"ModularCargoBayDoor",familyId:"cargoHatches",name:"Cargo Hatch",class:1,rating:"H",mass:0,integrity:20,powerDraw:.6,bootTime:2,cost:0},{symbol:"Int_PassengerCabin_Size4_Class1",familyId:"passengerCabins",name:"Economy Class Passenger Cabin",class:4,rating:"E",mass:10,cost:18954},{symbol:"Int_PassengerCabin_Size4_Class2",familyId:"passengerCabins",name:"Business Class Passenger Cabin",class:4,rating:"D",mass:10,cost:56862},{symbol:"Int_PassengerCabin_Size4_Class3",familyId:"passengerCabins",name:"First Class Passenger Cabin",class:4,rating:"C",mass:10,cost:170586},{symbol:"Int_PassengerCabin_Size5_Class4",familyId:"passengerCabins",name:"Luxury Class Passenger Cabin",class:5,rating:"B",mass:20,cost:1658095},{symbol:"Int_PassengerCabin_Size6_Class1",familyId:"passengerCabins",name:"Economy Class Passenger Cabin",class:6,rating:"E",mass:40,cost:61410},{symbol:"Int_PassengerCabin_Size6_Class2",familyId:"passengerCabins",name:"Business Class Passenger Cabin",class:6,rating:"D",mass:40,cost:184232},{symbol:"Int_PassengerCabin_Size6_Class3",familyId:"passengerCabins",name:"First Class Passenger Cabin",class:6,rating:"C",mass:40,cost:552698},{symbol:"Int_PassengerCabin_Size6_Class4",familyId:"passengerCabins",name:"Luxury Class Passenger Cabin",class:6,rating:"B",mass:40,cost:4974287},{symbol:"Int_FighterBay_Size5_Class1",familyId:"vesselHangars",name:"Mk I Vessel Hangar",class:5,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:20,integrity:60,powerDraw:.25,bootTime:5,cost:575643},{symbol:"Int_FighterBay_Size6_Class1",familyId:"vesselHangars",name:"Mk I Vessel Hangar",class:6,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:40,integrity:80,powerDraw:.35,bootTime:5,cost:1869340},{symbol:"Int_FighterBay_Size7_Class1",familyId:"vesselHangars",name:"Mk I Vessel Hangar",class:7,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:60,integrity:120,powerDraw:.35,bootTime:5,cost:2369320},{symbol:"Int_FighterBay_Size5_Class1_Free",familyId:"vesselHangars",name:"Mk I Vessel Hangar",class:5,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_V_MKIFIGHTERBAY_FREE",mass:20,integrity:60,powerDraw:.25,bootTime:5},{symbol:"Int_FighterBay_Size6_Class1_Free",familyId:"vesselHangars",name:"Mk I Vessel Hangar",class:6,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_V_MKIFIGHTERBAY_FREE",mass:40,integrity:80,powerDraw:.35,bootTime:5},{symbol:"Int_FighterBay_Size7_Class1_Free",familyId:"vesselHangars",name:"Mk I Vessel Hangar",class:7,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_V_MKIFIGHTERBAY_FREE",mass:60,integrity:120,powerDraw:.35,bootTime:5},{symbol:"Int_FighterBayMk2_Size5_Class1",familyId:"vesselHangars",name:"Mk II Vessel Hangar",class:5,rating:"D",exclusionGroup:"fighterHangar",mass:10,integrity:60,powerDraw:.25,restrictedToShips:["Explorer_NX","PantherMkII","LakonMiner"],bootTime:5},{symbol:"Int_FighterBayMk2_Size6_Class1",familyId:"vesselHangars",name:"Mk II Vessel Hangar",class:6,rating:"D",exclusionGroup:"fighterHangar",mass:20,integrity:80,powerDraw:.35,restrictedToShips:["Explorer_NX","PantherMkII","LakonMiner"],bootTime:5},{symbol:"Int_FighterBayMk2_Size7_Class1",familyId:"vesselHangars",name:"Mk II Vessel Hangar",class:7,rating:"D",exclusionGroup:"fighterHangar",mass:30,integrity:120,powerDraw:.35,restrictedToShips:["Explorer_NX","PantherMkII","LakonMiner"],bootTime:5},{symbol:"Int_FighterBayMk2_Size5_Class1_Free",familyId:"vesselHangars",name:"Mk II Vessel Hangar",class:5,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_V_MKIIFIGHTERBAY_FREE",mass:10,integrity:60,powerDraw:.25,restrictedToShips:["Explorer_NX","PantherMkII","LakonMiner"],bootTime:5},{symbol:"Int_FighterBayMk2_Size6_Class1_Free",familyId:"vesselHangars",name:"Mk II Vessel Hangar",class:6,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_V_MKIIFIGHTERBAY_FREE",mass:20,integrity:80,powerDraw:.35,restrictedToShips:["Explorer_NX","PantherMkII","LakonMiner"],bootTime:5},{symbol:"Int_FighterBayMk2_Size7_Class1_Free",familyId:"vesselHangars",name:"Mk II Vessel Hangar",class:7,rating:"D",exclusionGroup:"fighterHangar",entitlement:"ELITE_V_MKIIFIGHTERBAY_FREE",mass:30,integrity:120,powerDraw:.35,restrictedToShips:["Explorer_NX","PantherMkII","LakonMiner"],bootTime:5},{symbol:"Int_PassengerCabin_Size2_Class1",familyId:"passengerCabins",name:"Economy Class Passenger Cabin",class:2,rating:"E",mass:2.5,cost:4312},{symbol:"Int_PassengerCabin_Size3_Class1",familyId:"passengerCabins",name:"Economy Class Passenger Cabin",class:3,rating:"E",mass:5,cost:8657},{symbol:"Int_PassengerCabin_Size3_Class2",familyId:"passengerCabins",name:"Business Class Passenger Cabin",class:3,rating:"D",mass:5,cost:26705},{symbol:"Int_PassengerCabin_Size5_Class1",familyId:"passengerCabins",name:"Economy Class Passenger Cabin",class:5,rating:"E",mass:20,cost:34954},{symbol:"Int_PassengerCabin_Size5_Class2",familyId:"passengerCabins",name:"Business Class Passenger Cabin",class:5,rating:"D",mass:20,cost:92362},{symbol:"Int_PassengerCabin_Size5_Class3",familyId:"passengerCabins",name:"First Class Passenger Cabin",class:5,rating:"C",mass:20,cost:340526},{symbol:"Int_ModuleReinforcement_Size1_Class1",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:1,rating:"E",mass:2,integrity:77,moduleProtection:.3,cost:5e3},{symbol:"Int_ModuleReinforcement_Size1_Class2",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:1,rating:"D",mass:1,integrity:70,moduleProtection:.6,cost:15e3},{symbol:"Int_ModuleReinforcement_Size2_Class1",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:2,rating:"E",mass:4,integrity:115,moduleProtection:.3,cost:12e3},{symbol:"Int_ModuleReinforcement_Size2_Class2",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:2,rating:"D",mass:2,integrity:105,moduleProtection:.6,cost:36e3},{symbol:"Int_ModuleReinforcement_Size3_Class1",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:3,rating:"E",mass:8,integrity:170,moduleProtection:.3,cost:28e3},{symbol:"Int_ModuleReinforcement_Size3_Class2",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:3,rating:"D",mass:4,integrity:155,moduleProtection:.6,cost:84e3},{symbol:"Int_ModuleReinforcement_Size4_Class1",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:4,rating:"E",mass:16,integrity:260,moduleProtection:.3,cost:65e3},{symbol:"Int_ModuleReinforcement_Size4_Class2",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:4,rating:"D",mass:8,integrity:235,moduleProtection:.6,cost:195e3},{symbol:"Int_ModuleReinforcement_Size5_Class1",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:5,rating:"E",mass:32,integrity:385,moduleProtection:.3,cost:15e4},{symbol:"Int_ModuleReinforcement_Size5_Class2",familyId:"moduleReinforcements",name:"Module Reinforcement Package",class:5,rating:"D",mass:16,integrity:350,moduleProtection:.6,cost:45e4},{symbol:"Int_DroneControl_Repair_Size1_Class1",familyId:"repairLimpets",name:"Repair Limpet Controller",class:1,rating:"E",mass:1.3,integrity:24,powerDraw:.18,bootTime:10,cost:600},{symbol:"Int_DroneControl_Repair_Size1_Class2",familyId:"repairLimpets",name:"Repair Limpet Controller",class:1,rating:"D",mass:.5,integrity:32,powerDraw:.14,bootTime:10,cost:1200},{symbol:"Int_DroneControl_Repair_Size1_Class3",familyId:"repairLimpets",name:"Repair Limpet Controller",class:1,rating:"C",mass:1.3,integrity:40,powerDraw:.23,bootTime:10,cost:2400},{symbol:"Int_DroneControl_Repair_Size1_Class4",familyId:"repairLimpets",name:"Repair Limpet Controller",class:1,rating:"B",mass:2,integrity:48,powerDraw:.32,bootTime:10,cost:4800},{symbol:"Int_DroneControl_Repair_Size1_Class5",familyId:"repairLimpets",name:"Repair Limpet Controller",class:1,rating:"A",mass:1.3,integrity:56,powerDraw:.28,bootTime:10,cost:9600},{symbol:"Int_DroneControl_Repair_Size3_Class1",familyId:"repairLimpets",name:"Repair Limpet Controller",class:3,rating:"E",mass:5,integrity:38,powerDraw:.27,bootTime:10,cost:5400},{symbol:"Int_DroneControl_Repair_Size3_Class2",familyId:"repairLimpets",name:"Repair Limpet Controller",class:3,rating:"D",mass:2,integrity:51,powerDraw:.2,bootTime:10,cost:10800},{symbol:"Int_DroneControl_Repair_Size3_Class3",familyId:"repairLimpets",name:"Repair Limpet Controller",class:3,rating:"C",mass:5,integrity:64,powerDraw:.34,bootTime:10,cost:21600},{symbol:"Int_DroneControl_Repair_Size3_Class4",familyId:"repairLimpets",name:"Repair Limpet Controller",class:3,rating:"B",mass:8,integrity:77,powerDraw:.48,bootTime:10,cost:43200},{symbol:"Int_DroneControl_Repair_Size3_Class5",familyId:"repairLimpets",name:"Repair Limpet Controller",class:3,rating:"A",mass:5,integrity:90,powerDraw:.41,bootTime:10,cost:86400},{symbol:"Int_DroneControl_Repair_Size5_Class1",familyId:"repairLimpets",name:"Repair Limpet Controller",class:5,rating:"E",mass:20,integrity:58,powerDraw:.4,bootTime:10,cost:48600},{symbol:"Int_DroneControl_Repair_Size5_Class2",familyId:"repairLimpets",name:"Repair Limpet Controller",class:5,rating:"D",mass:8,integrity:77,powerDraw:.3,bootTime:10,cost:97200},{symbol:"Int_DroneControl_Repair_Size5_Class3",familyId:"repairLimpets",name:"Repair Limpet Controller",class:5,rating:"C",mass:20,integrity:96,powerDraw:.5,bootTime:10,cost:194400},{symbol:"Int_DroneControl_Repair_Size5_Class4",familyId:"repairLimpets",name:"Repair Limpet Controller",class:5,rating:"B",mass:32,integrity:115,powerDraw:.72,bootTime:10,cost:388800},{symbol:"Int_DroneControl_Repair_Size5_Class5",familyId:"repairLimpets",name:"Repair Limpet Controller",class:5,rating:"A",mass:20,integrity:134,powerDraw:.6,bootTime:10,cost:777600},{symbol:"Int_DroneControl_Repair_Size7_Class1",familyId:"repairLimpets",name:"Repair Limpet Controller",class:7,rating:"E",mass:80,integrity:79,powerDraw:.55,bootTime:10,cost:437400},{symbol:"Int_DroneControl_Repair_Size7_Class2",familyId:"repairLimpets",name:"Repair Limpet Controller",class:7,rating:"D",mass:32,integrity:105,powerDraw:.41,bootTime:10,cost:874800},{symbol:"Int_DroneControl_Repair_Size7_Class3",familyId:"repairLimpets",name:"Repair Limpet Controller",class:7,rating:"C",mass:80,integrity:131,powerDraw:.69,bootTime:10,cost:1749600},{symbol:"Int_DroneControl_Repair_Size7_Class4",familyId:"repairLimpets",name:"Repair Limpet Controller",class:7,rating:"B",mass:128,integrity:157,powerDraw:.97,bootTime:10,cost:3499200},{symbol:"Int_DroneControl_Repair_Size7_Class5",familyId:"repairLimpets",name:"Repair Limpet Controller",class:7,rating:"A",mass:80,integrity:183,powerDraw:.83,bootTime:10,cost:6998400},{symbol:"Int_DroneControl_UnkVesselResearch",familyId:"researchLimpets",name:"Research Limpet Controller",class:1,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:1.3,integrity:20,powerDraw:.4,bootTime:0,cost:1749600},{symbol:"Int_MetaAlloyHullReinforcement_Size1_Class1",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:1,rating:"E",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:2,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:72,cost:7501},{symbol:"Int_MetaAlloyHullReinforcement_Size1_Class2",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:1,rating:"D",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:1,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:99,cost:22501},{symbol:"Int_MetaAlloyHullReinforcement_Size2_Class1",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:2,rating:"E",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:4,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:135,cost:18e3},{symbol:"Int_MetaAlloyHullReinforcement_Size2_Class2",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:2,rating:"D",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:2,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:171,cost:54e3},{symbol:"Int_MetaAlloyHullReinforcement_Size3_Class1",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:3,rating:"E",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:8,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:207,cost:42e3},{symbol:"Int_MetaAlloyHullReinforcement_Size3_Class2",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:3,rating:"D",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:4,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:234,cost:126e3},{symbol:"Int_MetaAlloyHullReinforcement_Size4_Class1",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:4,rating:"E",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:16,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:270,cost:97501},{symbol:"Int_MetaAlloyHullReinforcement_Size4_Class2",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:4,rating:"D",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:8,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:297,cost:292501},{symbol:"Int_MetaAlloyHullReinforcement_Size5_Class1",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:5,rating:"E",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:32,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:324,cost:225001},{symbol:"Int_MetaAlloyHullReinforcement_Size5_Class2",familyId:"hullReinforcements",name:"Meta Alloy Hull Reinforcement",class:5,rating:"D",entitlement:"ELITE_HORIZONS_V_METAHULL",mass:16,kineticResistance:0,thermalResistance:0,explosiveResistance:0,causticResistance:.02,hullReinforcement:351,cost:675001},{symbol:"Int_DroneControl_Decontamination_Size1_Class1",familyId:"decontaminationLimpets",name:"Decontamination Limpet Controller",class:1,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:1.3,integrity:24,powerDraw:.18,bootTime:10,cost:3600},{symbol:"Int_DroneControl_Decontamination_Size3_Class1",familyId:"decontaminationLimpets",name:"Decontamination Limpet Controller",class:3,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:2,integrity:51,powerDraw:.2,bootTime:10,cost:16200},{symbol:"Int_DroneControl_Decontamination_Size5_Class1",familyId:"decontaminationLimpets",name:"Decontamination Limpet Controller",class:5,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:20,integrity:96,powerDraw:.5,bootTime:10,cost:145800},{symbol:"Int_DroneControl_Decontamination_Size7_Class1",familyId:"decontaminationLimpets",name:"Decontamination Limpet Controller",class:7,rating:"E",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:128,integrity:157,powerDraw:.97,bootTime:10,cost:1312200},{symbol:"Int_CorrosionProofCargoRack_Size4_Class1",familyId:"cargoRacks",name:"Corrosion Resistant Cargo Rack",class:4,rating:"E",entitlement:"ELITE_HORIZONS_V_CORROSIONCARGO_SIZE4",mass:0,cargoCapacity:16,cost:94330},{symbol:"Int_GuardianHullReinforcement_Size1_Class1",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:1,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:2,powerDraw:.45,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:100,cost:1e4},{symbol:"Int_GuardianHullReinforcement_Size1_Class2",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:1,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:1,powerDraw:.56,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:138,cost:3e4},{symbol:"Int_GuardianHullReinforcement_Size2_Class1",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:2,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:4,powerDraw:.68,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:188,cost:24e3},{symbol:"Int_GuardianHullReinforcement_Size2_Class2",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:2,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:2,powerDraw:.79,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:238,cost:72e3},{symbol:"Int_GuardianHullReinforcement_Size3_Class1",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:3,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:8,powerDraw:.9,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:288,cost:57600},{symbol:"Int_GuardianHullReinforcement_Size3_Class2",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:3,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:4,powerDraw:1.01,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:325,cost:172800},{symbol:"Int_GuardianHullReinforcement_Size4_Class1",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:4,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:16,powerDraw:1.13,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:375,cost:138240},{symbol:"Int_GuardianHullReinforcement_Size4_Class2",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:4,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:8,powerDraw:1.24,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:413,cost:414720},{symbol:"Int_GuardianHullReinforcement_Size5_Class1",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:5,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:32,powerDraw:1.35,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:450,cost:331778},{symbol:"Int_GuardianHullReinforcement_Size5_Class2",kind:"guardianHullReinforcements",familyId:"hullReinforcements",name:"Guardian Hull Reinforcement",class:5,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_HULLREINFORCEMENT",mass:16,powerDraw:1.46,bootTime:0,kineticResistance:0,thermalResistance:.02,explosiveResistance:0,causticResistance:.05,hullReinforcement:488,cost:995330},{symbol:"Int_GuardianModuleReinforcement_Size1_Class1",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:1,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:2,integrity:85,powerDraw:.27,bootTime:0,moduleProtection:.3,cost:1e4},{symbol:"Int_GuardianModuleReinforcement_Size1_Class2",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:1,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:1,integrity:77,powerDraw:.34,bootTime:0,moduleProtection:.6,cost:3e4},{symbol:"Int_GuardianModuleReinforcement_Size2_Class1",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:2,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:4,integrity:127,powerDraw:.41,bootTime:0,moduleProtection:.3,cost:24e3},{symbol:"Int_GuardianModuleReinforcement_Size2_Class2",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:2,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:2,integrity:116,powerDraw:.47,bootTime:0,moduleProtection:.6,cost:72e3},{symbol:"Int_GuardianModuleReinforcement_Size3_Class1",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:3,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:8,integrity:187,powerDraw:.54,bootTime:0,moduleProtection:.3,cost:57600},{symbol:"Int_GuardianModuleReinforcement_Size3_Class2",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:3,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:4,integrity:171,powerDraw:.61,bootTime:0,moduleProtection:.6,cost:172800},{symbol:"Int_GuardianModuleReinforcement_Size4_Class1",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:4,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:16,integrity:286,powerDraw:.68,bootTime:0,moduleProtection:.3,cost:138240},{symbol:"Int_GuardianModuleReinforcement_Size4_Class2",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:4,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:8,integrity:259,powerDraw:.74,bootTime:0,moduleProtection:.6,cost:414720},{symbol:"Int_GuardianModuleReinforcement_Size5_Class1",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:5,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:32,integrity:424,powerDraw:.81,bootTime:0,moduleProtection:.3,cost:331778},{symbol:"Int_GuardianModuleReinforcement_Size5_Class2",kind:"moduleReinforcements",familyId:"moduleReinforcements",name:"Guardian Module Reinforcement",class:5,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_MODULEREINFORCEMENT",mass:16,integrity:385,powerDraw:.88,bootTime:0,moduleProtection:.6,cost:995330},{symbol:"Int_GuardianShieldReinforcement_Size1_Class1",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:1,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:2,integrity:36,powerDraw:.35,bootTime:0,shieldAddition:44,cost:1e4},{symbol:"Int_GuardianShieldReinforcement_Size1_Class2",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:1,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:1,integrity:42,powerDraw:.46,bootTime:0,shieldAddition:61,cost:3e4},{symbol:"Int_GuardianShieldReinforcement_Size2_Class1",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:2,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:4,integrity:40,powerDraw:.56,bootTime:0,shieldAddition:83,cost:24e3},{symbol:"Int_GuardianShieldReinforcement_Size2_Class2",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:2,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:2,integrity:48,powerDraw:.67,bootTime:0,shieldAddition:105,cost:72e3},{symbol:"Int_GuardianShieldReinforcement_Size3_Class1",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:3,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:8,integrity:45,powerDraw:.74,bootTime:0,shieldAddition:127,cost:57600},{symbol:"Int_GuardianShieldReinforcement_Size3_Class2",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:3,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:4,integrity:55,powerDraw:.84,bootTime:0,shieldAddition:143,cost:172800},{symbol:"Int_GuardianShieldReinforcement_Size4_Class1",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:4,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:16,integrity:51,powerDraw:.95,bootTime:0,shieldAddition:165,cost:138240},{symbol:"Int_GuardianShieldReinforcement_Size4_Class2",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:4,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:8,integrity:63,powerDraw:1.05,bootTime:0,shieldAddition:182,cost:414720},{symbol:"Int_GuardianShieldReinforcement_Size5_Class1",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:5,rating:"E",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:32,integrity:58,powerDraw:1.16,bootTime:0,shieldAddition:198,cost:331778},{symbol:"Int_GuardianShieldReinforcement_Size5_Class2",kind:"shieldReinforcements",familyId:"guardianShieldReinforcementPackages",name:"Guardian Shield Reinforcement",class:5,rating:"D",entitlement:"ELITE_HORIZONS_V_GUARDIAN_SHIELDREINFORCEMENT",mass:16,integrity:72,powerDraw:1.26,bootTime:0,shieldAddition:215,cost:995330},{symbol:"Int_GuardianFSDBooster_Size1",kind:"fsdBoosters",familyId:"fsdBoosters",name:"Guardian FSD Booster",class:1,rating:"H",exclusionGroup:"guardianFsdBooster",entitlement:"ELITE_HORIZONS_V_GUARDIAN_FSDBOOSTER",mass:1.3,integrity:32,powerDraw:.75,bootTime:15,jumpBoost:4,cost:405022},{symbol:"Int_GuardianFSDBooster_Size2",kind:"fsdBoosters",familyId:"fsdBoosters",name:"Guardian FSD Booster",class:2,rating:"H",exclusionGroup:"guardianFsdBooster",entitlement:"ELITE_HORIZONS_V_GUARDIAN_FSDBOOSTER",mass:1.3,integrity:32,powerDraw:.98,bootTime:15,jumpBoost:6,cost:810521},{symbol:"Int_GuardianFSDBooster_Size3",kind:"fsdBoosters",familyId:"fsdBoosters",name:"Guardian FSD Booster",class:3,rating:"H",exclusionGroup:"guardianFsdBooster",entitlement:"ELITE_HORIZONS_V_GUARDIAN_FSDBOOSTER",mass:1.3,integrity:32,powerDraw:1.27,bootTime:15,jumpBoost:7.75,cost:1620431},{symbol:"Int_GuardianFSDBooster_Size4",kind:"fsdBoosters",familyId:"fsdBoosters",name:"Guardian FSD Booster",class:4,rating:"H",exclusionGroup:"guardianFsdBooster",entitlement:"ELITE_HORIZONS_V_GUARDIAN_FSDBOOSTER",mass:1.3,integrity:32,powerDraw:1.65,bootTime:15,jumpBoost:9.25,cost:3245013},{symbol:"Int_GuardianFSDBooster_Size5",kind:"fsdBoosters",familyId:"fsdBoosters",name:"Guardian FSD Booster",class:5,rating:"H",exclusionGroup:"guardianFsdBooster",entitlement:"ELITE_HORIZONS_V_GUARDIAN_FSDBOOSTER",mass:1.3,integrity:32,powerDraw:2.14,bootTime:15,jumpBoost:10.5,cost:6483101},{symbol:"Int_GuardianPowerDistributor_Size1",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:1,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:1.4,integrity:35,powerDraw:.62,bootTime:5,weaponsCapacity:10,weaponsRecharge:2.5,enginesCapacity:9,enginesRecharge:.8,systemsCapacity:10,systemsRecharge:.8,cost:40957},{symbol:"Int_GuardianPowerDistributor_Size2",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:2,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:2.6,integrity:45,powerDraw:.73,bootTime:5,weaponsCapacity:13,weaponsRecharge:3.1,enginesCapacity:11,enginesRecharge:1,systemsCapacity:11,systemsRecharge:1,cost:111600},{symbol:"Int_GuardianPowerDistributor_Size3",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:3,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:5.25,integrity:56,powerDraw:.78,bootTime:5,weaponsCapacity:17,weaponsRecharge:3.9,enginesCapacity:14,enginesRecharge:1.7,systemsCapacity:14,systemsRecharge:1.7,cost:311365},{symbol:"Int_GuardianPowerDistributor_Size4",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:4,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:10.5,integrity:70,powerDraw:.87,bootTime:5,weaponsCapacity:22,weaponsRecharge:4.9,enginesCapacity:17,enginesRecharge:2.5,systemsCapacity:17,systemsRecharge:2.5,cost:868708},{symbol:"Int_GuardianPowerDistributor_Size5",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:5,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:21,integrity:99,powerDraw:.96,bootTime:5,weaponsCapacity:29,weaponsRecharge:6,enginesCapacity:22,enginesRecharge:3.3,systemsCapacity:22,systemsRecharge:3.3,cost:2423690},{symbol:"Int_GuardianPowerDistributor_Size6",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:6,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:42,integrity:99,powerDraw:1.07,bootTime:5,weaponsCapacity:35,weaponsRecharge:7.3,enginesCapacity:26,enginesRecharge:4.2,systemsCapacity:26,systemsRecharge:4.2,cost:6762091},{symbol:"Int_GuardianPowerDistributor_Size7",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:7,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:84,integrity:115,powerDraw:1.16,bootTime:5,weaponsCapacity:43,weaponsRecharge:8.5,enginesCapacity:31,enginesRecharge:5.2,systemsCapacity:31,systemsRecharge:5.2,cost:18866235},{symbol:"Int_GuardianPowerDistributor_Size8",kind:"guardianPowerDistributors",familyId:"guardianHybridPowerDistributors",slot:"powerDistributor",name:"Guardian Hybrid Power Distributor",class:8,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERDISTRIBUTOR",mass:168,integrity:132,powerDraw:1.25,bootTime:5,weaponsCapacity:50,weaponsRecharge:10.1,enginesCapacity:36,enginesRecharge:6.2,systemsCapacity:36,systemsRecharge:6.2,cost:52636793},{symbol:"Int_GuardianPowerplant_Size2",kind:"guardianPowerPlants",familyId:"guardianHybridPowerPlants",slot:"powerPlant",name:"Guardian Hybrid Power Plant",class:2,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERPLANT",mass:1.5,integrity:56,powerCapacity:12.7,heatEfficiency:.5,cost:192165},{symbol:"Int_GuardianPowerplant_Size3",kind:"guardianPowerPlants",familyId:"guardianHybridPowerPlants",slot:"powerPlant",name:"Guardian Hybrid Power Plant",class:3,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERPLANT",mass:2.9,integrity:70,powerCapacity:15.8,heatEfficiency:.5,cost:576493},{symbol:"Int_GuardianPowerplant_Size4",kind:"guardianPowerPlants",familyId:"guardianHybridPowerPlants",slot:"powerPlant",name:"Guardian Hybrid Power Plant",class:4,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERPLANT",mass:5.9,integrity:88,powerCapacity:20.6,heatEfficiency:.5,cost:1729480},{symbol:"Int_GuardianPowerplant_Size5",kind:"guardianPowerPlants",familyId:"guardianHybridPowerPlants",slot:"powerPlant",name:"Guardian Hybrid Power Plant",class:5,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERPLANT",mass:11.7,integrity:106,powerCapacity:26.9,heatEfficiency:.5,cost:5188441},{symbol:"Int_GuardianPowerplant_Size6",kind:"guardianPowerPlants",familyId:"guardianHybridPowerPlants",slot:"powerPlant",name:"Guardian Hybrid Power Plant",class:6,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERPLANT",mass:23.4,integrity:124,powerCapacity:33.3,heatEfficiency:.5,cost:15565317},{symbol:"Int_GuardianPowerplant_Size7",kind:"guardianPowerPlants",familyId:"guardianHybridPowerPlants",slot:"powerPlant",name:"Guardian Hybrid Power Plant",class:7,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERPLANT",mass:46.8,integrity:144,powerCapacity:39.6,heatEfficiency:.5,cost:46695951},{symbol:"Int_GuardianPowerplant_Size8",kind:"guardianPowerPlants",familyId:"guardianHybridPowerPlants",slot:"powerPlant",name:"Guardian Hybrid Power Plant",class:8,rating:"A",entitlement:"ELITE_HORIZONS_V_GUARDIAN_POWERPLANT",mass:93.6,integrity:165,powerCapacity:47.5,heatEfficiency:.5,cost:140087850},{symbol:"Int_DroneControl_Recon_Size1_Class1",familyId:"reconLimpets",name:"Recon Limpet Controller",class:1,rating:"E",mass:1.3,integrity:24,powerDraw:.18,bootTime:10,cost:2600},{symbol:"Int_DroneControl_Recon_Size3_Class1",familyId:"reconLimpets",name:"Recon Limpet Controller",class:3,rating:"E",mass:2,integrity:51,powerDraw:.2,bootTime:10,cost:8200},{symbol:"Int_DroneControl_Recon_Size5_Class1",familyId:"reconLimpets",name:"Recon Limpet Controller",class:5,rating:"E",mass:20,integrity:96,powerDraw:.5,bootTime:9.85,cost:75800},{symbol:"Int_DroneControl_Recon_Size7_Class1",familyId:"reconLimpets",name:"Recon Limpet Controller",class:7,rating:"E",mass:128,integrity:157,powerDraw:.97,bootTime:10,cost:612200},{symbol:"Int_SupercruiseAssist",familyId:"flightAssists",name:"Supercruise Assist",class:1,rating:"E",exclusionGroup:"supercruiseAssist",mass:0,integrity:10,powerDraw:.3,bootTime:3,cost:9121},{symbol:"Int_DockingComputer_Advanced",familyId:"dockingComputers",name:"Advanced Docking Computer",class:1,rating:"E",exclusionGroup:"dockingComputer",mass:0,integrity:10,powerDraw:.45,bootTime:3,cost:13507},{symbol:"Int_PlanetApproachSuite_Advanced",familyId:"planetaryApproachSuites",name:"Advanced Planetary Approach Suite",class:1,rating:"I",entitlement:"ELITE_HORIZONS_V_PLANETARY_LANDINGS",mass:0,powerDraw:0,restrictedToSlot:"planetaryApproachSuite",cost:500},{symbol:"Int_MultiDroneControl_Mining_Size3_Class1",familyId:"miningMultiLimpetControllers",name:"Mining Multi Limpet Controller",class:3,rating:"E",exclusionGroup:"multiLimpetController",mass:12,integrity:45,powerDraw:.5,bootTime:6,cost:15e3},{symbol:"Int_MultiDroneControl_Mining_Size3_Class3",familyId:"miningMultiLimpetControllers",name:"Mining Multi Limpet Controller",class:3,rating:"C",exclusionGroup:"multiLimpetController",mass:10,integrity:68,powerDraw:.35,bootTime:6,cost:5e4},{symbol:"Int_MultiDroneControl_Operations_Size3_Class3",familyId:"multiLimpetControllers",name:"Operations Multi Limpet Controller",class:3,rating:"C",exclusionGroup:"multiLimpetController",mass:10,integrity:68,powerDraw:.35,bootTime:6,cost:5e4},{symbol:"Int_MultiDroneControl_Operations_Size3_Class4",familyId:"multiLimpetControllers",name:"Operations Multi Limpet Controller",class:3,rating:"B",exclusionGroup:"multiLimpetController",mass:15,integrity:80,powerDraw:.3,bootTime:6,cost:8e4},{symbol:"Int_MultiDroneControl_Rescue_Size3_Class2",familyId:"multiLimpetControllers",name:"Rescue Multi Limpet Controller",class:3,rating:"D",exclusionGroup:"multiLimpetController",mass:8,integrity:58,powerDraw:.4,bootTime:6,cost:3e4},{symbol:"Int_MultiDroneControl_Rescue_Size3_Class3",familyId:"multiLimpetControllers",name:"Rescue Multi Limpet Controller",class:3,rating:"C",exclusionGroup:"multiLimpetController",mass:10,integrity:68,powerDraw:.35,bootTime:6,cost:5e4},{symbol:"Int_MultiDroneControl_Xeno_Size3_Class3",familyId:"multiLimpetControllers",name:"Xeno Multi Limpet Controller",class:3,rating:"C",exclusionGroup:"multiLimpetController",mass:10,integrity:68,powerDraw:.35,bootTime:6,cost:5e4},{symbol:"Int_MultiDroneControl_Xeno_Size3_Class4",familyId:"multiLimpetControllers",name:"Xeno Multi Limpet Controller",class:3,rating:"B",exclusionGroup:"multiLimpetController",mass:15,integrity:80,powerDraw:.3,bootTime:6,cost:8e4},{symbol:"Int_MultiDroneControl_Universal_Size7_Class3",familyId:"multiLimpetControllers",name:"Universal Multi Limpet Controller",class:7,rating:"C",exclusionGroup:"multiLimpetController",mass:125,integrity:150,powerDraw:.8,bootTime:6,cost:4e6},{symbol:"Int_MultiDroneControl_Universal_Size7_Class5",familyId:"multiLimpetControllers",name:"Universal Multi Limpet Controller",class:7,rating:"A",exclusionGroup:"multiLimpetController",mass:140,integrity:200,powerDraw:1.1,bootTime:6,cost:8e6},{symbol:"Int_ExpModuleStabiliser_Size3_Class3",familyId:"experimentalWeaponStabilisers",name:"Experimental Weapon Stabiliser",class:3,rating:"F",exclusionGroup:"experimentalModuleStabiliser",limitIncrease:{group:"experimentalWeapon",amount:1},mass:8,powerDraw:0,cost:2e6},{symbol:"Int_ExpModuleStabiliser_Size5_Class3",familyId:"experimentalWeaponStabilisers",name:"Experimental Weapon Stabiliser",class:5,rating:"F",exclusionGroup:"experimentalModuleStabiliser",limitIncrease:{group:"experimentalWeapon",amount:2},entitlement:"ELITE_HORIZONS_V_EXPERIMENTALSTABILISER_SIZE5",mass:20,powerDraw:0,cost:4e6},{symbol:"Int_LargeCargoRack_Size7_Class1",familyId:"cargoRacks",name:"Mk II Cargo Rack",class:7,rating:"D",mass:0,cargoCapacity:192,restrictedToShips:["PantherMkII"],restrictedToSlot:"cargo",cost:1958680},{symbol:"Int_LargeCargoRack_Size8_class1",familyId:"cargoRacks",name:"Mk II Cargo Rack",class:8,rating:"D",mass:0,cargoCapacity:384,restrictedToShips:["PantherMkII"],restrictedToSlot:"cargo",cost:4929317},{symbol:"Int_MultiDroneControl_MiningV2_Size5_Class5",familyId:"miningMultiLimpetControllers",name:"Mk II Mining Multi-Limpet Controller",class:5,rating:"A",exclusionGroup:"multiLimpetController",mass:64,integrity:105,powerDraw:1.4,restrictedToShips:["LakonMiner"],restrictedToSlot:"limpetController",bootTime:6,cost:2332800},{symbol:"Int_MkII_PassengerCabin_Size2_Class1",familyId:"passengerCabins",name:"MkII Economy Class Passenger Cabin",class:2,rating:"D",mass:2.5,cost:5750},{symbol:"Int_MkII_PassengerCabin_Size3_Class1",familyId:"passengerCabins",name:"MkII Economy Class Passenger Cabin",class:3,rating:"D",mass:5,cost:11540},{symbol:"Int_MkII_PassengerCabin_Size3_Class2",familyId:"passengerCabins",name:"MkII Business Class Passenger Cabin",class:3,rating:"C",mass:5,cost:35610},{symbol:"Int_MkII_PassengerCabin_Size4_Class1",familyId:"passengerCabins",name:"MkII Economy Class Passenger Cabin",class:4,rating:"D",mass:10,cost:25270},{symbol:"Int_MkII_PassengerCabin_Size4_Class2",familyId:"passengerCabins",name:"MkII Business Class Passenger Cabin",class:4,rating:"C",mass:10,cost:75820},{symbol:"Int_MkII_PassengerCabin_Size5_Class1",familyId:"passengerCabins",name:"MkII Economy Class Passenger Cabin",class:5,rating:"D",mass:20,cost:46610},{symbol:"Int_MkII_PassengerCabin_Size5_Class2",familyId:"passengerCabins",name:"MkII Business Class Passenger Cabin",class:5,rating:"C",mass:20,cost:123150},{symbol:"Int_MkII_PassengerCabin_Size6_Class1",familyId:"passengerCabins",name:"MkII Economy Class Passenger Cabin",class:6,rating:"D",mass:40,cost:81880},{symbol:"Int_MkII_PassengerCabin_Size6_Class2",familyId:"passengerCabins",name:"MkII Business Class Passenger Cabin",class:6,rating:"C",mass:40,cost:245640}];var INTERNAL_MODULES=buildModuleCatalogue(modules_internal_default,"internal");export{INTERNAL_MODULES};//# sourceMappingURL=chunk-4ZGUSHTP.js.map
@@ -1 +0,0 @@
1
- import{capacitorRechargeAtPips}from"./chunk-JOTAOI5T.js";import{systemsResistance,mapDamageTypes,effectiveHitPoints}from"./chunk-JGOAQLYW.js";import{requirePips}from"./chunk-QJ7GB6FF.js";var DAMAGE_TYPES=["kinetic","thermal","explosive","caustic"];function requireFiniteNonNegative(scope,name,value){if(!Number.isFinite(value)||value<0){throw new RangeError(`${scope}: ${name} must be a finite non-negative number`)}}function shieldCapacitorMetrics(input){const scope="shieldCapacitorMetrics";const systemsPips=input.systemsPips??4;requirePips(scope,"systemsPips",systemsPips);for(const field of["strength","systemsCapacity","systemsRecharge"]){requireFiniteNonNegative(scope,field,input[field])}const resistances=input.resistances;if(typeof resistances!=="object"||resistances===null){throw new TypeError(`${scope}: resistances must carry the four damage types`)}for(const type of DAMAGE_TYPES){if(!Number.isFinite(input.resistances[type])){throw new RangeError(`${scope}: resistances.${type} must be a finite number`)}}const sysResistance=systemsResistance(systemsPips);const effectiveResistances=Object.freeze(mapDamageTypes(type=>1-(1-input.resistances[type])*(1-sysResistance)));return Object.freeze({systemsPips:systemsPips,capacity:input.systemsCapacity,rechargeRate:capacitorRechargeAtPips(input.systemsRecharge,systemsPips),systemsResistance:sysResistance,effectiveResistances:effectiveResistances,effectiveHitPoints:Object.freeze(effectiveHitPoints(input.strength,effectiveResistances))})}export{shieldCapacitorMetrics};//# sourceMappingURL=chunk-6L56LWTT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ships/shield-capacitor.ts"],"names":["capacitorRechargeAtPips","systemsResistance","mapDamageTypes","effectiveHitPoints","requirePips","DAMAGE_TYPES","requireFiniteNonNegative","scope","name","value","Number","isFinite","RangeError","shieldCapacitorMetrics","input","systemsPips","field","resistances","TypeError","type","sysResistance","effectiveResistances","Object","freeze","capacity","systemsCapacity","rechargeRate","systemsRecharge","strength"],"mappings":"O,oLAwGA,IAAMK,aAAsC,CAAC,UAAW,UAAW,YAAa,WAEhF,SAASC,yBAAyBC,MAAeC,KAAcC,OAC3D,IAAKC,OAAOC,SAASF,QAAUA,MAAQ,EAAG,CACtC,MAAM,IAAIG,WAAW,GAAGL,UAAUC,4CACtC,CACJ,CAuCO,SAASK,uBAAuBC,OACnC,MAAMP,MAAQ,yBACd,MAAMQ,YAAcD,MAAMC,aAAe,EAGzCX,YAAYG,MAAO,cAAeQ,aAClC,IAAA,MAAWC,QAAS,CAAC,WAAY,kBAAmB,mBAA6B,CAC7EV,yBAAyBC,MAAOS,MAAOF,MAAME,OACjD,CACA,MAAMC,YAAuBH,MAAMG,YACnC,UAAWA,cAAgB,UAAYA,cAAgB,KAAM,CACzD,MAAM,IAAIC,UAAU,GAAGX,sDAC3B,CACA,IAAA,MAAWY,QAAQd,aAAc,CAC7B,IAAKK,OAAOC,SAASG,MAAMG,YAAYE,OAAQ,CAC3C,MAAM,IAAIP,WAAW,GAAGL,sBAAsBY,+BAClD,CACJ,CAEA,MAAMC,cAAgBnB,kBAAkBc,aAExC,MAAMM,qBAA0CC,OAAOC,OACnDrB,eAAgBiB,MAAS,GAAK,EAAIL,MAAMG,YAAYE,QAAU,EAAIC,iBAEtE,OAAOE,OAAOC,OAAO,CACjBR,wBACAS,SAAUV,MAAMW,gBAChBC,aAAc1B,wBAAwBc,MAAMa,gBAAiBZ,aAC7Dd,kBAAmBmB,cACnBC,0CACAlB,mBAAoBmB,OAAOC,OAAOpB,mBAAmBW,MAAMc,SAAUP,wBAE7E,QAAAR"}
@@ -1 +0,0 @@
1
- var MAX_TOTAL_RANGE_JUMPS=1e5;function requireNonNegative(scope,name,value){if(!Number.isFinite(value)||value<0){throw new RangeError(`${scope}: ${name} must be a finite non-negative number`)}}function requirePositive(scope,name,value){if(!Number.isFinite(value)||value<=0){throw new RangeError(`${scope}: fsd.${name} must be a finite positive number`)}}function validateFsd(scope,fsd){requirePositive(scope,"optMass",fsd.optMass);requireNonNegative(scope,"fsd.maxFuel",fsd.maxFuel);requirePositive(scope,"fuelMul",fsd.fuelMul);requirePositive(scope,"fuelPower",fsd.fuelPower);if(fsd.jumpBoost!==void 0){requireNonNegative(scope,"fsd.jumpBoost",fsd.jumpBoost)}}function frameShiftDriveMassFactorUnchecked(mass,fuel,fsd){return fsd.optMass/(mass+fuel)}function singleJumpRangeUnchecked(mass,fuel,fsd,scope){const burn=Math.min(fuel,fsd.maxFuel);if(burn<=0||mass+fuel<=0)return 0;const base=Math.pow(burn/fsd.fuelMul,1/fsd.fuelPower)*frameShiftDriveMassFactorUnchecked(mass,fuel,fsd);const range=base+(fsd.jumpBoost??0);if(!Number.isFinite(range)){throw new RangeError(`${scope}: parameters produce a non-finite range`)}return range}function frameShiftDriveMassFactor(mass,fuel,fsd){const scope="frameShiftDriveMassFactor";requireNonNegative(scope,"mass",mass);requireNonNegative(scope,"fuel",fuel);requirePositive(scope,"optMass",fsd.optMass);if(mass+fuel<=0){throw new RangeError(`${scope}: mass plus fuel must be positive`)}return frameShiftDriveMassFactorUnchecked(mass,fuel,fsd)}function singleJumpRange(mass,fuel,fsd){const scope="singleJumpRange";requireNonNegative(scope,"mass",mass);requireNonNegative(scope,"fuel",fuel);validateFsd(scope,fsd);return singleJumpRangeUnchecked(mass,fuel,fsd,scope)}function fuelPerJump(distance,mass,fuel,fsd){const scope="fuelPerJump";requireNonNegative(scope,"distance",distance);requireNonNegative(scope,"mass",mass);requireNonNegative(scope,"fuel",fuel);validateFsd(scope,fsd);if(distance<=0)return 0;const burn=Math.min(fuel,fsd.maxFuel);const maxDistance=singleJumpRangeUnchecked(mass,fuel,fsd,scope);if(maxDistance<=0)return 0;const cost=Math.pow(distance/maxDistance,fsd.fuelPower)*burn;return Math.min(cost,burn)}function totalRange(mass,fuel,fsd){const scope="totalRange";requireNonNegative(scope,"mass",mass);requireNonNegative(scope,"fuel",fuel);validateFsd(scope,fsd);if(fsd.maxFuel<=0)return Object.freeze({range:0,jumps:0});const jumps=fuel>0?Math.max(1,Math.ceil(fuel/fsd.maxFuel)):0;if(!Number.isFinite(jumps)||jumps>MAX_TOTAL_RANGE_JUMPS){throw new RangeError(`${scope}: fuel and fsd.maxFuel require more than ${MAX_TOTAL_RANGE_JUMPS} jumps`)}let range=0;let remaining=fuel;for(let i=0;i<jumps;i++){range+=singleJumpRangeUnchecked(mass,remaining,fsd,scope);if(!Number.isFinite(range)){throw new RangeError(`${scope}: parameters produce a non-finite total range`)}remaining=Math.max(0,remaining-fsd.maxFuel)}return Object.freeze({range:range,jumps:jumps})}export{frameShiftDriveMassFactor,fuelPerJump,singleJumpRange,totalRange};//# sourceMappingURL=chunk-6O4NRRSB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ships/jump-range.ts"],"names":["MAX_TOTAL_RANGE_JUMPS","requireNonNegative","scope","name","value","Number","isFinite","RangeError","requirePositive","validateFsd","fsd","optMass","maxFuel","fuelMul","fuelPower","jumpBoost","frameShiftDriveMassFactorUnchecked","mass","fuel","singleJumpRangeUnchecked","burn","Math","min","base","pow","range","frameShiftDriveMassFactor","singleJumpRange","fuelPerJump","distance","maxDistance","cost","totalRange","Object","freeze","jumps","max","ceil","remaining","i"],"mappings":"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"}
@@ -1 +0,0 @@
1
- function combinedRateOfFire(weapon){const interval=weapon.burstInterval;if(interval===void 0||interval<=0)return void 0;const burst=weapon.burstRounds&&weapon.burstRounds>0?weapon.burstRounds:1;const burstRate=weapon.burstRateOfFire&&weapon.burstRateOfFire>0?weapon.burstRateOfFire:1;const cycle=(burst>1?(burst-1)/burstRate:0)+interval;return cycle>0?burst/cycle:void 0}var ZERO_SPLIT={kinetic:0,thermal:0,explosive:0,absolute:0,antiXeno:0};function splitDamage(damage,distribution){if(!distribution)return Object.freeze({...ZERO_SPLIT,absolute:damage});return Object.freeze({kinetic:damage*(distribution.kinetic??0),thermal:damage*(distribution.thermal??0),explosive:damage*(distribution.explosive??0),absolute:damage*(distribution.absolute??0),...(distribution.unclassified??0)===0?{}:{unclassified:damage*distribution.unclassified},antiXeno:damage*(distribution.antiXeno??0)})}function splitComponents(damage,components){const unclassified=(components.unclassified??[]).reduce((sum,value)=>sum+value,0);const conventional=(components.kinetic??0)+(components.thermal??0)+(components.explosive??0)+(components.absolute??0)+unclassified;if(conventional<=0)return Object.freeze({...ZERO_SPLIT,absolute:damage});const scale=damage/conventional;return Object.freeze({kinetic:(components.kinetic??0)*scale,thermal:(components.thermal??0)*scale,explosive:(components.explosive??0)*scale,absolute:(components.absolute??0)*scale,...unclassified===0?{}:{unclassified:unclassified*scale},antiXeno:(components.antiXeno??0)*scale})}function sustainedFireFactor(weapon){const rateOfFire=weapon.rateOfFire;const clip=weapon.clipSize===void 0?void 0:Math.ceil(weapon.clipSize);if(!rateOfFire||!clip||clip<=0)return 1;const burst=weapon.burstRounds&&weapon.burstRounds>0?weapon.burstRounds:1;const burstRate=weapon.burstRateOfFire&&weapon.burstRateOfFire>0?weapon.burstRateOfFire:1;const reload=weapon.reloadTime??0;const cycle=(clip-burst)/rateOfFire+(burst-1)/burstRate+reload;if(cycle<=0)return 1;const sustainedRate=clip/cycle;return Math.min(1,sustainedRate/rateOfFire)}function damagePerSecond(weapon){const damage=weapon.damage??0;const rounds=weapon.roundsPerShot&&weapon.roundsPerShot>0?weapon.roundsPerShot:1;return damage*rounds*(weapon.rateOfFire??1)}function sustainedDamagePerSecond(weapon){return damagePerSecond(weapon)*sustainedFireFactor(weapon)}function energyPerSecond(weapon){return(weapon.distributorDraw??0)*(weapon.rateOfFire??1)}function heatPerSecond(weapon){return(weapon.thermalLoad??0)*(weapon.rateOfFire??1)}function damageFalloff(weapon,metres){const maximum=weapon.maximumRange;if(maximum!==void 0&&metres>maximum)return 0;const falloff=weapon.falloffRange;if(falloff===void 0||maximum===void 0||metres<=falloff)return 1;const taper=maximum-falloff;if(taper<=0)return 1;return Math.max(0,1-(metres-falloff)/taper)}function armourPiercingFactor(armourPiercing,hardness){if(!Number.isFinite(armourPiercing)||armourPiercing<0){throw new RangeError("armourPiercingFactor: armour piercing must be a finite non-negative number")}if(!Number.isFinite(hardness)||hardness<0){throw new RangeError("armourPiercingFactor: hardness must be a finite non-negative number")}if(hardness===0)return 1;return Math.min(1,armourPiercing/hardness)}function weaponMetrics(weapon){const continuous=weapon.rateOfFire===void 0;const rateOfFire=weapon.rateOfFire??1;const factor=sustainedFireFactor(weapon);const dps=damagePerSecond(weapon);const sdps=dps*factor;const eps=energyPerSecond(weapon);const hps=heatPerSecond(weapon);const rounds=weapon.roundsPerShot&&weapon.roundsPerShot>0?weapon.roundsPerShot:1;return Object.freeze({damagePerShot:(weapon.damage??0)*rounds,rateOfFire:rateOfFire,sustainedRateOfFire:rateOfFire*factor,damagePerSecond:dps,sustainedDamagePerSecond:sdps,energyPerSecond:eps,sustainedEnergyPerSecond:eps*factor,heatPerSecond:hps,sustainedHeatPerSecond:hps*factor,thermalLoad:weapon.thermalLoad??0,powerDraw:weapon.powerDraw??0,damageByType:weapon.damageComponents?splitComponents(dps,weapon.damageComponents):splitDamage(dps,weapon.damageDistribution),sustainedDamageByType:weapon.damageComponents?splitComponents(sdps,weapon.damageComponents):splitDamage(sdps,weapon.damageDistribution),continuous:continuous})}function sumWeaponMetrics(metrics){const damageByType=emptyDamageSplitAccumulator();const sustainedDamageByType=emptyDamageSplitAccumulator();let damagePerSecond2=0;let sustainedDamagePerSecond2=0;let energyPerSecond2=0;let sustainedEnergyPerSecond=0;let heatPerSecond2=0;let sustainedHeatPerSecond=0;let thermalLoad=0;let powerDraw=0;for(const metric of metrics){damagePerSecond2+=metric.damagePerSecond;sustainedDamagePerSecond2+=metric.sustainedDamagePerSecond;energyPerSecond2+=metric.energyPerSecond;sustainedEnergyPerSecond+=metric.sustainedEnergyPerSecond;heatPerSecond2+=metric.heatPerSecond;sustainedHeatPerSecond+=metric.sustainedHeatPerSecond;thermalLoad+=metric.thermalLoad;powerDraw+=metric.powerDraw;addDamageSplit(damageByType,metric.damageByType);addDamageSplit(sustainedDamageByType,metric.sustainedDamageByType)}return Object.freeze({damagePerSecond:damagePerSecond2,sustainedDamagePerSecond:sustainedDamagePerSecond2,energyPerSecond:energyPerSecond2,sustainedEnergyPerSecond:sustainedEnergyPerSecond,heatPerSecond:heatPerSecond2,sustainedHeatPerSecond:sustainedHeatPerSecond,thermalLoad:thermalLoad,powerDraw:powerDraw,damageByType:finishDamageSplit(damageByType),sustainedDamageByType:finishDamageSplit(sustainedDamageByType)})}function emptyDamageSplitAccumulator(){return{kinetic:0,thermal:0,explosive:0,absolute:0,unclassified:0,antiXeno:0}}function addDamageSplit(total,split){total.kinetic+=split.kinetic;total.thermal+=split.thermal;total.explosive+=split.explosive;total.absolute+=split.absolute;total.unclassified+=split.unclassified??0;total.antiXeno+=split.antiXeno}function finishDamageSplit(total){const{unclassified:unclassified,...classified}=total;return Object.freeze(unclassified===0?classified:{...classified,unclassified:unclassified})}export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics};//# sourceMappingURL=chunk-7TQ2X6Q3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ships/weapons.ts"],"names":["combinedRateOfFire","weapon","interval","burstInterval","burst","burstRounds","burstRate","burstRateOfFire","cycle","ZERO_SPLIT","kinetic","thermal","explosive","absolute","antiXeno","splitDamage","damage","distribution","Object","freeze","unclassified","splitComponents","components","reduce","sum","value","conventional","scale","sustainedFireFactor","rateOfFire","clip","clipSize","Math","ceil","reload","reloadTime","sustainedRate","min","damagePerSecond","rounds","roundsPerShot","sustainedDamagePerSecond","energyPerSecond","distributorDraw","heatPerSecond","thermalLoad","damageFalloff","metres","maximum","maximumRange","falloff","falloffRange","taper","max","armourPiercingFactor","armourPiercing","hardness","Number","isFinite","RangeError","weaponMetrics","continuous","factor","dps","sdps","eps","hps","damagePerShot","sustainedRateOfFire","sustainedEnergyPerSecond","sustainedHeatPerSecond","powerDraw","damageByType","damageComponents","damageDistribution","sustainedDamageByType","sumWeaponMetrics","metrics","emptyDamageSplitAccumulator","metric","addDamageSplit","finishDamageSplit","total","split","classified"],"mappings":"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"}
@@ -1 +0,0 @@
1
- import{calculateModuleLimits}from"./chunk-KPETDYQX.js";import{describeValue,truncate}from"./chunk-PKWVG2JY.js";function isRequiredSlot(slot){return slot.kind==="core"||slot.kind==="armour"}function fixedSlotReason(slot){if(slot.kind==="cargoHatch")return"cargoHatch";return isRequiredSlot(slot)?"requiredSlot":null}function validateLoadout(input){if(!Array.isArray(input.slots)){throw new TypeError(`validateLoadout: input.slots must be an array, received ${describeValue(input.slots)}`)}const issues=[];const seen=/* @__PURE__ */new Map;for(const module of input.modules){const normalized=module.slot.toLowerCase();const previous=seen.get(normalized);if(previous!==void 0){issues.push({code:"duplicateSlot",severity:"error",slot:module.slot,symbol:module.symbol,params:{slot:module.slot,previousSlot:previous,symbol:module.symbol},message:`Slot ${truncate(module.slot)} occurs more than once (also ${truncate(previous)})`})}else{seen.set(normalized,module.slot)}}const exclusive=/* @__PURE__ */new Map;for(const module of input.modules){if(!module.exclusionGroup)continue;const previous=exclusive.get(module.exclusionGroup);if(previous){issues.push({code:"duplicateExclusiveModule",severity:"error",slot:module.slot,symbol:module.symbol,params:{exclusionGroup:module.exclusionGroup,slot:module.slot,symbol:module.symbol,previousSlot:previous.slot,previousSymbol:previous.symbol},message:`${truncate(module.slot)}: ${truncate(module.symbol)} conflicts with ${truncate(previous.symbol)} in ${truncate(previous.slot)} (${module.exclusionGroup} is limited to one per ship)`})}else{exclusive.set(module.exclusionGroup,module)}}for(const usage of calculateModuleLimits(input.modules)){if(usage.excess===0)continue;issues.push({code:"moduleLimitExceeded",severity:"error",params:{group:usage.group,count:usage.count,limit:usage.limit},message:`${usage.group} has ${usage.count} fitted modules but the ship allows ${usage.limit}`})}const knownSlots=new Map(input.slots.map(slot=>[slot.key.toLowerCase(),slot]));for(const module of input.modules){if(module.requiresKnownSlot!==false&&!knownSlots.has(module.slot.toLowerCase())){issues.push({code:"unknownSlot",severity:"error",slot:module.slot,symbol:module.symbol,message:`${truncate(module.slot)} is not a slot on ${truncate(input.shipSymbol)}`,params:{shipSymbol:input.shipSymbol,slot:module.slot,symbol:module.symbol}})}}for(const slot of input.slots){if(isRequiredSlot(slot)&&!seen.has(slot.key.toLowerCase())){issues.push({code:"missingRequiredSlot",severity:"incomplete",slot:slot.key,message:`${truncate(slot.key)} is required for an operational build`,params:{slot:slot.key}})}}for(const module of input.modules){if(module.fitError!==null){issues.push({code:"incompatibleModule",severity:"error",slot:module.slot,symbol:module.symbol,message:`${truncate(module.slot)}: ${truncate(module.symbol)} ${truncate(module.fitError)}`,params:{...module.fitParams,slot:module.slot,symbol:module.symbol,constraint:module.fitConstraint??"unknownConstraint"}})}}const frozen=Object.freeze(issues.map(issue=>Object.freeze({...issue,...issue.params?{params:Object.freeze(Object.fromEntries(Object.entries(issue.params).map(([key,value])=>[key,Array.isArray(value)?Object.freeze([...value]):value])))}:{}})));return Object.freeze({valid:!issues.some(issue=>issue.severity==="error"),complete:issues.length===0,issues:frozen})}export{fixedSlotReason,validateLoadout};//# sourceMappingURL=chunk-B4ZSTOM4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ships/internal/loadout-slot-rules.ts","../src/ships/loadout-validation.ts"],"names":["calculateModuleLimits","describeValue","truncate","isRequiredSlot","slot","kind","fixedSlotReason","validateLoadout","input","Array","isArray","slots","TypeError","issues","seen","Map","module","modules","normalized","toLowerCase","previous","get","push","code","severity","symbol","params","previousSlot","message","set","exclusive","exclusionGroup","previousSymbol","usage","excess","group","count","limit","knownSlots","map","key","requiresKnownSlot","has","shipSymbol","fitError","fitParams","constraint","fitConstraint","frozen","Object","freeze","issue","fromEntries","entries","value","valid","some","complete","length"],"mappings":"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"}
@@ -1 +0,0 @@
1
- var PRIORITY_GROUPS=5;var EPSILON=1e-9;function bandIndex(priority){if(priority===void 0||!Number.isFinite(priority))return 0;return Math.min(PRIORITY_GROUPS,Math.max(1,Math.trunc(priority)))-1}function powerBudget(available,consumers){if(!Number.isFinite(available)||available<0){throw new RangeError("powerBudget: available power must be a finite non-negative number")}const retractedByBand=Array(PRIORITY_GROUPS).fill(0);const deployedByBand=Array(PRIORITY_GROUPS).fill(0);for(const consumer of consumers){if(!Number.isFinite(consumer.draw)||consumer.draw<0){throw new RangeError("powerBudget: consumer draw must be a finite non-negative number")}}const consumerResults=consumers.map(consumer=>Object.freeze({...consumer.label===void 0?{}:{label:consumer.label},...consumer.symbol===void 0?{}:{symbol:consumer.symbol},draw:consumer.draw,enabled:consumer.enabled!==false,priority:bandIndex(consumer.priority)+1,deployedOnly:consumer.deployedOnly??false}));for(const consumer of consumers){if(consumer.enabled===false)continue;const draw=consumer.draw;if(draw===0)continue;const index=bandIndex(consumer.priority);if(consumer.deployedOnly)deployedByBand[index]+=draw;else retractedByBand[index]+=draw}const bands=[];let retractedTotal=0;let deployedTotal=0;for(let i=0;i<PRIORITY_GROUPS;i++){const retracted=retractedByBand[i];const deployed=deployedByBand[i];retractedTotal+=retracted;deployedTotal+=retracted+deployed;bands.push(Object.freeze({priority:i+1,retracted:retracted,deployed:retracted+deployed,retractedTotal:retractedTotal,deployedTotal:deployedTotal,poweredRetracted:retractedTotal<=available+EPSILON,poweredDeployed:deployedTotal<=available+EPSILON}))}return Object.freeze({available:available,retracted:retractedTotal,deployed:deployedTotal,headroom:available-deployedTotal,utilisation:available>0?deployedTotal/available:deployedTotal>0?Infinity:0,withinBudget:deployedTotal<=available+EPSILON,bands:Object.freeze(bands),consumers:Object.freeze(consumerResults)})}export{powerBudget};//# sourceMappingURL=chunk-D6YEHR5S.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ships/power.ts"],"names":["PRIORITY_GROUPS","EPSILON","bandIndex","priority","Number","isFinite","Math","min","max","trunc","powerBudget","available","consumers","RangeError","retractedByBand","Array","fill","deployedByBand","consumer","draw","consumerResults","map","Object","freeze","label","symbol","enabled","deployedOnly","index","bands","retractedTotal","deployedTotal","i","retracted","deployed","push","poweredRetracted","poweredDeployed","headroom","utilisation","Infinity","withinBudget"],"mappings":"AAoCA,IAAMA,gBAAkB,EAOxB,IAAMC,QAAU,KAwGhB,SAASC,UAAUC,UACf,GAAIA,gBAAa,IAAcC,OAAOC,SAASF,UAAW,OAAO,EACjE,OAAOG,KAAKC,IAAIP,gBAAiBM,KAAKE,IAAI,EAAGF,KAAKG,MAAMN,YAAc,CAC1E,CA+BO,SAASO,YAAYC,UAAmBC,WAC3C,IAAKR,OAAOC,SAASM,YAAcA,UAAY,EAAG,CAC9C,MAAM,IAAIE,WAAW,oEACzB,CAEA,MAAMC,gBAAkBC,MAAcf,iBAAiBgB,KAAK,GAC5D,MAAMC,eAAiBF,MAAcf,iBAAiBgB,KAAK,GAC3D,IAAA,MAAWE,YAAYN,UAAW,CAC9B,IAAKR,OAAOC,SAASa,SAASC,OAASD,SAASC,KAAO,EAAG,CACtD,MAAM,IAAIN,WAAW,kEACzB,CACJ,CACA,MAAMO,gBAAyCR,UAAUS,IAAKH,UAC1DI,OAAOC,OAAO,IACNL,SAASM,aAAU,EAAY,CAAA,EAAK,CAAEA,MAAON,SAASM,UACtDN,SAASO,cAAW,EAAY,CAAA,EAAK,CAAEA,OAAQP,SAASO,QAC5DN,KAAMD,SAASC,KACfO,QAASR,SAASQ,UAAY,MAC9BvB,SAAUD,UAAUgB,SAASf,UAAY,EACzCwB,aAAcT,SAASS,cAAgB,SAI/C,IAAA,MAAWT,YAAYN,UAAW,CAC9B,GAAIM,SAASQ,UAAY,MAAO,SAChC,MAAMP,KAAOD,SAASC,KACtB,GAAIA,OAAS,EAAG,SAChB,MAAMS,MAAQ1B,UAAUgB,SAASf,UACjC,GAAIe,SAASS,aAAcV,eAAeW,QAAWT,UAChDL,gBAAgBc,QAAWT,IACpC,CAEA,MAAMU,MAAqB,GAC3B,IAAIC,eAAiB,EACrB,IAAIC,cAAgB,EACpB,IAAA,IAASC,EAAI,EAAGA,EAAIhC,gBAAiBgC,IAAK,CACtC,MAAMC,UAAYnB,gBAAgBkB,GAClC,MAAME,SAAWjB,eAAee,GAChCF,gBAAkBG,UAElBF,eAAiBE,UAAYC,SAC7BL,MAAMM,KACFb,OAAOC,OAAO,CACVpB,SAAU6B,EAAI,EACdC,oBAEAC,SAAUD,UAAYC,SACtBJ,8BACAC,4BACAK,iBAAkBN,gBAAkBnB,UAAYV,QAChDoC,gBAAiBN,eAAiBpB,UAAYV,UAG1D,CAEA,OAAOqB,OAAOC,OAAO,CACjBZ,oBACAsB,UAAWH,eACXI,SAAUH,cACVO,SAAU3B,UAAYoB,cACtBQ,YAAa5B,UAAY,EAAIoB,cAAgBpB,UAAYoB,cAAgB,EAAIS,SAAW,EACxFC,aAAcV,eAAiBpB,UAAYV,QAC3C4B,MAAOP,OAAOC,OAAOM,OACrBjB,UAAWU,OAAOC,OAAOH,kBAEjC,QAAAV"}
@@ -1 +0,0 @@
1
- function requireFiniteNonNegative(scope,name,value){if(!Number.isFinite(value)||value<0){throw new RangeError(`${scope}: ${name} must be a finite non-negative number`)}}function validateMassCurve(label,curve){for(const field of["minMass","optMass","maxMass"]){requireFiniteNonNegative(label,field,curve[field])}const allMassesEqual=curve.minMass===curve.optMass&&curve.optMass===curve.maxMass;if(!allMassesEqual&&!(curve.minMass<curve.optMass&&curve.optMass<curve.maxMass)){throw new RangeError(`${label}: masses must be strictly ordered minMass < optMass < maxMass, or all equal`)}for(const field of["minMultiplier","optMultiplier","maxMultiplier"]){requireFiniteNonNegative(label,field,curve[field])}const allMultipliersEqual=curve.minMultiplier===curve.optMultiplier&&curve.optMultiplier===curve.maxMultiplier;const strictlyOrderedMultipliers=curve.minMultiplier<curve.optMultiplier&&curve.optMultiplier<curve.maxMultiplier;if(!allMultipliersEqual&&!strictlyOrderedMultipliers){throw new RangeError(`${label}: multipliers must be strictly ordered minMultiplier < optMultiplier < maxMultiplier, or all equal`)}if(allMassesEqual&&!allMultipliersEqual){throw new RangeError(`${label}: an all-equal mass curve must have equal multipliers`)}}function massCurveMultiplier(labels,mass,curve){requireFiniteNonNegative(labels.scope,labels.mass,mass);validateMassCurve(`${labels.scope}: ${labels.curve}`,curve);if(mass>curve.maxMass)return 0;const span=curve.maxMass-curve.minMass;if(span<=0||curve.maxMultiplier===curve.minMultiplier)return curve.optMultiplier;const normalised=Math.max(0,Math.min(1,(curve.maxMass-mass)/span));const optNormalised=Math.min(1,(curve.maxMass-curve.optMass)/span);const exponent=Math.log((curve.optMultiplier-curve.minMultiplier)/(curve.maxMultiplier-curve.minMultiplier))/Math.log(optNormalised);if(!Number.isFinite(exponent)){throw new RangeError(`${labels.scope}: curve values do not produce a finite exponent`)}return curve.minMultiplier+Math.pow(normalised,exponent)*(curve.maxMultiplier-curve.minMultiplier)}export{massCurveMultiplier,requireFiniteNonNegative,validateMassCurve};//# sourceMappingURL=chunk-EVW4Z4CB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ships/internal/mass-curve.ts"],"names":["requireFiniteNonNegative","scope","name","value","Number","isFinite","RangeError","validateMassCurve","label","curve","field","allMassesEqual","minMass","optMass","maxMass","allMultipliersEqual","minMultiplier","optMultiplier","maxMultiplier","strictlyOrderedMultipliers","massCurveMultiplier","labels","mass","span","normalised","Math","max","min","optNormalised","exponent","log","pow"],"mappings":"AAqEO,SAASA,yBAAyBC,MAAeC,KAAcC,OAClE,IAAKC,OAAOC,SAASF,QAAUA,MAAQ,EAAG,CACtC,MAAM,IAAIG,WAAW,GAAGL,UAAUC,4CACtC,CACJ,CAWO,SAASK,kBAAkBC,MAAeC,OAC7C,IAAA,MAAWC,QAAS,CAAC,UAAW,UAAW,WAAqB,CAC5DV,yBAAyBQ,MAAOE,MAAOD,MAAMC,OACjD,CACA,MAAMC,eAAiBF,MAAMG,UAAYH,MAAMI,SAAWJ,MAAMI,UAAYJ,MAAMK,QAClF,IAAKH,kBAAoBF,MAAMG,QAAUH,MAAMI,SAAWJ,MAAMI,QAAUJ,MAAMK,SAAU,CACtF,MAAM,IAAIR,WACN,GAAGE,mFAEX,CACA,IAAA,MAAWE,QAAS,CAAC,gBAAiB,gBAAiB,iBAA2B,CAC9EV,yBAAyBQ,MAAOE,MAAOD,MAAMC,OACjD,CACA,MAAMK,oBACFN,MAAMO,gBAAkBP,MAAMQ,eAAiBR,MAAMQ,gBAAkBR,MAAMS,cACjF,MAAMC,2BACFV,MAAMO,cAAgBP,MAAMQ,eAAiBR,MAAMQ,cAAgBR,MAAMS,cAC7E,IAAKH,sBAAwBI,2BAA4B,CACrD,MAAM,IAAIb,WACN,GAAGE,0GAEX,CACA,GAAIG,iBAAmBI,oBAAqB,CACxC,MAAM,IAAIT,WAAW,GAAGE,6DAC5B,CACJ,CAaO,SAASY,oBACZC,OACAC,KACAb,OAEAT,yBAAyBqB,OAAOpB,MAAOoB,OAAOC,KAAMA,MACpDf,kBAAkB,GAAGc,OAAOpB,UAAUoB,OAAOZ,QAASA,OACtD,GAAIa,KAAOb,MAAMK,QAAS,OAAO,EACjC,MAAMS,KAAOd,MAAMK,QAAUL,MAAMG,QACnC,GAAIW,MAAQ,GAAKd,MAAMS,gBAAkBT,MAAMO,cAAA,OAAsBP,MAAMQ,cAC3E,MAAMO,WAAaC,KAAKC,IAAI,EAAGD,KAAKE,IAAI,GAAIlB,MAAMK,QAAUQ,MAAQC,OACpE,MAAMK,cAAgBH,KAAKE,IAAI,GAAIlB,MAAMK,QAAUL,MAAMI,SAAWU,MACpE,MAAMM,SACFJ,KAAKK,KACArB,MAAMQ,cAAgBR,MAAMO,gBACxBP,MAAMS,cAAgBT,MAAMO,gBACjCS,KAAKK,IAAIF,eACjB,IAAKxB,OAAOC,SAASwB,UAAW,CAG5B,MAAM,IAAIvB,WAAW,GAAGe,OAAOpB,uDACnC,CACA,OACIQ,MAAMO,cACNS,KAAKM,IAAIP,WAAYK,WAAapB,MAAMS,cAAgBT,MAAMO,cAEtE,QAAAI,oBAAApB,yBAAAO"}
@@ -1 +0,0 @@
1
- import{ITEM_MICRO_RESOURCES}from"./chunk-WHWFKHV3.js";import{COMPONENT_MICRO_RESOURCES}from"./chunk-HTB52N6S.js";import{CONSUMABLE_MICRO_RESOURCES}from"./chunk-K7L7SMIR.js";import{DATA_MICRO_RESOURCES}from"./chunk-GVLDFJEY.js";var ALL_MICRO_RESOURCES=Object.freeze([...COMPONENT_MICRO_RESOURCES,...CONSUMABLE_MICRO_RESOURCES,...DATA_MICRO_RESOURCES,...ITEM_MICRO_RESOURCES]);export{ALL_MICRO_RESOURCES};//# sourceMappingURL=chunk-GVNTKCVF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/materials/micro-resources-all.ts"],"names":["ITEM_MICRO_RESOURCES","COMPONENT_MICRO_RESOURCES","CONSUMABLE_MICRO_RESOURCES","DATA_MICRO_RESOURCES","ALL_MICRO_RESOURCES","Object","freeze"],"mappings":"O,4NA6BO,IAAMI,oBAAgDC,OAAOC,OAAO,IACpEL,6BACAC,8BACAC,wBACAH,8BACNI"}