@elite-dangerous-almanac/core 0.2.5 → 0.2.7

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 (153) hide show
  1. package/PROVENANCE/i18n/SOURCES.md +199 -113
  2. package/PROVENANCE/materials/SOURCES.md +22 -0
  3. package/PROVENANCE/ships/SOURCES.md +254 -59
  4. package/README.md +17 -11
  5. package/assets/ships/LakonMiner/schematic-bottom.svg +5 -3
  6. package/assets/ships/LakonMiner/schematic-top.svg +2 -4
  7. package/dist/{chunk-XM4VA2WE.js → chunk-4U7KYQGK.js} +1 -1
  8. package/dist/{chunk-XM4VA2WE.js.map → chunk-4U7KYQGK.js.map} +1 -1
  9. package/dist/{chunk-7EWZGDWY.js → chunk-7S7ZTZZY.js} +1 -1
  10. package/dist/chunk-A5TCT2AJ.js +1 -0
  11. package/dist/{chunk-AIEC3LBT.js.map → chunk-A5TCT2AJ.js.map} +1 -1
  12. package/dist/chunk-A7IVMYNF.js +1 -0
  13. package/dist/chunk-A7IVMYNF.js.map +1 -0
  14. package/dist/{chunk-2OBUSQA7.js → chunk-AAU7OM47.js} +1 -1
  15. package/dist/{chunk-2OBUSQA7.js.map → chunk-AAU7OM47.js.map} +1 -1
  16. package/dist/{chunk-KPJ77VPS.js → chunk-BJU27V6C.js} +1 -1
  17. package/dist/{chunk-KPJ77VPS.js.map → chunk-BJU27V6C.js.map} +1 -1
  18. package/dist/{chunk-DSMLYA2M.js → chunk-BMQM4JBL.js} +1 -1
  19. package/dist/{chunk-DSMLYA2M.js.map → chunk-BMQM4JBL.js.map} +1 -1
  20. package/dist/chunk-C3LLPLLD.js +1 -0
  21. package/dist/chunk-C3LLPLLD.js.map +1 -0
  22. package/dist/chunk-EHFHRQEP.js +1 -0
  23. package/dist/{chunk-GLWPSVFV.js.map → chunk-EHFHRQEP.js.map} +1 -1
  24. package/dist/{chunk-YCGISPDR.js → chunk-ETWMPMZP.js} +1 -1
  25. package/dist/{chunk-3NPVWPOV.js → chunk-F7VWRDSL.js} +1 -1
  26. package/dist/chunk-F7VWRDSL.js.map +1 -0
  27. package/dist/{chunk-4CBMQULR.js → chunk-FMA36V6A.js} +1 -1
  28. package/dist/{chunk-4CBMQULR.js.map → chunk-FMA36V6A.js.map} +1 -1
  29. package/dist/chunk-IZIIGK3W.js +1 -0
  30. package/dist/{chunk-TW7LUBHD.js.map → chunk-IZIIGK3W.js.map} +1 -1
  31. package/dist/chunk-KBCA4GEZ.js +1 -0
  32. package/dist/chunk-KLC5XT6F.js +1 -0
  33. package/dist/chunk-KLC5XT6F.js.map +1 -0
  34. package/dist/chunk-M6J7KP7G.js +1 -0
  35. package/dist/chunk-M6J7KP7G.js.map +1 -0
  36. package/dist/chunk-MRLUWHGI.js +1 -0
  37. package/dist/{chunk-FF2X4K5P.js.map → chunk-MRLUWHGI.js.map} +1 -1
  38. package/dist/chunk-MVBVXK3G.js +1 -0
  39. package/dist/chunk-MVBVXK3G.js.map +1 -0
  40. package/dist/{chunk-HBQELOBY.js → chunk-NZXSIHAW.js} +1 -1
  41. package/dist/{chunk-HBQELOBY.js.map → chunk-NZXSIHAW.js.map} +1 -1
  42. package/dist/{chunk-IWFQ4ZKF.js → chunk-OFZGNWBT.js} +1 -1
  43. package/dist/chunk-PF3HZ73R.js +1 -0
  44. package/dist/{chunk-ITKZKREP.js.map → chunk-PF3HZ73R.js.map} +1 -1
  45. package/dist/chunk-QJECDMQQ.js +1 -0
  46. package/dist/{chunk-LZYHBFJC.js.map → chunk-QJECDMQQ.js.map} +1 -1
  47. package/dist/chunk-T7IQHFQ2.js +1 -0
  48. package/dist/chunk-T7IQHFQ2.js.map +1 -0
  49. package/dist/chunk-TSEDU73T.js +1 -0
  50. package/dist/chunk-TSEDU73T.js.map +1 -0
  51. package/dist/chunk-XFDMCPDW.js +1 -0
  52. package/dist/{chunk-GRSNX36B.js.map → chunk-XFDMCPDW.js.map} +1 -1
  53. package/dist/chunk-XRGECU7S.js +1 -0
  54. package/dist/chunk-XRGECU7S.js.map +1 -0
  55. package/dist/{chunk-OLKNYGGT.js → chunk-XSLPWM5N.js} +1 -1
  56. package/dist/chunk-XSN53F7W.js +1 -0
  57. package/dist/{chunk-DBGXZF7O.js.map → chunk-XSN53F7W.js.map} +1 -1
  58. package/dist/chunk-ZEN5K3GE.js +1 -0
  59. package/dist/{chunk-WR6ZFHTO.js.map → chunk-ZEN5K3GE.js.map} +1 -1
  60. package/dist/chunk-ZZTDEDXJ.js +1 -0
  61. package/dist/{chunk-FA5JVXVG.js.map → chunk-ZZTDEDXJ.js.map} +1 -1
  62. package/dist/equipment/index.js +1 -1
  63. package/dist/equipment/upgrade-costs.js +1 -1
  64. package/dist/equipment/upgrade-costs.js.map +1 -1
  65. package/dist/i18n/experimental-effect-descriptions.d.ts +21 -6
  66. package/dist/i18n/experimental-effect-descriptions.js +1 -1
  67. package/dist/i18n/experimental-effects.js +1 -1
  68. package/dist/i18n/index.d.ts +0 -2
  69. package/dist/i18n/index.js +1 -1
  70. package/dist/i18n/materials.d.ts +7 -6
  71. package/dist/i18n/materials.js +1 -1
  72. package/dist/i18n/micro-resources.d.ts +7 -6
  73. package/dist/i18n/micro-resources.js +1 -1
  74. package/dist/i18n/modules.d.ts +10 -7
  75. package/dist/i18n/modules.js +1 -1
  76. package/dist/i18n/pre-engineered.js +1 -1
  77. package/dist/materials/index.js +1 -1
  78. package/dist/materials/materials-all.js +1 -1
  79. package/dist/materials/materials-encoded.js +1 -1
  80. package/dist/materials/materials-manufactured.js +1 -1
  81. package/dist/materials/materials.js +1 -1
  82. package/dist/materials/micro-resources-all.js +1 -1
  83. package/dist/materials/micro-resources.js +1 -1
  84. package/dist/ships/blueprint-costs.js +1 -1
  85. package/dist/ships/blueprint-journal.js +1 -1
  86. package/dist/ships/build-metrics.js +1 -1
  87. package/dist/ships/engineering-options.d.ts +12 -6
  88. package/dist/ships/engineering-options.js +1 -1
  89. package/dist/ships/engineering.js +1 -1
  90. package/dist/ships/gunsights.d.ts +2 -2
  91. package/dist/ships/gunsights.js +1 -1
  92. package/dist/ships/index.d.ts +5 -5
  93. package/dist/ships/index.js +1 -1
  94. package/dist/ships/loadout-calculations.d.ts +11 -2
  95. package/dist/ships/loadout-calculations.js +1 -1
  96. package/dist/ships/loadout-validation.js +1 -1
  97. package/dist/ships/modules-all.d.ts +2 -2
  98. package/dist/ships/modules-all.js +1 -1
  99. package/dist/ships/modules-core.d.ts +3 -3
  100. package/dist/ships/modules-core.js +1 -1
  101. package/dist/ships/modules-hardpoint.d.ts +1 -1
  102. package/dist/ships/modules-internal.d.ts +1 -1
  103. package/dist/ships/modules-internal.js +1 -1
  104. package/dist/ships/modules-utility.d.ts +1 -1
  105. package/dist/ships/modules.d.ts +9 -6
  106. package/dist/ships/modules.js +1 -1
  107. package/dist/ships/pre-engineered-stats.js +1 -1
  108. package/dist/ships/pre-engineered.js +1 -1
  109. package/dist/ships/ship-loadout.d.ts +65 -23
  110. package/dist/ships/ship-loadout.js +1 -1
  111. package/dist/ships/weapons.js +1 -1
  112. package/package.json +1 -9
  113. package/dist/chunk-3NPVWPOV.js.map +0 -1
  114. package/dist/chunk-5QSCLEEB.js +0 -1
  115. package/dist/chunk-5QSCLEEB.js.map +0 -1
  116. package/dist/chunk-5VBB5CTV.js +0 -1
  117. package/dist/chunk-5VBB5CTV.js.map +0 -1
  118. package/dist/chunk-5ZVYRX6Z.js +0 -1
  119. package/dist/chunk-5ZVYRX6Z.js.map +0 -1
  120. package/dist/chunk-AIEC3LBT.js +0 -1
  121. package/dist/chunk-DAQ3PJ4R.js +0 -1
  122. package/dist/chunk-DAQ3PJ4R.js.map +0 -1
  123. package/dist/chunk-DBGXZF7O.js +0 -1
  124. package/dist/chunk-DCB4COCL.js +0 -1
  125. package/dist/chunk-DCB4COCL.js.map +0 -1
  126. package/dist/chunk-FA5JVXVG.js +0 -1
  127. package/dist/chunk-FF2X4K5P.js +0 -1
  128. package/dist/chunk-G2VSQFD6.js +0 -1
  129. package/dist/chunk-G2VSQFD6.js.map +0 -1
  130. package/dist/chunk-GLWPSVFV.js +0 -1
  131. package/dist/chunk-GRSNX36B.js +0 -1
  132. package/dist/chunk-ITKZKREP.js +0 -1
  133. package/dist/chunk-J4PCK4RV.js +0 -1
  134. package/dist/chunk-J4PCK4RV.js.map +0 -1
  135. package/dist/chunk-JO52LYO3.js +0 -1
  136. package/dist/chunk-KJFUNIIY.js +0 -1
  137. package/dist/chunk-KJFUNIIY.js.map +0 -1
  138. package/dist/chunk-LZYHBFJC.js +0 -1
  139. package/dist/chunk-OJC6AUL7.js +0 -1
  140. package/dist/chunk-OJC6AUL7.js.map +0 -1
  141. package/dist/chunk-TW7LUBHD.js +0 -1
  142. package/dist/chunk-WR6ZFHTO.js +0 -1
  143. package/dist/i18n/engineering-groups.d.ts +0 -21
  144. package/dist/i18n/engineering-groups.js +0 -1
  145. package/dist/i18n/engineering-groups.js.map +0 -1
  146. package/dist/i18n/ships.d.ts +0 -36
  147. package/dist/i18n/ships.js +0 -1
  148. package/dist/i18n/ships.js.map +0 -1
  149. /package/dist/{chunk-7EWZGDWY.js.map → chunk-7S7ZTZZY.js.map} +0 -0
  150. /package/dist/{chunk-YCGISPDR.js.map → chunk-ETWMPMZP.js.map} +0 -0
  151. /package/dist/{chunk-JO52LYO3.js.map → chunk-KBCA4GEZ.js.map} +0 -0
  152. /package/dist/{chunk-IWFQ4ZKF.js.map → chunk-OFZGNWBT.js.map} +0 -0
  153. /package/dist/{chunk-OLKNYGGT.js.map → chunk-XSLPWM5N.js.map} +0 -0
