@elite-dangerous-almanac/core 0.2.7 → 0.2.9

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 (266) hide show
  1. package/PROVENANCE/astro/SOURCES.md +13 -12
  2. package/PROVENANCE/commodities/SOURCES.md +50 -6
  3. package/PROVENANCE/equipment/SOURCES.md +229 -29
  4. package/PROVENANCE/i18n/SOURCES.md +328 -73
  5. package/PROVENANCE/ships/SOURCES.md +352 -216
  6. package/README.md +30 -7
  7. package/THIRD_PARTY_NOTICES.md +12 -1
  8. package/dist/astro/body-rings.d.ts +2 -2
  9. package/dist/astro/codex-region-lookup.d.ts +1 -1
  10. package/dist/astro/codex-region-lookup.js +1 -1
  11. package/dist/astro/hand-authored-regions.d.ts +1 -1
  12. package/dist/astro/index.d.ts +1 -1
  13. package/dist/astro/index.js +1 -1
  14. package/dist/astro/naming-region-origins.d.ts +1 -1
  15. package/dist/astro/naming-region-origins.js +1 -1
  16. package/dist/astro/nebulae-all.d.ts +4 -6
  17. package/dist/astro/nebulae-all.js +1 -1
  18. package/dist/astro/nebulae-all.js.map +1 -1
  19. package/dist/astro/nebulae-planetary.d.ts +4 -5
  20. package/dist/astro/nebulae-planetary.js +1 -1
  21. package/dist/astro/nebulae-procgen.d.ts +3 -3
  22. package/dist/astro/nebulae-real.d.ts +3 -3
  23. package/dist/astro/nebulae.d.ts +8 -8
  24. package/dist/astro/permit-locked-regions.d.ts +2 -2
  25. package/dist/astro/permit-locked-systems.d.ts +1 -1
  26. package/dist/astro/permit-locks.d.ts +2 -2
  27. package/dist/astro/procedural-system.d.ts +3 -3
  28. package/dist/astro/procedural-system.js +1 -1
  29. package/dist/astro/system-address.d.ts +1 -1
  30. package/dist/astro/system-address.js +1 -1
  31. package/dist/astro/system-name.js +1 -1
  32. package/dist/{chunk-XSLPWM5N.js → chunk-2J6NNI3Y.js} +1 -1
  33. package/dist/{chunk-DWRNXUAX.js → chunk-2KIZN3BY.js} +1 -1
  34. package/dist/{chunk-J7BM5NGK.js → chunk-2TY42PTF.js} +1 -1
  35. package/dist/{chunk-MVBVXK3G.js → chunk-3GNYPM6J.js} +1 -1
  36. package/dist/{chunk-MVBVXK3G.js.map → chunk-3GNYPM6J.js.map} +1 -1
  37. package/dist/{chunk-773VO2GK.js → chunk-4T3TTYUT.js} +1 -1
  38. package/dist/{chunk-773VO2GK.js.map → chunk-4T3TTYUT.js.map} +1 -1
  39. package/dist/chunk-7C7NJWCF.js +1 -0
  40. package/dist/chunk-7C7NJWCF.js.map +1 -0
  41. package/dist/{chunk-FMA36V6A.js → chunk-7Y5EK2VO.js} +1 -1
  42. package/dist/{chunk-FMA36V6A.js.map → chunk-7Y5EK2VO.js.map} +1 -1
  43. package/dist/chunk-AC3U7LRK.js +1 -0
  44. package/dist/{chunk-MGRDB2BZ.js.map → chunk-AC3U7LRK.js.map} +1 -1
  45. package/dist/{chunk-BJU27V6C.js → chunk-AUBV6S7V.js} +1 -1
  46. package/dist/{chunk-BJU27V6C.js.map → chunk-AUBV6S7V.js.map} +1 -1
  47. package/dist/{chunk-DI5RXSJR.js → chunk-BVLBS2QY.js} +1 -1
  48. package/dist/{chunk-DI5RXSJR.js.map → chunk-BVLBS2QY.js.map} +1 -1
  49. package/dist/chunk-C3YZ5KTA.js +1 -0
  50. package/dist/chunk-C3YZ5KTA.js.map +1 -0
  51. package/dist/{chunk-6UNAD74Z.js → chunk-C4FUV6GF.js} +1 -1
  52. package/dist/{chunk-6UNAD74Z.js.map → chunk-C4FUV6GF.js.map} +1 -1
  53. package/dist/chunk-CEF7SMB2.js +1 -0
  54. package/dist/chunk-CEF7SMB2.js.map +1 -0
  55. package/dist/chunk-E2HDF6PJ.js +1 -0
  56. package/dist/chunk-E2HDF6PJ.js.map +1 -0
  57. package/dist/{chunk-OFZGNWBT.js → chunk-ETREYN5U.js} +1 -1
  58. package/dist/{chunk-OFZGNWBT.js.map → chunk-ETREYN5U.js.map} +1 -1
  59. package/dist/{chunk-KBCA4GEZ.js → chunk-FP2TQJZP.js} +1 -1
  60. package/dist/{chunk-F7VWRDSL.js → chunk-G7WARJ3X.js} +1 -1
  61. package/dist/chunk-G7WARJ3X.js.map +1 -0
  62. package/dist/{chunk-Z4OUB4SJ.js → chunk-GLTCCDN5.js} +1 -1
  63. package/dist/{chunk-Z4OUB4SJ.js.map → chunk-GLTCCDN5.js.map} +1 -1
  64. package/dist/chunk-GVNTKCVF.js +1 -0
  65. package/dist/chunk-GVNTKCVF.js.map +1 -0
  66. package/dist/{chunk-Q6YDPREF.js → chunk-GZLD7RTK.js} +1 -1
  67. package/dist/{chunk-Q6YDPREF.js.map → chunk-GZLD7RTK.js.map} +1 -1
  68. package/dist/chunk-HIJR7DOC.js +1 -0
  69. package/dist/chunk-HIJR7DOC.js.map +1 -0
  70. package/dist/{chunk-ETWMPMZP.js → chunk-K5JK3XQB.js} +1 -1
  71. package/dist/{chunk-GRIK3EDH.js → chunk-KY7KSPU6.js} +1 -1
  72. package/dist/{chunk-GRIK3EDH.js.map → chunk-KY7KSPU6.js.map} +1 -1
  73. package/dist/{chunk-EHFHRQEP.js → chunk-M4STXLXO.js} +1 -1
  74. package/dist/{chunk-EHFHRQEP.js.map → chunk-M4STXLXO.js.map} +1 -1
  75. package/dist/{chunk-NZXSIHAW.js → chunk-OSMBAFRW.js} +1 -1
  76. package/dist/{chunk-NZXSIHAW.js.map → chunk-OSMBAFRW.js.map} +1 -1
  77. package/dist/chunk-PIU24HRN.js +1 -0
  78. package/dist/chunk-PIU24HRN.js.map +1 -0
  79. package/dist/{chunk-ELT3FEA4.js → chunk-PKKBYBL4.js} +1 -1
  80. package/dist/{chunk-ELT3FEA4.js.map → chunk-PKKBYBL4.js.map} +1 -1
  81. package/dist/{chunk-6HMIF2RJ.js → chunk-Q647OXON.js} +1 -1
  82. package/dist/{chunk-6HMIF2RJ.js.map → chunk-Q647OXON.js.map} +1 -1
  83. package/dist/{chunk-BMQM4JBL.js → chunk-QPT2WJYN.js} +1 -1
  84. package/dist/{chunk-BMQM4JBL.js.map → chunk-QPT2WJYN.js.map} +1 -1
  85. package/dist/{chunk-A6OINYNP.js → chunk-R2AEZYX7.js} +1 -1
  86. package/dist/chunk-RA4YJBU5.js +1 -0
  87. package/dist/chunk-RA4YJBU5.js.map +1 -0
  88. package/dist/{chunk-MRLUWHGI.js → chunk-RJ3ZLQRB.js} +1 -1
  89. package/dist/{chunk-MRLUWHGI.js.map → chunk-RJ3ZLQRB.js.map} +1 -1
  90. package/dist/chunk-SFEQXUIA.js +1 -0
  91. package/dist/chunk-SIL356HB.js +1 -0
  92. package/dist/chunk-SIL356HB.js.map +1 -0
  93. package/dist/chunk-SS7HVNP5.js +1 -0
  94. package/dist/chunk-SS7HVNP5.js.map +1 -0
  95. package/dist/chunk-TRGHPX2O.js +1 -0
  96. package/dist/chunk-TRGHPX2O.js.map +1 -0
  97. package/dist/{chunk-GMTAFUAG.js → chunk-TYRH73MO.js} +1 -1
  98. package/dist/{chunk-GMTAFUAG.js.map → chunk-TYRH73MO.js.map} +1 -1
  99. package/dist/{chunk-7TVFV3VO.js → chunk-U3IRMXMR.js} +1 -1
  100. package/dist/{chunk-A7IVMYNF.js → chunk-U73MBQ45.js} +1 -1
  101. package/dist/{chunk-A7IVMYNF.js.map → chunk-U73MBQ45.js.map} +1 -1
  102. package/dist/{chunk-IZIIGK3W.js → chunk-UE22QU7A.js} +1 -1
  103. package/dist/{chunk-IZIIGK3W.js.map → chunk-UE22QU7A.js.map} +1 -1
  104. package/dist/{chunk-DBDCOHI4.js → chunk-UI5RROGI.js} +1 -1
  105. package/dist/{chunk-DBDCOHI4.js.map → chunk-UI5RROGI.js.map} +1 -1
  106. package/dist/chunk-URRPEUIK.js +1 -0
  107. package/dist/{chunk-QJECDMQQ.js.map → chunk-URRPEUIK.js.map} +1 -1
  108. package/dist/chunk-UTWZZOSA.js +1 -0
  109. package/dist/chunk-UTWZZOSA.js.map +1 -0
  110. package/dist/{chunk-ZEN5K3GE.js → chunk-UVX7RCMP.js} +1 -1
  111. package/dist/{chunk-ZEN5K3GE.js.map → chunk-UVX7RCMP.js.map} +1 -1
  112. package/dist/{chunk-7ATBEOVC.js → chunk-WG4DPXJI.js} +1 -1
  113. package/dist/{chunk-XFDMCPDW.js → chunk-WZIBBJHA.js} +1 -1
  114. package/dist/{chunk-XFDMCPDW.js.map → chunk-WZIBBJHA.js.map} +1 -1
  115. package/dist/{chunk-7S7ZTZZY.js → chunk-X3MXPE7G.js} +1 -1
  116. package/dist/{chunk-7S7ZTZZY.js.map → chunk-X3MXPE7G.js.map} +1 -1
  117. package/dist/{chunk-SD6GNFDX.js → chunk-YBE5M27G.js} +1 -1
  118. package/dist/{chunk-SD6GNFDX.js.map → chunk-YBE5M27G.js.map} +1 -1
  119. package/dist/chunk-ZBUTGTZ3.js +1 -0
  120. package/dist/chunk-ZBUTGTZ3.js.map +1 -0
  121. package/dist/commodities/commodities-all.d.ts +2 -2
  122. package/dist/commodities/commodities-all.js +1 -1
  123. package/dist/commodities/commodities-rare.d.ts +3 -4
  124. package/dist/commodities/commodities-rare.js +1 -1
  125. package/dist/commodities/commodities-standard.d.ts +7 -7
  126. package/dist/commodities/commodities-standard.js +1 -1
  127. package/dist/commodities/commodities.d.ts +12 -12
  128. package/dist/commodities/commodities.js +1 -1
  129. package/dist/commodities/index.js +1 -1
  130. package/dist/equipment/engineering.d.ts +58 -1
  131. package/dist/equipment/engineering.js +1 -1
  132. package/dist/equipment/index.d.ts +14 -3
  133. package/dist/equipment/index.js +1 -1
  134. package/dist/equipment/modification-journal.js +1 -1
  135. package/dist/equipment/modifications.d.ts +43 -11
  136. package/dist/equipment/modifications.js +1 -1
  137. package/dist/equipment/suits.d.ts +2 -115
  138. package/dist/equipment/suits.js +1 -1
  139. package/dist/equipment/tools.d.ts +102 -0
  140. package/dist/equipment/tools.js +1 -0
  141. package/dist/equipment/tools.js.map +1 -0
  142. package/dist/equipment/upgrade-costs.d.ts +2 -3
  143. package/dist/equipment/upgrade-costs.js +1 -1
  144. package/dist/equipment/weapons.d.ts +2 -121
  145. package/dist/equipment/weapons.js +1 -1
  146. package/dist/i18n/blueprints.d.ts +2 -3
  147. package/dist/i18n/blueprints.js +1 -1
  148. package/dist/i18n/commodities.d.ts +36 -0
  149. package/dist/i18n/commodities.js +1 -0
  150. package/dist/i18n/commodities.js.map +1 -0
  151. package/dist/i18n/experimental-effect-descriptions.d.ts +5 -6
  152. package/dist/i18n/experimental-effect-descriptions.js +1 -1
  153. package/dist/i18n/experimental-effects.d.ts +2 -3
  154. package/dist/i18n/experimental-effects.js +1 -1
  155. package/dist/i18n/index.d.ts +87 -1
  156. package/dist/i18n/index.js +1 -1
  157. package/dist/i18n/materials.d.ts +2 -4
  158. package/dist/i18n/materials.js +1 -1
  159. package/dist/i18n/micro-resources.d.ts +2 -4
  160. package/dist/i18n/micro-resources.js +1 -1
  161. package/dist/i18n/module-families.d.ts +3 -5
  162. package/dist/i18n/module-families.js +1 -1
  163. package/dist/i18n/modules.d.ts +3 -6
  164. package/dist/i18n/modules.js +1 -1
  165. package/dist/i18n/personal-modifications.d.ts +66 -0
  166. package/dist/i18n/personal-modifications.js +1 -0
  167. package/dist/i18n/personal-modifications.js.map +1 -0
  168. package/dist/i18n/personal-tools.d.ts +33 -0
  169. package/dist/i18n/personal-tools.js +1 -0
  170. package/dist/i18n/personal-tools.js.map +1 -0
  171. package/dist/i18n/personal-weapons.d.ts +32 -0
  172. package/dist/i18n/personal-weapons.js +1 -0
  173. package/dist/i18n/personal-weapons.js.map +1 -0
  174. package/dist/i18n/pre-engineered.d.ts +1 -1
  175. package/dist/i18n/slots.d.ts +2 -2
  176. package/dist/i18n/suits.d.ts +89 -0
  177. package/dist/i18n/suits.js +1 -0
  178. package/dist/i18n/suits.js.map +1 -0
  179. package/dist/materials/index.d.ts +4 -3
  180. package/dist/materials/index.js +1 -1
  181. package/dist/materials/materials-all.d.ts +2 -2
  182. package/dist/materials/materials-all.js +1 -1
  183. package/dist/materials/materials-raw.d.ts +3 -4
  184. package/dist/materials/materials-raw.js +1 -1
  185. package/dist/materials/materials.d.ts +18 -15
  186. package/dist/materials/materials.js +1 -1
  187. package/dist/materials/micro-resources-all.d.ts +2 -2
  188. package/dist/materials/micro-resources-all.js +1 -1
  189. package/dist/materials/micro-resources-component.d.ts +2 -2
  190. package/dist/materials/micro-resources-consumable.d.ts +2 -2
  191. package/dist/materials/micro-resources-data.d.ts +2 -2
  192. package/dist/materials/micro-resources-item.d.ts +2 -2
  193. package/dist/materials/micro-resources.d.ts +17 -14
  194. package/dist/materials/micro-resources.js +1 -1
  195. package/dist/ships/ammunition.d.ts +4 -4
  196. package/dist/ships/blueprint-costs.d.ts +13 -13
  197. package/dist/ships/blueprint-costs.js +1 -1
  198. package/dist/ships/blueprint-journal.d.ts +3 -3
  199. package/dist/ships/blueprint-journal.js +1 -1
  200. package/dist/ships/blueprints.d.ts +3 -3
  201. package/dist/ships/build-metrics.d.ts +2 -1
  202. package/dist/ships/build-metrics.js +1 -1
  203. package/dist/ships/default-loadouts.d.ts +2 -3
  204. package/dist/ships/default-loadouts.js +1 -1
  205. package/dist/ships/engineering-options.d.ts +29 -32
  206. package/dist/ships/engineering-options.js +1 -1
  207. package/dist/ships/engineering.d.ts +1 -2
  208. package/dist/ships/engineering.js +1 -1
  209. package/dist/ships/experimental-effect-costs.d.ts +1 -1
  210. package/dist/ships/gunsights.d.ts +3 -3
  211. package/dist/ships/heat.d.ts +1 -1
  212. package/dist/ships/index.d.ts +4 -5
  213. package/dist/ships/index.js +1 -1
  214. package/dist/ships/loadout-validation.d.ts +8 -3
  215. package/dist/ships/loadout-validation.js +1 -1
  216. package/dist/ships/module-families.d.ts +1 -1
  217. package/dist/ships/modules-all.d.ts +2 -3
  218. package/dist/ships/modules-all.js +1 -1
  219. package/dist/ships/modules-core.d.ts +3 -3
  220. package/dist/ships/modules-hardpoint.d.ts +4 -5
  221. package/dist/ships/modules-hardpoint.js +1 -1
  222. package/dist/ships/modules-internal.d.ts +19 -9
  223. package/dist/ships/modules-internal.js +1 -1
  224. package/dist/ships/modules-utility.d.ts +3 -4
  225. package/dist/ships/modules-utility.js +1 -1
  226. package/dist/ships/modules.d.ts +31 -25
  227. package/dist/ships/modules.js +1 -1
  228. package/dist/ships/pre-engineered-stats.d.ts +1 -1
  229. package/dist/ships/pre-engineered-stats.js +1 -1
  230. package/dist/ships/pre-engineered.d.ts +9 -10
  231. package/dist/ships/pre-engineered.js +1 -1
  232. package/dist/ships/ship-loadout.d.ts +13 -7
  233. package/dist/ships/ship-loadout.js +1 -1
  234. package/dist/ships/ships.d.ts +1 -2
  235. package/dist/ships/ships.js +1 -1
  236. package/dist/ships/slots.d.ts +5 -5
  237. package/dist/suits-B37rAORs.d.ts +414 -0
  238. package/dist/{system-address-cyJaeZIS.d.ts → system-address-DmzXRD48.d.ts} +6 -4
  239. package/package.json +25 -1
  240. package/dist/chunk-4U7KYQGK.js +0 -1
  241. package/dist/chunk-4U7KYQGK.js.map +0 -1
  242. package/dist/chunk-6GJHUWMO.js +0 -1
  243. package/dist/chunk-6GJHUWMO.js.map +0 -1
  244. package/dist/chunk-77TT4K53.js +0 -1
  245. package/dist/chunk-B7EYTZRK.js +0 -1
  246. package/dist/chunk-B7EYTZRK.js.map +0 -1
  247. package/dist/chunk-C5HG4GJI.js +0 -1
  248. package/dist/chunk-C5HG4GJI.js.map +0 -1
  249. package/dist/chunk-F7VWRDSL.js.map +0 -1
  250. package/dist/chunk-KLC5XT6F.js +0 -1
  251. package/dist/chunk-KLC5XT6F.js.map +0 -1
  252. package/dist/chunk-MGRDB2BZ.js +0 -1
  253. package/dist/chunk-QJECDMQQ.js +0 -1
  254. package/dist/chunk-TSEDU73T.js +0 -1
  255. package/dist/chunk-TSEDU73T.js.map +0 -1
  256. package/dist/chunk-XRGECU7S.js +0 -1
  257. package/dist/chunk-XRGECU7S.js.map +0 -1
  258. /package/dist/{chunk-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
  259. /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
  260. /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
  261. /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
  262. /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
  263. /package/dist/{chunk-A6OINYNP.js.map → chunk-R2AEZYX7.js.map} +0 -0
  264. /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
  265. /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
  266. /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ships/modules-internal.ts"],"names":["buildModuleCatalogue","modules_internal_default","INTERNAL_MODULES"],"mappings":"O,q0/HAsCO,IAAME,iBAAgDF,qBACzDC,yBACA,mBACJC"}
1
+ {"version":3,"sources":["../src/ships/modules-internal.ts"],"names":["buildModuleCatalogue","modules_internal_default","INTERNAL_MODULES"],"mappings":"O,uqkIAgDO,IAAME,iBAAgDF,qBACzDC,yBACA,mBACJC"}
@@ -0,0 +1 @@
1
+ import{findByRawKey}from"./chunk-BKWLI44T.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var modifications_default={suit_increasedmeleedamage:{name:"Added Melee Damage",target:"suit",engineers:["Jude Navarro","Kit Fowler","Eleanor Bresa"],modifiers:[{stat:"meleeDamage",multiplier:2.5}]},suit_adsmovementspeed:{name:"Combat Movement Speed",target:"suit",engineers:["Terra Velasquez","Yarden Bond","Baltanos"],modifiers:[]},suit_improvedarmourrating:{name:"Damage Resistance",target:"suit",engineers:["Jude Navarro","Uma Laszlo","Eleanor Bresa"],modifiers:[{stat:"kineticResistance",multiplier:.9},{stat:"thermalResistance",multiplier:.9},{stat:"plasmaResistance",multiplier:.9},{stat:"explosiveResistance",multiplier:.9}]},suit_improvedradar:{name:"Enhanced Tracking",target:"suit",engineers:["Domino Green","Oden Geiger","Rosa Dayette"],modifiers:[{stat:"losAnalysisRange",multiplier:2},{stat:"losAnalysisTime",multiplier:.001}]},suit_increasedammoreserves:{name:"Extra Ammo Capacity",target:"suit",engineers:["Jude Navarro","Kit Fowler","Eleanor Bresa"],modifiers:[{stat:"reserveAmmo",multiplier:1.5}]},suit_backpackcapacity:{name:"Extra Backpack Capacity",target:"suit",engineers:["Domino Green","Wellington Beck","Rosa Dayette"],modifiers:[{stat:"goodsCapacity",multiplier:2},{stat:"assetsCapacity",multiplier:2},{stat:"dataCapacity",multiplier:2}]},suit_increasedshieldregen:{name:"Faster Shield Regen",target:"suit",engineers:["Kit Fowler","Uma Laszlo","Eleanor Bresa"],modifiers:[{stat:"shieldRegeneration",multiplier:1.25}]},suit_increasedbatterycapacity:{name:"Improved Battery Capacity",target:"suit",engineers:["Oden Geiger","Wellington Beck","Rosa Dayette"],modifiers:[{stat:"batteryCapacity",multiplier:1.5}]},suit_improvedjumpassist:{name:"Improved Jump Assist",target:"suit",engineers:["Hero Ferrari","Yarden Bond","Baltanos"],modifiers:[]},suit_increasedo2capacity:{name:"Increased Air Reserves",target:"suit",engineers:["Hero Ferrari","Terra Velasquez","Baltanos"],modifiers:[{stat:"oxygenTime",multiplier:5}]},suit_increasedsprintduration:{name:"Increased Sprint Duration",target:"suit",engineers:["Hero Ferrari","Terra Velasquez","Baltanos"],modifiers:[{stat:"sprintDuration",multiplier:2}]},suit_nightvision:{name:"Night Vision",target:"suit",engineers:["Oden Geiger","Yi Shen"],modifiers:[]},suit_quieterfootsteps:{name:"Quieter Footsteps",target:"suit",engineers:["Yarden Bond","Yi Shen"],modifiers:[{stat:"footstepAudibleRange",multiplier:.5}]},suit_reducedtoolbatteryconsumption:{name:"Reduced Tool Battery Consumption",target:"suit",engineers:["Domino Green","Wellington Beck","Rosa Dayette"],modifiers:[{stat:"toolEnergyDrain",multiplier:.5}]},weapon_suppression_unpressurised:{name:"Audio Masking",target:"weapon",engineers:["Yarden Bond","Yi Shen"],modifiers:[{stat:"unpressurisedFiringAudibleRange",multiplier:.05}]},weapon_handling:{name:"Faster Handling",target:"weapon",engineers:["Hero Ferrari","Yarden Bond","Baltanos"],modifiers:[]},weapon_range_kinetic:{name:"Greater Range",target:"weapon",engineers:["Domino Green","Wellington Beck","Rosa Dayette"],modifiers:[{stat:"effectiveRange",multiplier:1.5}]},weapon_range_laser:{name:"Greater Range",target:"weapon",engineers:["Domino Green","Wellington Beck","Rosa Dayette"],modifiers:[{stat:"effectiveRange",multiplier:1.5}]},weapon_range_plasma:{name:"Greater Range",target:"weapon",engineers:["Domino Green","Wellington Beck","Rosa Dayette"],modifiers:[{stat:"effectiveRange",multiplier:1.5}]},weapon_headshotdamage_kinetic:{name:"Headshot Damage",target:"weapon",engineers:["Uma Laszlo","Yi Shen"],modifiers:[{stat:"headshotMultiplier",multiplier:1.5}]},weapon_headshotdamage_laser:{name:"Headshot Damage",target:"weapon",engineers:["Uma Laszlo","Yi Shen"],modifiers:[{stat:"headshotMultiplier",multiplier:1.5}]},weapon_headshotdamage_plasma:{name:"Headshot Damage",target:"weapon",engineers:["Uma Laszlo","Yi Shen"],modifiers:[{stat:"headshotMultiplier",multiplier:1.5}]},weapon_accuracy_kinetic:{name:"Improved Hip Fire Accuracy",target:"weapon",engineers:["Yarden Bond","Terra Velasquez","Baltanos"],modifiers:[]},weapon_accuracy_laser:{name:"Improved Hip Fire Accuracy",target:"weapon",engineers:["Yarden Bond","Terra Velasquez","Baltanos"],modifiers:[]},weapon_accuracy_plasma:{name:"Improved Hip Fire Accuracy",target:"weapon",engineers:["Yarden Bond","Terra Velasquez","Baltanos"],modifiers:[]},weapon_clipsize:{name:"Magazine Size",target:"weapon",engineers:["Jude Navarro","Kit Fowler","Eleanor Bresa"],modifiers:[{stat:"magazineSize",multiplier:1.5,roundUp:true}]},weapon_suppression_pressurised:{name:"Noise Suppressor",target:"weapon",engineers:["Hero Ferrari","Terra Velasquez","Baltanos"],modifiers:[{stat:"pressurisedFiringAudibleRange",multiplier:.05}]},weapon_reloadspeed:{name:"Reload Speed",target:"weapon",engineers:["Jude Navarro","Uma Laszlo","Eleanor Bresa"],modifiers:[]},weapon_scope:{name:"Scope",target:"weapon",engineers:["Oden Geiger","Wellington Beck","Rosa Dayette"],modifiers:[]},weapon_stability:{name:"Stability",target:"weapon",engineers:["Domino Green","Oden Geiger","Rosa Dayette"],modifiers:[]},weapon_backpackreloading:{name:"Stowed reloading",target:"weapon",engineers:["Kit Fowler","Uma Laszlo","Eleanor Bresa"],modifiers:[]}};var PERSONAL_MODIFICATIONS=deepFreeze(modifications_default);function getPersonalModification(symbol){return findByRawKey(PERSONAL_MODIFICATIONS,symbol,"getPersonalModification: symbol")}export{PERSONAL_MODIFICATIONS,getPersonalModification};//# sourceMappingURL=chunk-AC3U7LRK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/equipment/modifications.ts"],"names":["findByRawKey","deepFreeze","modifications_default","PERSONAL_MODIFICATIONS","getPersonalModification","symbol"],"mappings":"O,0rHAgDO,IAAMG,uBAAyEF,WAClFC,uBAkBG,SAASE,wBAAwBC,QACpC,OAAOL,aAAaG,uBAAwBE,OAAQ,kCACxD,QAAAF,uBAAAC"}
1
+ {"version":3,"sources":["../src/equipment/modifications.ts"],"names":["findByRawKey","deepFreeze","modifications_default","PERSONAL_MODIFICATIONS","getPersonalModification","symbol"],"mappings":"O,+nKA8EO,IAAMG,uBAAyEF,WAClFC,uBAkBG,SAASE,wBAAwBC,QACpC,OAAOL,aAAaG,uBAAwBE,OAAQ,kCACxD,QAAAF,uBAAAC"}
@@ -1 +1 @@
1
- import{filterByKey}from"./chunk-BKWLI44T.js";import{requireStringIfPresent}from"./chunk-PKWVG2JY.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var pre_engineered_default=[{symbol:"Hpt_Mining_AbrBlstr_Fixed_Small",name:"Far-Reaching Abrasion Blaster",blueprintSymbol:"AbrasionBlaster_FarReaching",grade:1,acquisition:"mercenary",mercCoinCost:400},{symbol:"Hpt_CausticMissile_Fixed_Medium",name:"High-Yield Enzyme Missile Rack",blueprintSymbol:"EnzymeMissileRack_HighYield",grade:1,acquisition:"mercenary",mercCoinCost:850},{symbol:"Hpt_Slugshot_Gimbal_Small",name:"Double Screaming Fragment Cannon",blueprintSymbol:"FragmentCannonSmall_DoubleScreaming",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_screening_shell",mercCoinCost:800},{symbol:"Hpt_Slugshot_Gimbal_Large",name:"Double Screaming Fragment Cannon",blueprintSymbol:"FragmentCannonLarge_DoubleScreaming",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_screening_shell",mercCoinCost:950},{symbol:"Hpt_MiningLaser_Fixed_Small",name:"Long Range Mining Laser",blueprintSymbol:"MiningLaser_LongRange",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_incendiary_rounds",mercCoinCost:450},{symbol:"Hpt_MultiCannon_Fixed_Medium",name:"Rapid Phase Multi-Cannon",blueprintSymbol:"MultiCannon_Rapid",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_phasing_sequence",mercCoinCost:850},{symbol:"Hpt_Railgun_Fixed_Medium",name:"Enduring Feedback Rail Gun",blueprintSymbol:"RailGun_LongShot",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_feedback_cascade_cooled",mercCoinCost:950},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Drag Seeker Missile Rack",blueprintSymbol:"SeekerMissileRack_Drag",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_drag_munitions",mercCoinCost:800},{symbol:"Hpt_BasicMissileRack_Fixed_Large",name:"Drag Seeker Missile Rack",blueprintSymbol:"SeekerMissileRack_Drag",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_drag_munitions",mercCoinCost:900},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Lightweight Thermal Seeker Missile Rack",blueprintSymbol:"SeekerMissileRack_LightWeightThermal",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_thermal_cascade",mercCoinCost:800},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Lockdown Seeker Missile Rack",blueprintSymbol:"SeekerMissileRackMedium_Lockdown",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_fsd_interrupt",mercCoinCost:800},{symbol:"Hpt_BasicMissileRack_Fixed_Large",name:"Lockdown Seeker Missile Rack",blueprintSymbol:"SeekerMissileRackLarge_Lockdown",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_fsd_interrupt",mercCoinCost:900},{symbol:"Int_CargoRack_Size5_Class1",name:"Extended Cargo Rack",blueprintSymbol:"CargoRackS5C1_Extended",grade:1,acquisition:"mercenary",mercCoinCost:550},{symbol:"Int_CargoRack_Size6_Class1",name:"Extended Cargo Rack",blueprintSymbol:"CargoRackS6C1_Extended",grade:1,acquisition:"mercenary",mercCoinCost:550},{symbol:"Int_DetailedSurfaceScanner_Tiny",name:"Long Range Detailed Surface Scanner",blueprintSymbol:"DetailedSurfaceScanner_LongRange",grade:1,acquisition:"mercenary",mercCoinCost:350},{symbol:"Int_ModuleReinforcement_Size5_Class2",name:"Heavy Duty Module Reinforcement Package",blueprintSymbol:"ModuleReinforcement_HeavyDuty",grade:1,acquisition:"mercenary",mercCoinCost:450},{symbol:"Int_PowerDistributor_Size3_Class2",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS3C2_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:300},{symbol:"Int_PowerDistributor_Size3_Class5",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS3C5_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:350},{symbol:"Int_PowerDistributor_Size4_Class2",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS4C2_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:400},{symbol:"Int_PowerDistributor_Size4_Class5",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS4C5_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:450},{symbol:"Int_PowerDistributor_Size5_Class5",name:"Balanced Power Distributor",blueprintSymbol:"PowerDistributor_Balanced",grade:1,acquisition:"mercenary",mercCoinCost:500},{symbol:"Int_PowerDistributor_Size6_Class5",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS6C5_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:550},{symbol:"Hpt_Mining_AbrBlstr_Fixed_Small",name:"Abrasion Blaster",blueprintSymbol:"Weapon_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"DistributorDraw",method:"multiplicative",value:-.5},{label:"FalloffRange",method:"multiplicative",value:4},{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaximumRange",method:"multiplicative",value:4},{label:"PowerDraw",method:"multiplicative",value:-.5},{label:"ThermalLoad",method:"multiplicative",value:-.5}]},{symbol:"Hpt_CausticMissile_Fixed_Medium",name:"Enzyme Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:.75},{label:"AmmoMaximum",method:"multiplicative",value:.25},{label:"Damage",method:"multiplicative",value:.5},{label:"Mass",method:"multiplicative",value:.6},{label:"PowerDraw",method:"multiplicative",value:.2}]},{symbol:"Hpt_Slugshot_Gimbal_Small",name:"Fragment Cannon",blueprintSymbol:"Weapon_DoubleShot",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_screening_shell",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1.6667},{label:"AmmoMaximum",method:"multiplicative",value:.67776},{label:"BurstInterval",method:"multiplicative",value:-.06},{label:"BurstSize",method:"overwrite",value:2},{label:"Mass",method:"multiplicative",value:.6},{label:"MaximumRange",method:"multiplicative",value:-.1},{label:"PowerDraw",method:"multiplicative",value:.2}]},{symbol:"Hpt_Slugshot_Gimbal_Large",name:"Fragment Cannon",blueprintSymbol:"Weapon_DoubleShot",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_screening_shell",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1.6667},{label:"AmmoMaximum",method:"multiplicative",value:.67776},{label:"BurstInterval",method:"multiplicative",value:-.06},{label:"BurstSize",method:"overwrite",value:2},{label:"Mass",method:"multiplicative",value:.6},{label:"MaximumRange",method:"multiplicative",value:-.1},{label:"PowerDraw",method:"multiplicative",value:.2}]},{symbol:"Hpt_Guardian_ShardCannon_Fixed_Medium",name:"Guardian Shard Cannon",blueprintSymbol:"Weapon_LongRange",grade:5,acquisition:"communityGoal",engineeringLocked:true,modifiers:[{label:"ArmourPenetration",method:"multiplicative",value:1.02},{label:"DistributorDraw",method:"multiplicative",value:5.05},{label:"Jitter",method:"additive",value:-3.5},{label:"Mass",method:"multiplicative",value:.5},{label:"MaximumRange",method:"multiplicative",value:4},{label:"PowerDraw",method:"multiplicative",value:1.3},{label:"ShotSpeed",method:"overwrite",value:1258.89},{label:"ThermalLoad",method:"multiplicative",value:15.5}]},{symbol:"Hpt_MultiCannon_Fixed_Medium",name:"Multi-Cannon",blueprintSymbol:"Weapon_RapidFire",grade:1,acquisition:"communityGoal",experimentalEffectSymbol:"special_phasing_sequence",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:3},{label:"AmmoMaximum",method:"overwrite",value:6400},{label:"BurstInterval",method:"overwrite",value:.1},{label:"FalloffRange",method:"multiplicative",value:-.1},{label:"Jitter",method:"additive",value:3},{label:"MaximumRange",method:"multiplicative",value:-.5},{label:"RoundsPerShot",method:"additive",value:2}]},{symbol:"Hpt_Railgun_Fixed_Medium",name:"Rail Gun",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_feedback_cascade_cooled",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.61145},{label:"FalloffRange",method:"multiplicative",value:5},{label:"Mass",method:"multiplicative",value:.9},{label:"MaximumRange",method:"multiplicative",value:1},{label:"PowerDraw",method:"multiplicative",value:.65},{label:"ReloadTime",method:"multiplicative",value:.25}]},{symbol:"Hpt_Railgun_Fixed_Medium_Burst",name:"Imperial Hammer Rail Gun",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_super_penetrator",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.2635},{label:"Damage",method:"multiplicative",value:-.2},{label:"Mass",method:"multiplicative",value:.7},{label:"PowerDraw",method:"multiplicative",value:.25}]},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Seeker Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:1,acquisition:"communityGoal",experimentalEffectSymbol:"special_drag_munitions",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:2},{label:"AmmoMaximum",method:"multiplicative",value:2},{label:"BurstInterval",method:"multiplicative",value:-.2},{label:"DistributorDraw",method:"overwrite",value:.34},{label:"Mass",method:"multiplicative",value:1.5},{label:"PowerDraw",method:"multiplicative",value:.25}]},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Seeker Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_fsd_interrupt",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"ArmourPenetration",method:"multiplicative",value:.4},{label:"BurstInterval",method:"multiplicative",value:-.1},{label:"Damage",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:1},{label:"Mass",method:"multiplicative",value:1.2},{label:"PowerDraw",method:"multiplicative",value:.3},{label:"ThermalLoad",method:"multiplicative",value:-.1}]},{symbol:"Hpt_BasicMissileRack_Fixed_Large",name:"Seeker Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_fsd_interrupt",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"ArmourPenetration",method:"multiplicative",value:.4},{label:"BurstInterval",method:"multiplicative",value:-.1},{label:"Damage",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:1},{label:"Mass",method:"multiplicative",value:1.2},{label:"PowerDraw",method:"multiplicative",value:.3},{label:"ThermalLoad",method:"multiplicative",value:-.1}]},{symbol:"Hpt_ElectronicCountermeasure_Tiny",name:"Electronic Countermeasure",blueprintSymbol:"Misc_LightWeight",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:1},{label:"Mass",method:"multiplicative",value:-.85},{label:"PowerDraw",method:"multiplicative",value:1}]},{symbol:"Hpt_CrimeScanner_Size0_Class5",name:"Kill Warrant Scanner",blueprintSymbol:"Sensor_FastScan",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaxAngle",method:"multiplicative",value:-.3},{label:"PowerDraw",method:"multiplicative",value:.5},{label:"ScannerRange",method:"multiplicative",value:.65},{label:"ScannerTimeToScan",method:"multiplicative",value:-.8}]},{symbol:"Hpt_CrimeScanner_Size0_Class3",name:"Kill Warrant Scanner",blueprintSymbol:"Sensor_FastScan",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaxAngle",method:"multiplicative",value:-.3},{label:"PowerDraw",method:"multiplicative",value:.5},{label:"ScannerRange",method:"multiplicative",value:.65},{label:"ScannerTimeToScan",method:"multiplicative",value:-.8}]},{symbol:"Hpt_PlasmaPointDefence_Turret_Tiny",name:"Point Defence",blueprintSymbol:"Misc_LightWeight",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:-.5},{label:"Mass",method:"multiplicative",value:-.85},{label:"MaximumRange",method:"multiplicative",value:1},{label:"ThermalLoad",method:"multiplicative",value:.05}]},{symbol:"Int_PowerDistributor_Size3_Class5",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size3_Class2",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size4_Class5",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size4_Class2",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size6_Class5",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_Powerplant_Size3_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Armoured",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.13},{label:"Integrity",method:"multiplicative",value:.95},{label:"Mass",method:"multiplicative",value:.2},{label:"PowerCapacity",method:"multiplicative",value:.52}]},{symbol:"Int_Powerplant_Size3_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Boosted",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:-.3},{label:"PowerCapacity",method:"multiplicative",value:.6}]},{symbol:"Int_Powerplant_Size4_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Boosted",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:-.3},{label:"PowerCapacity",method:"multiplicative",value:.6}]},{symbol:"Int_Powerplant_Size5_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Boosted",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.35},{label:"Integrity",method:"overwrite",value:74},{label:"PowerCapacity",method:"multiplicative",value:.6}]},{symbol:"Int_Hyperdrive_Size3_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Size4_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Size6_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_CargoRack_Size5_Class1",name:"Cargo Rack",blueprintSymbol:"CargoRack_IncreasedCapacity",grade:5,acquisition:"communityGoal",modifiers:[{label:"CargoCapacity",method:"multiplicative",value:.34375}]},{symbol:"Int_CargoRack_Size6_Class1",name:"Cargo Rack",blueprintSymbol:"CargoRack_IncreasedCapacity",grade:5,acquisition:"communityGoal",modifiers:[{label:"CargoCapacity",method:"multiplicative",value:.34375}]},{symbol:"Int_ShieldGenerator_Size3_Class5",name:"Shield Generator",blueprintSymbol:"ShieldGenerator_Kinetic",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:.2},{label:"KineticResistance",method:"additive",value:.18},{label:"PowerDraw",method:"multiplicative",value:.4},{label:"ThermicResistance",method:"additive",value:.42}]},{symbol:"Hpt_ATDumbfireMissile_Fixed_Medium",name:"Sirius AX Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.3},{label:"Damage",method:"multiplicative",value:-.03},{label:"DistributorDraw",method:"multiplicative",value:-.2},{label:"Jitter",method:"additive",value:.5},{label:"Mass",method:"multiplicative",value:.7},{label:"PowerDraw",method:"multiplicative",value:.2},{label:"ReloadTime",method:"multiplicative",value:-.45}]},{symbol:"Hpt_ATDumbfireMissile_Fixed_Large",name:"Sirius AX Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.3},{label:"Damage",method:"multiplicative",value:-.03},{label:"DistributorDraw",method:"multiplicative",value:-.2},{label:"Jitter",method:"additive",value:.5},{label:"Mass",method:"multiplicative",value:.7},{label:"PowerDraw",method:"multiplicative",value:.2},{label:"ReloadTime",method:"multiplicative",value:-.45}]},{symbol:"Hpt_ATMultiCannon_Gimbal_Medium",name:"Azimuth Enhanced AX Multi-Cannon",blueprintSymbol:"Weapon_Overcharged",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_auto_loader",engineeringLocked:true,modifiers:[{label:"Damage",method:"multiplicative",value:.1},{label:"PowerDraw",method:"multiplicative",value:.75},{label:"ThermalLoad",method:"multiplicative",value:3}]},{symbol:"Hpt_ATMultiCannon_Gimbal_Large",name:"Azimuth Enhanced AX Multi-Cannon",blueprintSymbol:"Weapon_Overcharged",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_auto_loader",engineeringLocked:true,modifiers:[{label:"Damage",method:"multiplicative",value:.1},{label:"PowerDraw",method:"multiplicative",value:.75},{label:"ThermalLoad",method:"multiplicative",value:3}]},{symbol:"Hpt_Guardian_GaussCannon_Fixed_Small",name:"Modified Guardian Gauss Cannon",blueprintSymbol:"Weapon_RapidFire",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:3},{label:"AmmoMaximum",method:"multiplicative",value:4},{label:"BurstInterval",method:"multiplicative",value:-.38237},{label:"BurstRateOfFire",method:"overwrite",value:10},{label:"BurstSize",method:"overwrite",value:4},{label:"Damage",method:"multiplicative",value:-.75214},{label:"DistributorDraw",method:"multiplicative",value:-.75},{label:"FalloffRange",method:"multiplicative",value:-.2},{label:"ThermalLoad",method:"multiplicative",value:-.75}]},{symbol:"Hpt_Guardian_GaussCannon_Fixed_Medium",name:"Modified Guardian Gauss Cannon",blueprintSymbol:"Weapon_RapidFire",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:3},{label:"AmmoMaximum",method:"multiplicative",value:4},{label:"BurstInterval",method:"multiplicative",value:-.38237},{label:"BurstRateOfFire",method:"overwrite",value:10},{label:"BurstSize",method:"overwrite",value:4},{label:"Damage",method:"multiplicative",value:-.75214},{label:"DistributorDraw",method:"multiplicative",value:-.75},{label:"FalloffRange",method:"multiplicative",value:-.2},{label:"ThermalLoad",method:"multiplicative",value:-.75}]},{symbol:"Hpt_Guardian_PlasmaLauncher_Fixed_Small",name:"Modified Guardian Plasma Charger",blueprintSymbol:"Weapon_Overcharged",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"overwrite",value:20},{label:"ArmourPenetration",method:"multiplicative",value:.375},{label:"Damage",method:"multiplicative",value:.66},{label:"PowerDraw",method:"multiplicative",value:.3239},{label:"ShotSpeed",method:"multiplicative",value:4},{label:"ThermalLoad",method:"multiplicative",value:.5}]},{symbol:"Hpt_Guardian_PlasmaLauncher_Fixed_Medium",name:"Modified Guardian Plasma Charger",blueprintSymbol:"Weapon_Overcharged",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"overwrite",value:20},{label:"ArmourPenetration",method:"multiplicative",value:.375},{label:"Damage",method:"multiplicative",value:.66},{label:"PowerDraw",method:"multiplicative",value:.3239},{label:"ShotSpeed",method:"multiplicative",value:4},{label:"ThermalLoad",method:"multiplicative",value:.5}]},{symbol:"Hpt_Guardian_ShardCannon_Fixed_Small",name:"Modified Guardian Shard Cannon",blueprintSymbol:"Weapon_LongRange",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"ArmourPenetration",method:"multiplicative",value:1.02},{label:"DistributorDraw",method:"multiplicative",value:4.2769},{label:"FalloffRange",method:"overwrite",value:1500},{label:"Jitter",method:"additive",value:-3.5},{label:"Mass",method:"multiplicative",value:.5},{label:"MaximumRange",method:"overwrite",value:3e3},{label:"PowerDraw",method:"multiplicative",value:1.3},{label:"ShotSpeed",method:"overwrite",value:3568.6},{label:"ThermalLoad",method:"multiplicative",value:15.5}]},{symbol:"Hpt_Guardian_ShardCannon_Fixed_Medium",name:"Modified Guardian Shard Cannon",blueprintSymbol:"Weapon_LongRange",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"ArmourPenetration",method:"multiplicative",value:1.02},{label:"DistributorDraw",method:"overwrite",value:3.43},{label:"FalloffRange",method:"overwrite",value:1500},{label:"Jitter",method:"additive",value:-3.5},{label:"Mass",method:"multiplicative",value:.5},{label:"MaximumRange",method:"overwrite",value:3e3},{label:"PowerDraw",method:"multiplicative",value:1.3},{label:"ShotSpeed",method:"overwrite",value:6299.209},{label:"ThermalLoad",method:"multiplicative",value:15.5}]},{symbol:"Hpt_MiningLaser_Fixed_Small",name:"Mining Laser",blueprintSymbol:"Weapon_LongRange",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_incendiary_rounds",modifiers:[{label:"Damage",method:"multiplicative",value:-.05},{label:"DistributorDraw",method:"multiplicative",value:-.5},{label:"FalloffRange",method:"multiplicative",value:7.3333},{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaximumRange",method:"multiplicative",value:4},{label:"PowerDraw",method:"multiplicative",value:-.5},{label:"ThermalLoad",method:"multiplicative",value:-.83}]},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Seeker Missile Rack V1",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_thermal_cascade",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.1},{label:"DistributorDraw",method:"multiplicative",value:-.4},{label:"Integrity",method:"multiplicative",value:-.6},{label:"Mass",method:"multiplicative",value:-.9},{label:"PowerDraw",method:"multiplicative",value:-.2}]},{symbol:"Hpt_HeatSinkLauncher_Turret_Tiny",name:"Sirius Heat Sink Launcher",blueprintSymbol:"Misc_HeatSinkCapacity",grade:1,acquisition:"techBroker",modifiers:[{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"ReloadTime",method:"multiplicative",value:.75}]},{symbol:"Int_Hyperdrive_Size5_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size2_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size3_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size4_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size5_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size6_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size7_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_DetailedSurfaceScanner_Tiny",name:"Detailed Surface Scanner V1",blueprintSymbol:"Sensor_Expanded",grade:5,acquisition:"techBroker",modifiers:[{label:"DSS_PatchRadius",method:"multiplicative",value:1}]},{symbol:"Hpt_FlakMortar_Turret_Medium",name:"Festive Green Remote Release Flak Launcher",blueprintSymbol:"Decorative_Green",grade:5,acquisition:"eventReward",modifiers:[{label:"Damage",method:"multiplicative",value:-.99}]},{symbol:"Hpt_FlakMortar_Turret_Medium",name:"Festive Red Remote Release Flak Launcher",blueprintSymbol:"Decorative_Red",grade:5,acquisition:"eventReward",modifiers:[{label:"Damage",method:"multiplicative",value:-.99}]},{symbol:"Hpt_FlakMortar_Turret_Medium",name:"Festive Yellow Remote Release Flak Launcher",blueprintSymbol:"Decorative_Yellow",grade:5,acquisition:"eventReward",modifiers:[{label:"Damage",method:"multiplicative",value:-.99}]}];var PRE_ENGINEERED_MODULES=deepFreeze(pre_engineered_default);function getPreEngineeredVariants(symbol){return filterByKey(PRE_ENGINEERED_MODULES,"symbol",symbol,"getPreEngineeredVariants: symbol")}function isPreEngineered(symbol){requireStringIfPresent(symbol,"isPreEngineered: symbol");return getPreEngineeredVariants(symbol).length>0}export{PRE_ENGINEERED_MODULES,getPreEngineeredVariants,isPreEngineered};//# sourceMappingURL=chunk-BJU27V6C.js.map
1
+ import{filterByKey}from"./chunk-BKWLI44T.js";import{requireStringIfPresent}from"./chunk-PKWVG2JY.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var pre_engineered_default=[{symbol:"Hpt_Mining_AbrBlstr_Fixed_Small",name:"Far-Reaching Abrasion Blaster",blueprintSymbol:"AbrasionBlaster_FarReaching",grade:1,acquisition:"mercenary",mercCoinCost:400},{symbol:"Hpt_CausticMissile_Fixed_Medium",name:"High-Yield Enzyme Missile Rack",blueprintSymbol:"EnzymeMissileRack_HighYield",grade:1,acquisition:"mercenary",mercCoinCost:850},{symbol:"Hpt_Slugshot_Gimbal_Small",name:"Double Screaming Fragment Cannon",blueprintSymbol:"FragmentCannonSmall_DoubleScreaming",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_screening_shell",mercCoinCost:800},{symbol:"Hpt_Slugshot_Gimbal_Large",name:"Double Screaming Fragment Cannon",blueprintSymbol:"FragmentCannonLarge_DoubleScreaming",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_screening_shell",mercCoinCost:950},{symbol:"Hpt_MiningLaser_Fixed_Small",name:"Long Range Mining Laser",blueprintSymbol:"MiningLaser_LongRange",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_incendiary_rounds",mercCoinCost:450},{symbol:"Hpt_MultiCannon_Fixed_Medium",name:"Rapid Phase Multi-Cannon",blueprintSymbol:"MultiCannon_Rapid",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_phasing_sequence",mercCoinCost:850},{symbol:"Hpt_Railgun_Fixed_Medium",name:"Enduring Feedback Rail Gun",blueprintSymbol:"RailGun_LongShot",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_feedback_cascade_cooled",mercCoinCost:950},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Drag Seeker Missile Rack",blueprintSymbol:"SeekerMissileRack_Drag",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_drag_munitions",mercCoinCost:800},{symbol:"Hpt_BasicMissileRack_Fixed_Large",name:"Drag Seeker Missile Rack",blueprintSymbol:"SeekerMissileRack_Drag",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_drag_munitions",mercCoinCost:900},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Lightweight Thermal Seeker Missile Rack",blueprintSymbol:"SeekerMissileRack_LightWeightThermal",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_thermal_cascade",mercCoinCost:800},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Lockdown Seeker Missile Rack",blueprintSymbol:"SeekerMissileRackMedium_Lockdown",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_fsd_interrupt",mercCoinCost:800},{symbol:"Hpt_BasicMissileRack_Fixed_Large",name:"Lockdown Seeker Missile Rack",blueprintSymbol:"SeekerMissileRackLarge_Lockdown",grade:1,acquisition:"mercenary",experimentalEffectSymbol:"special_fsd_interrupt",mercCoinCost:900},{symbol:"Int_CargoRack_Size5_Class1",name:"Extended Cargo Rack",blueprintSymbol:"CargoRackS5C1_Extended",grade:1,acquisition:"mercenary",mercCoinCost:550},{symbol:"Int_CargoRack_Size6_Class1",name:"Extended Cargo Rack",blueprintSymbol:"CargoRackS6C1_Extended",grade:1,acquisition:"mercenary",mercCoinCost:550},{symbol:"Int_DetailedSurfaceScanner_Tiny",name:"Long Range Detailed Surface Scanner",blueprintSymbol:"DetailedSurfaceScanner_LongRange",grade:1,acquisition:"mercenary",mercCoinCost:350},{symbol:"Int_ModuleReinforcement_Size5_Class2",name:"Heavy Duty Module Reinforcement Package",blueprintSymbol:"ModuleReinforcement_HeavyDuty",grade:1,acquisition:"mercenary",mercCoinCost:450},{symbol:"Int_PowerDistributor_Size3_Class2",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS3C2_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:300},{symbol:"Int_PowerDistributor_Size3_Class5",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS3C5_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:350},{symbol:"Int_PowerDistributor_Size4_Class2",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS4C2_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:400},{symbol:"Int_PowerDistributor_Size4_Class5",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS4C5_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:450},{symbol:"Int_PowerDistributor_Size5_Class5",name:"Balanced Power Distributor",blueprintSymbol:"PowerDistributor_Balanced",grade:1,acquisition:"mercenary",mercCoinCost:500},{symbol:"Int_PowerDistributor_Size6_Class5",name:"Support Focused Power Distributor",blueprintSymbol:"PowerDistributorS6C5_SupportFocused",grade:1,acquisition:"mercenary",mercCoinCost:550},{symbol:"Hpt_Mining_AbrBlstr_Fixed_Small",name:"Abrasion Blaster",blueprintSymbol:"Weapon_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"DistributorDraw",method:"multiplicative",value:-.5},{label:"FalloffRange",method:"multiplicative",value:4},{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaximumRange",method:"multiplicative",value:4},{label:"PowerDraw",method:"multiplicative",value:-.5},{label:"ThermalLoad",method:"multiplicative",value:-.5}]},{symbol:"Hpt_CausticMissile_Fixed_Medium",name:"Enzyme Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:.75},{label:"AmmoMaximum",method:"multiplicative",value:.25},{label:"Damage",method:"multiplicative",value:.5},{label:"Mass",method:"multiplicative",value:.6},{label:"PowerDraw",method:"multiplicative",value:.2}]},{symbol:"Hpt_Slugshot_Gimbal_Small",name:"Fragment Cannon",blueprintSymbol:"Weapon_DoubleShot",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_screening_shell",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1.6667},{label:"AmmoMaximum",method:"multiplicative",value:.67776},{label:"BurstInterval",method:"multiplicative",value:-.06},{label:"BurstSize",method:"overwrite",value:2},{label:"Mass",method:"multiplicative",value:.6},{label:"MaximumRange",method:"multiplicative",value:-.1},{label:"PowerDraw",method:"multiplicative",value:.2}]},{symbol:"Hpt_Slugshot_Gimbal_Large",name:"Fragment Cannon",blueprintSymbol:"Weapon_DoubleShot",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_screening_shell",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1.6667},{label:"AmmoMaximum",method:"multiplicative",value:.67776},{label:"BurstInterval",method:"multiplicative",value:-.06},{label:"BurstSize",method:"overwrite",value:2},{label:"Mass",method:"multiplicative",value:.6},{label:"MaximumRange",method:"multiplicative",value:-.1},{label:"PowerDraw",method:"multiplicative",value:.2}]},{symbol:"Hpt_Guardian_ShardCannon_Fixed_Medium",name:"Guardian Shard Cannon",blueprintSymbol:"Weapon_LongRange",grade:5,acquisition:"communityGoal",engineeringLocked:true,modifiers:[{label:"ArmourPenetration",method:"multiplicative",value:1.02},{label:"DistributorDraw",method:"multiplicative",value:5.05},{label:"Jitter",method:"additive",value:-3.5},{label:"Mass",method:"multiplicative",value:.5},{label:"MaximumRange",method:"multiplicative",value:4},{label:"PowerDraw",method:"multiplicative",value:1.3},{label:"ShotSpeed",method:"overwrite",value:1258.89},{label:"ThermalLoad",method:"multiplicative",value:15.5}]},{symbol:"Hpt_MultiCannon_Fixed_Medium",name:"Multi-Cannon",blueprintSymbol:"Weapon_RapidFire",grade:1,acquisition:"communityGoal",experimentalEffectSymbol:"special_phasing_sequence",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:3},{label:"AmmoMaximum",method:"overwrite",value:6400},{label:"BurstInterval",method:"overwrite",value:.1},{label:"FalloffRange",method:"multiplicative",value:-.1},{label:"Jitter",method:"additive",value:3},{label:"MaximumRange",method:"multiplicative",value:-.5},{label:"RoundsPerShot",method:"additive",value:2}]},{symbol:"Hpt_Railgun_Fixed_Medium",name:"Rail Gun",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_feedback_cascade_cooled",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.61145},{label:"FalloffRange",method:"multiplicative",value:5},{label:"Mass",method:"multiplicative",value:.9},{label:"MaximumRange",method:"multiplicative",value:1},{label:"PowerDraw",method:"multiplicative",value:.65},{label:"ReloadTime",method:"multiplicative",value:.25}]},{symbol:"Hpt_Railgun_Fixed_Medium_Burst",name:"Imperial Hammer Rail Gun",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_super_penetrator",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.2635},{label:"Damage",method:"multiplicative",value:-.2},{label:"Mass",method:"multiplicative",value:.7},{label:"PowerDraw",method:"multiplicative",value:.25}]},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Seeker Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:1,acquisition:"communityGoal",experimentalEffectSymbol:"special_drag_munitions",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:2},{label:"AmmoMaximum",method:"multiplicative",value:2},{label:"BurstInterval",method:"multiplicative",value:-.2},{label:"DistributorDraw",method:"overwrite",value:.34},{label:"Mass",method:"multiplicative",value:1.5},{label:"PowerDraw",method:"multiplicative",value:.25}]},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Seeker Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_fsd_interrupt",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"ArmourPenetration",method:"multiplicative",value:.4},{label:"BurstInterval",method:"multiplicative",value:-.1},{label:"Damage",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:1},{label:"Mass",method:"multiplicative",value:1.2},{label:"PowerDraw",method:"multiplicative",value:.3},{label:"ThermalLoad",method:"multiplicative",value:-.1}]},{symbol:"Hpt_BasicMissileRack_Fixed_Large",name:"Seeker Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"communityGoal",experimentalEffectSymbol:"special_fsd_interrupt",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"ArmourPenetration",method:"multiplicative",value:.4},{label:"BurstInterval",method:"multiplicative",value:-.1},{label:"Damage",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:1},{label:"Mass",method:"multiplicative",value:1.2},{label:"PowerDraw",method:"multiplicative",value:.3},{label:"ThermalLoad",method:"multiplicative",value:-.1}]},{symbol:"Hpt_ElectronicCountermeasure_Tiny",name:"Electronic Countermeasure",blueprintSymbol:"Misc_LightWeight",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:1},{label:"Mass",method:"multiplicative",value:-.85},{label:"PowerDraw",method:"multiplicative",value:1}]},{symbol:"Hpt_CrimeScanner_Size0_Class5",name:"Kill Warrant Scanner",blueprintSymbol:"Sensor_FastScan",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaxAngle",method:"multiplicative",value:-.3},{label:"PowerDraw",method:"multiplicative",value:.5},{label:"ScannerRange",method:"multiplicative",value:.65},{label:"ScannerTimeToScan",method:"multiplicative",value:-.8}]},{symbol:"Hpt_CrimeScanner_Size0_Class3",name:"Kill Warrant Scanner",blueprintSymbol:"Sensor_FastScan",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaxAngle",method:"multiplicative",value:-.3},{label:"PowerDraw",method:"multiplicative",value:.5},{label:"ScannerRange",method:"multiplicative",value:.65},{label:"ScannerTimeToScan",method:"multiplicative",value:-.8}]},{symbol:"Hpt_PlasmaPointDefence_Turret_Tiny",name:"Point Defence",blueprintSymbol:"Misc_LightWeight",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:-.5},{label:"Mass",method:"multiplicative",value:-.85},{label:"MaximumRange",method:"multiplicative",value:1},{label:"ThermalLoad",method:"multiplicative",value:.05}]},{symbol:"Int_PowerDistributor_Size3_Class5",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size3_Class2",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size4_Class5",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size4_Class2",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_PowerDistributor_Size6_Class5",name:"Power Distributor",blueprintSymbol:"PowerDistributor_PrioritySystems",grade:5,acquisition:"communityGoal",modifiers:[{label:"EnginesCapacity",method:"multiplicative",value:.45},{label:"EnginesRecharge",method:"multiplicative",value:.4},{label:"SystemsCapacity",method:"multiplicative",value:.45},{label:"SystemsRecharge",method:"multiplicative",value:.4},{label:"WeaponsCapacity",method:"multiplicative",value:-.25},{label:"WeaponsRecharge",method:"multiplicative",value:-.2}]},{symbol:"Int_Powerplant_Size3_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Armoured",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.13},{label:"Integrity",method:"multiplicative",value:.95},{label:"Mass",method:"multiplicative",value:.2},{label:"PowerCapacity",method:"multiplicative",value:.52}]},{symbol:"Int_Powerplant_Size3_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Boosted",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:-.3},{label:"PowerCapacity",method:"multiplicative",value:.6}]},{symbol:"Int_Powerplant_Size4_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Boosted",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.35},{label:"Integrity",method:"multiplicative",value:-.3},{label:"PowerCapacity",method:"multiplicative",value:.6}]},{symbol:"Int_Powerplant_Size5_Class5",name:"Power Plant",blueprintSymbol:"PowerPlant_Boosted",grade:5,acquisition:"communityGoal",modifiers:[{label:"HeatEfficiency",method:"multiplicative",value:.35},{label:"Integrity",method:"overwrite",value:74},{label:"PowerCapacity",method:"multiplicative",value:.6}]},{symbol:"Int_Hyperdrive_Size3_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Size4_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Size6_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"communityGoal",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_CargoRack_Size5_Class1",name:"Cargo Rack",blueprintSymbol:"CargoRack_IncreasedCapacity",grade:5,acquisition:"communityGoal",modifiers:[{label:"CargoCapacity",method:"multiplicative",value:.34375}]},{symbol:"Int_CargoRack_Size6_Class1",name:"Cargo Rack",blueprintSymbol:"CargoRack_IncreasedCapacity",grade:5,acquisition:"communityGoal",modifiers:[{label:"CargoCapacity",method:"multiplicative",value:.34375}]},{symbol:"Int_ShieldGenerator_Size3_Class5",name:"Shield Generator",blueprintSymbol:"ShieldGenerator_Kinetic",grade:5,acquisition:"communityGoal",modifiers:[{label:"Integrity",method:"multiplicative",value:.2},{label:"KineticResistance",method:"additive",value:.18},{label:"PowerDraw",method:"multiplicative",value:.4},{label:"ThermicResistance",method:"additive",value:.42}]},{symbol:"Hpt_ATDumbfireMissile_Fixed_Medium",name:"Sirius AX Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.3},{label:"Damage",method:"multiplicative",value:-.03},{label:"DistributorDraw",method:"multiplicative",value:-.2},{label:"Jitter",method:"additive",value:.5},{label:"Mass",method:"multiplicative",value:.7},{label:"PowerDraw",method:"multiplicative",value:.2},{label:"ReloadTime",method:"multiplicative",value:-.45}]},{symbol:"Hpt_ATDumbfireMissile_Fixed_Large",name:"Sirius AX Missile Rack",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.3},{label:"Damage",method:"multiplicative",value:-.03},{label:"DistributorDraw",method:"multiplicative",value:-.2},{label:"Jitter",method:"additive",value:.5},{label:"Mass",method:"multiplicative",value:.7},{label:"PowerDraw",method:"multiplicative",value:.2},{label:"ReloadTime",method:"multiplicative",value:-.45}]},{symbol:"Hpt_ATMultiCannon_Gimbal_Medium",name:"Azimuth Enhanced AX Multi-Cannon",blueprintSymbol:"Weapon_Overcharged",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_auto_loader",engineeringLocked:true,modifiers:[{label:"Damage",method:"multiplicative",value:.1},{label:"PowerDraw",method:"multiplicative",value:.75},{label:"ThermalLoad",method:"multiplicative",value:3}]},{symbol:"Hpt_ATMultiCannon_Gimbal_Large",name:"Azimuth Enhanced AX Multi-Cannon",blueprintSymbol:"Weapon_Overcharged",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_auto_loader",engineeringLocked:true,modifiers:[{label:"Damage",method:"multiplicative",value:.1},{label:"PowerDraw",method:"multiplicative",value:.75},{label:"ThermalLoad",method:"multiplicative",value:3}]},{symbol:"Hpt_Guardian_GaussCannon_Fixed_Small",name:"Modified Guardian Gauss Cannon",blueprintSymbol:"Weapon_RapidFire",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:3},{label:"AmmoMaximum",method:"multiplicative",value:4},{label:"BurstInterval",method:"multiplicative",value:-.38237},{label:"BurstRateOfFire",method:"overwrite",value:10},{label:"BurstSize",method:"overwrite",value:4},{label:"Damage",method:"multiplicative",value:-.75214},{label:"DistributorDraw",method:"multiplicative",value:-.75},{label:"FalloffRange",method:"multiplicative",value:-.2},{label:"ThermalLoad",method:"multiplicative",value:-.75}]},{symbol:"Hpt_Guardian_GaussCannon_Fixed_Medium",name:"Modified Guardian Gauss Cannon",blueprintSymbol:"Weapon_RapidFire",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:3},{label:"AmmoMaximum",method:"multiplicative",value:4},{label:"BurstInterval",method:"multiplicative",value:-.38237},{label:"BurstRateOfFire",method:"overwrite",value:10},{label:"BurstSize",method:"overwrite",value:4},{label:"Damage",method:"multiplicative",value:-.75214},{label:"DistributorDraw",method:"multiplicative",value:-.75},{label:"FalloffRange",method:"multiplicative",value:-.2},{label:"ThermalLoad",method:"multiplicative",value:-.75}]},{symbol:"Hpt_Guardian_PlasmaLauncher_Fixed_Small",name:"Modified Guardian Plasma Charger",blueprintSymbol:"Weapon_Overcharged",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"overwrite",value:20},{label:"ArmourPenetration",method:"multiplicative",value:.375},{label:"Damage",method:"multiplicative",value:.66},{label:"PowerDraw",method:"multiplicative",value:.3239},{label:"ShotSpeed",method:"multiplicative",value:4},{label:"ThermalLoad",method:"multiplicative",value:.5}]},{symbol:"Hpt_Guardian_PlasmaLauncher_Fixed_Medium",name:"Modified Guardian Plasma Charger",blueprintSymbol:"Weapon_Overcharged",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"AmmoClipSize",method:"overwrite",value:20},{label:"ArmourPenetration",method:"multiplicative",value:.375},{label:"Damage",method:"multiplicative",value:.66},{label:"PowerDraw",method:"multiplicative",value:.3239},{label:"ShotSpeed",method:"multiplicative",value:4},{label:"ThermalLoad",method:"multiplicative",value:.5}]},{symbol:"Hpt_Guardian_ShardCannon_Fixed_Small",name:"Modified Guardian Shard Cannon",blueprintSymbol:"Weapon_LongRange",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"ArmourPenetration",method:"multiplicative",value:1.02},{label:"DistributorDraw",method:"multiplicative",value:4.2769},{label:"FalloffRange",method:"overwrite",value:1500},{label:"Jitter",method:"additive",value:-3.5},{label:"Mass",method:"multiplicative",value:.5},{label:"MaximumRange",method:"overwrite",value:3e3},{label:"PowerDraw",method:"multiplicative",value:1.3},{label:"ShotSpeed",method:"overwrite",value:3568.6},{label:"ThermalLoad",method:"multiplicative",value:15.5}]},{symbol:"Hpt_Guardian_ShardCannon_Fixed_Medium",name:"Modified Guardian Shard Cannon",blueprintSymbol:"Weapon_LongRange",grade:1,acquisition:"techBroker",engineeringLocked:true,modifiers:[{label:"ArmourPenetration",method:"multiplicative",value:1.02},{label:"DistributorDraw",method:"overwrite",value:3.43},{label:"FalloffRange",method:"overwrite",value:1500},{label:"Jitter",method:"additive",value:-3.5},{label:"Mass",method:"multiplicative",value:.5},{label:"MaximumRange",method:"overwrite",value:3e3},{label:"PowerDraw",method:"multiplicative",value:1.3},{label:"ShotSpeed",method:"overwrite",value:6299.209},{label:"ThermalLoad",method:"multiplicative",value:15.5}]},{symbol:"Hpt_MiningLaser_Fixed_Small",name:"Mining Laser",blueprintSymbol:"Weapon_LongRange",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_incendiary_rounds",modifiers:[{label:"Damage",method:"multiplicative",value:-.05},{label:"DistributorDraw",method:"multiplicative",value:-.5},{label:"FalloffRange",method:"multiplicative",value:7.3333},{label:"Integrity",method:"multiplicative",value:-.5},{label:"MaximumRange",method:"multiplicative",value:4},{label:"PowerDraw",method:"multiplicative",value:-.5},{label:"ThermalLoad",method:"multiplicative",value:-.83}]},{symbol:"Hpt_BasicMissileRack_Fixed_Medium",name:"Seeker Missile Rack V1",blueprintSymbol:"Weapon_HighCapacity",grade:5,acquisition:"techBroker",experimentalEffectSymbol:"special_thermal_cascade",modifiers:[{label:"AmmoClipSize",method:"multiplicative",value:1},{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"BurstInterval",method:"multiplicative",value:-.1},{label:"DistributorDraw",method:"multiplicative",value:-.4},{label:"Integrity",method:"multiplicative",value:-.6},{label:"Mass",method:"multiplicative",value:-.9},{label:"PowerDraw",method:"multiplicative",value:-.2}]},{symbol:"Hpt_HeatSinkLauncher_Turret_Tiny",name:"Sirius Heat Sink Launcher",blueprintSymbol:"Misc_HeatSinkCapacity",grade:1,acquisition:"techBroker",modifiers:[{label:"AmmoMaximum",method:"multiplicative",value:1},{label:"ReloadTime",method:"multiplicative",value:.75}]},{symbol:"Int_Hyperdrive_Size5_Class5",name:"Frame Shift Drive",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size2_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size3_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size4_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size5_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size6_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_Hyperdrive_Overcharge_Size7_Class5",name:"Frame Shift Drive (SCO) V1",blueprintSymbol:"FSD_LongRange",grade:5,acquisition:"techBroker",modifiers:[{label:"BootTime",method:"multiplicative",value:-.8},{label:"FSDHeatRate",method:"multiplicative",value:.2},{label:"FSDOptimalMass",method:"multiplicative",value:.7},{label:"Integrity",method:"multiplicative",value:-.3},{label:"Mass",method:"multiplicative",value:.3},{label:"PowerDraw",method:"multiplicative",value:.15}]},{symbol:"Int_DetailedSurfaceScanner_Tiny",name:"Detailed Surface Scanner V1",blueprintSymbol:"Sensor_Expanded",grade:5,acquisition:"techBroker",modifiers:[{label:"DSS_PatchRadius",method:"multiplicative",value:1}]},{symbol:"Hpt_FlakMortar_Turret_Medium",name:"Festive Green Remote Release Flak Launcher",blueprintSymbol:"Decorative_Green",grade:5,acquisition:"eventReward",modifiers:[{label:"Damage",method:"multiplicative",value:-.99}]},{symbol:"Hpt_FlakMortar_Turret_Medium",name:"Festive Red Remote Release Flak Launcher",blueprintSymbol:"Decorative_Red",grade:5,acquisition:"eventReward",modifiers:[{label:"Damage",method:"multiplicative",value:-.99}]},{symbol:"Hpt_FlakMortar_Turret_Medium",name:"Festive Yellow Remote Release Flak Launcher",blueprintSymbol:"Decorative_Yellow",grade:5,acquisition:"eventReward",modifiers:[{label:"Damage",method:"multiplicative",value:-.99}]}];var PRE_ENGINEERED_MODULES=deepFreeze(pre_engineered_default);function getPreEngineeredVariants(symbol){return filterByKey(PRE_ENGINEERED_MODULES,"symbol",symbol,"getPreEngineeredVariants: symbol")}function isPreEngineered(symbol){requireStringIfPresent(symbol,"isPreEngineered: symbol");return getPreEngineeredVariants(symbol).length>0}export{PRE_ENGINEERED_MODULES,getPreEngineeredVariants,isPreEngineered};//# sourceMappingURL=chunk-AUBV6S7V.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ships/pre-engineered.ts"],"names":["filterByKey","requireStringIfPresent","deepFreeze","pre_engineered_default","symbol","PRE_ENGINEERED_MODULES","getPreEngineeredVariants","isPreEngineered","length"],"mappings":"O,y96BAwKO,IAAMK,uBAA0DH,WACnEC,wBA4BG,SAASG,yBAAyBF,QACrC,OAAOJ,YACHK,uBACA,SACAD,OACA,mCAER,CAkBO,SAASG,gBAAgBH,QAC5BH,uBAAuBG,OAAQ,2BAC/B,OAAOE,yBAAyBF,QAAQI,OAAS,CACrD,QAAAH,uBAAAC,yBAAAC"}
1
+ {"version":3,"sources":["../src/ships/pre-engineered.ts"],"names":["filterByKey","requireStringIfPresent","deepFreeze","pre_engineered_default","symbol","PRE_ENGINEERED_MODULES","getPreEngineeredVariants","isPreEngineered","length"],"mappings":"O,y96BAuKO,IAAMK,uBAA0DH,WACnEC,wBA4BG,SAASG,yBAAyBF,QACrC,OAAOJ,YACHK,uBACA,SACAD,OACA,mCAER,CAkBO,SAASG,gBAAgBH,QAC5BH,uBAAuBG,OAAQ,2BAC/B,OAAOE,yBAAyBF,QAAQI,OAAS,CACrD,QAAAH,uBAAAC,yBAAAC"}
@@ -1 +1 @@
1
- import{toSystemAddress}from"./chunk-NEEFT7WH.js";import{describeValue,truncate}from"./chunk-PKWVG2JY.js";var N1_STRIDE=26*26*26;var MAX_N1=Math.floor((Number.MAX_SAFE_INTEGER-(N1_STRIDE-1))/N1_STRIDE);var MAX_BOXEL_CODE=MAX_N1*N1_STRIDE+(N1_STRIDE-1);function packBoxelCode(l1,l2,l3,n1){for(const v of[l1,l2,l3]){if(!Number.isInteger(v)||v<0||v>25){throw new RangeError(`Boxel letters out of range (expected integer 0–25): ${describeValue({l1:l1,l2:l2,l3:l3})}`)}}if(!Number.isInteger(n1)||n1<0||n1>MAX_N1){throw new RangeError(`Boxel number N1 out of range (expected integer 0–${MAX_N1}): ${truncate(n1)}`)}return((n1*26+l3)*26+l2)*26+l1}function assertBoxelCode(boxelCode){if(!Number.isInteger(boxelCode)||boxelCode<0||boxelCode>MAX_BOXEL_CODE){throw new RangeError(`Boxel code out of range (expected integer 0–${MAX_BOXEL_CODE}): ${truncate(boxelCode)}`)}}var SECTOR_INTERNAL_SIZE=40960;function boxelInternalSize(sizeClass){if(!Number.isInteger(sizeClass)||sizeClass<0||sizeClass>7){throw new RangeError(`Invalid size class: ${truncate(sizeClass)}`)}return SECTOR_INTERNAL_SIZE>>7-sizeClass}function boxelCodeToAbsoluteBoxel(sizeClass,boxelCode,origin){const boxelSize=boxelInternalSize(sizeClass);if(origin.x0<0||origin.y0<0||origin.z0<0){throw new RangeError(`Region origin "${truncate(origin.name)}" has a negative coordinate`)}if(!Number.isInteger(boxelCode)||boxelCode<0||boxelCode>2097151){throw new RangeError(`System index N1 out of range in ${truncate(origin.name)}`)}const bx=boxelCode&127;const by=boxelCode>>7&127;const bz=boxelCode>>14&127;if(!boxelIsWithinRegion(bx,by,bz,boxelSize,origin)){throw new RangeError(`Boxel code out of range for size class ${truncate(sizeClass)} in ${truncate(origin.name)}`)}const x=bx+Math.floor(origin.x0/boxelSize);const y=by+Math.floor(origin.y0/boxelSize);const z=bz+Math.floor(origin.z0/boxelSize);if(x>=1<<14-sizeClass||y>=1<<13-sizeClass||z>=1<<14-sizeClass){throw new RangeError(`Sector position of ${truncate(origin.name)} does not fit a system address`)}return{x:x,y:y,z:z}}function absoluteBoxelToBoxelCode(sizeClass,absoluteBoxel,origin){const boxelSize=boxelInternalSize(sizeClass);if(origin.x0<0||origin.y0<0||origin.z0<0||!Number.isInteger(absoluteBoxel.x)||!Number.isInteger(absoluteBoxel.y)||!Number.isInteger(absoluteBoxel.z)){return null}const bx=absoluteBoxel.x-Math.floor(origin.x0/boxelSize);const by=absoluteBoxel.y-Math.floor(origin.y0/boxelSize);const bz=absoluteBoxel.z-Math.floor(origin.z0/boxelSize);if(bx<0||bx>127||by<0||by>127||bz<0||bz>127)return null;if(!boxelIsWithinRegion(bx,by,bz,boxelSize,origin))return null;return bx|by<<7|bz<<14}function boxelIsWithinRegion(bx,by,bz,boxelSize,origin){return bx*boxelSize<origin.x0%boxelSize+origin.sizeX&&by*boxelSize<origin.y0%boxelSize+origin.sizeY&&bz*boxelSize<origin.z0%boxelSize+origin.sizeZ}function assertAddressRange(id64){if(id64<0n||id64>=1n<<64n){throw new RangeError(`System address out of range (expected unsigned 64-bit): ${truncate(id64)}`)}}function decodeSystemAddress(id64){const addr=toSystemAddress(id64);assertAddressRange(addr);const sc=Number(addr&7n);const z0=Number(addr>>3n&BigInt(16383>>sc));const z1=Number(addr>>3n&BigInt(127>>sc));const z2=Number(addr>>BigInt(10-sc)&0x7fn);const y0=Number(addr>>BigInt(17-sc)&BigInt(8191>>sc));const y1=Number(addr>>BigInt(17-sc)&BigInt(127>>sc));const y2=Number(addr>>BigInt(24-sc*2)&0x3fn);const x0=Number(addr>>BigInt(30-sc*2)&BigInt(16383>>sc));const x1=Number(addr>>BigInt(30-sc*2)&BigInt(127>>sc));const x2=Number(addr>>BigInt(37-sc*3)&0x7fn);const seq=Number(addr>>BigInt(44-sc*3)&(1n<<BigInt(11+sc*3))-1n);return{sizeClass:sc,sectorGridPosition:{sectorX:x2,sectorY:y2,sectorZ:z2},boxelCode:x1|y1<<7|z1<<14,sequence:seq,absoluteBoxel:{x:x0,y:y0,z:z0}}}function decodeModSystemAddress(id64){const addr=toSystemAddress(id64);assertAddressRange(addr);const seq=Number(addr&0x7fffn);const boxelCode=Number(addr>>16n&0x1fffffn);const sc=Number(addr>>37n&7n);const x2=Number(addr>>40n&0x7fn);const y2=Number(addr>>47n&0x3fn);const z2=Number(addr>>53n&0x7fn);const bps=7-sc;const boxelMask=127>>sc;return{sizeClass:sc,sectorGridPosition:{sectorX:x2,sectorY:y2,sectorZ:z2},boxelCode:boxelCode,sequence:seq,absoluteBoxel:{x:x2<<bps|boxelCode&boxelMask,y:y2<<bps|boxelCode>>7&boxelMask,z:z2<<bps|boxelCode>>14&boxelMask}}}function encodeSystemAddress(parts,origin){const sc=parts.massCode;const boxelCode=packBoxelCode(parts.l1,parts.l2,parts.l3,parts.n1);const{x:x,y:y,z:z}=boxelCodeToAbsoluteBoxel(sc,boxelCode,origin);const seqWidth=11+sc*3;if(!Number.isInteger(parts.n2)||parts.n2<0||parts.n2>=2**seqWidth){throw new RangeError(`Sequence ${truncate(parts.n2)} does not fit in ${seqWidth} bits`)}return BigInt(sc)|BigInt(z)<<3n|BigInt(y)<<BigInt(17-sc)|BigInt(x)<<BigInt(30-sc*2)|BigInt(parts.n2)<<BigInt(44-sc*3)}function encodeModSystemAddress(parts,origin){const sc=parts.massCode;const bps=7-sc;const boxelMask=127>>sc;const boxelCode=packBoxelCode(parts.l1,parts.l2,parts.l3,parts.n1);const{x:x,y:y,z:z}=boxelCodeToAbsoluteBoxel(sc,boxelCode,origin);if(!Number.isInteger(parts.n2)||parts.n2<0||parts.n2>32767){throw new RangeError(`Sequence ${truncate(parts.n2)} does not fit in the 15-bit modulated field`)}const packedBoxel=x&boxelMask|(y&boxelMask)<<7|(z&boxelMask)<<14;return BigInt(parts.n2)|BigInt(packedBoxel)<<16n|BigInt(sc)<<37n|BigInt(x>>bps&127)<<40n|BigInt(y>>bps&63)<<47n|BigInt(z>>bps&127)<<53n}export{SECTOR_INTERNAL_SIZE,absoluteBoxelToBoxelCode,assertBoxelCode,boxelCodeToAbsoluteBoxel,boxelInternalSize,decodeModSystemAddress,decodeSystemAddress,encodeModSystemAddress,encodeSystemAddress,packBoxelCode};//# sourceMappingURL=chunk-DI5RXSJR.js.map
1
+ import{toSystemAddress}from"./chunk-NEEFT7WH.js";import{describeValue,truncate}from"./chunk-PKWVG2JY.js";var N1_STRIDE=26*26*26;var MAX_N1=Math.floor((Number.MAX_SAFE_INTEGER-(N1_STRIDE-1))/N1_STRIDE);var MAX_BOXEL_CODE=MAX_N1*N1_STRIDE+(N1_STRIDE-1);function packBoxelCode(l1,l2,l3,n1){for(const v of[l1,l2,l3]){if(!Number.isInteger(v)||v<0||v>25){throw new RangeError(`Boxel letters out of range (expected integer 0–25): ${describeValue({l1:l1,l2:l2,l3:l3})}`)}}if(!Number.isInteger(n1)||n1<0||n1>MAX_N1){throw new RangeError(`Boxel number N1 out of range (expected integer 0–${MAX_N1}): ${truncate(n1)}`)}return((n1*26+l3)*26+l2)*26+l1}function assertBoxelCode(boxelCode){if(!Number.isInteger(boxelCode)||boxelCode<0||boxelCode>MAX_BOXEL_CODE){throw new RangeError(`Boxel code out of range (expected integer 0–${MAX_BOXEL_CODE}): ${truncate(boxelCode)}`)}}var SECTOR_INTERNAL_SIZE=40960;function boxelInternalSize(sizeClass){if(!Number.isInteger(sizeClass)||sizeClass<0||sizeClass>7){throw new RangeError(`Invalid size class: ${truncate(sizeClass)}`)}return SECTOR_INTERNAL_SIZE>>7-sizeClass}function boxelCodeToAbsoluteBoxel(sizeClass,boxelCode,origin){const boxelSize=boxelInternalSize(sizeClass);if(origin.x0<0||origin.y0<0||origin.z0<0){throw new RangeError(`Region origin "${truncate(origin.name)}" has a negative coordinate`)}if(!Number.isInteger(boxelCode)||boxelCode<0||boxelCode>2097151){throw new RangeError(`System index N1 out of range in ${truncate(origin.name)}`)}const bx=boxelCode&127;const by=boxelCode>>7&127;const bz=boxelCode>>14&127;if(!boxelIsWithinRegion(bx,by,bz,boxelSize,origin)){throw new RangeError(`Boxel code out of range for size class ${truncate(sizeClass)} in ${truncate(origin.name)}`)}const x=bx+Math.floor(origin.x0/boxelSize);const y=by+Math.floor(origin.y0/boxelSize);const z=bz+Math.floor(origin.z0/boxelSize);if(x>=1<<14-sizeClass||y>=1<<13-sizeClass||z>=1<<14-sizeClass){throw new RangeError(`Sector position of ${truncate(origin.name)} does not fit a system address`)}return{x:x,y:y,z:z}}function absoluteBoxelToBoxelCode(sizeClass,absoluteBoxel,origin){const boxelSize=boxelInternalSize(sizeClass);if(origin.x0<0||origin.y0<0||origin.z0<0||!Number.isInteger(absoluteBoxel.x)||!Number.isInteger(absoluteBoxel.y)||!Number.isInteger(absoluteBoxel.z)){return null}const bx=absoluteBoxel.x-Math.floor(origin.x0/boxelSize);const by=absoluteBoxel.y-Math.floor(origin.y0/boxelSize);const bz=absoluteBoxel.z-Math.floor(origin.z0/boxelSize);if(bx<0||bx>127||by<0||by>127||bz<0||bz>127)return null;if(!boxelIsWithinRegion(bx,by,bz,boxelSize,origin))return null;return bx|by<<7|bz<<14}function boxelIsWithinRegion(bx,by,bz,boxelSize,origin){return bx*boxelSize<origin.x0%boxelSize+origin.sizeX&&by*boxelSize<origin.y0%boxelSize+origin.sizeY&&bz*boxelSize<origin.z0%boxelSize+origin.sizeZ}function assertAddressRange(id64){if(id64<0n||id64>=1n<<64n){throw new RangeError(`System address out of range (expected unsigned 64-bit): ${truncate(id64)}`)}}function decodeSystemAddress(id64){const addr=toSystemAddress(id64);assertAddressRange(addr);const sc=Number(addr&7n);const z0=Number(addr>>3n&BigInt(16383>>sc));const z1=Number(addr>>3n&BigInt(127>>sc));const z2=Number(addr>>BigInt(10-sc)&0x7fn);const y0=Number(addr>>BigInt(17-sc)&BigInt(8191>>sc));const y1=Number(addr>>BigInt(17-sc)&BigInt(127>>sc));const y2=Number(addr>>BigInt(24-sc*2)&0x3fn);const x0=Number(addr>>BigInt(30-sc*2)&BigInt(16383>>sc));const x1=Number(addr>>BigInt(30-sc*2)&BigInt(127>>sc));const x2=Number(addr>>BigInt(37-sc*3)&0x7fn);const seq=Number(addr>>BigInt(44-sc*3)&(1n<<BigInt(11+sc*3))-1n);return{sizeClass:sc,sectorGridPosition:{sectorX:x2,sectorY:y2,sectorZ:z2},boxelCode:x1|y1<<7|z1<<14,sequence:seq,absoluteBoxel:{x:x0,y:y0,z:z0}}}function decodeModSystemAddress(id64){const addr=toSystemAddress(id64);assertAddressRange(addr);const seq=Number(addr&0x7fffn);const boxelCode=Number(addr>>16n&0x1fffffn);const sc=Number(addr>>37n&7n);const x2=Number(addr>>40n&0x7fn);const y2=Number(addr>>47n&0x3fn);const z2=Number(addr>>53n&0x7fn);const bps=7-sc;const boxelMask=127>>sc;return{sizeClass:sc,sectorGridPosition:{sectorX:x2,sectorY:y2,sectorZ:z2},boxelCode:boxelCode,sequence:seq,absoluteBoxel:{x:x2<<bps|boxelCode&boxelMask,y:y2<<bps|boxelCode>>7&boxelMask,z:z2<<bps|boxelCode>>14&boxelMask}}}function encodeSystemAddress(parts,origin){const sc=parts.massCode;const boxelCode=packBoxelCode(parts.l1,parts.l2,parts.l3,parts.n1);const{x:x,y:y,z:z}=boxelCodeToAbsoluteBoxel(sc,boxelCode,origin);const seqWidth=11+sc*3;if(!Number.isInteger(parts.n2)||parts.n2<0||parts.n2>=2**seqWidth){throw new RangeError(`Sequence ${truncate(parts.n2)} does not fit in ${seqWidth} bits`)}return BigInt(sc)|BigInt(z)<<3n|BigInt(y)<<BigInt(17-sc)|BigInt(x)<<BigInt(30-sc*2)|BigInt(parts.n2)<<BigInt(44-sc*3)}function encodeModSystemAddress(parts,origin){const sc=parts.massCode;const bps=7-sc;const boxelMask=127>>sc;const boxelCode=packBoxelCode(parts.l1,parts.l2,parts.l3,parts.n1);const{x:x,y:y,z:z}=boxelCodeToAbsoluteBoxel(sc,boxelCode,origin);if(!Number.isInteger(parts.n2)||parts.n2<0||parts.n2>32767){throw new RangeError(`Sequence ${truncate(parts.n2)} does not fit in the 15-bit modulated field`)}const packedBoxel=x&boxelMask|(y&boxelMask)<<7|(z&boxelMask)<<14;return BigInt(parts.n2)|BigInt(packedBoxel)<<16n|BigInt(sc)<<37n|BigInt(x>>bps&127)<<40n|BigInt(y>>bps&63)<<47n|BigInt(z>>bps&127)<<53n}export{SECTOR_INTERNAL_SIZE,absoluteBoxelToBoxelCode,assertBoxelCode,boxelCodeToAbsoluteBoxel,boxelInternalSize,decodeModSystemAddress,decodeSystemAddress,encodeModSystemAddress,encodeSystemAddress,packBoxelCode};//# sourceMappingURL=chunk-BVLBS2QY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/astro/internal/system-name-code.ts","../src/astro/system-address.ts"],"names":["toSystemAddress","describeValue","truncate","N1_STRIDE","MAX_N1","Math","floor","Number","MAX_SAFE_INTEGER","MAX_BOXEL_CODE","packBoxelCode","l1","l2","l3","n1","v","isInteger","RangeError","assertBoxelCode","boxelCode","SECTOR_INTERNAL_SIZE","boxelInternalSize","sizeClass","boxelCodeToAbsoluteBoxel","origin","boxelSize","x0","y0","z0","name","bx","by","bz","boxelIsWithinRegion","x","y","z","absoluteBoxelToBoxelCode","absoluteBoxel","sizeX","sizeY","sizeZ","assertAddressRange","id64","decodeSystemAddress","addr","sc","BigInt","z1","z2","y1","y2","x1","x2","seq","sectorGridPosition","sectorX","sectorY","sectorZ","sequence","decodeModSystemAddress","bps","boxelMask","encodeSystemAddress","parts","massCode","seqWidth","n2","encodeModSystemAddress","packedBoxel"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/astro/internal/system-name-code.ts","../src/astro/system-address.ts"],"names":["toSystemAddress","describeValue","truncate","N1_STRIDE","MAX_N1","Math","floor","Number","MAX_SAFE_INTEGER","MAX_BOXEL_CODE","packBoxelCode","l1","l2","l3","n1","v","isInteger","RangeError","assertBoxelCode","boxelCode","SECTOR_INTERNAL_SIZE","boxelInternalSize","sizeClass","boxelCodeToAbsoluteBoxel","origin","boxelSize","x0","y0","z0","name","bx","by","bz","boxelIsWithinRegion","x","y","z","absoluteBoxelToBoxelCode","absoluteBoxel","sizeX","sizeY","sizeZ","assertAddressRange","id64","decodeSystemAddress","addr","sc","BigInt","z1","z2","y1","y2","x1","x2","seq","sectorGridPosition","sectorX","sectorY","sectorZ","sequence","decodeModSystemAddress","bps","boxelMask","encodeSystemAddress","parts","massCode","seqWidth","n2","encodeModSystemAddress","packedBoxel"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{getPreEngineeredVariants}from"./chunk-AUBV6S7V.js";import{builtInModuleBySymbol,getModuleBySymbol}from"./chunk-OSMBAFRW.js";import{ALL_MODULES}from"./chunk-UVX7RCMP.js";import{EXPERIMENTAL_EFFECTS,getExperimentalEffect}from"./chunk-77I24V6B.js";import{fieldForLabel,damageTypeForLabel,capabilityValueForLabel,baseStats,computeModifiers,labelsForDamageType,scaleForLabel}from"./chunk-U73MBQ45.js";import{round6,burstPartOrOne,float32FiringCycle,float32RateOfFire,preciseModifierValue,BURST_PATTERN_LABELS,journalRateOfFire,preciseValueFor}from"./chunk-EFQOUATZ.js";import{resolveBlueprintForModule}from"./chunk-2J6NNI3Y.js";import{getBlueprintsForModule,getExperimentalsForModule,getEngineeringGroup}from"./chunk-M4STXLXO.js";import{getBlueprintGrade,getBlueprint,BLUEPRINTS}from"./chunk-AYAKU4YA.js";import{normalizeKey}from"./chunk-BKWLI44T.js";import{requireStringIfPresent}from"./chunk-PKWVG2JY.js";import{deepFreeze}from"./chunk-DURKO7JU.js";function scaleDamageComponents(components,baseDamage,effectiveDamage){const scale=baseDamage!==void 0&&baseDamage!==0&&effectiveDamage!==void 0?effectiveDamage/baseDamage:1;return{...components.kinetic===void 0?{}:{kinetic:components.kinetic*scale},...components.thermal===void 0?{}:{thermal:components.thermal*scale},...components.explosive===void 0?{}:{explosive:components.explosive*scale},...components.absolute===void 0?{}:{absolute:components.absolute*scale},...components.antiXeno===void 0?{}:{antiXeno:components.antiXeno*scale},...components.unclassified===void 0?{}:{unclassified:components.unclassified.map(value=>value*scale)}}}function fixedModifierFeatures(modifiers){return modifiers.map(modifier=>({label:modifier.label,method:modifier.method,min:modifier.value,max:modifier.value}))}var FITTED_ITEM="ShipLoadout: fitted module Item";function isNonOutfittingSlot(slotKey){return/^(paintjob|shipname\d+|shipid\d+|bobble\d+|decal\d+|shipkit.+|weaponcolour|enginecolour|vesselvoice|shipcockpit|stringlights)$/i.test(slotKey)}function isCargoHatchSlot(slotKey){return slotKey.toLowerCase()==="cargohatch"}var BUILT_IN_HULL_SYMBOL="ModularCargoBayDoor";function isBuiltInHullSymbol(symbol){return symbol.toLowerCase().startsWith(BUILT_IN_HULL_SYMBOL.toLowerCase())}function isBuiltInHullModule(module){return isCargoHatchSlot(module.Slot)&&isBuiltInHullSymbol(module.Item)}function cloneLoadoutModule(module){return{Slot:module.Slot,Item:module.Item,...module.On===void 0?{}:{On:module.On},...module.Priority===void 0?{}:{Priority:module.Priority},...module.Health===void 0?{}:{Health:module.Health},...module.Value===void 0?{}:{Value:module.Value},...module.Engineering===void 0?{}:{Engineering:{BlueprintName:module.Engineering.BlueprintName,Level:module.Engineering.Level,Quality:module.Engineering.Quality,...module.Engineering.ExperimentalEffect===void 0?{}:{ExperimentalEffect:module.Engineering.ExperimentalEffect},...module.Engineering.ExperimentalEffect_Localised===void 0?{}:{ExperimentalEffect_Localised:module.Engineering.ExperimentalEffect_Localised},...module.Engineering.Modifiers===void 0?{}:{Modifiers:module.Engineering.Modifiers.map(modifier=>({...modifier}))}}}}}function matchingKeyIn(keyed,slotKey){if(keyed.has(slotKey))return slotKey;const wanted=slotKey.toLowerCase();for(const key of keyed.keys()){if(key.toLowerCase()===wanted)return key}return null}function ownKeyIn(keyed,canonicalKey){return matchingKeyIn(keyed,canonicalKey)??(keyed.size>0&&[...keyed.keys()].every(key=>key===key.toLowerCase())?canonicalKey.toLowerCase():canonicalKey)}function orderBySlotLayout(values,layout,slotOf){const order=new Map(layout.map((slot,index)=>[slot.key.toLowerCase(),index]));return[...values].sort((left,right)=>(order.get(slotOf(left).toLowerCase())??Number.MAX_SAFE_INTEGER)-(order.get(slotOf(right).toLowerCase())??Number.MAX_SAFE_INTEGER))}function cloneModuleStats(module){try{return deepFreeze(structuredClone(module))}catch(error){if(!(error instanceof Error&&error.name==="DataCloneError"))throw error;return deepFreeze({...module,...module.restrictedToShips===void 0?{}:{restrictedToShips:[...module.restrictedToShips]},...module.limitIncrease===void 0?{}:{limitIncrease:{...module.limitIncrease}},...module.damageDistribution===void 0?{}:{damageDistribution:{...module.damageDistribution}},...module.damageComponents===void 0?{}:{damageComponents:{...module.damageComponents,...module.damageComponents.unclassified===void 0?{}:{unclassified:[...module.damageComponents.unclassified]}}},...module.projectileRange===void 0?{}:{projectileRange:{...module.projectileRange}}})}}var GUARDIAN_WEAPON_GROUPS=/* @__PURE__ */new Set(["guardianGauss","guardianPlasma","guardianShard"]);function missingBaseLabels(stats,base,features,experimental){const contributions=[...features,...experimental??[]];return[...new Set(contributions.map(contribution=>contribution.label).filter(label=>{if(base[label]!==void 0)return false;return fieldForLabel(label,stats)===null}))]}function recipeSignature(blueprintSymbol){const blueprint=getBlueprint(blueprintSymbol);if(!blueprint)return null;const grades=Object.entries(blueprint.grades).map(([grade,{features:features}])=>`${grade}:${features.map(feature=>`${feature.label}/${feature.method??""}`).sort().join(",")}`).sort().join(";");return`${blueprint.name.toLowerCase()}|${grades}`}var isGenericSpelling=blueprintSymbol=>blueprintSymbol.toLowerCase().startsWith("misc_");function isSoldWithBlueprint(item,wanted){return getPreEngineeredVariants(item).some(variant=>variant.acquisition==="mercenary"&&variant.blueprintSymbol.toLowerCase()===wanted)}function blueprintRoutesFor(item){const routes=/* @__PURE__ */new Map;for(const blueprintSymbol of getBlueprintsForModule(item))routes.set(blueprintSymbol,"ordinary");for(const variant of getPreEngineeredVariants(item)){if(variant.acquisition==="mercenary"&&!routes.has(variant.blueprintSymbol)){routes.set(variant.blueprintSymbol,"mercenary")}}return routes}function blueprintAvailableFor(item,blueprintSymbol){const offered=getBlueprintsForModule(item);const asWritten=normalizeKey(blueprintSymbol,"ShipLoadout.applyBlueprint: blueprintSymbol");const resolved=resolveBlueprintForModule(item,blueprintSymbol).trim();const wanted=resolved.toLowerCase();if(offered.some(id=>id.toLowerCase()===wanted))return true;if(isSoldWithBlueprint(item,wanted)||isSoldWithBlueprint(item,asWritten))return true;if(!isGenericSpelling(wanted))return false;const signature=recipeSignature(resolved);if(signature===null)return false;return offered.some(id=>recipeSignature(id)===signature&&!isGenericSpelling(id))}function experimentalAvailableFor(item,experimentalEffectSymbol){const wanted=normalizeKey(experimentalEffectSymbol,"ShipLoadout.applyBlueprint: options.experimentalEffectSymbol");return getExperimentalsForModule(item).some(id=>id.toLowerCase()===wanted)}function primitiveLabelFor(stats,label){if(label==="MaximumRange"&&stats.maximumRange!==void 0)return"Range";if(label==="DamageFalloffRange"&&stats.falloffRange!==void 0){return"FalloffRange"}if(label==="Range"&&stats.scannerRange!==void 0)return"ScannerRange";if(label==="DSS_PatchRadius")return"ProbeRadius";if(label==="FuelScoopRate")return"RefuelRate";if(label==="EnergyPerRegen"&&stats.shieldRegenRate!==void 0){return"DistributorDraw"}return label}function primitiveEngineeringInputsFor(stats,grade,experimental){const canonicalGrade={...grade,features:grade.features.map(feature=>{const label=primitiveLabelFor(stats,feature.label);return label===feature.label?feature:{...feature,label:label}})};if(!experimental)return{grade:canonicalGrade};return{grade:canonicalGrade,experimental:{...experimental,modifiers:experimental.modifiers.map(modifier=>{const label=primitiveLabelFor(stats,modifier.label);return label===modifier.label?modifier:{...modifier,label:label}})}}}function matchesCalculatedModifiers(captured,calculated){if(!captured||captured.length!==calculated.length)return false;const byLabel=new Map(captured.map(modifier=>[modifier.Label.trim().toLowerCase(),modifier]));if(byLabel.size!==captured.length)return false;return calculated.every(expected=>{const actual=byLabel.get(expected.Label.trim().toLowerCase());if(!actual)return false;if(expected.Value!==void 0){return actual.Value!==void 0&&Math.abs(actual.Value-expected.Value)<=1e-5*Math.max(1,Math.abs(expected.Value))}return actual.ValueStr===expected.ValueStr})}function identityArticles(item,engineering){if(engineering.Modifiers!==void 0||typeof engineering.BlueprintName!=="string"){return[]}const wanted=engineering.BlueprintName.trim().toLowerCase();const experimental=engineering.ExperimentalEffect?.trim().toLowerCase();return getPreEngineeredVariants(item).filter(candidate=>candidate.blueprintSymbol.trim().toLowerCase()===wanted&&candidate.grade===engineering.Level&&(candidate.experimentalEffectSymbol===void 0?experimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.trim().toLowerCase()===experimental))}function unrollableFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>!blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function rolledOverFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function statesInertModifiers(stats,modifiers){return modifiers.every(modifier=>{if(damageTypeForLabel(modifier.Label)!==null||capabilityValueForLabel(modifier.Label)!==null){return false}const field=fieldForLabel(modifier.Label,stats);return field===null||typeof stats[field]!=="number"})}function ordinaryEngineeringProof(item,engineering,experimental){const recipe=resolveBlueprintForModule(item,engineering.BlueprintName);const fixedCandidate=getPreEngineeredVariants(item).some(candidate=>candidate.acquisition!=="mercenary"&&candidate.blueprintSymbol.trim().toLowerCase()===recipe.trim().toLowerCase());if(!fixedCandidate)return"notFixedCandidate";const grade=getBlueprintGrade(recipe,engineering.Level);const quality=engineering.Quality;const stock=builtInModuleBySymbol(item,FITTED_ITEM);if(!stock||!grade||experimental===null||!Number.isFinite(quality)||quality<0||quality>1){return"unproven"}const current=primitiveEngineeringInputsFor(stock,grade,experimental);if(missingBaseLabels(stock,baseStats(stock),current.grade.features,current.experimental?.modifiers).length>0){return"unproven"}const calculated=journalModifiersFor(stock,computeModifiers(baseStats(stock),current.grade,quality,current.experimental));const damageDistribution=current.experimental?.damageDistribution??current.grade.damageDistribution;if(damageDistribution){for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];if(value===void 0)continue;const label=labelsForDamageType(type)[0];if(label===void 0)continue;calculated.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(stock.damageDistribution?.[type]??0)*scaleForLabel(label)})}}return matchesCalculatedModifiers(engineering.Modifiers,calculated)?"proven":"unproven"}function float32DamagePerSecond(damage,rounds,rate,burstRounds,cycle){if(cycle!==void 0&&(rounds!==1||burstRounds!==1)){const damagePerCycle=Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(burstRounds));return Math.fround(damagePerCycle/cycle)}return Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(rate))}var JOURNAL_MODIFIER_ORDER=["CargoCapacity","GuardianModuleResistance","Mass","Integrity","PowerDraw","BootTime","PowerCapacity","HeatEfficiency","FSDOptimalMass","MaxFuelPerJump","FSDHeatRate","EngineOptimalMass","EngineOptPerformance","EngineHeatRate","ShieldGenOptimalMass","ShieldGenStrength","DamagePerSecond","Damage","DistributorDraw","ThermalLoad","ArmourPenetration","MaximumRange","ShotSpeed","RateOfFire","DamageType","$Kinetic;","$Thermal;","$Explosive;","$Absolute;","AmmoClipSize","AmmoMaximum","ReloadTime","Jitter","DamageFalloffRange","DefenceModifierShieldMultiplier","DefenceModifierHealthMultiplier","DefenceModifierHealthAddition","DefenceModifierShieldAddition","RegenRate","BrokenRegenRate","EnergyPerRegen","KineticResistance","ThermicResistance","ExplosiveResistance","CausticResistance","DamageProtection","ModuleDefenceAbsorption","WeaponsCapacity","WeaponsRecharge","EnginesCapacity","EnginesRecharge","SystemsCapacity","SystemsRecharge","ShieldBankSpinUp","ShieldBankDuration","ShieldBankReinforcement","ShieldBankHeat","FSDInterdictorRange","FSDInterdictorFacingLimit","SensorTargetScanAngle","MaxAngle","ScannerTimeToScan","Range","DSS_PatchRadius","FuelScoopRate","FuelCapacity"];var JOURNAL_MODIFIER_RANK=new Map(JOURNAL_MODIFIER_ORDER.map((label,index)=>[label,index]));function sortJournalModifiers(modifiers){return modifiers.map((modifier,index)=>({modifier:modifier,index:index})).sort((a,b)=>(JOURNAL_MODIFIER_RANK.get(a.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)-(JOURNAL_MODIFIER_RANK.get(b.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)||a.index-b.index).map(({modifier:modifier})=>modifier)}function journalModifiersFor(stats,modifiers){const weapon=stats.damage!==void 0;const valueFor=(label,fallback)=>{const modifier=modifiers.find(candidate=>candidate.Label===label);return(modifier&&preciseModifierValue(modifier))??Math.fround(fallback)};const burstTouched=["BurstInterval","BurstSize","BurstRateOfFire"].some(label=>modifiers.some(modifier=>modifier.Label===label));const damageTouched=modifiers.some(modifier=>modifier.Label==="Damage");const rateTouched=burstTouched||modifiers.some(modifier=>modifier.Label==="RateOfFire");let damagePerSecond;let derivedRate;if(weapon&&(damageTouched||rateTouched)){const continuous=stats.burstInterval===void 0&&stats.rateOfFire===void 0;const baseDamage=Math.fround(stats.damage);const effectiveDamage=valueFor("Damage",stats.damage);if(continuous){damagePerSecond={Label:"DamagePerSecond",Value:round6(effectiveDamage),OriginalValue:round6(baseDamage)}}else{const burstRounds=burstPartOrOne(valueFor("BurstSize",stats.burstRounds??1));const burstRate=burstPartOrOne(valueFor("BurstRateOfFire",stats.burstRateOfFire??1));const baseBurstRounds=Math.fround(burstPartOrOne(stats.burstRounds));const baseBurstRate=Math.fround(burstPartOrOne(stats.burstRateOfFire));const baseInterval=stats.burstInterval===void 0?void 0:Math.fround(stats.burstInterval);const baseCycle=baseInterval===void 0?void 0:float32FiringCycle(baseInterval,baseBurstRounds,baseBurstRate);const baseRate=baseInterval!==void 0?float32RateOfFire(baseInterval,baseBurstRounds,baseBurstRate):stats.rateOfFire===void 0?void 0:Math.fround(stats.rateOfFire);const rateModifier=modifiers.find(modifier=>modifier.Label==="RateOfFire");const effectiveRate=rateModifier&&preciseModifierValue(rateModifier);const effectiveInterval=valueFor("BurstInterval",stats.burstInterval??0);const effectiveCycle=effectiveRate===void 0?float32FiringCycle(effectiveInterval,burstRounds,burstRate):void 0;const rate=effectiveRate??(effectiveCycle===void 0?void 0:Math.fround(Math.fround(burstRounds)/effectiveCycle));if(baseRate!==void 0&&rate!==void 0){const stockRounds=Math.fround(stats.roundsPerShot??1);const effectiveRounds=Math.fround(modifiers.find(modifier=>modifier.Label==="Rounds"||modifier.Label==="RoundsPerShot")?.Value??stockRounds);damagePerSecond={Label:"DamagePerSecond",Value:round6(float32DamagePerSecond(effectiveDamage,effectiveRounds,rate,burstRounds,effectiveCycle)),OriginalValue:round6(float32DamagePerSecond(baseDamage,stockRounds,baseRate,baseBurstRounds,baseCycle))};if(burstTouched){derivedRate={Label:"RateOfFire",Value:round6(rate),OriginalValue:round6(baseRate)}}}}}const result=[];for(const modifier of modifiers){const label=modifier.Label;if(weapon&&["BurstInterval","BurstSize","BurstRateOfFire"].includes(label))continue;if(weapon&&label==="Damage"&&stats.rateOfFire===void 0)continue;let journalLabel=label;if(label==="Range"&&stats.maximumRange!==void 0)journalLabel="MaximumRange";else if(label==="FalloffRange"&&stats.falloffRange!==void 0){journalLabel="DamageFalloffRange"}else if(label==="ScannerRange"&&stats.scannerRange!==void 0){journalLabel="Range"}else if(label==="ProbeRadius")journalLabel="DSS_PatchRadius";else if(label==="RefuelRate")journalLabel="FuelScoopRate";else if(label==="DistributorDraw"&&stats.shieldRegenRate!==void 0){journalLabel="EnergyPerRegen"}result.push(journalLabel===label?modifier:{...modifier,Label:journalLabel})}if(damagePerSecond)result.push(damagePerSecond);if(derivedRate){const direct=result.findIndex(modifier=>modifier.Label==="RateOfFire");if(direct>=0)result[direct]=derivedRate;else result.push(derivedRate)}return sortJournalModifiers(result)}function isFinalGuardianWeaponEngineering(item,blueprint){const group=getEngineeringGroup(item);if(group===null||!GUARDIAN_WEAPON_GROUPS.has(group))return false;const resolved=resolveBlueprintForModule(item,blueprint);return getBlueprint(resolved)!==null&&!blueprintAvailableFor(item,blueprint)}function engineerableBase(item,statsOverride){const stats=statsOverride??builtInModuleBySymbol(item,FITTED_ITEM);if(!stats||stats.engineeringLocked)return null;return{stats:stats,base:baseStats(stats)}}function availableBlueprintsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;const available=[];for(const[blueprintSymbol,route]of blueprintRoutesFor(item)){const blueprint=BLUEPRINTS[blueprintSymbol];if(!blueprint)continue;const grades=Object.entries(blueprint.grades).filter(([,grade])=>missingBaseLabels(stats,base,grade.features).length===0).map(([grade])=>Number(grade)).filter(Number.isFinite).sort((a,b)=>a-b);if(grades.length>0)available.push({blueprintSymbol:blueprintSymbol,grades:grades,route:route})}return available}function availableExperimentalsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;return getExperimentalsForModule(item).filter(experimentalEffectSymbol=>{const effect=EXPERIMENTAL_EFFECTS[experimentalEffectSymbol];return effect!==void 0&&missingBaseLabels(stats,base,effect.modifiers).length===0})}var MAX_ENGINEERING_GRADE=5;function modifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;if(!module||!variant.modifiers?.length&&effectName==null)return null;const effect=effectName==null?void 0:getExperimentalEffect(effectName);if(effectName!==null&&effectName!==void 0&&!effect)return null;return computeModifiers(baseStats(module),fixedModifierFeatures(variant.modifiers??[]),1,effect??void 0)}function getPreEngineeredModifiers(variant){return modifiersWithExperimental(variant)??[]}function journalModifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return[];const modifiers=journalModifiersFor(module,modifiersWithExperimental(variant,experimental)??[]);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;const damageDistribution=effectName?getExperimentalEffect(effectName)?.damageDistribution:void 0;if(!damageDistribution)return modifiers;for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];const label=labelsForDamageType(type)[0];if(value===void 0||label===void 0)continue;modifiers.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(module.damageDistribution?.[type]??0)*scaleForLabel(label)})}return modifiers}function getPreEngineeredJournalModifiers(variant){return journalModifiersWithExperimental(variant)}function sameJournalNumber(actual,expected,base){return Math.abs(actual-expected)<=Math.max(1e-5,Math.abs(base)*1e-4,Math.abs(expected)*1e-6)}function modifierKey(modifier,module){return fieldForLabel(modifier.Label,module)??`label:${normalizeKey(modifier.Label,"identifyPreEngineeredVariant: module.Engineering.Modifiers[].Label")}`}function sameModifier(actual,expected){if(expected.Value!==void 0){return actual.Value!==void 0&&sameJournalNumber(actual.Value,expected.Value,expected.OriginalValue??expected.Value)}return expected.ValueStr!==void 0&&actual.ValueStr!==void 0}function matchesModifierSignature(actualByKey,expected,module){let matched=0;for(const predicted of expected){const actual=actualByKey.get(modifierKey(predicted,module));if(!actual)continue;if(!sameModifier(actual,predicted))return false;matched++}return matched>=Math.max(1,expected.length-1)}function identifyPreEngineeredVariant(module){const engineering=module.Engineering;if(!engineering)return null;requireStringIfPresent(module.Item,"identifyPreEngineeredVariant: module.Item");const stock=getModuleBySymbol(module.Item,ALL_MODULES);if(!stock)return null;const capturedBlueprint=normalizeKey(engineering.BlueprintName,"identifyPreEngineeredVariant: module.Engineering.BlueprintName");const variants=getPreEngineeredVariants(module.Item);const blueprintMatches=variants.filter(candidate=>candidate.blueprintSymbol.toLowerCase()===capturedBlueprint);const blueprintMatch=blueprintMatches.length===1?blueprintMatches[0]:null;const capturedGrade=engineering.Level;if(blueprintMatch?.acquisition==="mercenary"&&Number.isInteger(capturedGrade)&&capturedGrade>=blueprintMatch.grade&&capturedGrade<=MAX_ENGINEERING_GRADE){return blueprintMatch}if(engineering.Modifiers===void 0){const capturedExperimental=normalizeKey(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const identityMatches=blueprintMatches.filter(candidate=>candidate.engineeringLocked===true&&candidate.grade===capturedGrade&&(candidate.experimentalEffectSymbol===void 0?capturedExperimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.toLowerCase()===capturedExperimental));return identityMatches.length===1?identityMatches[0]:null}if(!engineering.Modifiers?.length)return null;const actualByKey=/* @__PURE__ */new Map;for(const modifier of engineering.Modifiers){actualByKey.set(modifierKey(modifier,stock),modifier)}requireStringIfPresent(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const matches=[];for(const candidate of variants){if(!candidate.modifiers?.length)continue;if(candidate.grade!==engineering.Level)continue;if(candidate.acquisition==="eventReward"&&(engineering.ExperimentalEffect!==void 0||engineering.ExperimentalEffect_Localised!==void 0||capturedBlueprint!==candidate.blueprintSymbol.toLowerCase())){continue}const primitive=modifiersWithExperimental(candidate,engineering.ExperimentalEffect??null);if(!primitive?.length)continue;const matched=matchesModifierSignature(actualByKey,primitive,stock)||matchesModifierSignature(actualByKey,journalModifiersWithExperimental(candidate,engineering.ExperimentalEffect??null),stock);if(matched)matches.push(candidate)}return matches.length===1?matches[0]:null}function unresolvedModifiers(variant){const resolved=new Set(getPreEngineeredModifiers(variant).map(modifier=>modifier.Label));return(variant.modifiers??[]).map(modifier=>modifier.label).filter(label=>!resolved.has(label))}function getPreEngineeredStats(variant){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return null;if(!variant.modifiers?.length&&!variant.engineeringLocked&&variant.experimentalEffectSymbol===void 0)return{...module};const applied=getPreEngineeredModifiers(variant);const resolved={...module,...variant.engineeringLocked?{engineeringLocked:true}:{}};for(const{Label:Label,Value:Value,ValueStr:ValueStr}of applied){const field=fieldForLabel(Label,module);if(field&&field!=="damageDistribution"&&Value!==void 0){Object.assign(resolved,{[field]:Value/scaleForLabel(Label)})}else if(field&&ValueStr!==void 0&&capabilityValueForLabel(Label)!==null){Object.assign(resolved,{[field]:true})}}const experimentalDamageDistribution=variant.experimentalEffectSymbol?getExperimentalEffect(variant.experimentalEffectSymbol)?.damageDistribution:void 0;if(experimentalDamageDistribution){resolved.damageDistribution={...experimentalDamageDistribution};delete resolved.damageComponents}if(resolved.rateOfFire!==void 0&&!applied.some(m=>m.Label==="RateOfFire")&&applied.some(m=>BURST_PATTERN_LABELS.some(label=>label===m.Label))){const rate=journalRateOfFire(preciseValueFor(applied,"BurstInterval")??resolved.burstInterval,preciseValueFor(applied,"BurstSize")??resolved.burstRounds,preciseValueFor(applied,"BurstRateOfFire")??resolved.burstRateOfFire);if(rate!==void 0)resolved.rateOfFire=rate}if(module.damageComponents&&!experimentalDamageDistribution){resolved.damageComponents=scaleDamageComponents(module.damageComponents,module.damage,resolved.damage)}return resolved}export{BUILT_IN_HULL_SYMBOL,FITTED_ITEM,availableBlueprintsFor,availableExperimentalsFor,blueprintAvailableFor,blueprintRoutesFor,cloneLoadoutModule,cloneModuleStats,experimentalAvailableFor,getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,isBuiltInHullModule,isBuiltInHullSymbol,isCargoHatchSlot,isFinalGuardianWeaponEngineering,isNonOutfittingSlot,journalModifiersFor,matchingKeyIn,missingBaseLabels,orderBySlotLayout,ordinaryEngineeringProof,ownKeyIn,primitiveEngineeringInputsFor,rolledOverFixedArticle,scaleDamageComponents,statesInertModifiers,unresolvedModifiers,unrollableFixedArticle};//# sourceMappingURL=chunk-C3YZ5KTA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ships/internal/damage-components.ts","../src/ships/internal/fixed-modifier-features.ts","../src/ships/internal/loadout-state.ts","../src/ships/internal/loadout-engineering.ts","../src/ships/pre-engineered-stats.ts"],"names":["getPreEngineeredVariants","builtInModuleBySymbol","getModuleBySymbol","ALL_MODULES","EXPERIMENTAL_EFFECTS","getExperimentalEffect","fieldForLabel","damageTypeForLabel","capabilityValueForLabel","baseStats","computeModifiers","labelsForDamageType","scaleForLabel","round6","burstPartOrOne","float32FiringCycle","float32RateOfFire","preciseModifierValue","BURST_PATTERN_LABELS","journalRateOfFire","preciseValueFor","resolveBlueprintForModule","getBlueprintsForModule","getExperimentalsForModule","getEngineeringGroup","getBlueprintGrade","getBlueprint","BLUEPRINTS","normalizeKey","requireStringIfPresent","deepFreeze","scaleDamageComponents","components","baseDamage","effectiveDamage","scale","kinetic","thermal","explosive","absolute","antiXeno","unclassified","map","value","fixedModifierFeatures","modifiers","modifier","label","method","min","max","FITTED_ITEM","isNonOutfittingSlot","slotKey","test","isCargoHatchSlot","toLowerCase","BUILT_IN_HULL_SYMBOL","isBuiltInHullSymbol","symbol","startsWith","isBuiltInHullModule","module","Slot","Item","cloneLoadoutModule","On","Priority","Health","Value","Engineering","BlueprintName","Level","Quality","ExperimentalEffect","ExperimentalEffect_Localised","Modifiers","matchingKeyIn","keyed","has","wanted","key","keys","ownKeyIn","canonicalKey","size","every","orderBySlotLayout","values","layout","slotOf","order","Map","slot","index","sort","left","right","get","Number","MAX_SAFE_INTEGER","cloneModuleStats","structuredClone","error","Error","name","restrictedToShips","limitIncrease","damageDistribution","damageComponents","projectileRange","GUARDIAN_WEAPON_GROUPS","Set","missingBaseLabels","stats","base","features","experimental","contributions","contribution","filter","recipeSignature","blueprintSymbol","blueprint","grades","Object","entries","grade","feature","join","isGenericSpelling","isSoldWithBlueprint","item","some","variant","acquisition","blueprintRoutesFor","routes","set","blueprintAvailableFor","offered","asWritten","resolved","trim","id","signature","experimentalAvailableFor","experimentalEffectSymbol","primitiveLabelFor","maximumRange","falloffRange","scannerRange","shieldRegenRate","primitiveEngineeringInputsFor","canonicalGrade","matchesCalculatedModifiers","captured","calculated","length","byLabel","Label","expected","actual","Math","abs","ValueStr","identityArticles","engineering","candidate","unrollableFixedArticle","matches","rolledOverFixedArticle","statesInertModifiers","field","ordinaryEngineeringProof","recipe","fixedCandidate","quality","stock","isFinite","current","journalModifiersFor","type","push","OriginalValue","float32DamagePerSecond","damage","rounds","rate","burstRounds","cycle","damagePerCycle","fround","JOURNAL_MODIFIER_ORDER","JOURNAL_MODIFIER_RANK","sortJournalModifiers","a","b","weapon","valueFor","fallback","find","burstTouched","damageTouched","rateTouched","damagePerSecond","derivedRate","continuous","burstInterval","rateOfFire","burstRate","burstRateOfFire","baseBurstRounds","baseBurstRate","baseInterval","baseCycle","baseRate","rateModifier","effectiveRate","effectiveInterval","effectiveCycle","stockRounds","roundsPerShot","effectiveRounds","result","includes","journalLabel","direct","findIndex","isFinalGuardianWeaponEngineering","group","engineerableBase","statsOverride","engineeringLocked","availableBlueprintsFor","engineerable","available","route","availableExperimentalsFor","effect","MAX_ENGINEERING_GRADE","modifiersWithExperimental","effectName","getPreEngineeredModifiers","journalModifiersWithExperimental","getPreEngineeredJournalModifiers","sameJournalNumber","modifierKey","sameModifier","matchesModifierSignature","actualByKey","matched","predicted","identifyPreEngineeredVariant","capturedBlueprint","variants","blueprintMatches","blueprintMatch","capturedGrade","isInteger","capturedExperimental","identityMatches","primitive","unresolvedModifiers","getPreEngineeredStats","applied","assign","experimentalDamageDistribution","m"],"mappings":"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"}