@elite-dangerous-almanac/core 0.2.2 → 0.2.4
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.
- package/PROVENANCE/ships/SOURCES.md +25 -0
- package/dist/{chunk-B5VTFOK4.js → chunk-A7KNIFRU.js} +1 -1
- package/dist/chunk-A7KNIFRU.js.map +1 -0
- package/dist/{chunk-SS6XK336.js → chunk-FD74K27A.js} +1 -1
- package/dist/chunk-FD74K27A.js.map +1 -0
- package/dist/chunk-G2VSQFD6.js +1 -0
- package/dist/{chunk-T62GO4AA.js.map → chunk-G2VSQFD6.js.map} +1 -1
- package/dist/{chunk-3RTUSDQF.js → chunk-KGJCTSVV.js} +1 -1
- package/dist/chunk-KPJ77VPS.js +1 -0
- package/dist/{chunk-PL75RTA2.js.map → chunk-KPJ77VPS.js.map} +1 -1
- package/dist/{chunk-4OTQBHQL.js → chunk-SC6Z2TV7.js} +1 -1
- package/dist/{chunk-4OTQBHQL.js.map → chunk-SC6Z2TV7.js.map} +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/pre-engineered.js +1 -1
- package/dist/ships/build-metrics.js +1 -1
- package/dist/ships/index.js +1 -1
- package/dist/ships/pre-engineered-stats.d.ts +12 -5
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/pre-engineered.d.ts +4 -3
- package/dist/ships/pre-engineered.js +1 -1
- package/dist/ships/ship-loadout.d.ts +21 -6
- package/dist/ships/ship-loadout.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-B5VTFOK4.js.map +0 -1
- package/dist/chunk-PL75RTA2.js +0 -1
- package/dist/chunk-SS6XK336.js.map +0 -1
- package/dist/chunk-T62GO4AA.js +0 -1
- /package/dist/{chunk-3RTUSDQF.js.map → chunk-KGJCTSVV.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ships/internal/loadout-fitting.ts","../src/ships/internal/loadout-import.ts","../src/ships/internal/calculation-result.ts","../src/ships/internal/loadout-metrics.ts","../src/ships/internal/loadout-internals.ts"],"names":["shieldMetrics","getShipBySymbol","getShipByName","getShipSlots","getLoadoutModifier","sourcePurchaseFromLoadout","identifyPreEngineeredVariant","unrollableFixedArticle","cloneLoadoutModule","isNonOutfittingSlot","isBuiltInHullModule","matchingKeyIn","ownKeyIn","getPreEngineeredStats","getPreEngineeredModifiers","cloneModuleStats","isFinalGuardianWeaponEngineering","scaleDamageComponents","weaponMetrics","combinedRateOfFire","builtInModuleBySymbol","getBulkheadsForShip","getPreEngineeredVariants","CORE_MODULES","getExperimentalEffect","getDefaultLoadout","fieldForLabel","scaleForLabel","labelsForField","capabilityValueForLabel","damageTypeForLabel","ammunitionCapacity","parseSlotName","SLOT_RESTRICTION_LABELS","enumerateSlots","normalizeKey","truncate","requireString","describeValue","requireStringIfPresent","deepFreeze","MILITARY_PREFIXES","MINING_PREFIXES","CARGO_PREFIXES","RESTRICTED_SLOT_PREFIXES","mining","military","cargo","limpetController","vesselHangar","passenger","planetaryApproachSuite","problem","constraint","message","params","restrictionProblem","slot","symbol","restriction","some","prefix","startsWith","moduleSlotProblem","module","required","restrictedToSlot","moduleFitProblem","shipSymbol","kind","hull","ship","toLowerCase","name","armourHull","armourShipName","armourShipSymbol","shipName","restricted","restrictedToShips","allowedShipNames","map","labels","index","join","allowedShipSymbols","wrongMount","moduleSlot","core","requiredCore","category","isFuelTank","class","size","moduleClass","slotSize","moduleFitError","preEngineeredVariantFor","Engineering","Item","captureLoadoutEvent","event","modules","Modules","ShipName","shipIdent","ShipIdent","hullValue","HullValue","modulesValue","ModulesValue","rebuy","Rebuy","unladenMass","UnladenMass","cargoCapacity","CargoCapacity","fuelCapacity","FuelCapacity","Ship","Array","isArray","captureEach","captureModule","values","capture","captured","length","push","on","On","priority","Priority","health","Health","value","Value","engineering","Slot","captureEngineering","experimental","ExperimentalEffect","experimentalLocalised","ExperimentalEffect_Localised","modifiers","Modifiers","BlueprintName","Level","Quality","modifier","hullLayout","slots","fixedMountRejects","layout","stats","mount","find","candidate","key","normalizeLoadoutEvent","rawEvent","TypeError","Map","Set","entries","Label","normalizedSlot","has","add","set","top","invalidatesAggregates","outcomes","defaults","slotKind","fallback","rejected","action","sourceSymbol","replacementSymbol","delete","moduleStats","primitiveModifiers","variant","catalogueVariantStats","variantStats","retainsBakedExperimental","experimentalEffectSymbol","trim","engineeringLocked","originalExperimental","withoutExperimental","currentExperimental","currentVariant","guardianFinal","normalizedBlueprint","normalizedExperimental","variants","exact","blueprintSymbol","grade","guardianBase","sourcePurchase","NO_ISSUES","Object","freeze","completeResult","complete","issues","incompleteResult","issue","PREFIX","powerPlant","thrusters","frameShiftDrive","powerDistributor","shieldGenerator","shieldCellBank","shieldBooster","shieldReinforcement","hullReinforcement","moduleReinforcement","startsWithAny","prefixes","isPowerDistributor","isPowerPlant","parsed","isThruster","isFrameShiftDrive","isEnabled","priorityOf","effectiveStat","field","stated","statedModifier","base","label","modified","effectiveCapability","effectiveDamageDistribution","fromEffect","damageDistribution","distribution","resolved","seen","type","convertsDamage","modifierRatio","effective","relatedStat","ratio","effectiveModule","merged","fields","keys","capability","engineeringGroup","massRatio","minMass","maxMass","performanceRatio","minMultiplier","maxMultiplier","normalizeEffectiveWeapon","damageComponents","damage","powerConsumerFor","draw","mounted","enabled","deployedOnly","alwaysPowered","powerAvailable","statsFor","DEFAULT_SLOT","powerCapacity","heatEfficiency","UNRESOLVED_FACT","NOTHING_FITTED","metricIssue","reason","defaultSlot","unavailable","powerPlantIssueFor","capacity","Number","isFinite","powerDrawIssueFor","consumer","poweredMetricBudgetFor","getBudget","plantIssue","drawIssue","budget","available","poweredStates","retracted","poweredShieldGeneratorResultFor","powered","mapResistanceFields","read","kineticResistance","thermalResistance","explosiveResistance","causticResistance","resistancesOf","shieldInputFor","generator","boosters","reinforcement","strengthRatio","optMass","Math","max","optMultiplier","shieldBoost","hullMass","baseShieldStrength","shieldInputResultFor","fitted","shieldCapacitorInputResultFor","systemsPips","capacitor","systemsCapacitorResultFor","shields","strength","resistances","systemsCapacity","systemsRecharge","distributor","thrusterCurveFor","optSpeedMultiplier","speedCurve","minSpeedMultiplier","maxSpeedMultiplier","optRotationMultiplier","rotationCurve","minRotationMultiplier","maxRotationMultiplier","fittedThrusterParamsFor","mobilityInputResultFor","mass","minimumSpeed","maximumSpeed","boost","minPitch","pitch","minRoll","roll","minYaw","yaw","shieldRecoveryInputResultFor","generatorModule","generatorStats","distributorDraw","regenRate","brokenRegenRate","weaponsCapacitorInputFor","weaponsPips","weaponsCapacity","weaponsRecharge","sustainedEnergyPerSecond","deployed","weapon","weaponStatsFor","distributorInputResultFor","pips","disabled","enginesCapacity","enginesRecharge","heatInputResultFor","plant","thrusterHeatRate","deployedThrusterHeatRate","fsdHeatRate","weapons","running","heat","heatPerSecond","sustainedHeatPerSecond","heatCapacity","heatDissipation","retractedPowerDraw","poweredDraw","deployedPowerDraw","state","bands","reduce","total","band","min","poweredRetracted","poweredDeployed","cellBankInputsFor","banks","ammunition","reinforcementRate","shieldBankReinforcement","cells","spinUp","shieldBankSpinUp","duration","shieldBankDuration","shieldBankHeat","stockBulkhead","v","endsWith","armourInputFor","reinforcements","moduleReinforcements","bulkhead","hullBoost","moduleProtection","integrity","stock","baseArmour","WEAPON_FIELDS","projectileRange","burstAdjustedRateOfFire","touched","FIRING_RATE_LABELS","readsDamageFromPerSecond","every","rate","rateOfFire","statedDamagePerSecond","firingFactor","roundsPerShot","maximumRange","falloffRange","INTERNALS","WeakMap","publishLoadoutInternals","build","internals","loadoutInternals","get"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getLocalizedName,createDeduplicatedLocalizedNameIndex}from"./chunk-RVIYOHYF.js";import{requireObject,requireString,requireStringIfPresent}from"./chunk-PKWVG2JY.js";var pre_engineered_variant_names_default={nameKeys:{"Hpt_Mining_AbrBlstr_Fixed_Small|AbrasionBlaster_FarReaching||mercenary":"Far-Reaching Abrasion Blaster","Hpt_CausticMissile_Fixed_Medium|EnzymeMissileRack_HighYield||mercenary":"High-Yield Enzyme Missile Rack","Hpt_Slugshot_Gimbal_Small|FragmentCannonSmall_DoubleScreaming|special_screening_shell|mercenary":"Double Screaming Fragment Cannon","Hpt_Slugshot_Gimbal_Large|FragmentCannonLarge_DoubleScreaming|special_screening_shell|mercenary":"Double Screaming Fragment Cannon","Hpt_MiningLaser_Fixed_Small|MiningLaser_LongRange|special_incendiary_rounds|mercenary":"Long Range Mining Laser","Hpt_MultiCannon_Fixed_Medium|MultiCannon_Rapid|special_phasing_sequence|mercenary":"Rapid Phase Multi-Cannon","Hpt_Railgun_Fixed_Medium|RailGun_LongShot|special_feedback_cascade_cooled|mercenary":"Enduring Feedback Rail Gun","Hpt_BasicMissileRack_Fixed_Medium|SeekerMissileRack_Drag|special_drag_munitions|mercenary":"Drag Seeker Missile Rack","Hpt_BasicMissileRack_Fixed_Large|SeekerMissileRack_Drag|special_drag_munitions|mercenary":"Drag Seeker Missile Rack","Hpt_BasicMissileRack_Fixed_Medium|SeekerMissileRack_LightWeightThermal|special_thermal_cascade|mercenary":"Lightweight Thermal Seeker Missile Rack","Hpt_BasicMissileRack_Fixed_Medium|SeekerMissileRackMedium_Lockdown|special_fsd_interrupt|mercenary":"Lockdown Seeker Missile Rack","Hpt_BasicMissileRack_Fixed_Large|SeekerMissileRackLarge_Lockdown|special_fsd_interrupt|mercenary":"Lockdown Seeker Missile Rack","Int_CargoRack_Size5_Class1|CargoRackS5C1_Extended||mercenary":"Extended Cargo Rack","Int_CargoRack_Size6_Class1|CargoRackS6C1_Extended||mercenary":"Extended Cargo Rack","Int_DetailedSurfaceScanner_Tiny|DetailedSurfaceScanner_LongRange||mercenary":"Long Range Detailed Surface Scanner","Int_ModuleReinforcement_Size5_Class2|ModuleReinforcement_HeavyDuty||mercenary":"Heavy Duty Module Reinforcement Package","Int_PowerDistributor_Size3_Class2|PowerDistributorS3C2_SupportFocused||mercenary":"Support Focused Power Distributor","Int_PowerDistributor_Size3_Class5|PowerDistributorS3C5_SupportFocused||mercenary":"Support Focused Power Distributor","Int_PowerDistributor_Size4_Class2|PowerDistributorS4C2_SupportFocused||mercenary":"Support Focused Power Distributor","Int_PowerDistributor_Size4_Class5|PowerDistributorS4C5_SupportFocused||mercenary":"Support Focused Power Distributor","Int_PowerDistributor_Size5_Class5|PowerDistributor_Balanced||mercenary":"Balanced Power Distributor","Int_PowerDistributor_Size6_Class5|PowerDistributorS6C5_SupportFocused||mercenary":"Support Focused Power Distributor","Hpt_Mining_AbrBlstr_Fixed_Small|Weapon_LongRange||communityGoal":"Abrasion Blaster","Hpt_CausticMissile_Fixed_Medium|Weapon_HighCapacity||communityGoal":"Enzyme Missile Rack","Hpt_Slugshot_Gimbal_Small|Weapon_DoubleShot|special_screening_shell|communityGoal":"Fragment Cannon","Hpt_Slugshot_Gimbal_Large|Weapon_DoubleShot|special_screening_shell|communityGoal":"Fragment Cannon","Hpt_Guardian_ShardCannon_Fixed_Medium|Weapon_LongRange||communityGoal":"Guardian Shard Cannon","Hpt_MultiCannon_Fixed_Medium|Weapon_RapidFire|special_phasing_sequence|communityGoal":"Multi-Cannon","Hpt_Railgun_Fixed_Medium|Weapon_HighCapacity|special_feedback_cascade_cooled|communityGoal":"Rail Gun","Hpt_Railgun_Fixed_Medium_Burst|Weapon_HighCapacity|special_super_penetrator|communityGoal":"Imperial Hammer Rail Gun","Hpt_BasicMissileRack_Fixed_Medium|Weapon_HighCapacity|special_drag_munitions|communityGoal":"Seeker Missile Rack","Hpt_BasicMissileRack_Fixed_Medium|Weapon_HighCapacity|special_fsd_interrupt|communityGoal":"Seeker Missile Rack","Hpt_BasicMissileRack_Fixed_Large|Weapon_HighCapacity|special_fsd_interrupt|communityGoal":"Seeker Missile Rack","Hpt_ElectronicCountermeasure_Tiny|Misc_LightWeight||communityGoal":"Electronic Countermeasure","Hpt_CrimeScanner_Size0_Class5|Sensor_FastScan||communityGoal":"Kill Warrant Scanner","Hpt_CrimeScanner_Size0_Class3|Sensor_FastScan||communityGoal":"Kill Warrant Scanner","Hpt_PlasmaPointDefence_Turret_Tiny|Misc_LightWeight||communityGoal":"Point Defence","Int_PowerDistributor_Size3_Class5|PowerDistributor_PrioritySystems||communityGoal":"Power Distributor","Int_PowerDistributor_Size3_Class2|PowerDistributor_PrioritySystems||communityGoal":"Power Distributor","Int_PowerDistributor_Size4_Class5|PowerDistributor_PrioritySystems||communityGoal":"Power Distributor","Int_PowerDistributor_Size4_Class2|PowerDistributor_PrioritySystems||communityGoal":"Power Distributor","Int_PowerDistributor_Size6_Class5|PowerDistributor_PrioritySystems||communityGoal":"Power Distributor","Int_Powerplant_Size3_Class5|PowerPlant_Armoured||communityGoal":"Power Plant","Int_Powerplant_Size3_Class5|PowerPlant_Boosted||communityGoal":"Power Plant","Int_Powerplant_Size4_Class5|PowerPlant_Boosted||communityGoal":"Power Plant","Int_Powerplant_Size5_Class5|PowerPlant_Boosted||communityGoal":"Power Plant","Int_Hyperdrive_Size3_Class5|FSD_LongRange||communityGoal":"Frame Shift Drive","Int_Hyperdrive_Size4_Class5|FSD_LongRange||communityGoal":"Frame Shift Drive","Int_Hyperdrive_Size6_Class5|FSD_LongRange||communityGoal":"Frame Shift Drive","Int_CargoRack_Size5_Class1|CargoRack_IncreasedCapacity||communityGoal":"Cargo Rack","Int_CargoRack_Size6_Class1|CargoRack_IncreasedCapacity||communityGoal":"Cargo Rack","Int_ShieldGenerator_Size3_Class5|ShieldGenerator_Kinetic||communityGoal":"Shield Generator","Hpt_ATDumbfireMissile_Fixed_Medium|Weapon_HighCapacity||techBroker":"AX Missile Rack","Hpt_ATDumbfireMissile_Fixed_Large|Weapon_HighCapacity||techBroker":"AX Missile Rack","Hpt_ATMultiCannon_Gimbal_Medium|Weapon_Overcharged|special_auto_loader|techBroker":"Enhanced AX Multi-Cannon","Hpt_ATMultiCannon_Gimbal_Large|Weapon_Overcharged|special_auto_loader|techBroker":"Enhanced AX Multi-Cannon","Hpt_Guardian_GaussCannon_Fixed_Small|Weapon_RapidFire||techBroker":"Guardian Gauss Cannon","Hpt_Guardian_GaussCannon_Fixed_Medium|Weapon_RapidFire||techBroker":"Guardian Gauss Cannon","Hpt_Guardian_PlasmaLauncher_Fixed_Small|Weapon_Overcharged||techBroker":"Guardian Plasma Charger","Hpt_Guardian_PlasmaLauncher_Fixed_Medium|Weapon_Overcharged||techBroker":"Guardian Plasma Charger","Hpt_Guardian_ShardCannon_Fixed_Small|Weapon_LongRange||techBroker":"Guardian Shard Cannon","Hpt_Guardian_ShardCannon_Fixed_Medium|Weapon_LongRange||techBroker":"Guardian Shard Cannon","Hpt_MiningLaser_Fixed_Small|Weapon_LongRange|special_incendiary_rounds|techBroker":"Mining Laser","Hpt_BasicMissileRack_Fixed_Medium|Weapon_HighCapacity|special_thermal_cascade|techBroker":"Seeker Missile Rack","Hpt_HeatSinkLauncher_Turret_Tiny|Misc_HeatSinkCapacity||techBroker":"Heat Sink Launcher","Int_Hyperdrive_Size5_Class5|FSD_LongRange||techBroker":"Frame Shift Drive","Int_Hyperdrive_Overcharge_Size2_Class5|FSD_LongRange||techBroker":"Frame Shift Drive (SCO)","Int_Hyperdrive_Overcharge_Size3_Class5|FSD_LongRange||techBroker":"Frame Shift Drive (SCO)","Int_Hyperdrive_Overcharge_Size4_Class5|FSD_LongRange||techBroker":"Frame Shift Drive (SCO)","Int_Hyperdrive_Overcharge_Size5_Class5|FSD_LongRange||techBroker":"Frame Shift Drive (SCO)","Int_Hyperdrive_Overcharge_Size6_Class5|FSD_LongRange||techBroker":"Frame Shift Drive (SCO)","Int_Hyperdrive_Overcharge_Size7_Class5|FSD_LongRange||techBroker":"Frame Shift Drive (SCO)","Int_DetailedSurfaceScanner_Tiny|Sensor_Expanded||techBroker":"Detailed Surface Scanner","Hpt_FlakMortar_Turret_Medium|Decorative_Green||eventReward":"Festive Green Remote Release Flak Launcher","Hpt_FlakMortar_Turret_Medium|Decorative_Red||eventReward":"Festive Red Remote Release Flak Launcher","Hpt_FlakMortar_Turret_Medium|Decorative_Yellow||eventReward":"Festive Yellow Remote Release Flak Launcher"},names:{"Far-Reaching Abrasion Blaster":{en:"Far-Reaching Abrasion Blaster",de:"Abrasionsblaster mit großer Reichweite",es:"Destructor de abrasión de largo alcance",fr:"Surfaceur abrasif longue portée",ru:"Абразивный бластер с увеличенной дальностью"},"High-Yield Enzyme Missile Rack":{en:"High-Yield Enzyme Missile Rack",de:"Enzymraketenrampe mit hohen Erträgen",es:"Lanzamisiles de enzimas de alto rendimiento",fr:"Batterie de missiles enzymatiques à hauts rendements",ru:"Блок энзимных ракет высокой мощности"},"Double Screaming Fragment Cannon":{en:"Double Screaming Fragment Cannon",de:"Doppelschrei-Splitterkanone",es:"Cañón de fragmentación doble con proyectil de pantalla",fr:"Double canon à fragmentation Screaming",ru:"Залповое орудие «Двойной вой»"},"Long Range Mining Laser":{en:"Long Range Mining Laser",de:"Ferndistanz-Abbaulaser",es:"Láser de minería de largo alcance",fr:"Laser minier longue portée",ru:"Проходочный лазер с увеличенной дальностью"},"Rapid Phase Multi-Cannon":{en:"Rapid Phase Multi-Cannon",de:"Schnellfeuer-Mehrfachgeschütz",es:"Multicañón de fase con disparo rápido",fr:"Multi-canon à phase rapide",ru:"Скорострельное фазовое многоствольное орудие"},"Enduring Feedback Rail Gun":{en:"Enduring Feedback Rail Gun",de:"Robuste Feedback-Schienenkanone",es:"Cañón de riel Retroalimentación Soportable",fr:"Canon électrique énergétique résistant",ru:"Электромагнитная пушка с постоянным откликом"},"Drag Seeker Missile Rack":{en:"Drag Seeker Missile Rack",de:"Suchraketenrampe ziehen",es:"Lanzamisiles guiado con lastre",fr:"Batterie de missiles TC à inertie",ru:"Блок ракет с самонаведением и замедляющими боеприпасами"},"Lightweight Thermal Seeker Missile Rack":{en:"Lightweight Thermal Seeker Missile Rack",de:"Leichte thermische Suchraketenrampe",es:"Lanzamisiles guiado térmico ligero",fr:"Batterie de missiles TC thermiques légers",ru:"Легкий блок тепловых ракет с самонаведением"},"Lockdown Seeker Missile Rack":{en:"Lockdown Seeker Missile Rack",de:"Abriegelung-Suchraketenrampe",es:"Lanzamisiles guiado con bloqueo",fr:"Batterie de missiles TC à verrouillage",ru:"Блок ракет с самонаведением и блокировкой"},"Extended Cargo Rack":{en:"Extended Cargo Rack",de:"Erweitertes Frachtgestell",es:"Bodega de carga extendida",fr:"Compartiment soute agrandi",ru:"Увеличенный грузовой стеллаж"},"Long Range Detailed Surface Scanner":{en:"Long Range Detailed Surface Scanner",de:"Ferndistanz-Detail-Oberflächenscanner",es:"Escáner de análisis de superficie detallado de largo alcance",fr:"Détecteur de surface détaillé longue portée",ru:"Подробный сканер поверхностей с увеличенной дальностью"},"Heavy Duty Module Reinforcement Package":{en:"Heavy Duty Module Reinforcement Package",de:"Schwere Modulverstärkung (Paket)",es:"Paquete de refuerzo de módulo de alta resistencia",fr:"Pack de renforcement de modules lourds",ru:"Укрепленный набор для усиления модуля"},"Support Focused Power Distributor":{en:"Support Focused Power Distributor",de:"Unterstützungsfokussierter Energieverteiler",es:"Distribuidor de energía orientado al apoyo",fr:"Répartiteur de puissance optimisé Survie",ru:"Вспомогательный распределитель питания"},"Balanced Power Distributor":{en:"Balanced Power Distributor",de:"Abgeglichener Energieverteiler",es:"Distribuidor de energía equilibrado",fr:"Répartiteur de puissance équilibré",ru:"Сбалансированный распределитель энергии"},"Abrasion Blaster":{en:"Abrasion Blaster",de:"Abrasionsblaster",es:"Destructor de abrasión",fr:"Surfaceur abrasif",pt:"Detonador de Abrasão",ru:"Шлифовальный бластер"},"Enzyme Missile Rack":{en:"Enzyme Missile Rack",de:"Enzymraketenwerfer",es:"Lanzamisiles de Enzimas",fr:"Batterie de missile enzymatique",pt:"Estante de Míssel Enzimático",ru:"Пусковая энзимных ракет"},"Fragment Cannon":{en:"Fragment Cannon",de:"Splitterkanone",es:"Cañón de fragmentación",fr:"Canon à fragmentation",pt:"Canhão de Fragmentação",ru:"Залповое орудие"},"Mining Laser":{en:"Mining Laser",de:"Abbaulaser",es:"Láser de minería",fr:"Laser Minier",pt:"Laser de Mineração",ru:"Проходочный лазер"},"Multi-Cannon":{en:"Multi-Cannon",de:"Mehrfachgeschütz",es:"Multicañón",fr:"Multi-canon",pt:"Canhão de Repetição",ru:"Многоствольное орудие"},"Rail Gun":{en:"Rail Gun",de:"Schienenkanone",es:"Cañón de riel",fr:"Canon électrique",pt:"Canhão Elétrico",ru:"Электромагнитная пушка"},"Seeker Missile Rack":{en:"Seeker Missile Rack",de:"Suchraketenrampe",es:"Lanzamisiles guiados",fr:"Missiles TC",pt:"Estante de Míssil Guiado",ru:"Блок ракет с самонаведением"},"Cargo Rack":{en:"Cargo Rack",de:"Frachtgestell",es:"Bodega de carga",fr:"Compartiment de soute",pt:"Estante de Carga",ru:"Грузовой стеллаж"},"Detailed Surface Scanner":{en:"Detailed Surface Scanner",de:"Detail-Oberflächenscanner",es:"Escáner de superficie detallado",fr:"Détecteur de surface détaillé",pt:"Scanner de Superfície",ru:"Сканер поверхностей"},"Power Distributor":{en:"Power Distributor",de:"Energieverteiler",es:"Distribuidor de energía",fr:"Répartiteur de puissance",pt:"Distribuidor de Energia",ru:"Распределитель питания"},"Guardian Shard Cannon":{en:"Guardian Shard Cannon",de:"Fragmentkanone",es:"Cañón de esquirlas",fr:"Canon à éclats",pt:"Canhão de fragmentos",ru:"Осколочное орудие"},"Imperial Hammer Rail Gun":{en:"Imperial Hammer Rail Gun",de:"Hammer",es:"Martillo",fr:"Marteleur",pt:"Martelo",ru:"«Молот»"},"Electronic Countermeasure":{en:"Electronic Countermeasure",de:"Elektronische Gegenmaßnahme",es:"Contramedidas electrónicas",fr:"Contre-mesures électroniques",pt:"Contramedida Eletrônica",ru:"Электр. противодействие"},"Kill Warrant Scanner":{en:"Kill Warrant Scanner",de:"Tötungsbefehl-Scanner",es:"Escáner de recompensas",fr:"Détecteur d'avis de recherche",pt:"Scanner de Registro Criminal",ru:"Сканер преступников"},"Point Defence":{en:"Point Defence",de:"Punktverteidigung",es:"Defensa de punto",fr:"Défense ponctuelle",pt:"Defesa de Ponto",ru:"Точечная оборона"},"Power Plant":{en:"Power Plant",de:"Kraftwerk",es:"Núcleo de energía",fr:"Générateur",pt:"Gerador de Energia",ru:"Силовая установка"},"Frame Shift Drive":{en:"Frame Shift Drive",de:"Frameshiftantrieb",es:"Motor de salto",fr:"Réacteur FSD",pt:"Motor de Distorção de Fase",ru:"Рамочно Сместительный двигатель"},"Shield Generator":{en:"Shield Generator",de:"Schildgenerator",es:"Generador de escudos",fr:"Générateur de bouclier",pt:"Gerador de Escudo",ru:"Щитогенератор"},"AX Missile Rack":{en:"AX Missile Rack",de:"AX-Raketenrampe",es:"Lanzamisiles AX",fr:"Batterie de missiles AX",pt:"Estante de Mísseis AX",ru:"Блок ракет АИ"},"Enhanced AX Multi-Cannon":{en:"Enhanced AX Multi-Cannon",de:"Fortschrittliches AX Mehrfachgeschütz",pt:"Canhão de Repetição AX Melhorado",ru:"Улучш. многоствольное орудие АИ"},"Guardian Gauss Cannon":{en:"Guardian Gauss Cannon",de:"Guardian-Gausskanone",es:"Cañón Gauss Guardián",fr:"Canon de Gauss - Guardians",pt:"Canhão Gauss Guardian",ru:"Пушка Гаусса"},"Guardian Plasma Charger":{en:"Guardian Plasma Charger",de:"Guardian-Plasmalader",es:"Cargador de Plasma Guardián",fr:"Chargeur à Plasma - Guardians",pt:"Carregador de Plasma Guardian",ru:"Плазменная пушка"},"Heat Sink Launcher":{en:"Heat Sink Launcher",de:"Kühlkörperabwurf",es:"Eyector térmico",fr:"Éjecteur de dissipateur thermique",pt:"Lançador de Dissipador Térmico",ru:"Теплоотводная катапульта"},"Frame Shift Drive (SCO)":{en:"Frame Shift Drive (SCO)",pt:"Motor de Distorção de Fase (SSV)",ru:"Двигатель FSD (ПГР)"},"Festive Green Remote Release Flak Launcher":{en:"Festive Green Remote Release Flak Launcher"},"Festive Red Remote Release Flak Launcher":{en:"Festive Red Remote Release Flak Launcher"},"Festive Yellow Remote Release Flak Launcher":{en:"Festive Yellow Remote Release Flak Launcher"}}};var NAMES=/* @__PURE__ */createDeduplicatedLocalizedNameIndex(pre_engineered_variant_names_default);function identityKey(identity){const prefix="getPreEngineeredVariantName: variant";requireObject(identity,prefix);const symbol=requireString(identity.symbol,`${prefix}.symbol`).trim();const blueprint=requireString(identity.blueprintSymbol,`${prefix}.blueprintSymbol`).trim();requireStringIfPresent(identity.experimentalEffectSymbol,`${prefix}.experimentalEffectSymbol`);const experimental=identity.experimentalEffectSymbol?.trim()??"";const acquisition=requireString(identity.acquisition,`${prefix}.acquisition`).trim();return`${symbol}|${blueprint}|${experimental}|${acquisition}`}function getPreEngineeredVariantName(variant,locale){return getLocalizedName(NAMES,identityKey(variant),locale,"getPreEngineeredVariantName","variant")}export{getPreEngineeredVariantName};//# sourceMappingURL=chunk-G2VSQFD6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/i18n/pre-engineered.ts"],"names":["getLocalizedName","createDeduplicatedLocalizedNameIndex","requireObject","requireString","requireStringIfPresent","pre_engineered_variant_names_default","NAMES","identityKey","identity","prefix","symbol","trim","blueprint","blueprintSymbol","experimentalEffectSymbol","experimental","acquisition","getPreEngineeredVariantName","variant","locale"],"mappings":"O,
|
|
1
|
+
{"version":3,"sources":["../src/i18n/pre-engineered.ts"],"names":["getLocalizedName","createDeduplicatedLocalizedNameIndex","requireObject","requireString","requireStringIfPresent","pre_engineered_variant_names_default","NAMES","identityKey","identity","prefix","symbol","trim","blueprint","blueprintSymbol","experimentalEffectSymbol","experimental","acquisition","getPreEngineeredVariantName","variant","locale"],"mappings":"O,mweAeA,IAAMM,qBAAwBL,qCAC1BI,sCAeJ,SAASE,YAAYC,UACjB,MAAMC,OAAS,uCACfP,cAAcM,SAAUC,QACxB,MAAMC,OAASP,cAAcK,SAASE,OAAQ,GAAGD,iBAAiBE,OAClE,MAAMC,UAAYT,cAAcK,SAASK,gBAAiB,GAAGJ,0BAA0BE,OACvFP,uBAAuBI,SAASM,yBAA0B,GAAGL,mCAC7D,MAAMM,aAAeP,SAASM,0BAA0BH,QAAU,GAClE,MAAMK,YAAcb,cAAcK,SAASQ,YAAa,GAAGP,sBAAsBE,OACjF,MAAO,GAAGD,UAAUE,aAAaG,gBAAgBC,aACrD,CAwBO,SAASC,4BACZC,QACAC,QAEA,OAAOnB,iBACHM,MACAC,YAAYW,SACZC,OACA,8BACA,UAER,QAAAF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cellBankSummary,shieldRecovery}from"./chunk-JMAXSXXQ.js";import{loadoutInternals,fittedThrusterParamsFor,preEngineeredVariantFor,powerConsumerFor,powerAvailable,heatInputResultFor,completeResult,cellBankInputsFor,armourInputFor,weaponStatsFor,weaponsCapacitorInputFor,mobilityInputResultFor,shieldInputResultFor,shieldCapacitorInputResultFor,shieldRecoveryInputResultFor,distributorInputResultFor,incompleteResult}from"./chunk-SS6XK336.js";import{shieldMetrics}from"./chunk-5VWACBTN.js";import{weaponsCapacitorMetrics}from"./chunk-M4FZRDAH.js";import{powerBudget}from"./chunk-GGQMIQPC.js";import{isNonOutfittingSlot,isBuiltInHullModule,orderBySlotLayout}from"./chunk-4OTQBHQL.js";import{weaponMetrics,sumWeaponMetrics}from"./chunk-37JIMWLK.js";import{shieldCapacitorMetrics}from"./chunk-XQJERZUS.js";import{mobilityCapacitorMetrics}from"./chunk-VEEBJFJ7.js";import{mobilityMetrics}from"./chunk-A4QKXXZD.js";import{getExperimentalEffectCost}from"./chunk-CJK2IBI2.js";import{heatMetrics}from"./chunk-6HA2YIKW.js";import{frameShiftDriveMassFactor,singleJumpRange,fuelPerJump,totalRange}from"./chunk-VTMCSCXV.js";import{calculateUnladenMass}from"./chunk-DCB4COCL.js";import{getBlueprintCost}from"./chunk-MTJ4MS7W.js";import{distributorMetrics}from"./chunk-M2TCZKRT.js";import{sumMaterials}from"./chunk-CJQ37JII.js";import{ammunitionCapacity}from"./chunk-AA3K5XUE.js";import{armourMetrics}from"./chunk-Q5ALV3DI.js";import{requirePips,requireFiniteNonNegative}from"./chunk-65FZECUX.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var FACADE="BuildMetrics";function requireLoadOptions(scope,options){for(const field of["fuel","cargo"]){const value=options[field];if(value!==void 0)requireFiniteNonNegative(scope,field,value)}}var BuildMetrics=class _BuildMetrics{#build;#state;constructor(build,state){this.#build=build;this.#state=state}static of(build){return new _BuildMetrics(build,loadoutInternals(build,`${FACADE}.of: build`))}loadout(){return this.#build}frameShiftDrive(){const drive=this.#state.resolveDrive();if(drive===null){throw new TypeError(`${FACADE}: build has no frame shift drive`)}return drive}thrusters(){return fittedThrusterParamsFor(this.#state.modules(),this.#state.statsFor)}frameShiftDriveMassFactor(options={}){requireLoadOptions(`${FACADE}.frameShiftDriveMassFactor`,options);return frameShiftDriveMassFactor(this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}maxJumpRange(){const fsd=this.frameShiftDrive();return singleJumpRange(this.#loadedMass(0),this.#maxJumpFuel(fsd),fsd)}jumpRange(options={}){requireLoadOptions(`${FACADE}.jumpRange`,options);return singleJumpRange(this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}ladenJumpRange(){return this.jumpRange({cargo:this.#build.cargoCapacity})}fuelPerJump(distance,options={}){requireLoadOptions(`${FACADE}.fuelPerJump`,options);return fuelPerJump(distance,this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}totalRange(options={}){requireLoadOptions(`${FACADE}.totalRange`,options);return totalRange(this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}standardLoadResult(load){return this.#standardLoad(load)}jumpRangeSummary(){const maximum=this.#require(this.standardLoadResult("maximum"),"maximum load");const unladen=this.#require(this.standardLoadResult("unladen"),"unladen load");const laden=this.#require(this.standardLoadResult("laden"),"laden load");return{max:this.jumpRange(maximum),unladen:this.jumpRange(unladen),laden:this.jumpRange(laden),totalMax:this.totalRange(maximum),totalUnladen:this.totalRange(unladen),totalLaden:this.totalRange(laden)}}buildMass(options={}){requireLoadOptions(`${FACADE}.buildMass`,options);const unladen=this.#build.unladenMass;const fuel=options.fuel??this.#build.fuelCapacity.main;const cargo=options.cargo??0;return Object.freeze({hull:this.#state.ship.hullMass,modules:calculateUnladenMass(0,this.#state.calculationModules()),unladen:unladen,fuel:fuel,cargo:cargo,total:unladen+fuel+cargo})}buildCost(){const hull=this.#state.ship.hullCost;let modules=0;let mercCoins=0;const unpriced=[];const materials=[];for(const module of this.#state.modules()){const stats=this.#state.statsFor(module);if(stats?.cost!==void 0){modules+=stats.cost}else if(stats!==null||!isNonOutfittingSlot(module.Slot)&&!isBuiltInHullModule(module)){unpriced.push({slot:module.Slot,symbol:module.Item})}const variant=preEngineeredVariantFor(module);mercCoins+=variant?.mercCoinCost??0;const engineering=module.Engineering;if(!engineering)continue;const grade=engineering.Level;const bought=variant?.grade??0;if(Number.isInteger(grade)&&grade>bought&&grade<=5){const climb=getBlueprintCost(engineering.BlueprintName,grade,bought);if(climb){materials.push(climb.materials);mercCoins+=climb.mercCoins}}const experimental=engineering.ExperimentalEffect;if(experimental!==void 0&&experimental.toLowerCase()!==variant?.experimentalEffectSymbol?.toLowerCase()){const cost=getExperimentalEffectCost(experimental);if(cost)materials.push(cost)}}return deepFreeze({credits:{total:hull+modules,hull:hull,modules:modules,rebuy:Math.trunc((hull+modules)*.05),unpriced:unpriced},mercCoins:mercCoins,materials:sumMaterials(...materials)})}powerBudget(){const modules=this.#state.modules();const consumers=[];for(const module of modules){const consumer=powerConsumerFor(module,this.#state.statsFor(module));if(consumer)consumers.push(consumer)}return powerBudget(powerAvailable(modules,this.#state.statsFor),consumers)}heatMetricsResult(){const input=heatInputResultFor(this.#state.ship,this.#state.effectiveModules(),this.powerBudget(),this.#state.statsFor);return input.complete?completeResult(heatMetrics(input.value)):input}mobilityMetricsResult(options={}){return this.#mobility(options)}mobilityCapacitorMetricsResult(options={}){return this.#mobilityCapacitor(options)}shieldMetricsResult(){return this.#shields()}shieldCapacitorMetricsResult(options={}){return this.#shieldCapacitor(options)}shieldRecoveryResult(options={}){return this.#recovery(options)}cellBanks(){return cellBankSummary(orderBySlotLayout(cellBankInputsFor(this.#state.modules(),this.powerBudget(),this.#state.statsFor),this.#state.layout(),bank=>bank.slot))}armourMetrics(){return armourMetrics(armourInputFor(this.#state.ship,this.#state.modules(),this.#state.statsFor))}weaponMetrics(){const weapons=[];for(const module of this.#state.modules()){const record=this.#state.statsFor(module);const stats=weaponStatsFor(this.#state.effectiveModule(module),record);if(!stats)continue;weapons.push({slot:module.Slot,symbol:module.Item,name:record?.name??module.Item,enabled:module.On!==false,metrics:weaponMetrics(stats),ammunition:ammunitionCapacity(stats),...stats.maximumRange===void 0?{}:{maximumRange:stats.maximumRange},...stats.falloffRange===void 0?{}:{falloffRange:stats.falloffRange},...stats.projectileRange===void 0?{}:{projectileRange:{...stats.projectileRange}},...stats.armourPiercing===void 0?{}:{armourPiercing:stats.armourPiercing}})}const orderedWeapons=orderBySlotLayout(weapons,this.#state.layout(),weapon=>weapon.slot);return{weapons:orderedWeapons,total:sumWeaponMetrics(orderedWeapons.filter(weapon=>weapon.enabled).map(weapon=>weapon.metrics))}}weaponsCapacitorMetrics(options={}){const weaponsPips=requirePips(`${FACADE}.weaponsCapacitorMetrics`,"weaponsPips",options.weaponsPips??4);return weaponsCapacitorMetrics(weaponsCapacitorInputFor(this.#state.effectiveModules(),weaponsPips,this.powerBudget(),this.#state.statsFor))}distributorMetricsResult(options={}){return this.#distributor(options)}#mobility(options){const input=this.#mobilityInput(`${FACADE}.mobilityMetricsResult`,options);return input.complete?completeResult(mobilityMetrics(input.value)):input}#mobilityCapacitor(options){const scope=`${FACADE}.mobilityCapacitorMetricsResult`;const enginesPips=requirePips(scope,"enginesPips",options.enginesPips??4);const input=this.#mobilityInput(scope,options);return input.complete?completeResult(mobilityCapacitorMetrics({...input.value,enginesPips:enginesPips})):input}#mobilityInput(scope,options){requireLoadOptions(scope,options);return mobilityInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),()=>this.#loadedMass(options.cargo??0)+(options.fuel??this.#state.statedMainFuel()??this.#build.fuelCapacity.main),this.#state.statsFor)}#shields(){const input=shieldInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),this.#state.statsFor);return input.complete?completeResult(shieldMetrics(input.value)):input}#shieldCapacitor(options){const systemsPips=requirePips(`${FACADE}.shieldCapacitorMetricsResult`,"systemsPips",options.systemsPips??4);const input=shieldCapacitorInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),systemsPips,this.#state.statsFor);return input.complete?completeResult(shieldCapacitorMetrics(input.value)):input}#recovery(options){const systemsPips=requirePips(`${FACADE}.shieldRecoveryResult`,"systemsPips",options.systemsPips??4);const input=shieldRecoveryInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),systemsPips,this.#state.statsFor);return input.complete?completeResult(shieldRecovery(input.value)):input}#distributor(options){const scope=`${FACADE}.distributorMetricsResult`;const pips={systemsPips:requirePips(scope,"systemsPips",options.systemsPips??4),enginesPips:requirePips(scope,"enginesPips",options.enginesPips??4),weaponsPips:requirePips(scope,"weaponsPips",options.weaponsPips??4)};const input=distributorInputResultFor(this.#state.effectiveModules(),pips,this.powerBudget(),this.#state.statsFor);return input.complete?completeResult(distributorMetrics(input.value)):input}#standardLoad(load){if(load!=="maximum"&&load!=="unladen"&&load!=="laden"){throw new RangeError(`${FACADE}.standardLoadResult: load must be 'maximum', 'unladen', or 'laden'`)}const fuel=this.#build.fuelCapacity;const cargo=load==="laden"?this.#build.cargoCapacity:0;const mass=load==="maximum"?this.#build.unladenMass:0;let drive=null;let maximumFuel=null;if(load==="maximum"){const fitted=this.#state.frameShiftDriveModule();let driveError=null;try{drive=this.#state.resolveDrive();maximumFuel=drive?.maxFuel??null}catch(error){if(!(error instanceof Error))throw error;driveError=error}if(maximumFuel===null){return incompleteResult([{field:"frameShiftDrive",reason:fitted?"unresolved":"missing",slot:fitted?.Slot??"FrameShiftDrive",...fitted?{symbol:fitted.Item}:{},message:driveError?.message??"FrameShiftDrive: no frame shift drive is fitted",params:fitted?{field:"frameShiftDrive",reason:"unresolved",slot:fitted.Slot,symbol:fitted.Item}:{field:"frameShiftDrive",reason:"missing",slot:"FrameShiftDrive"}}])}}const carriedFuel=load==="maximum"?Math.min(fuel.main,maximumFuel):fuel.main;const value=Object.freeze({fuel:carriedFuel,cargo:cargo,mass:this.#build.unladenMass+carriedFuel+cargo});if(load==="maximum"){try{this.jumpRange(value)}catch(error){if(!(error instanceof RangeError))throw error;const fitted=this.#state.frameShiftDriveModule();const field=drive!==null&&(!Number.isFinite(drive.maxFuel)||drive.maxFuel<0)?"frameShiftDrive":!Number.isFinite(value.fuel)||value.fuel<0?"fuelCapacity":!Number.isFinite(mass)||mass<0?"mass":"frameShiftDrive";const driveParams=field==="frameShiftDrive"&&fitted?{slot:fitted.Slot,symbol:fitted.Item}:{};return incompleteResult([{field:field,reason:"invalid",...driveParams,message:error.message,params:{field:field,reason:"invalid",...driveParams}}])}}return completeResult(value)}#require(result,what){if(result.value===null){throw new TypeError(`${FACADE}: cannot determine ${what} (${result.issues.map(issue=>issue.message).join("; ")})`)}return result.value}#loadedMass(cargo){return this.#build.unladenMass+cargo}#maxJumpFuel(fsd){return Math.min(this.#build.fuelCapacity.main,fsd.maxFuel)}};export{BuildMetrics};//# sourceMappingURL=chunk-3RTUSDQF.js.map
|
|
1
|
+
import{cellBankSummary,shieldRecovery}from"./chunk-JMAXSXXQ.js";import{loadoutInternals,fittedThrusterParamsFor,preEngineeredVariantFor,powerConsumerFor,powerAvailable,heatInputResultFor,completeResult,cellBankInputsFor,armourInputFor,weaponStatsFor,weaponsCapacitorInputFor,mobilityInputResultFor,shieldInputResultFor,shieldCapacitorInputResultFor,shieldRecoveryInputResultFor,distributorInputResultFor,incompleteResult}from"./chunk-FD74K27A.js";import{shieldMetrics}from"./chunk-5VWACBTN.js";import{weaponsCapacitorMetrics}from"./chunk-M4FZRDAH.js";import{powerBudget}from"./chunk-GGQMIQPC.js";import{isNonOutfittingSlot,isBuiltInHullModule,orderBySlotLayout}from"./chunk-SC6Z2TV7.js";import{weaponMetrics,sumWeaponMetrics}from"./chunk-37JIMWLK.js";import{shieldCapacitorMetrics}from"./chunk-XQJERZUS.js";import{mobilityCapacitorMetrics}from"./chunk-VEEBJFJ7.js";import{mobilityMetrics}from"./chunk-A4QKXXZD.js";import{getExperimentalEffectCost}from"./chunk-CJK2IBI2.js";import{heatMetrics}from"./chunk-6HA2YIKW.js";import{frameShiftDriveMassFactor,singleJumpRange,fuelPerJump,totalRange}from"./chunk-VTMCSCXV.js";import{calculateUnladenMass}from"./chunk-DCB4COCL.js";import{getBlueprintCost}from"./chunk-MTJ4MS7W.js";import{distributorMetrics}from"./chunk-M2TCZKRT.js";import{sumMaterials}from"./chunk-CJQ37JII.js";import{ammunitionCapacity}from"./chunk-AA3K5XUE.js";import{armourMetrics}from"./chunk-Q5ALV3DI.js";import{requirePips,requireFiniteNonNegative}from"./chunk-65FZECUX.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var FACADE="BuildMetrics";function requireLoadOptions(scope,options){for(const field of["fuel","cargo"]){const value=options[field];if(value!==void 0)requireFiniteNonNegative(scope,field,value)}}var BuildMetrics=class _BuildMetrics{#build;#state;constructor(build,state){this.#build=build;this.#state=state}static of(build){return new _BuildMetrics(build,loadoutInternals(build,`${FACADE}.of: build`))}loadout(){return this.#build}frameShiftDrive(){const drive=this.#state.resolveDrive();if(drive===null){throw new TypeError(`${FACADE}: build has no frame shift drive`)}return drive}thrusters(){return fittedThrusterParamsFor(this.#state.modules(),this.#state.statsFor)}frameShiftDriveMassFactor(options={}){requireLoadOptions(`${FACADE}.frameShiftDriveMassFactor`,options);return frameShiftDriveMassFactor(this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}maxJumpRange(){const fsd=this.frameShiftDrive();return singleJumpRange(this.#loadedMass(0),this.#maxJumpFuel(fsd),fsd)}jumpRange(options={}){requireLoadOptions(`${FACADE}.jumpRange`,options);return singleJumpRange(this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}ladenJumpRange(){return this.jumpRange({cargo:this.#build.cargoCapacity})}fuelPerJump(distance,options={}){requireLoadOptions(`${FACADE}.fuelPerJump`,options);return fuelPerJump(distance,this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}totalRange(options={}){requireLoadOptions(`${FACADE}.totalRange`,options);return totalRange(this.#loadedMass(options.cargo??0),options.fuel??this.#build.fuelCapacity.main,this.frameShiftDrive())}standardLoadResult(load){return this.#standardLoad(load)}jumpRangeSummary(){const maximum=this.#require(this.standardLoadResult("maximum"),"maximum load");const unladen=this.#require(this.standardLoadResult("unladen"),"unladen load");const laden=this.#require(this.standardLoadResult("laden"),"laden load");return{max:this.jumpRange(maximum),unladen:this.jumpRange(unladen),laden:this.jumpRange(laden),totalMax:this.totalRange(maximum),totalUnladen:this.totalRange(unladen),totalLaden:this.totalRange(laden)}}buildMass(options={}){requireLoadOptions(`${FACADE}.buildMass`,options);const unladen=this.#build.unladenMass;const fuel=options.fuel??this.#build.fuelCapacity.main;const cargo=options.cargo??0;return Object.freeze({hull:this.#state.ship.hullMass,modules:calculateUnladenMass(0,this.#state.calculationModules()),unladen:unladen,fuel:fuel,cargo:cargo,total:unladen+fuel+cargo})}buildCost(){const hull=this.#state.ship.hullCost;let modules=0;let mercCoins=0;const unpriced=[];const materials=[];for(const module of this.#state.modules()){const stats=this.#state.statsFor(module);if(stats?.cost!==void 0){modules+=stats.cost}else if(stats!==null||!isNonOutfittingSlot(module.Slot)&&!isBuiltInHullModule(module)){unpriced.push({slot:module.Slot,symbol:module.Item})}const variant=preEngineeredVariantFor(module);mercCoins+=variant?.mercCoinCost??0;const engineering=module.Engineering;if(!engineering)continue;const grade=engineering.Level;const bought=variant?.grade??0;if(Number.isInteger(grade)&&grade>bought&&grade<=5){const climb=getBlueprintCost(engineering.BlueprintName,grade,bought);if(climb){materials.push(climb.materials);mercCoins+=climb.mercCoins}}const experimental=engineering.ExperimentalEffect;if(experimental!==void 0&&experimental.toLowerCase()!==variant?.experimentalEffectSymbol?.toLowerCase()){const cost=getExperimentalEffectCost(experimental);if(cost)materials.push(cost)}}return deepFreeze({credits:{total:hull+modules,hull:hull,modules:modules,rebuy:Math.trunc((hull+modules)*.05),unpriced:unpriced},mercCoins:mercCoins,materials:sumMaterials(...materials)})}powerBudget(){const modules=this.#state.modules();const consumers=[];for(const module of modules){const consumer=powerConsumerFor(module,this.#state.statsFor(module));if(consumer)consumers.push(consumer)}return powerBudget(powerAvailable(modules,this.#state.statsFor),consumers)}heatMetricsResult(){const input=heatInputResultFor(this.#state.ship,this.#state.effectiveModules(),this.powerBudget(),this.#state.statsFor);return input.complete?completeResult(heatMetrics(input.value)):input}mobilityMetricsResult(options={}){return this.#mobility(options)}mobilityCapacitorMetricsResult(options={}){return this.#mobilityCapacitor(options)}shieldMetricsResult(){return this.#shields()}shieldCapacitorMetricsResult(options={}){return this.#shieldCapacitor(options)}shieldRecoveryResult(options={}){return this.#recovery(options)}cellBanks(){return cellBankSummary(orderBySlotLayout(cellBankInputsFor(this.#state.modules(),this.powerBudget(),this.#state.statsFor),this.#state.layout(),bank=>bank.slot))}armourMetrics(){return armourMetrics(armourInputFor(this.#state.ship,this.#state.modules(),this.#state.statsFor))}weaponMetrics(){const weapons=[];for(const module of this.#state.modules()){const record=this.#state.statsFor(module);const stats=weaponStatsFor(this.#state.effectiveModule(module),record);if(!stats)continue;weapons.push({slot:module.Slot,symbol:module.Item,name:record?.name??module.Item,enabled:module.On!==false,metrics:weaponMetrics(stats),ammunition:ammunitionCapacity(stats),...stats.maximumRange===void 0?{}:{maximumRange:stats.maximumRange},...stats.falloffRange===void 0?{}:{falloffRange:stats.falloffRange},...stats.projectileRange===void 0?{}:{projectileRange:{...stats.projectileRange}},...stats.armourPiercing===void 0?{}:{armourPiercing:stats.armourPiercing}})}const orderedWeapons=orderBySlotLayout(weapons,this.#state.layout(),weapon=>weapon.slot);return{weapons:orderedWeapons,total:sumWeaponMetrics(orderedWeapons.filter(weapon=>weapon.enabled).map(weapon=>weapon.metrics))}}weaponsCapacitorMetrics(options={}){const weaponsPips=requirePips(`${FACADE}.weaponsCapacitorMetrics`,"weaponsPips",options.weaponsPips??4);return weaponsCapacitorMetrics(weaponsCapacitorInputFor(this.#state.effectiveModules(),weaponsPips,this.powerBudget(),this.#state.statsFor))}distributorMetricsResult(options={}){return this.#distributor(options)}#mobility(options){const input=this.#mobilityInput(`${FACADE}.mobilityMetricsResult`,options);return input.complete?completeResult(mobilityMetrics(input.value)):input}#mobilityCapacitor(options){const scope=`${FACADE}.mobilityCapacitorMetricsResult`;const enginesPips=requirePips(scope,"enginesPips",options.enginesPips??4);const input=this.#mobilityInput(scope,options);return input.complete?completeResult(mobilityCapacitorMetrics({...input.value,enginesPips:enginesPips})):input}#mobilityInput(scope,options){requireLoadOptions(scope,options);return mobilityInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),()=>this.#loadedMass(options.cargo??0)+(options.fuel??this.#state.statedMainFuel()??this.#build.fuelCapacity.main),this.#state.statsFor)}#shields(){const input=shieldInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),this.#state.statsFor);return input.complete?completeResult(shieldMetrics(input.value)):input}#shieldCapacitor(options){const systemsPips=requirePips(`${FACADE}.shieldCapacitorMetricsResult`,"systemsPips",options.systemsPips??4);const input=shieldCapacitorInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),systemsPips,this.#state.statsFor);return input.complete?completeResult(shieldCapacitorMetrics(input.value)):input}#recovery(options){const systemsPips=requirePips(`${FACADE}.shieldRecoveryResult`,"systemsPips",options.systemsPips??4);const input=shieldRecoveryInputResultFor(this.#state.ship,this.#state.modules(),()=>this.powerBudget(),systemsPips,this.#state.statsFor);return input.complete?completeResult(shieldRecovery(input.value)):input}#distributor(options){const scope=`${FACADE}.distributorMetricsResult`;const pips={systemsPips:requirePips(scope,"systemsPips",options.systemsPips??4),enginesPips:requirePips(scope,"enginesPips",options.enginesPips??4),weaponsPips:requirePips(scope,"weaponsPips",options.weaponsPips??4)};const input=distributorInputResultFor(this.#state.effectiveModules(),pips,this.powerBudget(),this.#state.statsFor);return input.complete?completeResult(distributorMetrics(input.value)):input}#standardLoad(load){if(load!=="maximum"&&load!=="unladen"&&load!=="laden"){throw new RangeError(`${FACADE}.standardLoadResult: load must be 'maximum', 'unladen', or 'laden'`)}const fuel=this.#build.fuelCapacity;const cargo=load==="laden"?this.#build.cargoCapacity:0;const mass=load==="maximum"?this.#build.unladenMass:0;let drive=null;let maximumFuel=null;if(load==="maximum"){const fitted=this.#state.frameShiftDriveModule();let driveError=null;try{drive=this.#state.resolveDrive();maximumFuel=drive?.maxFuel??null}catch(error){if(!(error instanceof Error))throw error;driveError=error}if(maximumFuel===null){return incompleteResult([{field:"frameShiftDrive",reason:fitted?"unresolved":"missing",slot:fitted?.Slot??"FrameShiftDrive",...fitted?{symbol:fitted.Item}:{},message:driveError?.message??"FrameShiftDrive: no frame shift drive is fitted",params:fitted?{field:"frameShiftDrive",reason:"unresolved",slot:fitted.Slot,symbol:fitted.Item}:{field:"frameShiftDrive",reason:"missing",slot:"FrameShiftDrive"}}])}}const carriedFuel=load==="maximum"?Math.min(fuel.main,maximumFuel):fuel.main;const value=Object.freeze({fuel:carriedFuel,cargo:cargo,mass:this.#build.unladenMass+carriedFuel+cargo});if(load==="maximum"){try{this.jumpRange(value)}catch(error){if(!(error instanceof RangeError))throw error;const fitted=this.#state.frameShiftDriveModule();const field=drive!==null&&(!Number.isFinite(drive.maxFuel)||drive.maxFuel<0)?"frameShiftDrive":!Number.isFinite(value.fuel)||value.fuel<0?"fuelCapacity":!Number.isFinite(mass)||mass<0?"mass":"frameShiftDrive";const driveParams=field==="frameShiftDrive"&&fitted?{slot:fitted.Slot,symbol:fitted.Item}:{};return incompleteResult([{field:field,reason:"invalid",...driveParams,message:error.message,params:{field:field,reason:"invalid",...driveParams}}])}}return completeResult(value)}#require(result,what){if(result.value===null){throw new TypeError(`${FACADE}: cannot determine ${what} (${result.issues.map(issue=>issue.message).join("; ")})`)}return result.value}#loadedMass(cargo){return this.#build.unladenMass+cargo}#maxJumpFuel(fsd){return Math.min(this.#build.fuelCapacity.main,fsd.maxFuel)}};export{BuildMetrics};//# sourceMappingURL=chunk-KGJCTSVV.js.map
|
|
@@ -0,0 +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 +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,
|
|
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 +1 @@
|
|
|
1
|
-
import{combinedRateOfFire}from"./chunk-37JIMWLK.js";import{builtInModuleBySymbol,getModuleBySymbol}from"./chunk-3LZXB2MC.js";import{getPreEngineeredVariants}from"./chunk-PL75RTA2.js";import{ALL_MODULES}from"./chunk-7ZERP4TB.js";import{EXPERIMENTAL_EFFECTS,getExperimentalEffect}from"./chunk-77I24V6B.js";import{resolveBlueprintForModule}from"./chunk-OLKNYGGT.js";import{getBlueprintGrade,getBlueprint,BLUEPRINTS}from"./chunk-AYAKU4YA.js";import{getBlueprintsForModule,getExperimentalsForModule,getEngineeringGroup}from"./chunk-GLWPSVFV.js";import{fieldForLabel,damageTypeForLabel,capabilityValueForLabel,baseStats,computeModifiers,labelsForDamageType,scaleForLabel,preciseModifierValue}from"./chunk-CJQ37JII.js";import{normalizeKey}from"./chunk-BKWLI44T.js";import{requireStringIfPresent}from"./chunk-PKWVG2JY.js";import{deepFreeze}from"./chunk-DURKO7JU.js";function scaleDamageComponents(components,baseDamage,effectiveDamage){const scale=baseDamage!==void 0&&baseDamage!==0&&effectiveDamage!==void 0?effectiveDamage/baseDamage:1;return{...components.kinetic===void 0?{}:{kinetic:components.kinetic*scale},...components.thermal===void 0?{}:{thermal:components.thermal*scale},...components.explosive===void 0?{}:{explosive:components.explosive*scale},...components.absolute===void 0?{}:{absolute:components.absolute*scale},...components.antiXeno===void 0?{}:{antiXeno:components.antiXeno*scale},...components.unclassified===void 0?{}:{unclassified:components.unclassified.map(value=>value*scale)}}}function fixedModifierFeatures(modifiers){return modifiers.map(modifier=>({label:modifier.label,method:modifier.method,min:modifier.value,max:modifier.value}))}var FITTED_ITEM="ShipLoadout: fitted module Item";function isNonOutfittingSlot(slotKey){return/^(paintjob|shipname\d+|shipid\d+|bobble\d+|decal\d+|shipkit.+|weaponcolour|enginecolour|vesselvoice|shipcockpit|stringlights)$/i.test(slotKey)}function isCargoHatchSlot(slotKey){return slotKey.toLowerCase()==="cargohatch"}function isBuiltInHullModule(module){return isCargoHatchSlot(module.Slot)&&module.Item.toLowerCase().startsWith("modularcargobaydoor")}function cloneLoadoutModule(module){return{Slot:module.Slot,Item:module.Item,...module.On===void 0?{}:{On:module.On},...module.Priority===void 0?{}:{Priority:module.Priority},...module.Health===void 0?{}:{Health:module.Health},...module.Value===void 0?{}:{Value:module.Value},...module.Engineering===void 0?{}:{Engineering:{BlueprintName:module.Engineering.BlueprintName,Level:module.Engineering.Level,Quality:module.Engineering.Quality,...module.Engineering.ExperimentalEffect===void 0?{}:{ExperimentalEffect:module.Engineering.ExperimentalEffect},...module.Engineering.ExperimentalEffect_Localised===void 0?{}:{ExperimentalEffect_Localised:module.Engineering.ExperimentalEffect_Localised},...module.Engineering.Modifiers===void 0?{}:{Modifiers:module.Engineering.Modifiers.map(modifier=>({...modifier}))}}}}}function matchingKeyIn(keyed,slotKey){if(keyed.has(slotKey))return slotKey;const wanted=slotKey.toLowerCase();for(const key of keyed.keys()){if(key.toLowerCase()===wanted)return key}return null}function ownKeyIn(keyed,canonicalKey){return matchingKeyIn(keyed,canonicalKey)??(keyed.size>0&&[...keyed.keys()].every(key=>key===key.toLowerCase())?canonicalKey.toLowerCase():canonicalKey)}function orderBySlotLayout(values,layout,slotOf){const order=new Map(layout.map((slot,index)=>[slot.key.toLowerCase(),index]));return[...values].sort((left,right)=>(order.get(slotOf(left).toLowerCase())??Number.MAX_SAFE_INTEGER)-(order.get(slotOf(right).toLowerCase())??Number.MAX_SAFE_INTEGER))}function cloneModuleStats(module){try{return deepFreeze(structuredClone(module))}catch(error){if(!(error instanceof Error&&error.name==="DataCloneError"))throw error;return deepFreeze({...module,...module.restrictedToShips===void 0?{}:{restrictedToShips:[...module.restrictedToShips]},...module.limitIncrease===void 0?{}:{limitIncrease:{...module.limitIncrease}},...module.damageDistribution===void 0?{}:{damageDistribution:{...module.damageDistribution}},...module.damageComponents===void 0?{}:{damageComponents:{...module.damageComponents,...module.damageComponents.unclassified===void 0?{}:{unclassified:[...module.damageComponents.unclassified]}}},...module.projectileRange===void 0?{}:{projectileRange:{...module.projectileRange}}})}}var GUARDIAN_WEAPON_GROUPS=/* @__PURE__ */new Set(["guardianGauss","guardianPlasma","guardianShard"]);function missingBaseLabels(stats,base,features,experimental){const contributions=[...features,...experimental??[]];return[...new Set(contributions.map(contribution=>contribution.label).filter(label=>{if(base[label]!==void 0)return false;return fieldForLabel(label,stats)===null}))]}function recipeSignature(blueprintSymbol){const blueprint=getBlueprint(blueprintSymbol);if(!blueprint)return null;const grades=Object.entries(blueprint.grades).map(([grade,{features:features}])=>`${grade}:${features.map(feature=>`${feature.label}/${feature.method??""}`).sort().join(",")}`).sort().join(";");return`${blueprint.name.toLowerCase()}|${grades}`}var isGenericSpelling=blueprintSymbol=>blueprintSymbol.toLowerCase().startsWith("misc_");function isSoldWithBlueprint(item,wanted){return getPreEngineeredVariants(item).some(variant=>variant.acquisition==="mercenary"&&variant.blueprintSymbol.toLowerCase()===wanted)}function blueprintRoutesFor(item){const routes=/* @__PURE__ */new Map;for(const blueprintSymbol of getBlueprintsForModule(item))routes.set(blueprintSymbol,"ordinary");for(const variant of getPreEngineeredVariants(item)){if(variant.acquisition==="mercenary"&&!routes.has(variant.blueprintSymbol)){routes.set(variant.blueprintSymbol,"mercenary")}}return routes}function blueprintAvailableFor(item,blueprintSymbol){const offered=getBlueprintsForModule(item);const asWritten=normalizeKey(blueprintSymbol,"ShipLoadout.applyBlueprint: blueprintSymbol");const resolved=resolveBlueprintForModule(item,blueprintSymbol).trim();const wanted=resolved.toLowerCase();if(offered.some(id=>id.toLowerCase()===wanted))return true;if(isSoldWithBlueprint(item,wanted)||isSoldWithBlueprint(item,asWritten))return true;if(!isGenericSpelling(wanted))return false;const signature=recipeSignature(resolved);if(signature===null)return false;return offered.some(id=>recipeSignature(id)===signature&&!isGenericSpelling(id))}function experimentalAvailableFor(item,experimentalEffectSymbol){const wanted=normalizeKey(experimentalEffectSymbol,"ShipLoadout.applyBlueprint: options.experimentalEffectSymbol");return getExperimentalsForModule(item).some(id=>id.toLowerCase()===wanted)}function primitiveLabelFor(stats,label){if(label==="MaximumRange"&&stats.maximumRange!==void 0)return"Range";if(label==="DamageFalloffRange"&&stats.falloffRange!==void 0){return"FalloffRange"}if(label==="Range"&&stats.scannerRange!==void 0)return"ScannerRange";if(label==="DSS_PatchRadius")return"ProbeRadius";if(label==="FuelScoopRate")return"RefuelRate";if(label==="EnergyPerRegen"&&stats.shieldRegenRate!==void 0){return"DistributorDraw"}return label}function primitiveEngineeringInputsFor(stats,grade,experimental){const canonicalGrade={...grade,features:grade.features.map(feature=>{const label=primitiveLabelFor(stats,feature.label);return label===feature.label?feature:{...feature,label:label}})};if(!experimental)return{grade:canonicalGrade};return{grade:canonicalGrade,experimental:{...experimental,modifiers:experimental.modifiers.map(modifier=>{const label=primitiveLabelFor(stats,modifier.label);return label===modifier.label?modifier:{...modifier,label:label}})}}}function matchesCalculatedModifiers(captured,calculated){if(!captured||captured.length!==calculated.length)return false;const byLabel=new Map(captured.map(modifier=>[modifier.Label.trim().toLowerCase(),modifier]));if(byLabel.size!==captured.length)return false;return calculated.every(expected=>{const actual=byLabel.get(expected.Label.trim().toLowerCase());if(!actual)return false;if(expected.Value!==void 0){return actual.Value!==void 0&&Math.abs(actual.Value-expected.Value)<=1e-5*Math.max(1,Math.abs(expected.Value))}return actual.ValueStr===expected.ValueStr})}function identityArticles(item,engineering){if(engineering.Modifiers!==void 0||typeof engineering.BlueprintName!=="string"){return[]}const wanted=engineering.BlueprintName.trim().toLowerCase();const experimental=engineering.ExperimentalEffect?.trim().toLowerCase();return getPreEngineeredVariants(item).filter(candidate=>candidate.blueprintSymbol.trim().toLowerCase()===wanted&&candidate.grade===engineering.Level&&(candidate.experimentalEffectSymbol===void 0?experimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.trim().toLowerCase()===experimental))}function unrollableFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>!blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function rolledOverFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function statesInertModifiers(stats,modifiers){return modifiers.every(modifier=>{if(damageTypeForLabel(modifier.Label)!==null||capabilityValueForLabel(modifier.Label)!==null){return false}const field=fieldForLabel(modifier.Label,stats);return field===null||typeof stats[field]!=="number"})}function ordinaryEngineeringProof(item,engineering,experimental){const recipe=resolveBlueprintForModule(item,engineering.BlueprintName);const fixedCandidate=getPreEngineeredVariants(item).some(candidate=>candidate.acquisition!=="mercenary"&&candidate.blueprintSymbol.trim().toLowerCase()===recipe.trim().toLowerCase());if(!fixedCandidate)return"notFixedCandidate";const grade=getBlueprintGrade(recipe,engineering.Level);const quality=engineering.Quality;const stock=builtInModuleBySymbol(item,FITTED_ITEM);if(!stock||!grade||experimental===null||!Number.isFinite(quality)||quality<0||quality>1){return"unproven"}const current=primitiveEngineeringInputsFor(stock,grade,experimental);if(missingBaseLabels(stock,baseStats(stock),current.grade.features,current.experimental?.modifiers).length>0){return"unproven"}const calculated=journalModifiersFor(stock,computeModifiers(baseStats(stock),current.grade,quality,current.experimental));const damageDistribution=current.experimental?.damageDistribution??current.grade.damageDistribution;if(damageDistribution){for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];if(value===void 0)continue;const label=labelsForDamageType(type)[0];if(label===void 0)continue;calculated.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(stock.damageDistribution?.[type]??0)*scaleForLabel(label)})}}return matchesCalculatedModifiers(engineering.Modifiers,calculated)?"proven":"unproven"}var round6=value=>{const rounded=Math.round(value*1e6)/1e6;return Object.is(rounded,-0)?0:rounded};function float32FiringCycle(interval,burstRounds,burstRateOfFire){if(interval<=0)return void 0;const withinBurst=burstRounds>1?Math.fround(Math.fround(burstRounds-1)/Math.fround(burstRateOfFire)):0;const cycle=Math.fround(withinBurst+Math.fround(interval));return cycle>0?cycle:void 0}function float32RateOfFire(interval,burstRounds,burstRateOfFire){const cycle=float32FiringCycle(interval,burstRounds,burstRateOfFire);return cycle===void 0?void 0:Math.fround(Math.fround(burstRounds)/cycle)}function float32DamagePerSecond(damage,rounds,rate,burstRounds,cycle){if(cycle!==void 0&&(rounds!==1||burstRounds!==1)){const damagePerCycle=Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(burstRounds));return Math.fround(damagePerCycle/cycle)}return Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(rate))}var JOURNAL_MODIFIER_ORDER=["CargoCapacity","GuardianModuleResistance","Mass","Integrity","PowerDraw","BootTime","PowerCapacity","HeatEfficiency","FSDOptimalMass","MaxFuelPerJump","FSDHeatRate","EngineOptimalMass","EngineOptPerformance","EngineHeatRate","ShieldGenOptimalMass","ShieldGenStrength","DamagePerSecond","Damage","DistributorDraw","ThermalLoad","ArmourPenetration","MaximumRange","ShotSpeed","RateOfFire","DamageType","$Kinetic;","$Thermal;","$Explosive;","$Absolute;","AmmoClipSize","AmmoMaximum","ReloadTime","Jitter","DamageFalloffRange","DefenceModifierShieldMultiplier","DefenceModifierHealthMultiplier","DefenceModifierHealthAddition","DefenceModifierShieldAddition","RegenRate","BrokenRegenRate","EnergyPerRegen","KineticResistance","ThermicResistance","ExplosiveResistance","CausticResistance","DamageProtection","ModuleDefenceAbsorption","WeaponsCapacity","WeaponsRecharge","EnginesCapacity","EnginesRecharge","SystemsCapacity","SystemsRecharge","ShieldBankSpinUp","ShieldBankDuration","ShieldBankReinforcement","ShieldBankHeat","FSDInterdictorRange","FSDInterdictorFacingLimit","SensorTargetScanAngle","MaxAngle","ScannerTimeToScan","Range","DSS_PatchRadius","FuelScoopRate","FuelCapacity"];var JOURNAL_MODIFIER_RANK=new Map(JOURNAL_MODIFIER_ORDER.map((label,index)=>[label,index]));function sortJournalModifiers(modifiers){return modifiers.map((modifier,index)=>({modifier:modifier,index:index})).sort((a,b)=>(JOURNAL_MODIFIER_RANK.get(a.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)-(JOURNAL_MODIFIER_RANK.get(b.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)||a.index-b.index).map(({modifier:modifier})=>modifier)}function journalModifiersFor(stats,modifiers){const weapon=stats.damage!==void 0;const valueFor=(label,fallback)=>{const modifier=modifiers.find(candidate=>candidate.Label===label);return(modifier&&preciseModifierValue(modifier))??Math.fround(fallback)};const burstTouched=["BurstInterval","BurstSize","BurstRateOfFire"].some(label=>modifiers.some(modifier=>modifier.Label===label));const damageTouched=modifiers.some(modifier=>modifier.Label==="Damage");const rateTouched=burstTouched||modifiers.some(modifier=>modifier.Label==="RateOfFire");let damagePerSecond;let derivedRate;if(weapon&&(damageTouched||rateTouched)){const continuous=stats.burstInterval===void 0&&stats.rateOfFire===void 0;const baseDamage=Math.fround(stats.damage);const effectiveDamage=valueFor("Damage",stats.damage);if(continuous){damagePerSecond={Label:"DamagePerSecond",Value:round6(effectiveDamage),OriginalValue:round6(baseDamage)}}else{const burstRounds=valueFor("BurstSize",stats.burstRounds??1);const burstRate=valueFor("BurstRateOfFire",stats.burstRateOfFire??1);const baseBurstRounds=Math.fround(stats.burstRounds??1);const baseBurstRate=Math.fround(stats.burstRateOfFire??1);const baseInterval=stats.burstInterval===void 0?void 0:Math.fround(stats.burstInterval);const baseCycle=baseInterval===void 0?void 0:float32FiringCycle(baseInterval,baseBurstRounds,baseBurstRate);const baseRate=baseInterval!==void 0?float32RateOfFire(baseInterval,baseBurstRounds,baseBurstRate):stats.rateOfFire===void 0?void 0:Math.fround(stats.rateOfFire);const rateModifier=modifiers.find(modifier=>modifier.Label==="RateOfFire");const effectiveRate=rateModifier&&preciseModifierValue(rateModifier);const effectiveInterval=valueFor("BurstInterval",stats.burstInterval??0);const effectiveCycle=effectiveRate===void 0?float32FiringCycle(effectiveInterval,burstRounds,burstRate):void 0;const rate=effectiveRate??(effectiveCycle===void 0?void 0:Math.fround(Math.fround(burstRounds)/effectiveCycle));if(baseRate!==void 0&&rate!==void 0){const stockRounds=Math.fround(stats.roundsPerShot??1);const effectiveRounds=Math.fround(modifiers.find(modifier=>modifier.Label==="Rounds"||modifier.Label==="RoundsPerShot")?.Value??stockRounds);damagePerSecond={Label:"DamagePerSecond",Value:round6(float32DamagePerSecond(effectiveDamage,effectiveRounds,rate,burstRounds,effectiveCycle)),OriginalValue:round6(float32DamagePerSecond(baseDamage,stockRounds,baseRate,baseBurstRounds,baseCycle))};if(burstTouched){derivedRate={Label:"RateOfFire",Value:round6(rate),OriginalValue:round6(baseRate)}}}}}const result=[];for(const modifier of modifiers){const label=modifier.Label;if(weapon&&["BurstInterval","BurstSize","BurstRateOfFire"].includes(label))continue;if(weapon&&label==="Damage"&&stats.rateOfFire===void 0)continue;let journalLabel=label;if(label==="Range"&&stats.maximumRange!==void 0)journalLabel="MaximumRange";else if(label==="FalloffRange"&&stats.falloffRange!==void 0){journalLabel="DamageFalloffRange"}else if(label==="ScannerRange"&&stats.scannerRange!==void 0){journalLabel="Range"}else if(label==="ProbeRadius")journalLabel="DSS_PatchRadius";else if(label==="RefuelRate")journalLabel="FuelScoopRate";else if(label==="DistributorDraw"&&stats.shieldRegenRate!==void 0){journalLabel="EnergyPerRegen"}result.push(journalLabel===label?modifier:{...modifier,Label:journalLabel})}if(damagePerSecond)result.push(damagePerSecond);if(derivedRate){const direct=result.findIndex(modifier=>modifier.Label==="RateOfFire");if(direct>=0)result[direct]=derivedRate;else result.push(derivedRate)}return sortJournalModifiers(result)}function isFinalGuardianWeaponEngineering(item,blueprint){const group=getEngineeringGroup(item);if(group===null||!GUARDIAN_WEAPON_GROUPS.has(group))return false;const resolved=resolveBlueprintForModule(item,blueprint);return getBlueprint(resolved)!==null&&!blueprintAvailableFor(item,blueprint)}function engineerableBase(item,statsOverride){const stats=statsOverride??builtInModuleBySymbol(item,FITTED_ITEM);if(!stats||stats.engineeringLocked)return null;return{stats:stats,base:baseStats(stats)}}function availableBlueprintsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;const available=[];for(const[blueprintSymbol,route]of blueprintRoutesFor(item)){const blueprint=BLUEPRINTS[blueprintSymbol];if(!blueprint)continue;const grades=Object.entries(blueprint.grades).filter(([,grade])=>missingBaseLabels(stats,base,grade.features).length===0).map(([grade])=>Number(grade)).filter(Number.isFinite).sort((a,b)=>a-b);if(grades.length>0)available.push({blueprintSymbol:blueprintSymbol,grades:grades,route:route})}return available}function availableExperimentalsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;return getExperimentalsForModule(item).filter(experimentalEffectSymbol=>{const effect=EXPERIMENTAL_EFFECTS[experimentalEffectSymbol];return effect!==void 0&&missingBaseLabels(stats,base,effect.modifiers).length===0})}var MAX_ENGINEERING_GRADE=5;function modifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;if(!module||!variant.modifiers?.length&&effectName==null)return null;const effect=effectName==null?void 0:getExperimentalEffect(effectName);if(effectName!==null&&effectName!==void 0&&!effect)return null;return computeModifiers(baseStats(module),fixedModifierFeatures(variant.modifiers??[]),1,effect??void 0)}function getPreEngineeredModifiers(variant){return modifiersWithExperimental(variant)??[]}function journalModifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return[];const modifiers=journalModifiersFor(module,modifiersWithExperimental(variant,experimental)??[]);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;const damageDistribution=effectName?getExperimentalEffect(effectName)?.damageDistribution:void 0;if(!damageDistribution)return modifiers;for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];const label=labelsForDamageType(type)[0];if(value===void 0||label===void 0)continue;modifiers.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(module.damageDistribution?.[type]??0)*scaleForLabel(label)})}return modifiers}function getPreEngineeredJournalModifiers(variant){return journalModifiersWithExperimental(variant)}function sameJournalNumber(actual,expected,base){return Math.abs(actual-expected)<=Math.max(1e-5,Math.abs(base)*1e-4,Math.abs(expected)*1e-6)}function modifierKey(modifier,module){return fieldForLabel(modifier.Label,module)??`label:${normalizeKey(modifier.Label,"identifyPreEngineeredVariant: module.Engineering.Modifiers[].Label")}`}function sameModifier(actual,expected){if(expected.Value!==void 0){return actual.Value!==void 0&&sameJournalNumber(actual.Value,expected.Value,expected.OriginalValue??expected.Value)}return expected.ValueStr!==void 0&&actual.ValueStr!==void 0}function matchesModifierSignature(actualByKey,expected,module){let matched=0;for(const predicted of expected){const actual=actualByKey.get(modifierKey(predicted,module));if(!actual)continue;if(!sameModifier(actual,predicted))return false;matched++}return matched>=Math.max(1,expected.length-1)}function identifyPreEngineeredVariant(module){const engineering=module.Engineering;if(!engineering)return null;requireStringIfPresent(module.Item,"identifyPreEngineeredVariant: module.Item");const stock=getModuleBySymbol(module.Item,ALL_MODULES);if(!stock)return null;const capturedBlueprint=normalizeKey(engineering.BlueprintName,"identifyPreEngineeredVariant: module.Engineering.BlueprintName");const variants=getPreEngineeredVariants(module.Item);const blueprintMatches=variants.filter(candidate=>candidate.blueprintSymbol.toLowerCase()===capturedBlueprint);const blueprintMatch=blueprintMatches.length===1?blueprintMatches[0]:null;const capturedGrade=engineering.Level;if(blueprintMatch?.acquisition==="mercenary"&&Number.isInteger(capturedGrade)&&capturedGrade>=blueprintMatch.grade&&capturedGrade<=MAX_ENGINEERING_GRADE){return blueprintMatch}if(engineering.Modifiers===void 0){const capturedExperimental=normalizeKey(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const identityMatches=blueprintMatches.filter(candidate=>candidate.engineeringLocked===true&&candidate.grade===capturedGrade&&(candidate.experimentalEffectSymbol===void 0?capturedExperimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.toLowerCase()===capturedExperimental));return identityMatches.length===1?identityMatches[0]:null}if(!engineering.Modifiers?.length)return null;const actualByKey=/* @__PURE__ */new Map;for(const modifier of engineering.Modifiers){actualByKey.set(modifierKey(modifier,stock),modifier)}requireStringIfPresent(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const matches=[];for(const candidate of variants){if(!candidate.modifiers?.length)continue;if(candidate.grade!==engineering.Level)continue;if(candidate.acquisition==="eventReward"&&(engineering.ExperimentalEffect!==void 0||engineering.ExperimentalEffect_Localised!==void 0||capturedBlueprint!==candidate.blueprintSymbol.toLowerCase())){continue}const primitive=modifiersWithExperimental(candidate,engineering.ExperimentalEffect??null);if(!primitive?.length)continue;const matched=matchesModifierSignature(actualByKey,primitive,stock)||matchesModifierSignature(actualByKey,journalModifiersWithExperimental(candidate,engineering.ExperimentalEffect??null),stock);if(matched)matches.push(candidate)}return matches.length===1?matches[0]:null}function unresolvedModifiers(variant){const resolved=new Set(getPreEngineeredModifiers(variant).map(modifier=>modifier.Label));return(variant.modifiers??[]).map(modifier=>modifier.label).filter(label=>!resolved.has(label))}function getPreEngineeredStats(variant){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return null;if(!variant.modifiers?.length&&!variant.engineeringLocked&&variant.experimentalEffectSymbol===void 0)return{...module};const modifiers=variant.modifiers??[];const resolved={...module,...variant.engineeringLocked?{engineeringLocked:true}:{}};for(const{Label:Label,Value:Value,ValueStr:ValueStr}of getPreEngineeredModifiers(variant)){const field=fieldForLabel(Label,module);if(field&&field!=="damageDistribution"&&Value!==void 0){Object.assign(resolved,{[field]:Value/scaleForLabel(Label)})}else if(field&&ValueStr!==void 0&&capabilityValueForLabel(Label)!==null){Object.assign(resolved,{[field]:true})}}const experimentalDamageDistribution=variant.experimentalEffectSymbol?getExperimentalEffect(variant.experimentalEffectSymbol)?.damageDistribution:void 0;if(experimentalDamageDistribution){resolved.damageDistribution={...experimentalDamageDistribution};delete resolved.damageComponents}if(resolved.rateOfFire!==void 0&&!modifiers.some(m=>m.label==="RateOfFire")&&modifiers.some(m=>m.label==="BurstSize"||m.label==="BurstRateOfFire"||m.label==="BurstInterval")){const rate=combinedRateOfFire(resolved);if(rate!==void 0)resolved.rateOfFire=rate}if(module.damageComponents&&!experimentalDamageDistribution){resolved.damageComponents=scaleDamageComponents(module.damageComponents,module.damage,resolved.damage)}return resolved}export{FITTED_ITEM,availableBlueprintsFor,availableExperimentalsFor,blueprintAvailableFor,blueprintRoutesFor,cloneLoadoutModule,cloneModuleStats,experimentalAvailableFor,getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,isBuiltInHullModule,isCargoHatchSlot,isFinalGuardianWeaponEngineering,isNonOutfittingSlot,journalModifiersFor,matchingKeyIn,missingBaseLabels,orderBySlotLayout,ordinaryEngineeringProof,ownKeyIn,primitiveEngineeringInputsFor,rolledOverFixedArticle,scaleDamageComponents,statesInertModifiers,unresolvedModifiers,unrollableFixedArticle};//# sourceMappingURL=chunk-4OTQBHQL.js.map
|
|
1
|
+
import{combinedRateOfFire}from"./chunk-37JIMWLK.js";import{builtInModuleBySymbol,getModuleBySymbol}from"./chunk-3LZXB2MC.js";import{getPreEngineeredVariants}from"./chunk-KPJ77VPS.js";import{ALL_MODULES}from"./chunk-7ZERP4TB.js";import{EXPERIMENTAL_EFFECTS,getExperimentalEffect}from"./chunk-77I24V6B.js";import{resolveBlueprintForModule}from"./chunk-OLKNYGGT.js";import{getBlueprintGrade,getBlueprint,BLUEPRINTS}from"./chunk-AYAKU4YA.js";import{getBlueprintsForModule,getExperimentalsForModule,getEngineeringGroup}from"./chunk-GLWPSVFV.js";import{fieldForLabel,damageTypeForLabel,capabilityValueForLabel,baseStats,computeModifiers,labelsForDamageType,scaleForLabel,preciseModifierValue}from"./chunk-CJQ37JII.js";import{normalizeKey}from"./chunk-BKWLI44T.js";import{requireStringIfPresent}from"./chunk-PKWVG2JY.js";import{deepFreeze}from"./chunk-DURKO7JU.js";function scaleDamageComponents(components,baseDamage,effectiveDamage){const scale=baseDamage!==void 0&&baseDamage!==0&&effectiveDamage!==void 0?effectiveDamage/baseDamage:1;return{...components.kinetic===void 0?{}:{kinetic:components.kinetic*scale},...components.thermal===void 0?{}:{thermal:components.thermal*scale},...components.explosive===void 0?{}:{explosive:components.explosive*scale},...components.absolute===void 0?{}:{absolute:components.absolute*scale},...components.antiXeno===void 0?{}:{antiXeno:components.antiXeno*scale},...components.unclassified===void 0?{}:{unclassified:components.unclassified.map(value=>value*scale)}}}function fixedModifierFeatures(modifiers){return modifiers.map(modifier=>({label:modifier.label,method:modifier.method,min:modifier.value,max:modifier.value}))}var FITTED_ITEM="ShipLoadout: fitted module Item";function isNonOutfittingSlot(slotKey){return/^(paintjob|shipname\d+|shipid\d+|bobble\d+|decal\d+|shipkit.+|weaponcolour|enginecolour|vesselvoice|shipcockpit|stringlights)$/i.test(slotKey)}function isCargoHatchSlot(slotKey){return slotKey.toLowerCase()==="cargohatch"}function isBuiltInHullModule(module){return isCargoHatchSlot(module.Slot)&&module.Item.toLowerCase().startsWith("modularcargobaydoor")}function cloneLoadoutModule(module){return{Slot:module.Slot,Item:module.Item,...module.On===void 0?{}:{On:module.On},...module.Priority===void 0?{}:{Priority:module.Priority},...module.Health===void 0?{}:{Health:module.Health},...module.Value===void 0?{}:{Value:module.Value},...module.Engineering===void 0?{}:{Engineering:{BlueprintName:module.Engineering.BlueprintName,Level:module.Engineering.Level,Quality:module.Engineering.Quality,...module.Engineering.ExperimentalEffect===void 0?{}:{ExperimentalEffect:module.Engineering.ExperimentalEffect},...module.Engineering.ExperimentalEffect_Localised===void 0?{}:{ExperimentalEffect_Localised:module.Engineering.ExperimentalEffect_Localised},...module.Engineering.Modifiers===void 0?{}:{Modifiers:module.Engineering.Modifiers.map(modifier=>({...modifier}))}}}}}function matchingKeyIn(keyed,slotKey){if(keyed.has(slotKey))return slotKey;const wanted=slotKey.toLowerCase();for(const key of keyed.keys()){if(key.toLowerCase()===wanted)return key}return null}function ownKeyIn(keyed,canonicalKey){return matchingKeyIn(keyed,canonicalKey)??(keyed.size>0&&[...keyed.keys()].every(key=>key===key.toLowerCase())?canonicalKey.toLowerCase():canonicalKey)}function orderBySlotLayout(values,layout,slotOf){const order=new Map(layout.map((slot,index)=>[slot.key.toLowerCase(),index]));return[...values].sort((left,right)=>(order.get(slotOf(left).toLowerCase())??Number.MAX_SAFE_INTEGER)-(order.get(slotOf(right).toLowerCase())??Number.MAX_SAFE_INTEGER))}function cloneModuleStats(module){try{return deepFreeze(structuredClone(module))}catch(error){if(!(error instanceof Error&&error.name==="DataCloneError"))throw error;return deepFreeze({...module,...module.restrictedToShips===void 0?{}:{restrictedToShips:[...module.restrictedToShips]},...module.limitIncrease===void 0?{}:{limitIncrease:{...module.limitIncrease}},...module.damageDistribution===void 0?{}:{damageDistribution:{...module.damageDistribution}},...module.damageComponents===void 0?{}:{damageComponents:{...module.damageComponents,...module.damageComponents.unclassified===void 0?{}:{unclassified:[...module.damageComponents.unclassified]}}},...module.projectileRange===void 0?{}:{projectileRange:{...module.projectileRange}}})}}var GUARDIAN_WEAPON_GROUPS=/* @__PURE__ */new Set(["guardianGauss","guardianPlasma","guardianShard"]);function missingBaseLabels(stats,base,features,experimental){const contributions=[...features,...experimental??[]];return[...new Set(contributions.map(contribution=>contribution.label).filter(label=>{if(base[label]!==void 0)return false;return fieldForLabel(label,stats)===null}))]}function recipeSignature(blueprintSymbol){const blueprint=getBlueprint(blueprintSymbol);if(!blueprint)return null;const grades=Object.entries(blueprint.grades).map(([grade,{features:features}])=>`${grade}:${features.map(feature=>`${feature.label}/${feature.method??""}`).sort().join(",")}`).sort().join(";");return`${blueprint.name.toLowerCase()}|${grades}`}var isGenericSpelling=blueprintSymbol=>blueprintSymbol.toLowerCase().startsWith("misc_");function isSoldWithBlueprint(item,wanted){return getPreEngineeredVariants(item).some(variant=>variant.acquisition==="mercenary"&&variant.blueprintSymbol.toLowerCase()===wanted)}function blueprintRoutesFor(item){const routes=/* @__PURE__ */new Map;for(const blueprintSymbol of getBlueprintsForModule(item))routes.set(blueprintSymbol,"ordinary");for(const variant of getPreEngineeredVariants(item)){if(variant.acquisition==="mercenary"&&!routes.has(variant.blueprintSymbol)){routes.set(variant.blueprintSymbol,"mercenary")}}return routes}function blueprintAvailableFor(item,blueprintSymbol){const offered=getBlueprintsForModule(item);const asWritten=normalizeKey(blueprintSymbol,"ShipLoadout.applyBlueprint: blueprintSymbol");const resolved=resolveBlueprintForModule(item,blueprintSymbol).trim();const wanted=resolved.toLowerCase();if(offered.some(id=>id.toLowerCase()===wanted))return true;if(isSoldWithBlueprint(item,wanted)||isSoldWithBlueprint(item,asWritten))return true;if(!isGenericSpelling(wanted))return false;const signature=recipeSignature(resolved);if(signature===null)return false;return offered.some(id=>recipeSignature(id)===signature&&!isGenericSpelling(id))}function experimentalAvailableFor(item,experimentalEffectSymbol){const wanted=normalizeKey(experimentalEffectSymbol,"ShipLoadout.applyBlueprint: options.experimentalEffectSymbol");return getExperimentalsForModule(item).some(id=>id.toLowerCase()===wanted)}function primitiveLabelFor(stats,label){if(label==="MaximumRange"&&stats.maximumRange!==void 0)return"Range";if(label==="DamageFalloffRange"&&stats.falloffRange!==void 0){return"FalloffRange"}if(label==="Range"&&stats.scannerRange!==void 0)return"ScannerRange";if(label==="DSS_PatchRadius")return"ProbeRadius";if(label==="FuelScoopRate")return"RefuelRate";if(label==="EnergyPerRegen"&&stats.shieldRegenRate!==void 0){return"DistributorDraw"}return label}function primitiveEngineeringInputsFor(stats,grade,experimental){const canonicalGrade={...grade,features:grade.features.map(feature=>{const label=primitiveLabelFor(stats,feature.label);return label===feature.label?feature:{...feature,label:label}})};if(!experimental)return{grade:canonicalGrade};return{grade:canonicalGrade,experimental:{...experimental,modifiers:experimental.modifiers.map(modifier=>{const label=primitiveLabelFor(stats,modifier.label);return label===modifier.label?modifier:{...modifier,label:label}})}}}function matchesCalculatedModifiers(captured,calculated){if(!captured||captured.length!==calculated.length)return false;const byLabel=new Map(captured.map(modifier=>[modifier.Label.trim().toLowerCase(),modifier]));if(byLabel.size!==captured.length)return false;return calculated.every(expected=>{const actual=byLabel.get(expected.Label.trim().toLowerCase());if(!actual)return false;if(expected.Value!==void 0){return actual.Value!==void 0&&Math.abs(actual.Value-expected.Value)<=1e-5*Math.max(1,Math.abs(expected.Value))}return actual.ValueStr===expected.ValueStr})}function identityArticles(item,engineering){if(engineering.Modifiers!==void 0||typeof engineering.BlueprintName!=="string"){return[]}const wanted=engineering.BlueprintName.trim().toLowerCase();const experimental=engineering.ExperimentalEffect?.trim().toLowerCase();return getPreEngineeredVariants(item).filter(candidate=>candidate.blueprintSymbol.trim().toLowerCase()===wanted&&candidate.grade===engineering.Level&&(candidate.experimentalEffectSymbol===void 0?experimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.trim().toLowerCase()===experimental))}function unrollableFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>!blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function rolledOverFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function statesInertModifiers(stats,modifiers){return modifiers.every(modifier=>{if(damageTypeForLabel(modifier.Label)!==null||capabilityValueForLabel(modifier.Label)!==null){return false}const field=fieldForLabel(modifier.Label,stats);return field===null||typeof stats[field]!=="number"})}function ordinaryEngineeringProof(item,engineering,experimental){const recipe=resolveBlueprintForModule(item,engineering.BlueprintName);const fixedCandidate=getPreEngineeredVariants(item).some(candidate=>candidate.acquisition!=="mercenary"&&candidate.blueprintSymbol.trim().toLowerCase()===recipe.trim().toLowerCase());if(!fixedCandidate)return"notFixedCandidate";const grade=getBlueprintGrade(recipe,engineering.Level);const quality=engineering.Quality;const stock=builtInModuleBySymbol(item,FITTED_ITEM);if(!stock||!grade||experimental===null||!Number.isFinite(quality)||quality<0||quality>1){return"unproven"}const current=primitiveEngineeringInputsFor(stock,grade,experimental);if(missingBaseLabels(stock,baseStats(stock),current.grade.features,current.experimental?.modifiers).length>0){return"unproven"}const calculated=journalModifiersFor(stock,computeModifiers(baseStats(stock),current.grade,quality,current.experimental));const damageDistribution=current.experimental?.damageDistribution??current.grade.damageDistribution;if(damageDistribution){for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];if(value===void 0)continue;const label=labelsForDamageType(type)[0];if(label===void 0)continue;calculated.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(stock.damageDistribution?.[type]??0)*scaleForLabel(label)})}}return matchesCalculatedModifiers(engineering.Modifiers,calculated)?"proven":"unproven"}var round6=value=>{const rounded=Math.round(value*1e6)/1e6;return Object.is(rounded,-0)?0:rounded};function float32FiringCycle(interval,burstRounds,burstRateOfFire){if(interval<=0)return void 0;const withinBurst=burstRounds>1?Math.fround(Math.fround(burstRounds-1)/Math.fround(burstRateOfFire)):0;const cycle=Math.fround(withinBurst+Math.fround(interval));return cycle>0?cycle:void 0}function float32RateOfFire(interval,burstRounds,burstRateOfFire){const cycle=float32FiringCycle(interval,burstRounds,burstRateOfFire);return cycle===void 0?void 0:Math.fround(Math.fround(burstRounds)/cycle)}function float32DamagePerSecond(damage,rounds,rate,burstRounds,cycle){if(cycle!==void 0&&(rounds!==1||burstRounds!==1)){const damagePerCycle=Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(burstRounds));return Math.fround(damagePerCycle/cycle)}return Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(rate))}var JOURNAL_MODIFIER_ORDER=["CargoCapacity","GuardianModuleResistance","Mass","Integrity","PowerDraw","BootTime","PowerCapacity","HeatEfficiency","FSDOptimalMass","MaxFuelPerJump","FSDHeatRate","EngineOptimalMass","EngineOptPerformance","EngineHeatRate","ShieldGenOptimalMass","ShieldGenStrength","DamagePerSecond","Damage","DistributorDraw","ThermalLoad","ArmourPenetration","MaximumRange","ShotSpeed","RateOfFire","DamageType","$Kinetic;","$Thermal;","$Explosive;","$Absolute;","AmmoClipSize","AmmoMaximum","ReloadTime","Jitter","DamageFalloffRange","DefenceModifierShieldMultiplier","DefenceModifierHealthMultiplier","DefenceModifierHealthAddition","DefenceModifierShieldAddition","RegenRate","BrokenRegenRate","EnergyPerRegen","KineticResistance","ThermicResistance","ExplosiveResistance","CausticResistance","DamageProtection","ModuleDefenceAbsorption","WeaponsCapacity","WeaponsRecharge","EnginesCapacity","EnginesRecharge","SystemsCapacity","SystemsRecharge","ShieldBankSpinUp","ShieldBankDuration","ShieldBankReinforcement","ShieldBankHeat","FSDInterdictorRange","FSDInterdictorFacingLimit","SensorTargetScanAngle","MaxAngle","ScannerTimeToScan","Range","DSS_PatchRadius","FuelScoopRate","FuelCapacity"];var JOURNAL_MODIFIER_RANK=new Map(JOURNAL_MODIFIER_ORDER.map((label,index)=>[label,index]));function sortJournalModifiers(modifiers){return modifiers.map((modifier,index)=>({modifier:modifier,index:index})).sort((a,b)=>(JOURNAL_MODIFIER_RANK.get(a.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)-(JOURNAL_MODIFIER_RANK.get(b.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)||a.index-b.index).map(({modifier:modifier})=>modifier)}function journalModifiersFor(stats,modifiers){const weapon=stats.damage!==void 0;const valueFor=(label,fallback)=>{const modifier=modifiers.find(candidate=>candidate.Label===label);return(modifier&&preciseModifierValue(modifier))??Math.fround(fallback)};const burstTouched=["BurstInterval","BurstSize","BurstRateOfFire"].some(label=>modifiers.some(modifier=>modifier.Label===label));const damageTouched=modifiers.some(modifier=>modifier.Label==="Damage");const rateTouched=burstTouched||modifiers.some(modifier=>modifier.Label==="RateOfFire");let damagePerSecond;let derivedRate;if(weapon&&(damageTouched||rateTouched)){const continuous=stats.burstInterval===void 0&&stats.rateOfFire===void 0;const baseDamage=Math.fround(stats.damage);const effectiveDamage=valueFor("Damage",stats.damage);if(continuous){damagePerSecond={Label:"DamagePerSecond",Value:round6(effectiveDamage),OriginalValue:round6(baseDamage)}}else{const burstRounds=valueFor("BurstSize",stats.burstRounds??1);const burstRate=valueFor("BurstRateOfFire",stats.burstRateOfFire??1);const baseBurstRounds=Math.fround(stats.burstRounds??1);const baseBurstRate=Math.fround(stats.burstRateOfFire??1);const baseInterval=stats.burstInterval===void 0?void 0:Math.fround(stats.burstInterval);const baseCycle=baseInterval===void 0?void 0:float32FiringCycle(baseInterval,baseBurstRounds,baseBurstRate);const baseRate=baseInterval!==void 0?float32RateOfFire(baseInterval,baseBurstRounds,baseBurstRate):stats.rateOfFire===void 0?void 0:Math.fround(stats.rateOfFire);const rateModifier=modifiers.find(modifier=>modifier.Label==="RateOfFire");const effectiveRate=rateModifier&&preciseModifierValue(rateModifier);const effectiveInterval=valueFor("BurstInterval",stats.burstInterval??0);const effectiveCycle=effectiveRate===void 0?float32FiringCycle(effectiveInterval,burstRounds,burstRate):void 0;const rate=effectiveRate??(effectiveCycle===void 0?void 0:Math.fround(Math.fround(burstRounds)/effectiveCycle));if(baseRate!==void 0&&rate!==void 0){const stockRounds=Math.fround(stats.roundsPerShot??1);const effectiveRounds=Math.fround(modifiers.find(modifier=>modifier.Label==="Rounds"||modifier.Label==="RoundsPerShot")?.Value??stockRounds);damagePerSecond={Label:"DamagePerSecond",Value:round6(float32DamagePerSecond(effectiveDamage,effectiveRounds,rate,burstRounds,effectiveCycle)),OriginalValue:round6(float32DamagePerSecond(baseDamage,stockRounds,baseRate,baseBurstRounds,baseCycle))};if(burstTouched){derivedRate={Label:"RateOfFire",Value:round6(rate),OriginalValue:round6(baseRate)}}}}}const result=[];for(const modifier of modifiers){const label=modifier.Label;if(weapon&&["BurstInterval","BurstSize","BurstRateOfFire"].includes(label))continue;if(weapon&&label==="Damage"&&stats.rateOfFire===void 0)continue;let journalLabel=label;if(label==="Range"&&stats.maximumRange!==void 0)journalLabel="MaximumRange";else if(label==="FalloffRange"&&stats.falloffRange!==void 0){journalLabel="DamageFalloffRange"}else if(label==="ScannerRange"&&stats.scannerRange!==void 0){journalLabel="Range"}else if(label==="ProbeRadius")journalLabel="DSS_PatchRadius";else if(label==="RefuelRate")journalLabel="FuelScoopRate";else if(label==="DistributorDraw"&&stats.shieldRegenRate!==void 0){journalLabel="EnergyPerRegen"}result.push(journalLabel===label?modifier:{...modifier,Label:journalLabel})}if(damagePerSecond)result.push(damagePerSecond);if(derivedRate){const direct=result.findIndex(modifier=>modifier.Label==="RateOfFire");if(direct>=0)result[direct]=derivedRate;else result.push(derivedRate)}return sortJournalModifiers(result)}function isFinalGuardianWeaponEngineering(item,blueprint){const group=getEngineeringGroup(item);if(group===null||!GUARDIAN_WEAPON_GROUPS.has(group))return false;const resolved=resolveBlueprintForModule(item,blueprint);return getBlueprint(resolved)!==null&&!blueprintAvailableFor(item,blueprint)}function engineerableBase(item,statsOverride){const stats=statsOverride??builtInModuleBySymbol(item,FITTED_ITEM);if(!stats||stats.engineeringLocked)return null;return{stats:stats,base:baseStats(stats)}}function availableBlueprintsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;const available=[];for(const[blueprintSymbol,route]of blueprintRoutesFor(item)){const blueprint=BLUEPRINTS[blueprintSymbol];if(!blueprint)continue;const grades=Object.entries(blueprint.grades).filter(([,grade])=>missingBaseLabels(stats,base,grade.features).length===0).map(([grade])=>Number(grade)).filter(Number.isFinite).sort((a,b)=>a-b);if(grades.length>0)available.push({blueprintSymbol:blueprintSymbol,grades:grades,route:route})}return available}function availableExperimentalsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;return getExperimentalsForModule(item).filter(experimentalEffectSymbol=>{const effect=EXPERIMENTAL_EFFECTS[experimentalEffectSymbol];return effect!==void 0&&missingBaseLabels(stats,base,effect.modifiers).length===0})}var MAX_ENGINEERING_GRADE=5;function modifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;if(!module||!variant.modifiers?.length&&effectName==null)return null;const effect=effectName==null?void 0:getExperimentalEffect(effectName);if(effectName!==null&&effectName!==void 0&&!effect)return null;return computeModifiers(baseStats(module),fixedModifierFeatures(variant.modifiers??[]),1,effect??void 0)}function getPreEngineeredModifiers(variant){return modifiersWithExperimental(variant)??[]}function journalModifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return[];const modifiers=journalModifiersFor(module,modifiersWithExperimental(variant,experimental)??[]);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;const damageDistribution=effectName?getExperimentalEffect(effectName)?.damageDistribution:void 0;if(!damageDistribution)return modifiers;for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];const label=labelsForDamageType(type)[0];if(value===void 0||label===void 0)continue;modifiers.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(module.damageDistribution?.[type]??0)*scaleForLabel(label)})}return modifiers}function getPreEngineeredJournalModifiers(variant){return journalModifiersWithExperimental(variant)}function sameJournalNumber(actual,expected,base){return Math.abs(actual-expected)<=Math.max(1e-5,Math.abs(base)*1e-4,Math.abs(expected)*1e-6)}function modifierKey(modifier,module){return fieldForLabel(modifier.Label,module)??`label:${normalizeKey(modifier.Label,"identifyPreEngineeredVariant: module.Engineering.Modifiers[].Label")}`}function sameModifier(actual,expected){if(expected.Value!==void 0){return actual.Value!==void 0&&sameJournalNumber(actual.Value,expected.Value,expected.OriginalValue??expected.Value)}return expected.ValueStr!==void 0&&actual.ValueStr!==void 0}function matchesModifierSignature(actualByKey,expected,module){let matched=0;for(const predicted of expected){const actual=actualByKey.get(modifierKey(predicted,module));if(!actual)continue;if(!sameModifier(actual,predicted))return false;matched++}return matched>=Math.max(1,expected.length-1)}function identifyPreEngineeredVariant(module){const engineering=module.Engineering;if(!engineering)return null;requireStringIfPresent(module.Item,"identifyPreEngineeredVariant: module.Item");const stock=getModuleBySymbol(module.Item,ALL_MODULES);if(!stock)return null;const capturedBlueprint=normalizeKey(engineering.BlueprintName,"identifyPreEngineeredVariant: module.Engineering.BlueprintName");const variants=getPreEngineeredVariants(module.Item);const blueprintMatches=variants.filter(candidate=>candidate.blueprintSymbol.toLowerCase()===capturedBlueprint);const blueprintMatch=blueprintMatches.length===1?blueprintMatches[0]:null;const capturedGrade=engineering.Level;if(blueprintMatch?.acquisition==="mercenary"&&Number.isInteger(capturedGrade)&&capturedGrade>=blueprintMatch.grade&&capturedGrade<=MAX_ENGINEERING_GRADE){return blueprintMatch}if(engineering.Modifiers===void 0){const capturedExperimental=normalizeKey(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const identityMatches=blueprintMatches.filter(candidate=>candidate.engineeringLocked===true&&candidate.grade===capturedGrade&&(candidate.experimentalEffectSymbol===void 0?capturedExperimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.toLowerCase()===capturedExperimental));return identityMatches.length===1?identityMatches[0]:null}if(!engineering.Modifiers?.length)return null;const actualByKey=/* @__PURE__ */new Map;for(const modifier of engineering.Modifiers){actualByKey.set(modifierKey(modifier,stock),modifier)}requireStringIfPresent(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const matches=[];for(const candidate of variants){if(!candidate.modifiers?.length)continue;if(candidate.grade!==engineering.Level)continue;if(candidate.acquisition==="eventReward"&&(engineering.ExperimentalEffect!==void 0||engineering.ExperimentalEffect_Localised!==void 0||capturedBlueprint!==candidate.blueprintSymbol.toLowerCase())){continue}const primitive=modifiersWithExperimental(candidate,engineering.ExperimentalEffect??null);if(!primitive?.length)continue;const matched=matchesModifierSignature(actualByKey,primitive,stock)||matchesModifierSignature(actualByKey,journalModifiersWithExperimental(candidate,engineering.ExperimentalEffect??null),stock);if(matched)matches.push(candidate)}return matches.length===1?matches[0]:null}function unresolvedModifiers(variant){const resolved=new Set(getPreEngineeredModifiers(variant).map(modifier=>modifier.Label));return(variant.modifiers??[]).map(modifier=>modifier.label).filter(label=>!resolved.has(label))}function getPreEngineeredStats(variant){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return null;if(!variant.modifiers?.length&&!variant.engineeringLocked&&variant.experimentalEffectSymbol===void 0)return{...module};const modifiers=variant.modifiers??[];const resolved={...module,...variant.engineeringLocked?{engineeringLocked:true}:{}};for(const{Label:Label,Value:Value,ValueStr:ValueStr}of getPreEngineeredModifiers(variant)){const field=fieldForLabel(Label,module);if(field&&field!=="damageDistribution"&&Value!==void 0){Object.assign(resolved,{[field]:Value/scaleForLabel(Label)})}else if(field&&ValueStr!==void 0&&capabilityValueForLabel(Label)!==null){Object.assign(resolved,{[field]:true})}}const experimentalDamageDistribution=variant.experimentalEffectSymbol?getExperimentalEffect(variant.experimentalEffectSymbol)?.damageDistribution:void 0;if(experimentalDamageDistribution){resolved.damageDistribution={...experimentalDamageDistribution};delete resolved.damageComponents}if(resolved.rateOfFire!==void 0&&!modifiers.some(m=>m.label==="RateOfFire")&&modifiers.some(m=>m.label==="BurstSize"||m.label==="BurstRateOfFire"||m.label==="BurstInterval")){const rate=combinedRateOfFire(resolved);if(rate!==void 0)resolved.rateOfFire=rate}if(module.damageComponents&&!experimentalDamageDistribution){resolved.damageComponents=scaleDamageComponents(module.damageComponents,module.damage,resolved.damage)}return resolved}export{FITTED_ITEM,availableBlueprintsFor,availableExperimentalsFor,blueprintAvailableFor,blueprintRoutesFor,cloneLoadoutModule,cloneModuleStats,experimentalAvailableFor,getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,isBuiltInHullModule,isCargoHatchSlot,isFinalGuardianWeaponEngineering,isNonOutfittingSlot,journalModifiersFor,matchingKeyIn,missingBaseLabels,orderBySlotLayout,ordinaryEngineeringProof,ownKeyIn,primitiveEngineeringInputsFor,rolledOverFixedArticle,scaleDamageComponents,statesInertModifiers,unresolvedModifiers,unrollableFixedArticle};//# sourceMappingURL=chunk-SC6Z2TV7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ships/internal/damage-components.ts","../src/ships/internal/fixed-modifier-features.ts","../src/ships/internal/loadout-state.ts","../src/ships/internal/loadout-engineering.ts","../src/ships/pre-engineered-stats.ts"],"names":["combinedRateOfFire","builtInModuleBySymbol","getModuleBySymbol","getPreEngineeredVariants","ALL_MODULES","EXPERIMENTAL_EFFECTS","getExperimentalEffect","resolveBlueprintForModule","getBlueprintGrade","getBlueprint","BLUEPRINTS","getBlueprintsForModule","getExperimentalsForModule","getEngineeringGroup","fieldForLabel","damageTypeForLabel","capabilityValueForLabel","baseStats","computeModifiers","labelsForDamageType","scaleForLabel","preciseModifierValue","normalizeKey","requireStringIfPresent","deepFreeze","scaleDamageComponents","components","baseDamage","effectiveDamage","scale","kinetic","thermal","explosive","absolute","antiXeno","unclassified","map","value","fixedModifierFeatures","modifiers","modifier","label","method","min","max","FITTED_ITEM","isNonOutfittingSlot","slotKey","test","isCargoHatchSlot","toLowerCase","isBuiltInHullModule","module","Slot","Item","startsWith","cloneLoadoutModule","On","Priority","Health","Value","Engineering","BlueprintName","Level","Quality","ExperimentalEffect","ExperimentalEffect_Localised","Modifiers","matchingKeyIn","keyed","has","wanted","key","keys","ownKeyIn","canonicalKey","size","every","orderBySlotLayout","values","layout","slotOf","order","Map","slot","index","sort","left","right","get","Number","MAX_SAFE_INTEGER","cloneModuleStats","structuredClone","error","Error","name","restrictedToShips","limitIncrease","damageDistribution","damageComponents","projectileRange","GUARDIAN_WEAPON_GROUPS","Set","missingBaseLabels","stats","base","features","experimental","contributions","contribution","filter","recipeSignature","blueprintSymbol","blueprint","grades","Object","entries","grade","feature","join","isGenericSpelling","isSoldWithBlueprint","item","some","variant","acquisition","blueprintRoutesFor","routes","set","blueprintAvailableFor","offered","asWritten","resolved","trim","id","signature","experimentalAvailableFor","experimentalEffectSymbol","primitiveLabelFor","maximumRange","falloffRange","scannerRange","shieldRegenRate","primitiveEngineeringInputsFor","canonicalGrade","matchesCalculatedModifiers","captured","calculated","length","byLabel","Label","expected","actual","Math","abs","ValueStr","identityArticles","engineering","candidate","unrollableFixedArticle","matches","rolledOverFixedArticle","statesInertModifiers","field","ordinaryEngineeringProof","recipe","fixedCandidate","quality","stock","isFinite","current","journalModifiersFor","type","push","OriginalValue","round6","rounded","round","is","float32FiringCycle","interval","burstRounds","burstRateOfFire","withinBurst","fround","cycle","float32RateOfFire","float32DamagePerSecond","damage","rounds","rate","damagePerCycle","JOURNAL_MODIFIER_ORDER","JOURNAL_MODIFIER_RANK","sortJournalModifiers","a","b","weapon","valueFor","fallback","find","burstTouched","damageTouched","rateTouched","damagePerSecond","derivedRate","continuous","burstInterval","rateOfFire","burstRate","baseBurstRounds","baseBurstRate","baseInterval","baseCycle","baseRate","rateModifier","effectiveRate","effectiveInterval","effectiveCycle","stockRounds","roundsPerShot","effectiveRounds","result","includes","journalLabel","direct","findIndex","isFinalGuardianWeaponEngineering","group","engineerableBase","statsOverride","engineeringLocked","availableBlueprintsFor","engineerable","available","route","availableExperimentalsFor","effect","MAX_ENGINEERING_GRADE","modifiersWithExperimental","symbol","effectName","getPreEngineeredModifiers","journalModifiersWithExperimental","getPreEngineeredJournalModifiers","sameJournalNumber","modifierKey","sameModifier","matchesModifierSignature","actualByKey","matched","predicted","identifyPreEngineeredVariant","capturedBlueprint","variants","blueprintMatches","blueprintMatch","capturedGrade","isInteger","capturedExperimental","identityMatches","primitive","unresolvedModifiers","getPreEngineeredStats","assign","experimentalDamageDistribution","m"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/ships/internal/damage-components.ts","../src/ships/internal/fixed-modifier-features.ts","../src/ships/internal/loadout-state.ts","../src/ships/internal/loadout-engineering.ts","../src/ships/pre-engineered-stats.ts"],"names":["combinedRateOfFire","builtInModuleBySymbol","getModuleBySymbol","getPreEngineeredVariants","ALL_MODULES","EXPERIMENTAL_EFFECTS","getExperimentalEffect","resolveBlueprintForModule","getBlueprintGrade","getBlueprint","BLUEPRINTS","getBlueprintsForModule","getExperimentalsForModule","getEngineeringGroup","fieldForLabel","damageTypeForLabel","capabilityValueForLabel","baseStats","computeModifiers","labelsForDamageType","scaleForLabel","preciseModifierValue","normalizeKey","requireStringIfPresent","deepFreeze","scaleDamageComponents","components","baseDamage","effectiveDamage","scale","kinetic","thermal","explosive","absolute","antiXeno","unclassified","map","value","fixedModifierFeatures","modifiers","modifier","label","method","min","max","FITTED_ITEM","isNonOutfittingSlot","slotKey","test","isCargoHatchSlot","toLowerCase","isBuiltInHullModule","module","Slot","Item","startsWith","cloneLoadoutModule","On","Priority","Health","Value","Engineering","BlueprintName","Level","Quality","ExperimentalEffect","ExperimentalEffect_Localised","Modifiers","matchingKeyIn","keyed","has","wanted","key","keys","ownKeyIn","canonicalKey","size","every","orderBySlotLayout","values","layout","slotOf","order","Map","slot","index","sort","left","right","get","Number","MAX_SAFE_INTEGER","cloneModuleStats","structuredClone","error","Error","name","restrictedToShips","limitIncrease","damageDistribution","damageComponents","projectileRange","GUARDIAN_WEAPON_GROUPS","Set","missingBaseLabels","stats","base","features","experimental","contributions","contribution","filter","recipeSignature","blueprintSymbol","blueprint","grades","Object","entries","grade","feature","join","isGenericSpelling","isSoldWithBlueprint","item","some","variant","acquisition","blueprintRoutesFor","routes","set","blueprintAvailableFor","offered","asWritten","resolved","trim","id","signature","experimentalAvailableFor","experimentalEffectSymbol","primitiveLabelFor","maximumRange","falloffRange","scannerRange","shieldRegenRate","primitiveEngineeringInputsFor","canonicalGrade","matchesCalculatedModifiers","captured","calculated","length","byLabel","Label","expected","actual","Math","abs","ValueStr","identityArticles","engineering","candidate","unrollableFixedArticle","matches","rolledOverFixedArticle","statesInertModifiers","field","ordinaryEngineeringProof","recipe","fixedCandidate","quality","stock","isFinite","current","journalModifiersFor","type","push","OriginalValue","round6","rounded","round","is","float32FiringCycle","interval","burstRounds","burstRateOfFire","withinBurst","fround","cycle","float32RateOfFire","float32DamagePerSecond","damage","rounds","rate","damagePerCycle","JOURNAL_MODIFIER_ORDER","JOURNAL_MODIFIER_RANK","sortJournalModifiers","a","b","weapon","valueFor","fallback","find","burstTouched","damageTouched","rateTouched","damagePerSecond","derivedRate","continuous","burstInterval","rateOfFire","burstRate","baseBurstRounds","baseBurstRate","baseInterval","baseCycle","baseRate","rateModifier","effectiveRate","effectiveInterval","effectiveCycle","stockRounds","roundsPerShot","effectiveRounds","result","includes","journalLabel","direct","findIndex","isFinalGuardianWeaponEngineering","group","engineerableBase","statsOverride","engineeringLocked","availableBlueprintsFor","engineerable","available","route","availableExperimentalsFor","effect","MAX_ENGINEERING_GRADE","modifiersWithExperimental","symbol","effectName","getPreEngineeredModifiers","journalModifiersWithExperimental","getPreEngineeredJournalModifiers","sameJournalNumber","modifierKey","sameModifier","matchesModifierSignature","actualByKey","matched","predicted","identifyPreEngineeredVariant","capturedBlueprint","variants","blueprintMatches","blueprintMatch","capturedGrade","isInteger","capturedExperimental","identityMatches","primitive","unresolvedModifiers","getPreEngineeredStats","assign","experimentalDamageDistribution","m"],"mappings":"O,m1BAWO,SAASyB,sBACZC,WACAC,WACAC,iBAEA,MAAMC,MACFF,kBAAe,GAAaA,aAAe,GAAKC,uBAAoB,EAC9DA,gBAAkBD,WAClB,EACV,MAAO,IACCD,WAAWI,eAAY,EAAY,CAAA,EAAK,CAAEA,QAASJ,WAAWI,QAAUD,UACxEH,WAAWK,eAAY,EAAY,CAAA,EAAK,CAAEA,QAASL,WAAWK,QAAUF,UACxEH,WAAWM,iBAAc,EAAY,CAAA,EAAK,CAAEA,UAAWN,WAAWM,UAAYH,UAC9EH,WAAWO,gBAAa,EAAY,CAAA,EAAK,CAAEA,SAAUP,WAAWO,SAAWJ,UAC3EH,WAAWQ,gBAAa,EAAY,CAAA,EAAK,CAAEA,SAAUR,WAAWQ,SAAWL,UAC3EH,WAAWS,oBAAiB,EAC1B,CAAA,EACA,CAAEA,aAAcT,WAAWS,aAAaC,IAAKC,OAAUA,MAAQR,QAE7E,CCdO,SAASS,sBACZC,WAEA,OAAOA,UAAUH,IAAKI,WAAA,CAClBC,MAAOD,SAASC,MAChBC,OAAQF,SAASE,OACjBC,IAAKH,SAASH,MACdO,IAAKJ,SAASH,QAEtB,CCZO,IAAMQ,YAAc,kCAGpB,SAASC,oBAAoBC,SAChC,MAAO,kIAAkIC,KACrID,QAER,CAGO,SAASE,iBAAiBF,SAC7B,OAAOA,QAAQG,gBAAkB,YACrC,CAGO,SAASC,oBAAoBC,QAChC,OACIH,iBAAiBG,OAAOC,OAASD,OAAOE,KAAKJ,cAAcK,WAAW,sBAE9E,CAGO,SAASC,mBAAmBJ,QAC/B,MAAO,CACHC,KAAMD,OAAOC,KACbC,KAAMF,OAAOE,QACTF,OAAOK,UAAO,EAAY,CAAA,EAAK,CAAEA,GAAIL,OAAOK,OAC5CL,OAAOM,gBAAa,EAAY,CAAA,EAAK,CAAEA,SAAUN,OAAOM,aACxDN,OAAOO,cAAW,EAAY,CAAA,EAAK,CAAEA,OAAQP,OAAOO,WACpDP,OAAOQ,aAAU,EAAY,CAAA,EAAK,CAAEA,MAAOR,OAAOQ,UAClDR,OAAOS,mBAAgB,EACrB,CAAA,EACA,CACIA,YAAa,CACTC,cAAeV,OAAOS,YAAYC,cAClCC,MAAOX,OAAOS,YAAYE,MAC1BC,QAASZ,OAAOS,YAAYG,WACxBZ,OAAOS,YAAYI,0BAAuB,EACxC,CAAA,EACA,CAAEA,mBAAoBb,OAAOS,YAAYI,uBAC3Cb,OAAOS,YAAYK,oCAAiC,EAClD,CAAA,EACA,CACIA,6BACId,OAAOS,YAAYK,iCAE7Bd,OAAOS,YAAYM,iBAAc,EAC/B,CAAA,EACA,CACIA,UAAWf,OAAOS,YAAYM,UAAU/B,IAAKI,WAAA,IACtCA,eAMvC,CAaO,SAAS4B,cAAcC,MAAqCtB,SAC/D,GAAIsB,MAAMC,IAAIvB,SAAU,OAAOA,QAC/B,MAAMwB,OAASxB,QAAQG,cACvB,IAAA,MAAWsB,OAAOH,MAAMI,OAAQ,CAC5B,GAAID,IAAItB,gBAAkBqB,OAAQ,OAAOC,GAC7C,CACA,OAAO,IACX,CAGO,SAASE,SAASL,MAAqCM,cAC1D,OACIP,cAAcC,MAAOM,gBACpBN,MAAMO,KAAO,GAAK,IAAIP,MAAMI,QAAQI,MAAOL,KAAQA,MAAQA,IAAItB,eAC1DyB,aAAazB,cACbyB,aAEd,CAGO,SAASG,kBACZC,OACAC,OACAC,QAEA,MAAMC,MAAQ,IAAIC,IAAIH,OAAO5C,IAAI,CAACgD,KAAMC,QAAU,CAACD,KAAKZ,IAAItB,cAAemC,SAC3E,MAAO,IAAIN,QAAQO,KACf,CAACC,KAAMC,SACFN,MAAMO,IAAIR,OAAOM,MAAMrC,gBAAkBwC,OAAOC,mBAChDT,MAAMO,IAAIR,OAAOO,OAAOtC,gBAAkBwC,OAAOC,kBAE9D,CAGO,SAASC,iBAAiBxC,QAC7B,IACI,OAAO5B,WAAWqE,gBAAgBzC,QACtC,CAAA,MAAS0C,OACL,KAAMA,iBAAiBC,OAASD,MAAME,OAAS,kBAAmB,MAAMF,MACxE,OAAOtE,WAAW,IACX4B,UACCA,OAAO6C,yBAAsB,EAC3B,CAAA,EACA,CAAEA,kBAAmB,IAAI7C,OAAO6C,uBAClC7C,OAAO8C,qBAAkB,EACvB,CAAA,EACA,CAAEA,cAAe,IAAK9C,OAAO8C,mBAC/B9C,OAAO+C,0BAAuB,EAC5B,CAAA,EACA,CAAEA,mBAAoB,IAAK/C,OAAO+C,wBACpC/C,OAAOgD,wBAAqB,EAC1B,CAAA,EACA,CACIA,iBAAkB,IACXhD,OAAOgD,oBACNhD,OAAOgD,iBAAiBjE,oBAAiB,EACvC,CAAA,EACA,CAAEA,aAAc,IAAIiB,OAAOgD,iBAAiBjE,oBAG5DiB,OAAOiD,uBAAoB,EACzB,CAAA,EACA,CAAEA,gBAAiB,IAAKjD,OAAOiD,mBAE7C,CACJ,CClHA,IAAMC,sCAAA,IAAkDC,IAAI,CACxD,gBACA,iBACA,kBAeG,SAASC,kBACZC,MACAC,KACAC,SACAC,cAEA,MAAMC,cAAgB,IAAIF,YAAcC,cAAgB,IACxD,MAAO,IACA,IAAIL,IACHM,cACKzE,IAAK0E,cAAiBA,aAAarE,OACnCsE,OAAQtE,QACL,GAAIiE,KAAKjE,cAAW,EAAW,OAAO,MACtC,OAAO3B,cAAc2B,MAAOgE,SAAW,QAI3D,CAeA,SAASO,gBAAgBC,iBACrB,MAAMC,UAAYzG,aAAawG,iBAC/B,IAAKC,UAAW,OAAO,KACvB,MAAMC,OAASC,OAAOC,QAAQH,UAAUC,QACnC/E,IACG,EAAEkF,OAASX,sBACP,GAAGW,SAASX,SACPvE,IAAKmF,SAAY,GAAGA,QAAQ9E,SAAS8E,QAAQ7E,QAAU,MACvD4C,OACAkC,KAAK,QAEjBlC,OACAkC,KAAK,KACV,MAAO,GAAGN,UAAUlB,KAAK9C,iBAAiBiE,QAC9C,CAGA,IAAMM,kBAAqBR,iBACvBA,gBAAgB/D,cAAcK,WAAW,SA2B7C,SAASmE,oBAAoBC,KAAcpD,QACvC,OAAOpE,yBAAyBwH,MAAMC,KACjCC,SACGA,QAAQC,cAAgB,aAAeD,QAAQZ,gBAAgB/D,gBAAkBqB,OAE7F,CASO,SAASwD,mBAAmBJ,MAC/B,MAAMK,sBAAA,IAAa7C,IACnB,IAAA,MAAW8B,mBAAmBtG,uBAAuBgH,MACjDK,OAAOC,IAAIhB,gBAAiB,YAChC,IAAA,MAAWY,WAAW1H,yBAAyBwH,MAAO,CAClD,GAAIE,QAAQC,cAAgB,cAAgBE,OAAO1D,IAAIuD,QAAQZ,iBAAkB,CAC7Ee,OAAOC,IAAIJ,QAAQZ,gBAAiB,YACxC,CACJ,CACA,OAAOe,MACX,CA+DO,SAASE,sBAAsBP,KAAcV,iBAChD,MAAMkB,QAAUxH,uBAAuBgH,MACvC,MAAMS,UAAY9G,aAAa2F,gBAAiB,+CAChD,MAAMoB,SAAW9H,0BAA0BoH,KAAMV,iBAAiBqB,OAClE,MAAM/D,OAAS8D,SAASnF,cACxB,GAAIiF,QAAQP,KAAMW,IAAOA,GAAGrF,gBAAkBqB,QAAS,OAAO,KAE9D,GAAImD,oBAAoBC,KAAMpD,SAAWmD,oBAAoBC,KAAMS,WAAY,OAAO,KACtF,IAAKX,kBAAkBlD,QAAS,OAAO,MACvC,MAAMiE,UAAYxB,gBAAgBqB,UAClC,GAAIG,YAAc,KAAM,OAAO,MAE/B,OAAOL,QAAQP,KAAMW,IAAOvB,gBAAgBuB,MAAQC,YAAcf,kBAAkBc,IACxF,CAaO,SAASE,yBAAyBd,KAAce,0BACnD,MAAMnE,OAASjD,aACXoH,yBACA,gEAEJ,OAAO9H,0BAA0B+G,MAAMC,KAAMW,IAAOA,GAAGrF,gBAAkBqB,OAC7E,CAGA,SAASoE,kBAAkBlC,MAAyBhE,OAChD,GAAIA,QAAU,gBAAkBgE,MAAMmC,oBAAiB,EAAW,MAAO,QACzE,GAAInG,QAAU,sBAAwBgE,MAAMoC,oBAAiB,EAAW,CACpE,MAAO,cACX,CACA,GAAIpG,QAAU,SAAWgE,MAAMqC,oBAAiB,EAAW,MAAO,eAClE,GAAIrG,QAAU,kBAAmB,MAAO,cACxC,GAAIA,QAAU,gBAAiB,MAAO,aACtC,GAAIA,QAAU,kBAAoBgE,MAAMsC,uBAAoB,EAAW,CACnE,MAAO,iBACX,CACA,OAAOtG,KACX,CAYO,SAASuG,8BACZvC,MACAa,MACAV,cAEA,MAAMqC,eAAiB,IAChB3B,MACHX,SAAUW,MAAMX,SAASvE,IAAKmF,UAC1B,MAAM9E,MAAQkG,kBAAkBlC,MAAOc,QAAQ9E,OAC/C,OAAOA,QAAU8E,QAAQ9E,MAAQ8E,QAAU,IAAKA,QAAS9E,gBAGjE,IAAKmE,aAAc,MAAO,CAAEU,MAAO2B,gBACnC,MAAO,CACH3B,MAAO2B,eACPrC,aAAc,IACPA,aACHrE,UAAWqE,aAAarE,UAAUH,IAAKI,WACnC,MAAMC,MAAQkG,kBAAkBlC,MAAOjE,SAASC,OAChD,OAAOA,QAAUD,SAASC,MAAQD,SAAW,IAAKA,SAAUC,gBAI5E,CAGA,SAASyG,2BACLC,SACAC,YAEA,IAAKD,UAAYA,SAASE,SAAWD,WAAWC,OAAQ,OAAO,MAC/D,MAAMC,QAAU,IAAInE,IAChBgE,SAAS/G,IAAKI,UAAa,CAACA,SAAS+G,MAAMjB,OAAOpF,cAAeV,YAErE,GAAI8G,QAAQ1E,OAASuE,SAASE,OAAQ,OAAO,MAC7C,OAAOD,WAAWvE,MAAO2E,WACrB,MAAMC,OAASH,QAAQ7D,IAAI+D,SAASD,MAAMjB,OAAOpF,eACjD,IAAKuG,OAAQ,OAAO,MACpB,GAAID,SAAS5F,aAAU,EAAW,CAC9B,OACI6F,OAAO7F,aAAU,GACjB8F,KAAKC,IAAIF,OAAO7F,MAAQ4F,SAAS5F,QAC7B,KAAO8F,KAAK9G,IAAI,EAAG8G,KAAKC,IAAIH,SAAS5F,OAEjD,CACA,OAAO6F,OAAOG,WAAaJ,SAASI,UAE5C,CASA,SAASC,iBACLlC,KACAmC,aAEA,GAAIA,YAAY3F,iBAAc,UAAoB2F,YAAYhG,gBAAkB,SAAU,CACtF,MAAO,EACX,CACA,MAAMS,OAASuF,YAAYhG,cAAcwE,OAAOpF,cAChD,MAAM0D,aAAekD,YAAY7F,oBAAoBqE,OAAOpF,cAC5D,OAAO/C,yBAAyBwH,MAAMZ,OACjCgD,WACGA,UAAU9C,gBAAgBqB,OAAOpF,gBAAkBqB,QACnDwF,UAAUzC,QAAUwC,YAAY/F,QAC/BgG,UAAUrB,gCAA6B,EAClC9B,oBAAiB,GACjBkD,YAAY5F,oCAAiC,EAC7C6F,UAAUrB,yBAAyBJ,OAAOpF,gBAAkB0D,cAE9E,CAYO,SAASoD,uBACZrC,KACAmC,aAEA,MAAMG,QAAUJ,iBAAiBlC,KAAMmC,aAAa/C,OAC/CgD,YAAe7B,sBAAsBP,KAAMoC,UAAU9C,kBAE1D,OAAOgD,QAAQZ,SAAW,EAAIY,QAAQ,GAAM,IAChD,CAWO,SAASC,uBACZvC,KACAmC,aAEA,MAAMG,QAAUJ,iBAAiBlC,KAAMmC,aAAa/C,OAAQgD,WACxD7B,sBAAsBP,KAAMoC,UAAU9C,kBAE1C,OAAOgD,QAAQZ,SAAW,EAAIY,QAAQ,GAAM,IAChD,CAcO,SAASE,qBACZ1D,MACAlE,WAEA,OAAOA,UAAUsC,MAAOrC,WACpB,GACIzB,mBAAmByB,SAAS+G,SAAW,MACvCvI,wBAAwBwB,SAAS+G,SAAW,KAC9C,CACE,OAAO,KACX,CACA,MAAMa,MAAQtJ,cAAc0B,SAAS+G,MAAO9C,OAC5C,OAAO2D,QAAU,aAAe3D,MAAM2D,SAAW,UAEzD,CAYO,SAASC,yBACZ1C,KACAmC,YACAlD,cAEA,MAAM0D,OAAS/J,0BAA0BoH,KAAMmC,YAAYhG,eAC3D,MAAMyG,eAAiBpK,yBAAyBwH,MAAMC,KACjDmC,WACGA,UAAUjC,cAAgB,aAC1BiC,UAAU9C,gBAAgBqB,OAAOpF,gBAAkBoH,OAAOhC,OAAOpF,eAEzE,IAAKqH,eAAgB,MAAO,oBAE5B,MAAMjD,MAAQ9G,kBAAkB8J,OAAQR,YAAY/F,OACpD,MAAMyG,QAAUV,YAAY9F,QAC5B,MAAMyG,MAAQxK,sBAAsB0H,KAAM9E,aAC1C,IACK4H,QACAnD,OACDV,eAAiB,OAChBlB,OAAOgF,SAASF,UACjBA,QAAU,GACVA,QAAU,EACZ,CACE,MAAO,UACX,CAEA,MAAMG,QAAU3B,8BAA8ByB,MAAOnD,MAAOV,cAC5D,GACIJ,kBACIiE,MACAxJ,UAAUwJ,OACVE,QAAQrD,MAAMX,SACdgE,QAAQ/D,cAAcrE,WACxB8G,OAAS,EACb,CACE,MAAO,UACX,CAEA,MAAMD,WAAawB,oBACfH,MACAvJ,iBAAiBD,UAAUwJ,OAAQE,QAAQrD,MAAOkD,QAASG,QAAQ/D,eAEvE,MAAMT,mBACFwE,QAAQ/D,cAAcT,oBAAsBwE,QAAQrD,MAAMnB,mBAC9D,GAAIA,mBAAoB,CACpB,IAAA,MAAW0E,OAAQ,CAAC,UAAW,UAAW,YAAa,YAAsB,CACzE,MAAMxI,MAAQ8D,mBAAmB0E,MACjC,GAAIxI,aAAU,EAAW,SACzB,MAAMI,MAAQtB,oBAAoB0J,MAAM,GACxC,GAAIpI,aAAU,EAAW,SACzB2G,WAAW0B,KAAK,CACZvB,MAAO9G,MACPmB,MAAOvB,MAAQjB,cAAcqB,OAC7BsI,eAAgBN,MAAMtE,qBAAqB0E,OAAS,GAAKzJ,cAAcqB,QAE/E,CACJ,CACA,OAAOyG,2BAA2BY,YAAY3F,UAAWiF,YAAc,SAAW,UACtF,CAGA,IAAM4B,OAAU3I,QACZ,MAAM4I,QAAUvB,KAAKwB,MAAM7I,MAAQ,KAAO,IAC1C,OAAO+E,OAAO+D,GAAGF,SAAS,GAAM,EAAIA,SAIxC,SAASG,mBACLC,SACAC,YACAC,iBAEA,GAAIF,UAAY,EAAG,YAAO,EAC1B,MAAMG,YACFF,YAAc,EACR5B,KAAK+B,OAAO/B,KAAK+B,OAAOH,YAAc,GAAK5B,KAAK+B,OAAOF,kBACvD,EACV,MAAMG,MAAQhC,KAAK+B,OAAOD,YAAc9B,KAAK+B,OAAOJ,WACpD,OAAOK,MAAQ,EAAIA,WAAQ,CAC/B,CAGA,SAASC,kBACLN,SACAC,YACAC,iBAEA,MAAMG,MAAQN,mBAAmBC,SAAUC,YAAaC,iBACxD,OAAOG,aAAU,OAAY,EAAYhC,KAAK+B,OAAO/B,KAAK+B,OAAOH,aAAeI,MACpF,CAGA,SAASE,uBACLC,OACAC,OACAC,KACAT,YACAI,OAEA,GAAIA,aAAU,IAAcI,SAAW,GAAKR,cAAgB,GAAI,CAC5D,MAAMU,eAAiBtC,KAAK+B,OACxB/B,KAAK+B,OAAO/B,KAAK+B,OAAOI,QAAUnC,KAAK+B,OAAOK,SAAWpC,KAAK+B,OAAOH,cAEzE,OAAO5B,KAAK+B,OAAOO,eAAiBN,MACxC,CACA,OAAOhC,KAAK+B,OAAO/B,KAAK+B,OAAO/B,KAAK+B,OAAOI,QAAUnC,KAAK+B,OAAOK,SAAWpC,KAAK+B,OAAOM,MAC5F,CAEA,IAAME,uBAAyB,CAC3B,gBACA,2BACA,OACA,YACA,YACA,WACA,gBACA,iBACA,iBACA,iBACA,cACA,oBACA,uBACA,iBACA,uBACA,oBACA,kBACA,SACA,kBACA,cACA,oBACA,eACA,YACA,aACA,aACA,YACA,YACA,cACA,aACA,eACA,cACA,aACA,SACA,qBACA,kCACA,kCACA,gCACA,gCACA,YACA,kBACA,iBACA,oBACA,oBACA,sBACA,oBACA,mBACA,0BACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,mBACA,qBACA,0BACA,iBACA,sBACA,4BACA,wBACA,WACA,oBACA,QACA,kBACA,gBACA,gBAGJ,IAAMC,sBAAqD,IAAI/G,IAC3D8G,uBAAuB7J,IAAI,CAACK,MAAO4C,QAAU,CAAC5C,MAAO4C,SAIzD,SAAS8G,qBAAqB5J,WAC1B,OAAOA,UACFH,IAAI,CAACI,SAAU6C,SAAA,CAAa7C,kBAAU6C,eACtCC,KACG,CAAC8G,EAAGC,KACCH,sBAAsBzG,IAAI2G,EAAE5J,SAAS+G,QAAU0C,uBAAuB5C,SAClE6C,sBAAsBzG,IAAI4G,EAAE7J,SAAS+G,QAClC0C,uBAAuB5C,SAAW+C,EAAE/G,MAAQgH,EAAEhH,OAE7DjD,IAAI,EAAGI,qBAAeA,SAC/B,CAeO,SAASoI,oBACZnE,MACAlE,WAEA,MAAM+J,OAAS7F,MAAMoF,cAAW,EAChC,MAAMU,SAAW,CAAC9J,MAAe+J,YAC7B,MAAMhK,SAAWD,UAAUkK,KAAM1C,WAAcA,UAAUR,QAAU9G,OACnE,OAAQD,UAAYnB,qBAAqBmB,YAAckH,KAAK+B,OAAOe,WAEvE,MAAME,aAAe,CAAC,gBAAiB,YAAa,mBAAmB9E,KAAMnF,OACzEF,UAAUqF,KAAMpF,UAAaA,SAAS+G,QAAU9G,QAEpD,MAAMkK,cAAgBpK,UAAUqF,KAAMpF,UAAaA,SAAS+G,QAAU,UACtE,MAAMqD,YACFF,cAAgBnK,UAAUqF,KAAMpF,UAAaA,SAAS+G,QAAU,cAEpE,IAAIsD,gBACJ,IAAIC,YACJ,GAAIR,SAAWK,eAAiBC,aAAc,CAC1C,MAAMG,WAAatG,MAAMuG,qBAAkB,GAAavG,MAAMwG,kBAAe,EAC7E,MAAMtL,WAAa+H,KAAK+B,OAAOhF,MAAMoF,QACrC,MAAMjK,gBAAkB2K,SAAS,SAAU9F,MAAMoF,QACjD,GAAIkB,WAAY,CACZF,gBAAkB,CACdtD,MAAO,kBACP3F,MAAOoH,OAAOpJ,iBACdmJ,cAAeC,OAAOrJ,YAE9B,KAAO,CACH,MAAM2J,YAAciB,SAAS,YAAa9F,MAAM6E,aAAe,GAC/D,MAAM4B,UAAYX,SAAS,kBAAmB9F,MAAM8E,iBAAmB,GACvE,MAAM4B,gBAAkBzD,KAAK+B,OAAOhF,MAAM6E,aAAe,GACzD,MAAM8B,cAAgB1D,KAAK+B,OAAOhF,MAAM8E,iBAAmB,GAC3D,MAAM8B,aACF5G,MAAMuG,qBAAkB,OAAY,EAAYtD,KAAK+B,OAAOhF,MAAMuG,eACtE,MAAMM,UACFD,oBAAiB,OACX,EACAjC,mBAAmBiC,aAAcF,gBAAiBC,eAC5D,MAAMG,SACFF,oBAAiB,EACX1B,kBAAkB0B,aAAcF,gBAAiBC,eACjD3G,MAAMwG,kBAAe,OACnB,EACAvD,KAAK+B,OAAOhF,MAAMwG,YAC9B,MAAMO,aAAejL,UAAUkK,KAAMjK,UAAaA,SAAS+G,QAAU,cACrE,MAAMkE,cAAgBD,cAAgBnM,qBAAqBmM,cAC3D,MAAME,kBAAoBnB,SAAS,gBAAiB9F,MAAMuG,eAAiB,GAC3E,MAAMW,eACFF,qBAAkB,EACZrC,mBAAmBsC,kBAAmBpC,YAAa4B,gBACnD,EACV,MAAMnB,KACF0B,gBACCE,sBAAmB,OACd,EACAjE,KAAK+B,OAAO/B,KAAK+B,OAAOH,aAAeqC,iBACjD,GAAIJ,gBAAa,GAAaxB,YAAS,EAAW,CAC9C,MAAM6B,YAAclE,KAAK+B,OAAOhF,MAAMoH,eAAiB,GACvD,MAAMC,gBAAkBpE,KAAK+B,OACzBlJ,UAAUkK,KACLjK,UACGA,SAAS+G,QAAU,UAAY/G,SAAS+G,QAAU,kBACvD3F,OAASgK,aAEhBf,gBAAkB,CACdtD,MAAO,kBACP3F,MAAOoH,OACHY,uBACIhK,gBACAkM,gBACA/B,KACAT,YACAqC,iBAGR5C,cAAeC,OACXY,uBACIjK,WACAiM,YACAL,SACAJ,gBACAG,aAIZ,GAAIZ,aAAc,CACdI,YAAc,CACVvD,MAAO,aACP3F,MAAOoH,OAAOe,MACdhB,cAAeC,OAAOuC,UAE9B,CACJ,CACJ,CACJ,CAEA,MAAMQ,OAAgC,GACtC,IAAA,MAAWvL,YAAYD,UAAW,CAC9B,MAAME,MAAQD,SAAS+G,MACvB,GAAI+C,QAAU,CAAC,gBAAiB,YAAa,mBAAmB0B,SAASvL,OAAQ,SACjF,GAAI6J,QAAU7J,QAAU,UAAYgE,MAAMwG,kBAAe,EAAW,SACpE,IAAIgB,aAAexL,MACnB,GAAIA,QAAU,SAAWgE,MAAMmC,oBAAiB,EAAWqF,aAAe,oBAAA,GACjExL,QAAU,gBAAkBgE,MAAMoC,oBAAiB,EAAW,CACnEoF,aAAe,oBACnB,MAAA,GAAWxL,QAAU,gBAAkBgE,MAAMqC,oBAAiB,EAAW,CACrEmF,aAAe,OACnB,MAAA,GAAWxL,QAAU,cAAewL,aAAe,uBAAA,GAC1CxL,QAAU,aAAcwL,aAAe,qBAAA,GACvCxL,QAAU,mBAAqBgE,MAAMsC,uBAAoB,EAAW,CACzEkF,aAAe,gBACnB,CACAF,OAAOjD,KAAKmD,eAAiBxL,MAAQD,SAAW,IAAKA,SAAU+G,MAAO0E,cAC1E,CACA,GAAIpB,gBAAiBkB,OAAOjD,KAAK+B,iBACjC,GAAIC,YAAa,CACb,MAAMoB,OAASH,OAAOI,UAAW3L,UAAaA,SAAS+G,QAAU,cACjE,GAAI2E,QAAU,EAAGH,OAAOG,QAAUpB,iBAC7BiB,OAAOjD,KAAKgC,YACrB,CACA,OAAOX,qBAAqB4B,OAChC,CAYO,SAASK,iCAAiCzG,KAAcT,WAC3D,MAAMmH,MAAQxN,oBAAoB8G,MAClC,GAAI0G,QAAU,OAAS/H,uBAAuBhC,IAAI+J,OAAQ,OAAO,MACjE,MAAMhG,SAAW9H,0BAA0BoH,KAAMT,WACjD,OAAOzG,aAAa4H,YAAc,OAASH,sBAAsBP,KAAMT,UAC3E,CAOA,SAASoH,iBACL3G,KACA4G,eAEA,MAAM9H,MAAQ8H,eAAiBtO,sBAAsB0H,KAAM9E,aAC3D,IAAK4D,OAASA,MAAM+H,kBAAmB,OAAO,KAC9C,MAAO,CAAE/H,YAAOC,KAAMzF,UAAUwF,OACpC,CAYO,SAASgI,uBACZ9G,KACA4G,eAEA,MAAMG,aAAeJ,iBAAiB3G,KAAM4G,eAC5C,IAAKG,aAAc,MAAO,GAC1B,MAAMjI,MAAEA,MAAAC,KAAOA,MAASgI,aACxB,MAAMC,UAAkC,GACxC,IAAA,MAAY1H,gBAAiB2H,SAAU7G,mBAAmBJ,MAAO,CAC7D,MAAMT,UAAYxG,WAAWuG,iBAC7B,IAAKC,UAAW,SAChB,MAAMC,OAASC,OAAOC,QAAQH,UAAUC,QACnCJ,OAAO,EAAC,CAAGO,SAAWd,kBAAkBC,MAAOC,KAAMY,MAAMX,UAAU0C,SAAW,GAChFjH,IAAI,EAAEkF,SAAW5B,OAAO4B,QACxBP,OAAOrB,OAAOgF,UACdpF,KAAK,CAAC8G,EAAGC,IAAMD,EAAIC,GACxB,GAAIlF,OAAOkC,OAAS,EAAGsF,UAAU7D,KAAK,CAAE7D,gCAAiBE,cAAQyH,aACrE,CACA,OAAOD,SACX,CAGO,SAASE,0BACZlH,KACA4G,eAEA,MAAMG,aAAeJ,iBAAiB3G,KAAM4G,eAC5C,IAAKG,aAAc,MAAO,GAC1B,MAAMjI,MAAEA,MAAAC,KAAOA,MAASgI,aACxB,OAAO9N,0BAA0B+G,MAAMZ,OAAQ2B,2BAC3C,MAAMoG,OAASzO,qBAAqBqI,0BACpC,OACIoG,cAAW,GAAatI,kBAAkBC,MAAOC,KAAMoI,OAAOvM,WAAW8G,SAAW,GAGhG,CCnxBA,IAAM0F,sBAAwB,EAG9B,SAASC,0BACLnH,QACAjB,cAEA,MAAMxD,OAASlD,kBAAkB2H,QAAQoH,OAAQ7O,aACjD,MAAM8O,WAAatI,oBAAiB,EAAYiB,QAAQa,yBAA2B9B,aACnF,IAAKxD,SAAYyE,QAAQtF,WAAW8G,QAAU6F,YAAc,KAAO,OAAO,KAC1E,MAAMJ,OAASI,YAAc,UAAO,EAAY5O,sBAAsB4O,YACtE,GAAIA,aAAe,MAAQA,kBAAe,IAAcJ,OAAQ,OAAO,KACvE,OAAO5N,iBACHD,UAAUmC,QACVd,sBAAsBuF,QAAQtF,WAAa,IAC3C,EACAuM,aAAU,EAElB,CA4BO,SAASK,0BAA0BtH,SACtC,OAAOmH,0BAA0BnH,UAAY,EACjD,CAGA,SAASuH,iCACLvH,QACAjB,cAEA,MAAMxD,OAASlD,kBAAkB2H,QAAQoH,OAAQ7O,aACjD,IAAKgD,OAAQ,MAAO,GACpB,MAAMb,UAAYqI,oBACdxH,OACA4L,0BAA0BnH,QAASjB,eAAiB,IAExD,MAAMsI,WAAatI,oBAAiB,EAAYiB,QAAQa,yBAA2B9B,aACnF,MAAMT,mBAAqB+I,WACrB5O,sBAAsB4O,aAAa/I,wBACnC,EACN,IAAKA,mBAAoB,OAAO5D,UAChC,IAAA,MAAWsI,OAAQ,CAAC,UAAW,UAAW,YAAa,YAAsB,CACzE,MAAMxI,MAAQ8D,mBAAmB0E,MACjC,MAAMpI,MAAQtB,oBAAoB0J,MAAM,GACxC,GAAIxI,aAAU,GAAaI,aAAU,EAAW,SAChDF,UAAUuI,KAAK,CACXvB,MAAO9G,MACPmB,MAAOvB,MAAQjB,cAAcqB,OAC7BsI,eAAgB3H,OAAO+C,qBAAqB0E,OAAS,GAAKzJ,cAAcqB,QAEhF,CACA,OAAOF,SACX,CA2BO,SAAS8M,iCACZxH,SAEA,OAAOuH,iCAAiCvH,QAC5C,CAeA,SAASyH,kBAAkB7F,OAAgBD,SAAkB9C,MACzD,OACIgD,KAAKC,IAAIF,OAASD,WAClBE,KAAK9G,IAAI,KAAM8G,KAAKC,IAAIjD,MAAQ,KAAMgD,KAAKC,IAAIH,UAAY,KAEnE,CAGA,SAAS+F,YAAY/M,SAA+BY,QAChD,OACItC,cAAc0B,SAAS+G,MAAOnG,SAC9B,SAAS9B,aAAakB,SAAS+G,MAAO,uEAE9C,CAGA,SAASiG,aAAa/F,OAA6BD,UAC/C,GAAIA,SAAS5F,aAAU,EAAW,CAC9B,OACI6F,OAAO7F,aAAU,GACjB0L,kBACI7F,OAAO7F,MACP4F,SAAS5F,MACT4F,SAASuB,eAAiBvB,SAAS5F,MAG/C,CAGA,OAAO4F,SAASI,gBAAa,GAAaH,OAAOG,gBAAa,CAClE,CAGA,SAAS6F,yBACLC,YACAlG,SACApG,QAEA,IAAIuM,QAAU,EACd,IAAA,MAAWC,aAAapG,SAAU,CAC9B,MAAMC,OAASiG,YAAYjK,IAAI8J,YAAYK,UAAWxM,SACtD,IAAKqG,OAAQ,SACb,IAAK+F,aAAa/F,OAAQmG,WAAY,OAAO,MAC7CD,SACJ,CACA,OAAOA,SAAWjG,KAAK9G,IAAI,EAAG4G,SAASH,OAAS,EACpD,CA4DO,SAASwG,6BAA6BzM,QACzC,MAAM0G,YAAc1G,OAAOS,YAC3B,IAAKiG,YAAa,OAAO,KAGzBvI,uBAAuB6B,OAAOE,KAAM,6CACpC,MAAMmH,MAAQvK,kBAAkBkD,OAAOE,KAAMlD,aAC7C,IAAKqK,MAAO,OAAO,KAEnB,MAAMqF,kBAAoBxO,aACtBwI,YAAYhG,cACZ,kEAEJ,MAAMiM,SAAW5P,yBAAyBiD,OAAOE,MACjD,MAAM0M,iBAAmBD,SAAShJ,OAC7BgD,WAAcA,UAAU9C,gBAAgB/D,gBAAkB4M,mBAE/D,MAAMG,eAAiBD,iBAAiB3G,SAAW,EAAI2G,iBAAiB,GAAM,KAC9E,MAAME,cAAgBpG,YAAY/F,MAClC,GACIkM,gBAAgBnI,cAAgB,aAChCpC,OAAOyK,UAAUD,gBACjBA,eAAiBD,eAAe3I,OAChC4I,eAAiBnB,sBACnB,CACE,OAAOkB,cACX,CACA,GAAInG,YAAY3F,iBAAc,EAAW,CACrC,MAAMiM,qBAAuB9O,aACzBwI,YAAY7F,mBACZ,uEAEJ,MAAMoM,gBAAkBL,iBAAiBjJ,OACpCgD,WACGA,UAAUyE,oBAAsB,MAChCzE,UAAUzC,QAAU4I,gBACnBnG,UAAUrB,gCAA6B,EAClC0H,4BAAyB,GACzBtG,YAAY5F,oCAAiC,EAC7C6F,UAAUrB,yBAAyBxF,gBAAkBkN,uBAEnE,OAAOC,gBAAgBhH,SAAW,EAAIgH,gBAAgB,GAAM,IAChE,CACA,IAAKvG,YAAY3F,WAAWkF,OAAQ,OAAO,KAE3C,MAAMqG,2BAAA,IAAkBvK,IACxB,IAAA,MAAW3C,YAAYsH,YAAY3F,UAAW,CAC1CuL,YAAYzH,IAAIsH,YAAY/M,SAAUiI,OAAQjI,SAClD,CACAjB,uBACIuI,YAAY7F,mBACZ,uEAEJ,MAAMgG,QAAkC,GACxC,IAAA,MAAWF,aAAagG,SAAU,CAC9B,IAAKhG,UAAUxH,WAAW8G,OAAQ,SAClC,GAAIU,UAAUzC,QAAUwC,YAAY/F,MAAO,SAK3C,GACIgG,UAAUjC,cAAgB,gBACzBgC,YAAY7F,0BAAuB,GAChC6F,YAAY5F,oCAAiC,GAC7C4L,oBAAsB/F,UAAU9C,gBAAgB/D,eACtD,CACE,QACJ,CACA,MAAMoN,UAAYtB,0BACdjF,UACAD,YAAY7F,oBAAsB,MAEtC,IAAKqM,WAAWjH,OAAQ,SAIxB,MAAMsG,QACFF,yBAAyBC,YAAaY,UAAW7F,QACjDgF,yBACIC,YACAN,iCAAiCrF,UAAWD,YAAY7F,oBAAsB,MAC9EwG,OAER,GAAIkF,QAAS1F,QAAQa,KAAKf,UAC9B,CACA,OAAOE,QAAQZ,SAAW,EAAIY,QAAQ,GAAM,IAChD,CAuBO,SAASsG,oBAAoB1I,SAChC,MAAMQ,SAAW,IAAI9B,IAAI4I,0BAA0BtH,SAASzF,IAAKI,UAAaA,SAAS+G,QACvF,OAAQ1B,QAAQtF,WAAa,IACxBH,IAAKI,UAAaA,SAASC,OAC3BsE,OAAQtE,QAAW4F,SAAS/D,IAAI7B,OACzC,CAsCO,SAAS+N,sBAAsB3I,SAClC,MAAMzE,OAASlD,kBAAkB2H,QAAQoH,OAAQ7O,aACjD,IAAKgD,OAAQ,OAAO,KACpB,IACKyE,QAAQtF,WAAW8G,SACnBxB,QAAQ2G,mBACT3G,QAAQa,gCAA6B,EAKrC,MAAO,IAAKtF,QAChB,MAAMb,UAAYsF,QAAQtF,WAAa,GACvC,MAAM8F,SAA6E,IAC5EjF,UACCyE,QAAQ2G,kBAAoB,CAAEA,kBAAmB,MAAS,CAAA,GAElE,IAAA,MAAWjF,MAAEA,MAAA3F,MAAOA,MAAAgG,SAAOA,YAAcuF,0BAA0BtH,SAAU,CACzE,MAAMuC,MAAQtJ,cAAcyI,MAAOnG,QAInC,GAAIgH,OAASA,QAAU,sBAAwBxG,aAAU,EAAW,CAChEwD,OAAOqJ,OAAOpI,SAAU,CAAE+B,CAACA,OAAQxG,MAAQxC,cAAcmI,QAC7D,MAAA,GAAWa,OAASR,gBAAa,GAAa5I,wBAAwBuI,SAAW,KAAM,CACnFnC,OAAOqJ,OAAOpI,SAAU,CAAE+B,CAACA,OAAQ,MACvC,CACJ,CACA,MAAMsG,+BAAiC7I,QAAQa,yBACzCpI,sBAAsBuH,QAAQa,2BAA2BvC,wBACzD,EACN,GAAIuK,+BAAgC,CAChCrI,SAASlC,mBAAqB,IAAKuK,uCAC5BrI,SAASjC,gBACpB,CAGA,GACIiC,SAAS4E,kBAAe,IACvB1K,UAAUqF,KAAM+I,GAAMA,EAAElO,QAAU,eACnCF,UAAUqF,KACL+I,GACGA,EAAElO,QAAU,aACZkO,EAAElO,QAAU,mBACZkO,EAAElO,QAAU,iBAEtB,CACE,MAAMsJ,KAAO/L,mBAAmBqI,UAChC,GAAI0D,YAAS,EAAW1D,SAAS4E,WAAalB,IAClD,CACA,GAAI3I,OAAOgD,mBAAqBsK,+BAAgC,CAC5DrI,SAASjC,iBAAmB3E,sBACxB2B,OAAOgD,iBACPhD,OAAOyI,OACPxD,SAASwD,OAEjB,CACA,OAAOxD,QACX,QAAAxF,YAAA4L,uBAAAI,0BAAA3G,sBAAAH,mBAAAvE,mBAAAoC,iBAAA6C,yBAAA4G,iCAAAF,0BAAAqB,sBAAAX,6BAAA1M,oBAAAF,iBAAAmL,iCAAAtL,oBAAA8H,oBAAAxG,cAAAoC,kBAAA1B,kBAAAuF,yBAAA3F,SAAAsE,8BAAAkB,uBAAAzI,sBAAA0I,qBAAAoG,oBAAAvG"}
|
package/dist/i18n/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getShipManufacturer,getShipName}from"../chunk-KJFUNIIY.js";export{getLoadoutSlotName,getSlotRestrictionLabel}from"../chunk-ZRG35JSH.js"; export{getExperimentalEffectDescription}from"../chunk-FF2X4K5P.js";export{getExperimentalEffectName}from"../chunk-DSMLYA2M.js";export{getMaterialName}from"../chunk-TW7LUBHD.js";export{getMicroResourceName}from"../chunk-GRSNX36B.js";export{getOutfittingFamilyName}from"../chunk-SD6GNFDX.js";export{getModuleName}from"../chunk-LZYHBFJC.js";export{getPreEngineeredVariantName}from"../chunk-
|
|
1
|
+
export{getShipManufacturer,getShipName}from"../chunk-KJFUNIIY.js";export{getLoadoutSlotName,getSlotRestrictionLabel}from"../chunk-ZRG35JSH.js"; export{getExperimentalEffectDescription}from"../chunk-FF2X4K5P.js";export{getExperimentalEffectName}from"../chunk-DSMLYA2M.js";export{getMaterialName}from"../chunk-TW7LUBHD.js";export{getMicroResourceName}from"../chunk-GRSNX36B.js";export{getOutfittingFamilyName}from"../chunk-SD6GNFDX.js";export{getModuleName}from"../chunk-LZYHBFJC.js";export{getPreEngineeredVariantName}from"../chunk-G2VSQFD6.js";export{getBlueprintName}from"../chunk-DBDCOHI4.js";export{getCalculationIssueMessage,getLoadoutEditErrorMessage,getLoadoutIssueMessage,getSlefDiagnosticMessage}from"../chunk-6G6TYW2D.js";export{getEngineeringGroupName}from"../chunk-5ZVYRX6Z.js"; //# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getPreEngineeredVariantName}from"../chunk-
|
|
1
|
+
export{getPreEngineeredVariantName}from"../chunk-G2VSQFD6.js"; //# sourceMappingURL=pre-engineered.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{BuildMetrics}from"../chunk-
|
|
1
|
+
export{BuildMetrics}from"../chunk-KGJCTSVV.js"; //# sourceMappingURL=build-metrics.js.map
|