@@ -0,0 +1 @@
1
+ import{withPreciseModifierValue,round6}from"./chunk-EFQOUATZ.js";var percent=100;var STAT_LABELS=[{label:"Mass",field:"mass"},{label:"Integrity",field:"integrity"},{label:"PowerDraw",field:"powerDraw"},{label:"BootTime",field:"bootTime"},{label:"FSDOptimalMass",field:"optMass"},{label:"EngineOptimalMass",field:"optMass"},{label:"EngineMinimumMass",field:"minMass"},{label:"MaximumMass",field:"maxMass"},{label:"ShieldGenOptimalMass",field:"optMass"},{label:"ShieldGenMinimumMass",field:"minMass"},{label:"ShieldGenMaximumMass",field:"maxMass"},{label:"EngineOptPerformance",field:"optMultiplier",scale:percent},{label:"EngineMinPerformance",field:"minMultiplier",scale:percent},{label:"EngineMaxPerformance",field:"maxMultiplier",scale:percent},{label:"ShieldGenStrength",field:"optMultiplier",scale:percent},{label:"ShieldGenMinStrength",field:"minMultiplier",scale:percent},{label:"ShieldGenMaxStrength",field:"maxMultiplier",scale:percent},{label:"EngineHeatRate",field:"engineHeatRate"},{label:"FSDHeatRate",field:"fsdHeatRate"},{label:"MaxFuelPerJump",field:"maxFuel"},{label:"PowerCapacity",field:"powerCapacity"},{label:"HeatEfficiency",field:"heatEfficiency"},{label:"EnginesCapacity",field:"enginesCapacity"},{label:"EnginesRecharge",field:"enginesRecharge"},{label:"SystemsCapacity",field:"systemsCapacity"},{label:"SystemsRecharge",field:"systemsRecharge"},{label:"WeaponsCapacity",field:"weaponsCapacity"},{label:"WeaponsRecharge",field:"weaponsRecharge"},{label:"RefuelRate",field:"refuelRate"},{label:"FuelScoopRate",field:"refuelRate"},{label:"FuelCapacity",field:"fuelCapacity"},{label:"CargoCapacity",field:"cargoCapacity"},{label:"CabinCapacity",field:"cabinCapacity"},{label:"RegenRate",field:"shieldRegenRate"},{label:"BrokenRegenRate",field:"shieldBrokenRegenRate"},{label:"EnergyPerRegen",field:"distributorDraw"},{label:"ShieldBankReinforcement",field:"shieldBankReinforcement"},{label:"ShieldBankHeat",field:"shieldBankHeat"},{label:"ShieldBankHeat",field:"thermalLoad"},{label:"ShieldBankSpinUp",field:"shieldBankSpinUp"},{label:"ShieldBankDuration",field:"shieldBankDuration"},{label:"ScannerRange",field:"scannerRange"},{label:"SensorTargetScanAngle",field:"scanAngle"},{label:"MaxAngle",field:"scanAngle"},{label:"ScannerTimeToScan",field:"scanTime"},{label:"ProbeRadius",field:"probeRadius"},{label:"DSS_PatchRadius",field:"probeRadius"},{label:"FSDInterdictorFacingLimit",field:"interdictorFacingLimit"},{label:"FSDInterdictorRange",field:"interdictorRange"},{label:"DefenceModifierShieldMultiplier",field:"shieldBoost",scale:percent,multiplierBase:percent},{label:"DefenceModifierHealthMultiplier",field:"hullBoost",scale:percent,multiplierBase:percent},{label:"DefenceModifierHealthAddition",field:"hullReinforcement"},{label:"DefenceModifierShieldAddition",field:"shieldAddition"},{label:"GuardianModuleResistance",field:"guardianZoneResistance",capabilityValue:"Active"},{label:"KineticResistance",field:"kineticResistance",scale:percent,multiplierBase:-percent},{label:"ThermicResistance",field:"thermalResistance",scale:percent,multiplierBase:-percent},{label:"ExplosiveResistance",field:"explosiveResistance",scale:percent,multiplierBase:-percent},{label:"CausticResistance",field:"causticResistance",scale:percent,multiplierBase:-percent},{label:"DamageProtection",field:"moduleProtection",scale:percent},{label:"ModuleDefenceAbsorption",field:"moduleProtection",scale:percent},{label:"Damage",field:"damage"},{label:"Rounds",field:"roundsPerShot",defaultBase:1},{label:"RoundsPerShot",field:"roundsPerShot",defaultBase:1},{label:"RateOfFire",field:"rateOfFire"},{label:"BurstInterval",field:"burstInterval"},{label:"BurstSize",field:"burstRounds",defaultBase:1},{label:"BurstRateOfFire",field:"burstRateOfFire",defaultBase:1},{label:"AmmoClipSize",field:"clipSize"},{label:"AmmoMaximum",field:"ammoMaximum"},{label:"ReloadTime",field:"reloadTime"},{label:"DistributorDraw",field:"distributorDraw"},{label:"ThermalLoad",field:"thermalLoad"},{label:"ArmourPenetration",field:"armourPiercing"},{label:"Range",field:"maximumRange"},{label:"Range",field:"scannerRange"},{label:"MaximumRange",field:"maximumRange"},{label:"FalloffRange",field:"falloffRange"},{label:"DamageFalloffRange",field:"falloffRange"},{label:"ShotSpeed",field:"shotSpeed"},{label:"$Kinetic;",field:"damageDistribution",damageType:"kinetic",scale:percent,defaultBase:0},{label:"$Thermal;",field:"damageDistribution",damageType:"thermal",scale:percent,defaultBase:0},{label:"$Explosive;",field:"damageDistribution",damageType:"explosive",scale:percent,defaultBase:0},{label:"$Absolute;",field:"damageDistribution",damageType:"absolute",scale:percent,defaultBase:0},{label:"Jitter",field:"jitter",defaultBase:0}];var BY_LABEL=(()=>{const entries=/* @__PURE__ */new Map;for(const entry of STAT_LABELS){const forLabel=entries.get(entry.label)??[];forLabel.push(entry);entries.set(entry.label,forLabel)}return entries})();var LABELS_BY_FIELD=(()=>{const labels=/* @__PURE__ */new Map;for(const entry of STAT_LABELS){if(entry.damageType!==void 0)continue;const fieldLabels=labels.get(entry.field)??[];fieldLabels.push(entry.label);labels.set(entry.field,fieldLabels)}return labels})();function baseStats(stats){const base={};for(const{label:label,field:field,damageType:damageType,scale:scale,defaultBase:defaultBase}of STAT_LABELS){if(base[label]!==void 0)continue;const value=damageType===void 0?stats[field]:stats.damageDistribution?.[damageType];if(typeof value==="number")base[label]=value*(scale??1);else if(defaultBase!==void 0&&isWeapon(stats))base[label]=defaultBase}return base}function isWeapon(stats){return stats.damage!==void 0}function fieldForLabel(label,stats){const entries=BY_LABEL.get(label);if(!entries||entries.length===0)return null;if(stats&&entries.length>1){const carried=entries.find(entry=>typeof stats[entry.field]==="number");if(carried)return carried.field}return entries[0].field}function damageTypeForLabel(label){return BY_LABEL.get(label)?.[0]?.damageType??null}function labelsForDamageType(type){return STAT_LABELS.filter(entry=>entry.damageType===type).map(entry=>entry.label)}function scaleForLabel(label){return BY_LABEL.get(label)?.[0]?.scale??1}function multiplierBaseForLabel(label){return BY_LABEL.get(label)?.[0]?.multiplierBase??null}function capabilityValueForLabel(label){return BY_LABEL.get(label)?.[0]?.capabilityValue??null}function labelsForField(field){return LABELS_BY_FIELD.get(field)??[]}var FLOAT32_SCALED_BASE_LABELS=/* @__PURE__ */new Set(["EngineOptPerformance","EngineMinPerformance","EngineMaxPerformance","ShieldGenStrength","ShieldGenMinStrength","ShieldGenMaxStrength"]);function computeModifiers(base,grade,quality=1,experimental){if(!Number.isFinite(quality)||quality<0||quality>1){throw new RangeError(`computeModifiers: quality must be a finite number in [0, 1]`)}const f=Math.fround;const roll=f(quality);const byLabel=/* @__PURE__ */new Map;const add=(label,method,value,stated)=>{const list=byLabel.get(label)??[];list.push({method:method,value:value,stated:stated});byLabel.set(label,list)};const features="features"in grade?grade.features:grade;for(const feature of features){const rolledValue=roll===0?feature.min:roll===1?feature.max:feature.min+(feature.max-feature.min)*roll;const value=feature.method==="overwrite"?rolledValue:roll===0||roll===1?f(rolledValue):f(f(feature.min)+f(f(feature.max-feature.min)*roll));add(feature.label,feature.method,value,feature.min===feature.max||roll===0||roll===1)}const experimentalModifiers=experimental&&"modifiers"in experimental?experimental.modifiers:experimental;for(const e of experimentalModifiers??[]){add(e.label,e.method,e.method==="overwrite"?e.value:f(e.value),true)}const modifiers=[];let clipIsOverwritten=false;for(const[label,contributions]of byLabel){const capabilityValue=capabilityValueForLabel(label);if(capabilityValue!==null){modifiers.push({Label:label,ValueStr:capabilityValue});continue}const baseValue=base[label];const overwrite=contributions.find(c=>c.method==="overwrite");const multiplierBase=multiplierBaseForLabel(label);const original=baseValue===void 0?void 0:float32JournalValue(baseValue,multiplierBase,FLOAT32_SCALED_BASE_LABELS.has(label)?scaleForLabel(label):1);const baseless=original===void 0&&(multiplierBase!==null||overwrite!==void 0||contributions.some(c=>c.method==="additive"));if(original===void 0&&!baseless)continue;let value=original??0;if(multiplierBase===null){for(const c of contributions){if(c.method==="multiplicative")value=f(value*f(1+f(c.value)))}for(const c of contributions){if(c.method==="additive")value=f(value+f(c.value))}}else{let factor=f(1+value/multiplierBase);for(const c of contributions){if(c.method==="overwrite")continue;factor=f(factor*f(1+f(f(c.value)*100/multiplierBase)))}value=f(f(factor-1)*multiplierBase)}if(overwrite)value=overwrite.value;if(label==="AmmoClipSize"){if(overwrite)clipIsOverwritten=true;else if(original!==void 0&&contributions.every(c=>c.stated)){value=snapToStatedWhole(value,original)}}else if(label==="AmmoMaximum"&&!overwrite){value=Math.round(value)}modifiers.push(withPreciseModifierValue({Label:label,Value:round6(value),...original===void 0&&multiplierBase===null?{}:{OriginalValue:round6(original??0)}},value))}const resolved=resolveFalloffFromRange(modifiers,base);return clipIsOverwritten?resolved:roundClipToWholeBursts(resolved,base)}function float32JournalValue(value,multiplierBase,scale){if(multiplierBase===null){return Math.fround(Math.fround(value/scale)*scale)}const factor=Math.fround(1+value/multiplierBase);return Math.fround(Math.fround(factor-1)*multiplierBase)}function roundClipToWholeBursts(modifiers,base){const clip=modifiers.find(m=>m.Label==="AmmoClipSize");if(!clip?.Value||clip.Value===clip.OriginalValue)return modifiers;const burst=modifiers.find(m=>m.Label==="BurstSize")?.Value||base["BurstSize"]||1;const rounded=Math.ceil(clip.Value/burst)*burst;if(rounded===clip.Value)return modifiers;return modifiers.map(m=>m===clip?{...m,Value:rounded}:m)}function snapToStatedWhole(value,base){const whole=Math.round(value);return Math.abs(value-whole)<=Math.abs(base)*5e-4?whole:value}function resolveFalloffFromRange(modifiers,base){const falloff=modifiers.find(m=>m.Label==="FalloffRange");if(!falloff||falloff.Value===void 0)return modifiers;const range=modifiers.find(m=>m.Label==="Range"||m.Label==="MaximumRange")?.Value??base["Range"]??base["MaximumRange"];if(range===void 0){return falloff.Value<=1?modifiers.filter(m=>m!==falloff):modifiers}if(falloff.Value<=1||falloff.Value>range){return modifiers.map(m=>m===falloff?{...m,Value:round6(range)}:m)}return modifiers}function sumMaterials(...lists){const totals=/* @__PURE__ */new Map;for(const list of lists){for(const material of list){const key=material.symbol.toLowerCase();const previous=totals.get(key);totals.set(key,{symbol:previous?.symbol??material.symbol,name:previous?.name??material.name,count:(previous?.count??0)+material.count})}}return[...totals.values()]}export{baseStats,capabilityValueForLabel,computeModifiers,damageTypeForLabel,fieldForLabel,labelsForDamageType,labelsForField,scaleForLabel,sumMaterials};//# sourceMappingURL=chunk-A7IVMYNF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ships/internal/module-stat-labels.ts","../src/ships/engineering.ts"],"names":["withPreciseModifierValue","round6","percent","STAT_LABELS","label","field","scale","multiplierBase","capabilityValue","defaultBase","damageType","BY_LABEL","entries","Map","entry","forLabel","get","push","set","LABELS_BY_FIELD","labels","fieldLabels","baseStats","stats","base","value","damageDistribution","isWeapon","damage","fieldForLabel","length","carried","find","damageTypeForLabel","labelsForDamageType","type","filter","map","scaleForLabel","multiplierBaseForLabel","capabilityValueForLabel","labelsForField","FLOAT32_SCALED_BASE_LABELS","Set","computeModifiers","grade","quality","experimental","Number","isFinite","RangeError","f","Math","fround","roll","byLabel","add","method","stated","list","features","feature","rolledValue","min","max","experimentalModifiers","modifiers","e","clipIsOverwritten","contributions","Label","ValueStr","baseValue","overwrite","c","original","float32JournalValue","has","baseless","some","factor","every","snapToStatedWhole","round","Value","OriginalValue","resolved","resolveFalloffFromRange","roundClipToWholeBursts","clip","m","burst","rounded","ceil","whole","abs","falloff","range","sumMaterials","lists","totals","material","key","symbol","toLowerCase","previous","name","count","values"],"mappings":"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"}
@@ -1 +1 @@
1
- import{journalRateOfFire}from"./chunk-EFQOUATZ.js";import{requireFiniteNonNegative}from"./chunk-65FZECUX.js";function combinedRateOfFire(weapon){return journalRateOfFire(weapon.burstInterval,weapon.burstRounds,weapon.burstRateOfFire)}var ZERO_SPLIT={kinetic:0,thermal:0,explosive:0,absolute:0,antiXeno:0};function splitDamage(damage,distribution){if(!distribution)return Object.freeze({...ZERO_SPLIT,absolute:damage});return Object.freeze({kinetic:damage*(distribution.kinetic??0),thermal:damage*(distribution.thermal??0),explosive:damage*(distribution.explosive??0),absolute:damage*(distribution.absolute??0),...(distribution.unclassified??0)===0?{}:{unclassified:damage*distribution.unclassified},antiXeno:damage*(distribution.antiXeno??0)})}function splitComponents(damage,components){const unclassified=(components.unclassified??[]).reduce((sum,value)=>sum+value,0);const conventional=(components.kinetic??0)+(components.thermal??0)+(components.explosive??0)+(components.absolute??0)+unclassified;if(conventional<=0)return Object.freeze({...ZERO_SPLIT,absolute:damage});const scale=damage/conventional;return Object.freeze({kinetic:(components.kinetic??0)*scale,thermal:(components.thermal??0)*scale,explosive:(components.explosive??0)*scale,absolute:(components.absolute??0)*scale,...unclassified===0?{}:{unclassified:unclassified*scale},antiXeno:(components.antiXeno??0)*scale})}function sustainedFireFactor(weapon){const rateOfFire=weapon.rateOfFire;const clip=weapon.clipSize===void 0?void 0:Math.ceil(weapon.clipSize);if(!rateOfFire||!clip||clip<=0)return 1;const burst=weapon.burstRounds&&weapon.burstRounds>0?weapon.burstRounds:1;const burstRate=weapon.burstRateOfFire&&weapon.burstRateOfFire>0?weapon.burstRateOfFire:1;const reload=weapon.reloadTime??0;const cycle=(clip-burst)/rateOfFire+(burst-1)/burstRate+reload;if(cycle<=0)return 1;const sustainedRate=clip/cycle;return Math.min(1,sustainedRate/rateOfFire)}function damagePerSecond(weapon){const damage=weapon.damage??0;const rounds=weapon.roundsPerShot&&weapon.roundsPerShot>0?weapon.roundsPerShot:1;return damage*rounds*(weapon.rateOfFire??1)}function sustainedDamagePerSecond(weapon){return damagePerSecond(weapon)*sustainedFireFactor(weapon)}function energyPerSecond(weapon){return(weapon.distributorDraw??0)*(weapon.rateOfFire??1)}function heatPerSecond(weapon){return(weapon.thermalLoad??0)*(weapon.rateOfFire??1)}function damageFalloff(weapon,metres){const maximum=weapon.maximumRange;if(maximum!==void 0&&metres>maximum)return 0;const falloff=weapon.falloffRange;if(falloff===void 0||maximum===void 0||metres<=falloff)return 1;const taper=maximum-falloff;if(taper<=0)return 1;return Math.max(0,1-(metres-falloff)/taper)}function armourPiercingFactor(armourPiercing,hardness){requireFiniteNonNegative("armourPiercingFactor","armour piercing",armourPiercing);requireFiniteNonNegative("armourPiercingFactor","hardness",hardness);if(hardness===0)return 1;return Math.min(1,armourPiercing/hardness)}function weaponMetrics(weapon){const continuous=weapon.rateOfFire===void 0;const rateOfFire=weapon.rateOfFire??1;const factor=sustainedFireFactor(weapon);const dps=damagePerSecond(weapon);const sdps=dps*factor;const eps=energyPerSecond(weapon);const hps=heatPerSecond(weapon);const rounds=weapon.roundsPerShot&&weapon.roundsPerShot>0?weapon.roundsPerShot:1;return Object.freeze({damagePerShot:(weapon.damage??0)*rounds,rateOfFire:rateOfFire,sustainedRateOfFire:rateOfFire*factor,damagePerSecond:dps,sustainedDamagePerSecond:sdps,energyPerSecond:eps,sustainedEnergyPerSecond:eps*factor,heatPerSecond:hps,sustainedHeatPerSecond:hps*factor,thermalLoad:weapon.thermalLoad??0,powerDraw:weapon.powerDraw??0,damageByType:weapon.damageComponents?splitComponents(dps,weapon.damageComponents):splitDamage(dps,weapon.damageDistribution),sustainedDamageByType:weapon.damageComponents?splitComponents(sdps,weapon.damageComponents):splitDamage(sdps,weapon.damageDistribution),continuous:continuous})}function sumWeaponMetrics(metrics){const damageByType=emptyDamageSplitAccumulator();const sustainedDamageByType=emptyDamageSplitAccumulator();let damagePerSecond2=0;let sustainedDamagePerSecond2=0;let energyPerSecond2=0;let sustainedEnergyPerSecond=0;let heatPerSecond2=0;let sustainedHeatPerSecond=0;let thermalLoad=0;let powerDraw=0;for(const metric of metrics){damagePerSecond2+=metric.damagePerSecond;sustainedDamagePerSecond2+=metric.sustainedDamagePerSecond;energyPerSecond2+=metric.energyPerSecond;sustainedEnergyPerSecond+=metric.sustainedEnergyPerSecond;heatPerSecond2+=metric.heatPerSecond;sustainedHeatPerSecond+=metric.sustainedHeatPerSecond;thermalLoad+=metric.thermalLoad;powerDraw+=metric.powerDraw;addDamageSplit(damageByType,metric.damageByType);addDamageSplit(sustainedDamageByType,metric.sustainedDamageByType)}return Object.freeze({damagePerSecond:damagePerSecond2,sustainedDamagePerSecond:sustainedDamagePerSecond2,energyPerSecond:energyPerSecond2,sustainedEnergyPerSecond:sustainedEnergyPerSecond,heatPerSecond:heatPerSecond2,sustainedHeatPerSecond:sustainedHeatPerSecond,thermalLoad:thermalLoad,powerDraw:powerDraw,damageByType:finishDamageSplit(damageByType),sustainedDamageByType:finishDamageSplit(sustainedDamageByType)})}function emptyDamageSplitAccumulator(){return{kinetic:0,thermal:0,explosive:0,absolute:0,unclassified:0,antiXeno:0}}function addDamageSplit(total,split){total.kinetic+=split.kinetic;total.thermal+=split.thermal;total.explosive+=split.explosive;total.absolute+=split.absolute;total.unclassified+=split.unclassified??0;total.antiXeno+=split.antiXeno}function finishDamageSplit(total){const{unclassified:unclassified,...classified}=total;return Object.freeze(unclassified===0?classified:{...classified,unclassified:unclassified})}export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics};//# sourceMappingURL=chunk-2OBUSQA7.js.map
1
+ import{requireFiniteNonNegative}from"./chunk-65FZECUX.js";import{journalRateOfFire}from"./chunk-EFQOUATZ.js";function combinedRateOfFire(weapon){return journalRateOfFire(weapon.burstInterval,weapon.burstRounds,weapon.burstRateOfFire)}var ZERO_SPLIT={kinetic:0,thermal:0,explosive:0,absolute:0,antiXeno:0};function splitDamage(damage,distribution){if(!distribution)return Object.freeze({...ZERO_SPLIT,absolute:damage});return Object.freeze({kinetic:damage*(distribution.kinetic??0),thermal:damage*(distribution.thermal??0),explosive:damage*(distribution.explosive??0),absolute:damage*(distribution.absolute??0),...(distribution.unclassified??0)===0?{}:{unclassified:damage*distribution.unclassified},antiXeno:damage*(distribution.antiXeno??0)})}function splitComponents(damage,components){const unclassified=(components.unclassified??[]).reduce((sum,value)=>sum+value,0);const conventional=(components.kinetic??0)+(components.thermal??0)+(components.explosive??0)+(components.absolute??0)+unclassified;if(conventional<=0)return Object.freeze({...ZERO_SPLIT,absolute:damage});const scale=damage/conventional;return Object.freeze({kinetic:(components.kinetic??0)*scale,thermal:(components.thermal??0)*scale,explosive:(components.explosive??0)*scale,absolute:(components.absolute??0)*scale,...unclassified===0?{}:{unclassified:unclassified*scale},antiXeno:(components.antiXeno??0)*scale})}function sustainedFireFactor(weapon){const rateOfFire=weapon.rateOfFire;const clip=weapon.clipSize===void 0?void 0:Math.ceil(weapon.clipSize);if(!rateOfFire||!clip||clip<=0)return 1;const burst=weapon.burstRounds&&weapon.burstRounds>0?weapon.burstRounds:1;const burstRate=weapon.burstRateOfFire&&weapon.burstRateOfFire>0?weapon.burstRateOfFire:1;const reload=weapon.reloadTime??0;const cycle=(clip-burst)/rateOfFire+(burst-1)/burstRate+reload;if(cycle<=0)return 1;const sustainedRate=clip/cycle;return Math.min(1,sustainedRate/rateOfFire)}function damagePerSecond(weapon){const damage=weapon.damage??0;const rounds=weapon.roundsPerShot&&weapon.roundsPerShot>0?weapon.roundsPerShot:1;return damage*rounds*(weapon.rateOfFire??1)}function sustainedDamagePerSecond(weapon){return damagePerSecond(weapon)*sustainedFireFactor(weapon)}function energyPerSecond(weapon){return(weapon.distributorDraw??0)*(weapon.rateOfFire??1)}function heatPerSecond(weapon){return(weapon.thermalLoad??0)*(weapon.rateOfFire??1)}function damageFalloff(weapon,metres){const maximum=weapon.maximumRange;if(maximum!==void 0&&metres>maximum)return 0;const falloff=weapon.falloffRange;if(falloff===void 0||maximum===void 0||metres<=falloff)return 1;const taper=maximum-falloff;if(taper<=0)return 1;return Math.max(0,1-(metres-falloff)/taper)}function armourPiercingFactor(armourPiercing,hardness){requireFiniteNonNegative("armourPiercingFactor","armour piercing",armourPiercing);requireFiniteNonNegative("armourPiercingFactor","hardness",hardness);if(hardness===0)return 1;return Math.min(1,armourPiercing/hardness)}function weaponMetrics(weapon){const continuous=weapon.rateOfFire===void 0;const rateOfFire=weapon.rateOfFire??1;const factor=sustainedFireFactor(weapon);const dps=damagePerSecond(weapon);const sdps=dps*factor;const eps=energyPerSecond(weapon);const hps=heatPerSecond(weapon);const rounds=weapon.roundsPerShot&&weapon.roundsPerShot>0?weapon.roundsPerShot:1;return Object.freeze({damagePerShot:(weapon.damage??0)*rounds,rateOfFire:rateOfFire,sustainedRateOfFire:rateOfFire*factor,damagePerSecond:dps,sustainedDamagePerSecond:sdps,energyPerSecond:eps,sustainedEnergyPerSecond:eps*factor,heatPerSecond:hps,sustainedHeatPerSecond:hps*factor,thermalLoad:weapon.thermalLoad??0,powerDraw:weapon.powerDraw??0,damageByType:weapon.damageComponents?splitComponents(dps,weapon.damageComponents):splitDamage(dps,weapon.damageDistribution),sustainedDamageByType:weapon.damageComponents?splitComponents(sdps,weapon.damageComponents):splitDamage(sdps,weapon.damageDistribution),continuous:continuous})}function sumWeaponMetrics(metrics){const damageByType=emptyDamageSplitAccumulator();const sustainedDamageByType=emptyDamageSplitAccumulator();let damagePerSecond2=0;let sustainedDamagePerSecond2=0;let energyPerSecond2=0;let sustainedEnergyPerSecond=0;let heatPerSecond2=0;let sustainedHeatPerSecond=0;let thermalLoad=0;let powerDraw=0;for(const metric of metrics){damagePerSecond2+=metric.damagePerSecond;sustainedDamagePerSecond2+=metric.sustainedDamagePerSecond;energyPerSecond2+=metric.energyPerSecond;sustainedEnergyPerSecond+=metric.sustainedEnergyPerSecond;heatPerSecond2+=metric.heatPerSecond;sustainedHeatPerSecond+=metric.sustainedHeatPerSecond;thermalLoad+=metric.thermalLoad;powerDraw+=metric.powerDraw;addDamageSplit(damageByType,metric.damageByType);addDamageSplit(sustainedDamageByType,metric.sustainedDamageByType)}return Object.freeze({damagePerSecond:damagePerSecond2,sustainedDamagePerSecond:sustainedDamagePerSecond2,energyPerSecond:energyPerSecond2,sustainedEnergyPerSecond:sustainedEnergyPerSecond,heatPerSecond:heatPerSecond2,sustainedHeatPerSecond:sustainedHeatPerSecond,thermalLoad:thermalLoad,powerDraw:powerDraw,damageByType:finishDamageSplit(damageByType),sustainedDamageByType:finishDamageSplit(sustainedDamageByType)})}function emptyDamageSplitAccumulator(){return{kinetic:0,thermal:0,explosive:0,absolute:0,unclassified:0,antiXeno:0}}function addDamageSplit(total,split){total.kinetic+=split.kinetic;total.thermal+=split.thermal;total.explosive+=split.explosive;total.absolute+=split.absolute;total.unclassified+=split.unclassified??0;total.antiXeno+=split.antiXeno}function finishDamageSplit(total){const{unclassified:unclassified,...classified}=total;return Object.freeze(unclassified===0?classified:{...classified,unclassified:unclassified})}export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics};//# sourceMappingURL=chunk-AAU7OM47.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ships/weapons.ts"],"names":["journalRateOfFire","requireFiniteNonNegative","combinedRateOfFire","weapon","burstInterval","burstRounds","burstRateOfFire","ZERO_SPLIT","kinetic","thermal","explosive","absolute","antiXeno","splitDamage","damage","distribution","Object","freeze","unclassified","splitComponents","components","reduce","sum","value","conventional","scale","sustainedFireFactor","rateOfFire","clip","clipSize","Math","ceil","burst","burstRate","reload","reloadTime","cycle","sustainedRate","min","damagePerSecond","rounds","roundsPerShot","sustainedDamagePerSecond","energyPerSecond","distributorDraw","heatPerSecond","thermalLoad","damageFalloff","metres","maximum","maximumRange","falloff","falloffRange","taper","max","armourPiercingFactor","armourPiercing","hardness","weaponMetrics","continuous","factor","dps","sdps","eps","hps","damagePerShot","sustainedRateOfFire","sustainedEnergyPerSecond","sustainedHeatPerSecond","powerDraw","damageByType","damageComponents","damageDistribution","sustainedDamageByType","sumWeaponMetrics","metrics","emptyDamageSplitAccumulator","metric","addDamageSplit","finishDamageSplit","total","split","classified"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/ships/weapons.ts"],"names":["requireFiniteNonNegative","journalRateOfFire","combinedRateOfFire","weapon","burstInterval","burstRounds","burstRateOfFire","ZERO_SPLIT","kinetic","thermal","explosive","absolute","antiXeno","splitDamage","damage","distribution","Object","freeze","unclassified","splitComponents","components","reduce","sum","value","conventional","scale","sustainedFireFactor","rateOfFire","clip","clipSize","Math","ceil","burst","burstRate","reload","reloadTime","cycle","sustainedRate","min","damagePerSecond","rounds","roundsPerShot","sustainedDamagePerSecond","energyPerSecond","distributorDraw","heatPerSecond","thermalLoad","damageFalloff","metres","maximum","maximumRange","falloff","falloffRange","taper","max","armourPiercingFactor","armourPiercing","hardness","weaponMetrics","continuous","factor","dps","sdps","eps","hps","damagePerShot","sustainedRateOfFire","sustainedEnergyPerSecond","sustainedHeatPerSecond","powerDraw","damageByType","damageComponents","damageDistribution","sustainedDamageByType","sumWeaponMetrics","metrics","emptyDamageSplitAccumulator","metric","addDamageSplit","finishDamageSplit","total","split","classified"],"mappings":"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"}
@@ -1 +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:"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:"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:"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:"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:"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:"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:"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:"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:"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:"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",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:"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)",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)",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)",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)",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)",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)",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",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-KPJ77VPS.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-BJU27V6C.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,s26BAwKO,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,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 +1 @@
1
- import{getLocalizedName,createLocalizedNameIndex}from"./chunk-RVIYOHYF.js";var experimental_effect_names_default={special_armour_chunky:{en:"Deep Plating",de:"Tiefenüberzug",es:"Enchapado profundo",fr:"Blindage épais",pt:"Revestimento espesso",ru:"Утолщенная броня"},special_armour_explosive:{en:"Layered Plating",de:"Schichtüberzug",es:"Enchapado a capas",fr:"Blindage à couches",pt:"Revestimento em camadas",ru:"Многослойная броня"},special_armour_kinetic:{en:"Angled Plating",de:"Winkelüberzug",es:"Enchapado en ángulo",fr:"Blindage anguleux",pt:"Revestimento inclinado",ru:"Угловая броня"},special_armour_thermic:{en:"Reflective Plating",de:"Reflektorüberzug",es:"Enchapado reflectante",fr:"Blindage réfléchissant",pt:"Revestimento refletor",ru:"Отражающая броня"},special_auto_loader:{en:"Auto Loader",de:"Auto-Laden",es:"Autocargador",fr:"Rechargement automatique",pt:"Carregador Automático",ru:"Автоматическая система заряжения"},special_blinding_shell:{en:"Dazzle Shell",de:"Blendgranate",es:"Proyectil deslumbrante",fr:"Obus aveuglant",pt:"Projétil Cegante",ru:"Ослепляющие снаряды"},special_choke_canister:{en:"Ion Disruption",de:"Ionen-Disruption",es:"Disruptor de iones",fr:"Perturbation ionique",pt:"Perturbação de Íon",ru:"Ионный дестабилизатор"},special_concordant_sequence:{en:"Concordant Sequence",de:"Konkordante Sequenz",es:"Secuencia concordante",fr:"Séquence concordante",pt:"Sequência Concordante",ru:"Последовательность координации"},special_corrosive_shell:{en:"Corrosive Shell",de:"Korrosionsgranate",es:"Proyectil corrosivo",fr:"Obus corrosif",pt:"Projétil Corrosivo",ru:"Разъедающие снаряды"},special_deep_cut_payload:{en:"Penetrator Payload",de:"Durchdringungsladung",es:"Carga explosiva penetradora",fr:"Charge explosive perforante",pt:"Carga Penetrante",ru:"Бронебойные снаряды"},special_dispersal_field:{en:"Dispersal Field",de:"Streuungsfeld",es:"Campo de dispersión",fr:"Champ de dispersion",pt:"Campo de Dispersão",ru:"Рассеивающее поле"},special_distortion_field:{en:"Inertial Impact",de:"Inertialeinschlag",es:"Impacto inercial",fr:"Impact inertiel",pt:"Impacto Inercial",ru:"Инерционный удар"},special_drag_munitions:{en:"Drag Munitions",de:"Ableitungsmunition",es:"Munición lastre",fr:"Munitions à inertie",pt:"Munições de arrasto",ru:"Замедляющие боеприпасы"},special_emissive_munitions:{en:"Emissive Munitions",de:"Emissionsmunition",es:"Munición de emisiones",fr:"Munitions à émissions",pt:"Munições Emissivas",ru:"Эмиссионные боеприпасы"},special_engine_cooled:{en:"Thermal Spread",de:"Thermischer Verteiler",es:"Difusión térmica",fr:"Répartition thermique",pt:"Propagação térmica",ru:"Рассеивание тепла"},special_engine_haulage:{en:"Drive Distributors",de:"Antriebsdistributoren",es:"Distribuidores de motor",fr:"Répartiteurs de réacteur",pt:"Distribuidores do motor",ru:"Распределители тяги"},special_engine_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_engine_overloaded:{en:"Drag Drives",de:"Drag-Antriebe",es:"Motores de arrastre",fr:"Débridage des réacteurs",pt:"Motores de arrasto",ru:"Ускорители"},special_engine_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_feedback_cascade_cooled:{en:"Feedback Cascade",de:"Rückkopplungskaskade",es:"Retroalimentación en cascada",fr:"Réverbération énergétique",pt:"Cascata de Realimentação",ru:"Ответный залп"},special_force_shell:{en:"Force Shell",de:"Impulsgranate",es:"Proyectil de fuerza",fr:"Munition surpuissante",pt:"Projétil de Força",ru:"Усиленные снаряды"},special_fsd_cooled:{en:"Thermal Spread",de:"Thermischer Verteiler",es:"Difusión térmica",fr:"Répartition thermique",pt:"Propagação térmica",ru:"Рассеивание тепла"},special_fsd_fuelcapacity:{en:"Deep Charge",de:"Tieflader",es:"Carga intensa",fr:"Charge profonde",pt:"Carga intensa",ru:"Заряд повышенной мощности"},special_fsd_heavy:{en:"Mass Manager",de:"Massemanager",es:"Gestión de masa",fr:"Gestionnaire de masse",pt:"Gestor de massa",ru:"Распределитель гравитации"},special_fsd_interrupt:{en:"FSD Interrupt",de:"FSA-Unterbrechung",es:"Interrupción MDD",fr:"Interruption FSD",pt:"Interruptor de MDD",ru:"Помеха для FSD"},special_fsd_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_fsd_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_high_yield_shell:{en:"High Yield Shell",de:"Hocheffizienzgranate",es:"Proyectil de alto rendimiento",fr:"Obus à fragmentation",pt:"Projétil de Alto Rendimento",ru:"Снаряды большой мощности"},special_hullreinforcement_chunky:{en:"Deep Plating",de:"Tiefenüberzug",es:"Enchapado profundo",fr:"Blindage épais",pt:"Revestimento espesso",ru:"Утолщенная броня"},special_hullreinforcement_explosive:{en:"Layered Plating",de:"Schichtüberzug",es:"Enchapado a capas",fr:"Blindage à couches",pt:"Revestimento em camadas",ru:"Многослойная броня"},special_hullreinforcement_kinetic:{en:"Angled Plating",de:"Winkelüberzug",es:"Enchapado en ángulo",fr:"Blindage anguleux",pt:"Revestimento inclinado",ru:"Угловая броня"},special_hullreinforcement_thermic:{en:"Reflective Plating",de:"Reflektorüberzug",es:"Enchapado reflectante",fr:"Blindage réfléchissant",pt:"Revestimento refletor",ru:"Отражающая броня"},special_incendiary_rounds:{en:"Incendiary Rounds",de:"Hitzesalven",es:"Munición incendiaria",fr:"Munitions incendiaires",pt:"Munição Incendiária",ru:"Зажигательные боеприпасы"},special_lock_breaker:{en:"Target Lock Breaker",de:"Zielvisierbrecher",es:"Interruptor de selección",fr:"Interrupteur de verrouillage de cible",pt:"Quebra de Trava de Alvo",ru:"Генератор помех для системы захвата цели"},special_mass_lock:{en:"Mass Lock Munition",de:"Massesperremunition",es:"Munición de bloqueo de masa",fr:"Munitions à champ gravitationnel",pt:"Munição de Bloqueio de Massa",ru:"Боеприпасы с гравитационным захватом"},special_overload_munitions:{en:"Overload Munitions",de:"Überladungsmunition",es:"Munición sobrecargada",fr:"Munitions à surcharge",pt:"Munições de Sobrecarga",ru:"Вызывающие перегрузку боеприпасы"},special_penetrator_munitions:{en:"Penetrator Munitions",de:"Penetrationsmunition",es:"Munición penetradora",fr:"Munitions perforantes",pt:"Munições Penetrantes",ru:"Бронебойные боеголовки"},special_phasing_sequence:{en:"Phasing Sequence",de:"Phasensequenz",es:"Secuencia de fase",fr:"Séquence de phase",pt:"Sequência Faseada",ru:"Последовательность фазирования"},special_plasma_slug:{en:"Plasma Slug",de:"Plasmaprojektil",es:"Proyectil de plasma",fr:"Munitions à plasma",pt:"Projétil de Plasma",ru:"Плазменный рельсовый снаряд"},special_plasma_slug_cooled:{en:"Plasma Slug",de:"Plasmaprojektil",es:"Proyectil de plasma",fr:"Munitions à plasma",pt:"Projétil de Plasma",ru:"Плазменный рельсовый снаряд"},special_powerdistributor_capacity:{en:"Cluster Capacitors",de:"Cluster-Kondensatoren",es:"Agrupación de capacitadores",fr:"Batterie de condensateurs",pt:"Banco de capacitores",ru:"Кассетные конденсаторы"},special_powerdistributor_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_powerdistributor_fast:{en:"Super Conduits",de:"Superleiter",es:"Superconductores",fr:"Super conduits",pt:"Supercondutores",ru:"Сверхпроводники"},special_powerdistributor_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_powerdistributor_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_powerplant_cooled:{en:"Thermal Spread",de:"Thermischer Verteiler",es:"Difusión térmica",fr:"Répartition thermique",pt:"Propagação térmica",ru:"Рассеивание тепла"},special_powerplant_highcharge:{en:"Monstered",de:"Monsterhaft",es:"A lo bestia",fr:"Modèle XXL",pt:"Parrudo",ru:"Монстрация"},special_powerplant_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_powerplant_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_radiant_canister:{en:"Radiant Canister",de:"Strahlenbehältnis",es:"Cartucho radiactivo",fr:"Cartouche irradiante",pt:"Mina Radiante",ru:"Светящаяся кассета"},special_regeneration_sequence:{en:"Regeneration Sequence",de:"Regenerierungssequenz",es:"Secuencia de regeneración",fr:"Séquence de régénération",pt:"Sequência de Regeneração",ru:"Последовательность восстановления"},special_reverberating_cascade:{en:"Reverberating Cascade",de:"Rückstrahlkaskade",es:"Reverberación en cascada",fr:"Réverbération en série",pt:"Cascata Reverberante",ru:"Отраженный залп"},special_scramble_spectrum:{en:"Scramble Spectrum",de:"Störspektrum",es:"Espectro de interferencias",fr:"Spectre de brouillage",pt:"Espectro Randômico",ru:"Отключающая сетка"},special_screening_shell:{en:"Screening Shell",de:"Sperrgranate",es:"Proyectil de pantalla",fr:"Obus de criblage",pt:"Projétil de Triagem",ru:"Заслоняющие снаряды"},special_shield_efficient:{en:"Lo-draw",de:"Leichtbedarf",es:"Consumo reducido",fr:"Consommation réduite",pt:"Baixo consumo",ru:"Пониженное потребление"},special_shield_health:{en:"Hi-Cap",de:"Hochkondensatoren",es:"Límite elevado",fr:"Puissance renforcée",pt:"Alta capacitância",ru:"Высокая емкость"},special_shield_kinetic:{en:"Force Block",de:"Kraft-Block",es:"Bloqueo de fuerza",fr:"Blocage de force",pt:"Bloqueio cinético",ru:"Усиленная блокировка"},special_shield_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_shield_regenerative:{en:"Fast Charge",de:"Schnelllader",es:"Carga rápida",fr:"Chargement rapide",pt:"Carga rápida",ru:"Быстрый заряд"},special_shield_resistive:{en:"Multi-weave",de:"Multigewebe",es:"Multitejido",fr:"Filaments multiples",pt:"Rede múltipla",ru:"Мультипрошивка"},special_shield_thermic:{en:"Thermo Block",de:"Thermo-Block",es:"Bloqueo térmico",fr:"Blocage thermique",pt:"Bloqueio térmico",ru:"Блокировка тепла"},special_shield_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_shieldbooster_chunky:{en:"Super Capacitors",de:"Superkondensatoren",es:"Supercapacitadores",fr:"Super condensateurs",pt:"Supercapacitores",ru:"Суперконденсаторы"},special_shieldbooster_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_shieldbooster_explosive:{en:"Blast Block",de:"Blast-Block",es:"Bloqueo de explosivos",fr:"Blocage d'explosion",pt:"Bloqueio explosivo",ru:"Блокировка взрыва"},special_shieldbooster_kinetic:{en:"Force Block",de:"Kraft-Block",es:"Bloqueo de fuerza",fr:"Blocage de force",pt:"Bloqueio cinético",ru:"Усиленная блокировка"},special_shieldbooster_thermic:{en:"Thermo Block",de:"Thermo-Block",es:"Bloqueo térmico",fr:"Blocage thermique",pt:"Bloqueio térmico",ru:"Блокировка тепла"},special_shieldbooster_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_shieldcell_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_shieldcell_gradual:{en:"Recycling Cell",de:"Recyclingzelle",es:"Célula de reciclaje",fr:"Recyclage des cellules",pt:"Célula de reciclagem",ru:"Рециркуляционная ячейка"},special_shieldcell_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_shieldcell_oversized:{en:"Boss Cells",de:"Bosszellen",es:"Células excelentes",fr:"Cellules XXL",pt:"Células resistentes",ru:"Босс-ячейки"},special_shieldcell_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_shiftlock_canister:{en:"Shift-lock Canister",de:"Frameshift-Blocker",es:"Cartucho bloqueador",fr:"Cartouche de verrouillage FSD",pt:"Mina de Trava de Distorção",ru:"Рамоблокирующая кассета"},special_smart_rounds:{en:"Smart Rounds",de:"Intelligente Munition",es:"Munición inteligente",fr:"Munitions intelligentes",pt:"Projéteis Inteligentes",ru:"Умные боеприпасы"},special_super_penetrator:{en:"Super Penetrator"},special_super_penetrator_cooled:{en:"Super Penetrator",de:"Super-Durchdringer",es:"Súper penetrador",fr:"Munitions ultra perforantes",pt:"Super Penetrador",ru:"Модуль сверхпробития"},special_thermal_cascade:{en:"Thermal Cascade",de:"Thermalkaskade",es:"Cascada térmica",fr:"Réverbération thermique",pt:"Cascata Térmica",ru:"Термический залп"},special_thermal_conduit:{en:"Thermal Conduit",de:"Thermischer Verstärker",es:"Conductor térmico",fr:"Décupleur thermique",pt:"Condutor Térmico",ru:"Проводник тепла"},special_thermal_vent:{en:"Thermal Vent",de:"Thermische Entlastung",es:"Ventilación térmica",fr:"Ventilation thermique",pt:"Exaustor Térmico",ru:"Теплоотдача"},special_thermalshock:{en:"Thermal Shock",de:"Thermischer Schock",es:"Choque térmico",fr:"Choc thermique",pt:"Choque Térmico",ru:"Тепловой удар"},special_weapon_damage:{en:"Oversized",de:"Übergröße",es:"Mayor tamaño",fr:"Arme XXL",pt:"Reforçado",ru:"Сверхразмер"},special_weapon_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_weapon_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_weapon_rateoffire:{en:"Multi-servos",es:"Multiservos",fr:"Servomécanismes multiples",pt:"Servos múltiplos",ru:"Сервосистема"},special_weapon_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"}};var EXPERIMENTAL_EFFECT_NAMES=/* @__PURE__ */createLocalizedNameIndex(experimental_effect_names_default);function getExperimentalEffectName(experimentalEffectSymbol,locale){return getLocalizedName(EXPERIMENTAL_EFFECT_NAMES,experimentalEffectSymbol,locale,"getExperimentalEffectName","experimentalEffectSymbol")}export{getExperimentalEffectName};//# sourceMappingURL=chunk-DSMLYA2M.js.map
1
+ import{getLocalizedName,createLocalizedNameIndex}from"./chunk-RVIYOHYF.js";var experimental_effect_names_default={special_armour_chunky:{en:"Deep Plating",de:"Tiefenüberzug",es:"Enchapado profundo",fr:"Blindage épais",pt:"Revestimento espesso",ru:"Утолщенная броня"},special_armour_explosive:{en:"Layered Plating",de:"Schichtüberzug",es:"Enchapado a capas",fr:"Blindage à couches",pt:"Revestimento em camadas",ru:"Многослойная броня"},special_armour_kinetic:{en:"Angled Plating",de:"Winkelüberzug",es:"Enchapado en ángulo",fr:"Blindage anguleux",pt:"Revestimento inclinado",ru:"Угловая броня"},special_armour_thermic:{en:"Reflective Plating",de:"Reflektorüberzug",es:"Enchapado reflectante",fr:"Blindage réfléchissant",pt:"Revestimento refletor",ru:"Отражающая броня"},special_auto_loader:{en:"Auto Loader",de:"Auto-Laden",es:"Autocargador",fr:"Rechargement automatique",pt:"Carregador Automático",ru:"Автоматическая система заряжения"},special_blinding_shell:{en:"Dazzle Shell",de:"Blendgranate",es:"Proyectil deslumbrante",fr:"Obus aveuglant",pt:"Projétil Cegante",ru:"Ослепляющие снаряды"},special_choke_canister:{en:"Ion Disruption",de:"Ionen-Disruption",es:"Disruptor de iones",fr:"Perturbation ionique",pt:"Perturbação de Íon",ru:"Ионный дестабилизатор"},special_concordant_sequence:{en:"Concordant Sequence",de:"Konkordante Sequenz",es:"Secuencia concordante",fr:"Séquence concordante",pt:"Sequência Concordante",ru:"Последовательность координации"},special_corrosive_shell:{en:"Corrosive Shell",de:"Korrosionsgranate",es:"Proyectil corrosivo",fr:"Obus corrosif",pt:"Projétil Corrosivo",ru:"Разъедающие снаряды"},special_deep_cut_payload:{en:"Penetrator Payload",de:"Durchdringungsladung",es:"Carga explosiva penetradora",fr:"Charge explosive perforante",pt:"Carga Penetrante",ru:"Бронебойные снаряды"},special_dispersal_field:{en:"Dispersal Field",de:"Streuungsfeld",es:"Campo de dispersión",fr:"Champ de dispersion",pt:"Campo de Dispersão",ru:"Рассеивающее поле"},special_distortion_field:{en:"Inertial Impact",de:"Inertialeinschlag",es:"Impacto inercial",fr:"Impact inertiel",pt:"Impacto Inercial",ru:"Инерционный удар"},special_drag_munitions:{en:"Drag Munitions",de:"Ableitungsmunition",es:"Munición lastre",fr:"Munitions à inertie",pt:"Munições de arrasto",ru:"Замедляющие боеприпасы"},special_emissive_munitions:{en:"Emissive Munitions",de:"Emissionsmunition",es:"Munición de emisiones",fr:"Munitions à émissions",pt:"Munições Emissivas",ru:"Эмиссионные боеприпасы"},special_engine_cooled:{en:"Thermal Spread",de:"Thermischer Verteiler",es:"Difusión térmica",fr:"Répartition thermique",pt:"Propagação térmica",ru:"Рассеивание тепла"},special_engine_haulage:{en:"Drive Distributors",de:"Antriebsdistributoren",es:"Distribuidores de motor",fr:"Répartiteurs de réacteur",pt:"Distribuidores do motor",ru:"Распределители тяги"},special_engine_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_engine_overloaded:{en:"Drag Drives",de:"Drag-Antriebe",es:"Motores de arrastre",fr:"Débridage des réacteurs",pt:"Motores de arrasto",ru:"Ускорители"},special_engine_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_feedback_cascade_cooled:{en:"Feedback Cascade",de:"Rückkopplungskaskade",es:"Retroalimentación en cascada",fr:"Réverbération énergétique",pt:"Cascata de Realimentação",ru:"Ответный залп"},special_force_shell:{en:"Force Shell",de:"Impulsgranate",es:"Proyectil de fuerza",fr:"Munition surpuissante",pt:"Projétil de Força",ru:"Усиленные снаряды"},special_fsd_cooled:{en:"Thermal Spread",de:"Thermischer Verteiler",es:"Difusión térmica",fr:"Répartition thermique",pt:"Propagação térmica",ru:"Рассеивание тепла"},special_fsd_fuelcapacity:{en:"Deep Charge",de:"Tieflader",es:"Carga intensa",fr:"Charge profonde",pt:"Carga intensa",ru:"Заряд повышенной мощности"},special_fsd_heavy:{en:"Mass Manager",de:"Massemanager",es:"Gestión de masa",fr:"Gestionnaire de masse",pt:"Gestor de massa",ru:"Распределитель гравитации"},special_fsd_interrupt:{en:"FSD Interrupt",de:"FSA-Unterbrechung",es:"Interrupción MDD",fr:"Interruption FSD",pt:"Interruptor de MDD",ru:"Помеха для FSD"},special_fsd_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_fsd_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_high_yield_shell:{en:"High Yield Shell",de:"Hocheffizienzgranate",es:"Proyectil de alto rendimiento",fr:"Obus à fragmentation",pt:"Projétil de Alto Rendimento",ru:"Снаряды большой мощности"},special_hullreinforcement_chunky:{en:"Deep Plating",de:"Tiefenüberzug",es:"Enchapado profundo",fr:"Blindage épais",pt:"Revestimento espesso",ru:"Утолщенная броня"},special_hullreinforcement_explosive:{en:"Layered Plating",de:"Schichtüberzug",es:"Enchapado a capas",fr:"Blindage à couches",pt:"Revestimento em camadas",ru:"Многослойная броня"},special_hullreinforcement_kinetic:{en:"Angled Plating",de:"Winkelüberzug",es:"Enchapado en ángulo",fr:"Blindage anguleux",pt:"Revestimento inclinado",ru:"Угловая броня"},special_hullreinforcement_thermic:{en:"Reflective Plating",de:"Reflektorüberzug",es:"Enchapado reflectante",fr:"Blindage réfléchissant",pt:"Revestimento refletor",ru:"Отражающая броня"},special_incendiary_rounds:{en:"Incendiary Rounds",de:"Hitzesalven",es:"Munición incendiaria",fr:"Munitions incendiaires",pt:"Munição Incendiária",ru:"Зажигательные боеприпасы"},special_lock_breaker:{en:"Target Lock Breaker",de:"Zielvisierbrecher",es:"Interruptor de selección",fr:"Interrupteur de verrouillage de cible",pt:"Quebra da Trava do Alvo",ru:"Генератор помех для системы захвата цели"},special_mass_lock:{en:"Mass Lock Munition",de:"Massesperremunition",es:"Munición de bloqueo de masa",fr:"Munitions à champ gravitationnel",pt:"Munição de Bloqueio de Massa",ru:"Боеприпасы с гравитационным захватом"},special_overload_munitions:{en:"Overload Munitions",de:"Überladungsmunition",es:"Munición sobrecargada",fr:"Munitions à surcharge",pt:"Munições de Sobrecarga",ru:"Вызывающие перегрузку боеприпасы"},special_penetrator_munitions:{en:"Penetrator Munitions",de:"Penetrationsmunition",es:"Munición penetradora",fr:"Munitions perforantes",pt:"Munições Penetrantes",ru:"Бронебойные боеголовки"},special_phasing_sequence:{en:"Phasing Sequence",de:"Phasensequenz",es:"Secuencia de fase",fr:"Séquence de phase",pt:"Sequência Faseada",ru:"Последовательность фазирования"},special_plasma_slug:{en:"Plasma Slug",de:"Plasmaprojektil",es:"Proyectil de plasma",fr:"Munitions à plasma",pt:"Projétil de Plasma",ru:"Плазменный рельсовый снаряд"},special_plasma_slug_cooled:{en:"Plasma Slug",de:"Plasmaprojektil",es:"Proyectil de plasma",fr:"Munitions à plasma",pt:"Projétil de Plasma",ru:"Плазменный рельсовый снаряд"},special_powerdistributor_capacity:{en:"Cluster Capacitors",de:"Cluster-Kondensatoren",es:"Agrupación de capacitadores",fr:"Batterie de condensateurs",pt:"Banco de capacitores",ru:"Кассетные конденсаторы"},special_powerdistributor_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_powerdistributor_fast:{en:"Super Conduits",de:"Superleiter",es:"Superconductores",fr:"Super conduits",pt:"Supercondutores",ru:"Сверхпроводники"},special_powerdistributor_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_powerdistributor_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_powerplant_cooled:{en:"Thermal Spread",de:"Thermischer Verteiler",es:"Difusión térmica",fr:"Répartition thermique",pt:"Propagação térmica",ru:"Рассеивание тепла"},special_powerplant_highcharge:{en:"Monstered",de:"Monsterhaft",es:"A lo bestia",fr:"Modèle XXL",pt:"Parrudo",ru:"Монстрация"},special_powerplant_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_powerplant_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_radiant_canister:{en:"Radiant Canister",de:"Strahlenbehältnis",es:"Cartucho radiactivo",fr:"Cartouche irradiante",pt:"Mina Radiante",ru:"Светящаяся кассета"},special_regeneration_sequence:{en:"Regeneration Sequence",de:"Regenerationssequenz",es:"Secuencia de regeneración",fr:"Séquence de régénération",pt:"Sequência de Regeneração",ru:"Последовательность восстановления"},special_reverberating_cascade:{en:"Reverberating Cascade",de:"Rückstrahlkaskade",es:"Reverberación en cascada",fr:"Réverbération en série",pt:"Cascata Reverberante",ru:"Отраженный залп"},special_scramble_spectrum:{en:"Scramble Spectrum",de:"Störspektrum",es:"Espectro de interferencias",fr:"Spectre de brouillage",pt:"Espectro Randômico",ru:"Отключающая сетка"},special_screening_shell:{en:"Screening Shell",de:"Sperrgranate",es:"Proyectil de pantalla",fr:"Obus de criblage",pt:"Projétil de Triagem",ru:"Заслоняющие снаряды"},special_shield_efficient:{en:"Lo-draw",de:"Leichtbedarf",es:"Consumo reducido",fr:"Consommation réduite",pt:"Baixo consumo",ru:"Пониженное потребление"},special_shield_health:{en:"Hi-Cap",de:"Hochkondensatoren",es:"Límite elevado",fr:"Puissance renforcée",pt:"Alta capacitância",ru:"Высокая емкость"},special_shield_kinetic:{en:"Force Block",de:"Kraft-Block",es:"Bloqueo de fuerza",fr:"Blocage de force",pt:"Bloqueio cinético",ru:"Усиленная блокировка"},special_shield_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_shield_regenerative:{en:"Fast Charge",de:"Schnelllader",es:"Carga rápida",fr:"Chargement rapide",pt:"Carga rápida",ru:"Быстрый заряд"},special_shield_resistive:{en:"Multi-weave",de:"Multigewebe",es:"Multitejido",fr:"Filaments multiples",pt:"Rede múltipla",ru:"Мультипрошивка"},special_shield_thermic:{en:"Thermo Block",de:"Thermo-Block",es:"Bloqueo térmico",fr:"Blocage thermique",pt:"Bloqueio térmico",ru:"Блокировка тепла"},special_shield_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_shieldbooster_chunky:{en:"Super Capacitors",de:"Superkondensatoren",es:"Supercapacitadores",fr:"Super condensateurs",pt:"Supercapacitores",ru:"Суперконденсаторы"},special_shieldbooster_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_shieldbooster_explosive:{en:"Blast Block",de:"Blast-Block",es:"Bloqueo de explosivos",fr:"Blocage d'explosion",pt:"Bloqueio explosivo",ru:"Блокировка взрыва"},special_shieldbooster_kinetic:{en:"Force Block",de:"Kraft-Block",es:"Bloqueo de fuerza",fr:"Blocage de force",pt:"Bloqueio cinético",ru:"Усиленная блокировка"},special_shieldbooster_thermic:{en:"Thermo Block",de:"Thermo-Block",es:"Bloqueo térmico",fr:"Blocage thermique",pt:"Bloqueio térmico",ru:"Блокировка тепла"},special_shieldbooster_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_shieldcell_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_shieldcell_gradual:{en:"Recycling Cell",de:"Recyclingzelle",es:"Célula de reciclaje",fr:"Recyclage des cellules",pt:"Célula de reciclagem",ru:"Рециркуляционная ячейка"},special_shieldcell_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_shieldcell_oversized:{en:"Boss Cells",de:"Bosszellen",es:"Células excelentes",fr:"Cellules XXL",pt:"Células resistentes",ru:"Босс-ячейки"},special_shieldcell_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"},special_shiftlock_canister:{en:"Shift-lock Canister",de:"Frameshift-Blocker",es:"Cartucho bloqueador",fr:"Cartouche de verrouillage FSD",pt:"Mina de Trava de Distorção",ru:"Рамоблокирующая кассета"},special_smart_rounds:{en:"Smart Rounds",de:"Intelligente Munition",es:"Munición inteligente",fr:"Munitions intelligentes",pt:"Projéteis Inteligentes",ru:"Умные боеприпасы"},special_super_penetrator:{en:"Super Penetrator",de:"Super-Durchdringer",es:"Súper penetrador",fr:"Munitions ultra perforantes",pt:"Super Penetrador",ru:"Модуль сверхпробития"},special_super_penetrator_cooled:{en:"Super Penetrator",de:"Super-Durchdringer",es:"Súper penetrador",fr:"Munitions ultra perforantes",pt:"Super Penetrador",ru:"Модуль сверхпробития"},special_thermal_cascade:{en:"Thermal Cascade",de:"Thermalkaskade",es:"Cascada térmica",fr:"Réverbération thermique",pt:"Cascata Térmica",ru:"Термический залп"},special_thermal_conduit:{en:"Thermal Conduit",de:"Thermischer Verstärker",es:"Conductor térmico",fr:"Décupleur thermique",pt:"Condutor Térmico",ru:"Проводник тепла"},special_thermal_vent:{en:"Thermal Vent",de:"Thermische Entlastung",es:"Ventilación térmica",fr:"Ventilation thermique",pt:"Exaustor Térmico",ru:"Теплоотдача"},special_thermalshock:{en:"Thermal Shock",de:"Thermischer Schock",es:"Choque térmico",fr:"Choc thermique",pt:"Choque Térmico",ru:"Тепловой удар"},special_weapon_damage:{en:"Oversized",de:"Übergröße",es:"Mayor tamaño",fr:"Arme XXL",pt:"Reforçado",ru:"Сверхразмер"},special_weapon_efficient:{en:"Flow Control",de:"Flusssteuerung",es:"Control de flujo",fr:"Contrôle du flux",pt:"Controle de fluxo",ru:"Контроль интенсивности"},special_weapon_lightweight:{en:"Stripped Down",de:"Reduktion",es:"Reducido",fr:"Désossage",pt:"Modelo leve",ru:"Урезанный вариант"},special_weapon_rateoffire:{en:"Multi-servos",de:"Multi-Servos",es:"Multiservos",fr:"Servomécanismes multiples",pt:"Servos múltiplos",ru:"Сервосистема"},special_weapon_toughened:{en:"Double Braced",de:"Doppelt versteift",es:"Doble puntal",fr:"Armature renforcée",pt:"Braçadeira dupla",ru:"Двойная прочность"}};var EXPERIMENTAL_EFFECT_NAMES=/* @__PURE__ */createLocalizedNameIndex(experimental_effect_names_default);function getExperimentalEffectName(experimentalEffectSymbol,locale){return getLocalizedName(EXPERIMENTAL_EFFECT_NAMES,experimentalEffectSymbol,locale,"getExperimentalEffectName","experimentalEffectSymbol")}export{getExperimentalEffectName};//# sourceMappingURL=chunk-BMQM4JBL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/i18n/experimental-effects.ts"],"names":["getLocalizedName","createLocalizedNameIndex","experimental_effect_names_default","EXPERIMENTAL_EFFECT_NAMES","getExperimentalEffectName","experimentalEffectSymbol","locale"],"mappings":"O,+0bASA,IAAMG,yCAA4CF,yBAC9CC,mCA8BG,SAASE,0BACZC,yBACAC,QAEA,OAAON,iBACHG,0BACAE,yBACAC,OACA,4BACA,2BAER,QAAAF"}
1
+ {"version":3,"sources":["../src/i18n/experimental-effects.ts"],"names":["getLocalizedName","createLocalizedNameIndex","experimental_effect_names_default","EXPERIMENTAL_EFFECT_NAMES","getExperimentalEffectName","experimentalEffectSymbol","locale"],"mappings":"O,+9bASA,IAAMG,yCAA4CF,yBAC9CC,mCA8BG,SAASE,0BACZC,yBACAC,QAEA,OAAON,iBACHG,0BACAE,yBACAC,OACA,4BACA,2BAER,QAAAF"}
@@ -0,0 +1 @@
1
+ function calculateUnladenMass(hullMass,modules){let value=hullMass;for(const module of modules)value+=module.mass;return value}function calculateCargoCapacity(modules){let value=0;for(const module of modules)value+=module.cargoCapacity??0;return value}function calculatePassengerCapacity(modules){let value=0;for(const module of modules)value+=module.cabinCapacity??0;return value}function calculateFuelCapacity(reserveFuelCapacity,modules){let main=0;for(const module of modules)main+=module.fuelCapacity??0;return Object.freeze({main:main,reserve:reserveFuelCapacity})}export{calculateCargoCapacity,calculateFuelCapacity,calculatePassengerCapacity,calculateUnladenMass};//# sourceMappingURL=chunk-C3LLPLLD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ships/loadout-calculations.ts"],"names":["calculateUnladenMass","hullMass","modules","value","module","mass","calculateCargoCapacity","cargoCapacity","calculatePassengerCapacity","cabinCapacity","calculateFuelCapacity","reserveFuelCapacity","main","fuelCapacity","Object","freeze","reserve"],"mappings":"AAiGO,SAASA,qBACZC,SACAC,SAEA,IAAIC,MAAQF,SACZ,IAAA,MAAWG,UAAUF,QAASC,OAASC,OAAOC,KAC9C,OAAOF,KACX,CAQO,SAASG,uBAAuBJ,SACnC,IAAIC,MAAQ,EACZ,IAAA,MAAWC,UAAUF,QAASC,OAASC,OAAOG,eAAiB,EAC/D,OAAOJ,KACX,CAQO,SAASK,2BAA2BN,SACvC,IAAIC,MAAQ,EACZ,IAAA,MAAWC,UAAUF,QAASC,OAASC,OAAOK,eAAiB,EAC/D,OAAON,KACX,CASO,SAASO,sBACZC,oBACAT,SAEA,IAAIU,KAAO,EACX,IAAA,MAAWR,UAAUF,QAASU,MAAQR,OAAOS,cAAgB,EAC7D,OAAOC,OAAOC,OAAO,CAAEH,UAAMI,QAASL,qBAC1C,QAAAL,uBAAAI,sBAAAF,2BAAAR"}