@shipload/sdk 1.0.0-next.27 → 1.0.0-next.29

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/lib/shipload.d.ts CHANGED
@@ -1969,7 +1969,7 @@ declare const ITEM_SENSOR = 10006;
1969
1969
  declare const ITEM_POLYMER = 10007;
1970
1970
  declare const ITEM_CERAMIC = 10008;
1971
1971
  declare const ITEM_REACTOR = 10009;
1972
- declare const ITEM_EMITTER = 10010;
1972
+ declare const ITEM_RESIN = 10010;
1973
1973
  declare const ITEM_ENGINE_T1 = 10100;
1974
1974
  declare const ITEM_GENERATOR_T1 = 10101;
1975
1975
  declare const ITEM_GATHERER_T1 = 10102;
@@ -2167,6 +2167,7 @@ declare function stackKey(s: CargoStack): string;
2167
2167
  declare function stacksEqual(a: CargoStack, b: CargoStack): boolean;
2168
2168
  declare function mergeStacks(stacks: CargoStack[], add: CargoStack): CargoStack[];
2169
2169
  declare function removeFromStacks(stacks: CargoStack[], remove: CargoStack): CargoStack[];
2170
+ declare function subtractFromStacks(stacks: CargoStack[], remove: CargoStack): CargoStack[];
2170
2171
 
2171
2172
  declare class InventoryAccessor {
2172
2173
  private readonly entity;
@@ -2654,6 +2655,13 @@ declare function computeCraftedOutputStats(outputItemId: number, slotInputs: Rec
2654
2655
  */
2655
2656
  declare function encodeGatheredCargoStats(depositSeed: bigint): UInt64;
2656
2657
 
2658
+ declare const STAR_STEP = 250;
2659
+ declare const MAX_STARS_PER_STAT = 3;
2660
+ declare const MAX_STAR_RATING: number;
2661
+ declare function starsForStat(value: number): number;
2662
+ declare function starRating(stat1: number, stat2: number, stat3: number): number;
2663
+ declare function statMagnitude(stat1: number, stat2: number, stat3: number): number;
2664
+
2657
2665
  interface LocationStratum extends DerivedStratum {
2658
2666
  reserveMax: number;
2659
2667
  }
@@ -4028,4 +4036,4 @@ type gatherer_stats = Types.gatherer_stats;
4028
4036
  type location_static = Types.location_static;
4029
4037
  type location_derived = Types.location_derived;
4030
4038
 
4031
- export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, CANCEL_PAIRED_HAS_PENDING, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CapabilityAttribute, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coordinates, CoordinatesType, CraftedItemCategory, CrafterCapability, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DerivedStratum, DescribeOptions, Distance, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionHandle, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, Extractor, Factory, FetchAssetsOptions, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GathererCapability, GathererDepthParams, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_EMITTER, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GENERATOR_T1, ITEM_HAULER_T1, ITEM_LOADER_T1, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_REACTOR, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESONATOR, ITEM_SENSOR, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LaneView, LoadTimeBreakdown, LoaderCapability, Location, LocationStratum, LocationType, LocationsManager, MAX_ORBITAL_ALTITUDE, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RawData, Recipe, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedEvent, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedModuleSlot, ResourceCategory, ResourceStats, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StatDefinition, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UpdateBoundsMessage, UpdateMessage, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, allBuildableItems, allPlotBuildableItems, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_loader_acceleration, calc_loader_flighttime, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAtomicAsset, decodeCraftedItemStats, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, encodeGatheredCargoStats, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, gatherer_stats, getCapabilityAttributes, getCategoryInfo, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, loader_stats, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, needsRecharge, parseWireEntity, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, rawScheduleEnd, readCommonBase, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveStats, rollTier, rollWithinTier, rotation, schedule, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, validateSchedule, workerLaneKey, yieldThresholdAt };
4039
+ export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, CANCEL_PAIRED_HAS_PENDING, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CapabilityAttribute, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coordinates, CoordinatesType, CraftedItemCategory, CrafterCapability, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DerivedStratum, DescribeOptions, Distance, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionHandle, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, Extractor, Factory, FetchAssetsOptions, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GathererCapability, GathererDepthParams, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GENERATOR_T1, ITEM_HAULER_T1, ITEM_LOADER_T1, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_REACTOR, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESONATOR, ITEM_SENSOR, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LaneView, LoadTimeBreakdown, LoaderCapability, Location, LocationStratum, LocationType, LocationsManager, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RawData, Recipe, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedEvent, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedModuleSlot, ResourceCategory, ResourceStats, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StatDefinition, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UpdateBoundsMessage, UpdateMessage, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, allBuildableItems, allPlotBuildableItems, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_loader_acceleration, calc_loader_flighttime, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAtomicAsset, decodeCraftedItemStats, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, encodeGatheredCargoStats, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, gatherer_stats, getCapabilityAttributes, getCategoryInfo, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, loader_stats, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, needsRecharge, parseWireEntity, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, rawScheduleEnd, readCommonBase, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveStats, rollTier, rollWithinTier, rotation, schedule, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, validateSchedule, workerLaneKey, yieldThresholdAt };
package/lib/shipload.js CHANGED
@@ -3041,7 +3041,7 @@ const ITEM_SENSOR = 10006;
3041
3041
  const ITEM_POLYMER = 10007;
3042
3042
  const ITEM_CERAMIC = 10008;
3043
3043
  const ITEM_REACTOR = 10009;
3044
- const ITEM_EMITTER = 10010;
3044
+ const ITEM_RESIN = 10010;
3045
3045
  const ITEM_ENGINE_T1 = 10100;
3046
3046
  const ITEM_GENERATOR_T1 = 10101;
3047
3047
  const ITEM_GATHERER_T1 = 10102;
@@ -3116,8 +3116,8 @@ var recipes = [
3116
3116
  {
3117
3117
  sources: [
3118
3118
  {
3119
- inputIndex: 1,
3120
- statIndex: 2
3119
+ inputIndex: 0,
3120
+ statIndex: 0
3121
3121
  }
3122
3122
  ]
3123
3123
  }
@@ -3164,7 +3164,7 @@ var recipes = [
3164
3164
  quantity: 6
3165
3165
  },
3166
3166
  {
3167
- itemId: 501,
3167
+ itemId: 101,
3168
3168
  quantity: 9
3169
3169
  }
3170
3170
  ],
@@ -3352,11 +3352,11 @@ var recipes = [
3352
3352
  outputMass: 6000,
3353
3353
  inputs: [
3354
3354
  {
3355
- itemId: 201,
3355
+ itemId: 501,
3356
3356
  quantity: 6
3357
3357
  },
3358
3358
  {
3359
- itemId: 101,
3359
+ itemId: 201,
3360
3360
  quantity: 9
3361
3361
  }
3362
3362
  ],
@@ -3365,7 +3365,7 @@ var recipes = [
3365
3365
  sources: [
3366
3366
  {
3367
3367
  inputIndex: 0,
3368
- statIndex: 0
3368
+ statIndex: 2
3369
3369
  }
3370
3370
  ]
3371
3371
  },
@@ -3373,7 +3373,7 @@ var recipes = [
3373
3373
  sources: [
3374
3374
  {
3375
3375
  inputIndex: 0,
3376
- statIndex: 1
3376
+ statIndex: 0
3377
3377
  }
3378
3378
  ]
3379
3379
  }
@@ -3631,7 +3631,7 @@ var recipes = [
3631
3631
  sources: [
3632
3632
  {
3633
3633
  inputIndex: 1,
3634
- statIndex: 0
3634
+ statIndex: 1
3635
3635
  }
3636
3636
  ]
3637
3637
  },
@@ -3652,7 +3652,7 @@ var recipes = [
3652
3652
  outputMass: 1400000,
3653
3653
  inputs: [
3654
3654
  {
3655
- itemId: 10010,
3655
+ itemId: 10004,
3656
3656
  quantity: 300
3657
3657
  },
3658
3658
  {
@@ -3665,7 +3665,7 @@ var recipes = [
3665
3665
  sources: [
3666
3666
  {
3667
3667
  inputIndex: 0,
3668
- statIndex: 1
3668
+ statIndex: 0
3669
3669
  },
3670
3670
  {
3671
3671
  inputIndex: 1,
@@ -4918,9 +4918,9 @@ const itemMetadata = {
4918
4918
  color: '#B877FF',
4919
4919
  },
4920
4920
  10010: {
4921
- name: 'Emitter',
4922
- description: 'Precision-formed crystal emitter array. Routes energy efficiently to a target lock.',
4923
- color: '#4ADBFF',
4921
+ name: 'Resin',
4922
+ description: 'Saturated organic binder cured from biomass. A pliable matrix for haulage and field components.',
4923
+ color: '#5A8B3E',
4924
4924
  },
4925
4925
  10100: {
4926
4926
  name: 'Engine',
@@ -9165,10 +9165,10 @@ const GAS_STATS = [
9165
9165
  ];
9166
9166
  const REGOLITH_STATS = [
9167
9167
  {
9168
- key: 'composition',
9169
- label: 'Composition',
9170
- abbreviation: 'COM',
9171
- purpose: 'Mineral/metal mix drives sensor, chip, and optic crafting quality',
9168
+ key: 'cohesion',
9169
+ label: 'Cohesion',
9170
+ abbreviation: 'COH',
9171
+ purpose: 'Binding strength of the loose aggregate; higher cohesion yields more rigid frames and hulls',
9172
9172
  },
9173
9173
  {
9174
9174
  key: 'hardness',
@@ -9500,6 +9500,19 @@ function encodeGatheredCargoStats(depositSeed) {
9500
9500
  return antelope.UInt64.from(encodeStats([raw.stat1, raw.stat2, raw.stat3]));
9501
9501
  }
9502
9502
 
9503
+ const STAR_STEP = 250;
9504
+ const MAX_STARS_PER_STAT = 3;
9505
+ const MAX_STAR_RATING = MAX_STARS_PER_STAT * 3;
9506
+ function starsForStat(value) {
9507
+ return Math.max(0, Math.min(MAX_STARS_PER_STAT, Math.floor(value / STAR_STEP)));
9508
+ }
9509
+ function starRating(stat1, stat2, stat3) {
9510
+ return starsForStat(stat1) + starsForStat(stat2) + starsForStat(stat3);
9511
+ }
9512
+ function statMagnitude(stat1, stat2, stat3) {
9513
+ return stat1 + stat2 + stat3;
9514
+ }
9515
+
9503
9516
  class LocationsManager extends BaseManager {
9504
9517
  async hasSystem(location) {
9505
9518
  const game = await this.getGame();
@@ -12317,7 +12330,7 @@ function computeBaseHullmass$1(stats) {
12317
12330
  return 100000 - 75 * stats.density;
12318
12331
  }
12319
12332
  function computeShipHullCapabilities(stats) {
12320
- const statSum = stats.strength + stats.hardness + stats.saturation;
12333
+ const statSum = stats.strength + stats.hardness + stats.cohesion;
12321
12334
  const exponent = statSum / 2997.0;
12322
12335
  return {
12323
12336
  hullmass: computeBaseHullmass$1(stats),
@@ -12389,11 +12402,11 @@ function computeCrafterCapabilities(stats) {
12389
12402
  }
12390
12403
  function computeHaulerCapabilities(stats) {
12391
12404
  const resonance = stats.resonance;
12392
- const conductivity = stats.conductivity;
12405
+ const plasticity = stats.plasticity;
12393
12406
  const reflectivity = stats.reflectivity;
12394
12407
  return {
12395
12408
  capacity: Math.max(1, 1 + Math.floor(resonance / 400)),
12396
- efficiency: 2000 + conductivity * 6,
12409
+ efficiency: 2000 + plasticity * 6,
12397
12410
  drain: Math.max(3, 15 - Math.floor(reflectivity / 80)),
12398
12411
  };
12399
12412
  }
@@ -12401,8 +12414,8 @@ function computeStorageCapabilities(stats, baseCapacity) {
12401
12414
  const strength = stats.strength;
12402
12415
  const density = stats.density;
12403
12416
  const hardness = stats.hardness;
12404
- const saturation = stats.saturation;
12405
- const statSum = strength + density + hardness + saturation;
12417
+ const cohesion = stats.cohesion;
12418
+ const statSum = strength + density + hardness + cohesion;
12406
12419
  const capacityBonus = Math.floor((baseCapacity * (10 + Math.floor((statSum * 10) / 2997))) / 100);
12407
12420
  return { capacityBonus };
12408
12421
  }
@@ -12423,11 +12436,11 @@ function computeBaseCapacity(itemId, stats) {
12423
12436
  }
12424
12437
  }
12425
12438
  function computeWarpCapabilities(stats) {
12426
- const res = stats.resonance;
12427
- return { range: 100 + res * 3 };
12439
+ const resonance = stats.resonance;
12440
+ return { range: 100 + resonance * 3 };
12428
12441
  }
12429
12442
  function computeWarehouseHullCapabilities(stats) {
12430
- const statSum = stats.strength + stats.hardness + stats.saturation;
12443
+ const statSum = stats.strength + stats.hardness + stats.cohesion;
12431
12444
  const exponent = statSum / 2997.0;
12432
12445
  return {
12433
12446
  hullmass: computeBaseHullmass$1(stats),
@@ -12578,7 +12591,7 @@ function computeEntityCapabilities(stats, itemId, modules, layout) {
12578
12591
  return result;
12579
12592
  }
12580
12593
  function computeContainerCapabilities(stats) {
12581
- const statSum = stats.strength + stats.hardness + stats.saturation;
12594
+ const statSum = stats.strength + stats.hardness + stats.cohesion;
12582
12595
  const exponent = statSum / 2997.0;
12583
12596
  return {
12584
12597
  hullmass: computeBaseHullmass$1(stats),
@@ -12589,9 +12602,9 @@ function computeContainerT2Capabilities(stats) {
12589
12602
  const strength = stats.strength;
12590
12603
  const density = stats.density;
12591
12604
  const hardness = stats.hardness;
12592
- const saturation = stats.saturation;
12605
+ const cohesion = stats.cohesion;
12593
12606
  const hullmass = 70000 - 50 * density;
12594
- const statSum = strength + hardness + saturation;
12607
+ const statSum = strength + hardness + cohesion;
12595
12608
  const exponent = statSum / 2947;
12596
12609
  const capacity = Math.floor(24000000 * 6 ** exponent);
12597
12610
  return { hullmass, capacity };
@@ -12626,7 +12639,7 @@ const ZERO_HULL_STATS = {
12626
12639
  density: 0,
12627
12640
  strength: 0,
12628
12641
  hardness: 0,
12629
- saturation: 0,
12642
+ cohesion: 0,
12630
12643
  };
12631
12644
  function makeEntity(packedItemId, state) {
12632
12645
  const template = getTemplateMeta(packedItemId);
@@ -13343,6 +13356,19 @@ function removeFromStacks(stacks, remove) {
13343
13356
  result[idx] = { ...target, quantity: remaining };
13344
13357
  return result;
13345
13358
  }
13359
+ function subtractFromStacks(stacks, remove) {
13360
+ const idx = stacks.findIndex((s) => stackIdentityEqual(s, remove));
13361
+ if (idx === -1) {
13362
+ return stacks;
13363
+ }
13364
+ const target = stacks[idx];
13365
+ if (target.quantity.lte(remove.quantity)) {
13366
+ return [...stacks.slice(0, idx), ...stacks.slice(idx + 1)];
13367
+ }
13368
+ const result = stacks.slice();
13369
+ result[idx] = { ...target, quantity: antelope.UInt32.from(target.quantity.subtracting(remove.quantity)) };
13370
+ return result;
13371
+ }
13346
13372
 
13347
13373
  function toInstalledModules(modules) {
13348
13374
  if (modules.length > 0 && 'itemId' in modules[0]) {
@@ -13474,7 +13500,7 @@ function addCargoItem(projected, item) {
13474
13500
  projected.cargo = mergeStacks(projected.cargo, cargoItemToStack(item));
13475
13501
  }
13476
13502
  function removeCargoItem(projected, item) {
13477
- projected.cargo = removeFromStacks(projected.cargo, cargoItemToStack(item));
13503
+ projected.cargo = subtractFromStacks(projected.cargo, cargoItemToStack(item));
13478
13504
  }
13479
13505
  function applyAddCargoTask(projected, task) {
13480
13506
  for (const item of task.cargo) {
@@ -13971,7 +13997,7 @@ const itemAbbreviations = {
13971
13997
  10007: 'PM',
13972
13998
  10008: 'CR',
13973
13999
  10009: 'RX',
13974
- 10010: 'EM',
14000
+ 10010: 'RE',
13975
14001
  10100: 'EN',
13976
14002
  10101: 'GN',
13977
14003
  10102: 'EX',
@@ -14463,8 +14489,8 @@ function computeCapabilityGroup(moduleType, stats, tier) {
14463
14489
  const str = stats.strength;
14464
14490
  const den = stats.density;
14465
14491
  const hrd = stats.hardness;
14466
- const sat = stats.saturation;
14467
- const statSum = str + den + hrd + sat;
14492
+ const com = stats.cohesion;
14493
+ const statSum = str + den + hrd + com;
14468
14494
  const pct = 10 + Math.floor((statSum * 10) / 2997);
14469
14495
  return { capability: 'Storage', attributes: [{ label: 'Capacity Bonus', value: pct }] };
14470
14496
  }
@@ -14832,9 +14858,9 @@ function formatModuleLine(slot, itemId, stats) {
14832
14858
  }
14833
14859
  case MODULE_HAULER: {
14834
14860
  const res = decodeStat(stats, 0);
14835
- const con = decodeStat(stats, 1);
14861
+ const pla = decodeStat(stats, 1);
14836
14862
  const ref = decodeStat(stats, 2);
14837
- out += ` Capacity ${computeHaulerCapacity(res)} Efficiency ${computeHaulerEfficiency(con)} Drain ${computeHaulerDrain(ref)}`;
14863
+ out += ` Capacity ${computeHaulerCapacity(res)} Efficiency ${computeHaulerEfficiency(pla)} Drain ${computeHaulerDrain(ref)}`;
14838
14864
  break;
14839
14865
  }
14840
14866
  case MODULE_WARP: {
@@ -14991,21 +15017,23 @@ function buildModuleImmutable(itemId, quantity, stats, originX, originY) {
14991
15017
  }
14992
15018
  case MODULE_CRAFTER: {
14993
15019
  const rea = decodeStat(stats, 0);
14994
- const com = decodeStat(stats, 1);
15020
+ const fin = decodeStat(stats, 1);
14995
15021
  base.push({ first: 'reactivity', second: ['uint16', rea] });
14996
- base.push({ first: 'composition', second: ['uint16', com] });
15022
+ base.push({ first: 'fineness', second: ['uint16', fin] });
14997
15023
  base.push({ first: 'speed', second: ['uint16', computeCrafterSpeed(rea)] });
14998
- base.push({ first: 'drain', second: ['uint16', computeCrafterDrain(com)] });
15024
+ base.push({ first: 'drain', second: ['uint16', computeCrafterDrain(fin)] });
14999
15025
  break;
15000
15026
  }
15001
15027
  case MODULE_STORAGE: {
15002
15028
  const str = decodeStat(stats, 0);
15003
- const fin = decodeStat(stats, 1);
15004
- const sat = decodeStat(stats, 2);
15005
- const sum = str + fin + sat;
15029
+ const den = decodeStat(stats, 1);
15030
+ const hrd = decodeStat(stats, 2);
15031
+ const com = decodeStat(stats, 3);
15032
+ const sum = str + den + hrd + com;
15006
15033
  base.push({ first: 'strength', second: ['uint16', str] });
15007
- base.push({ first: 'fineness', second: ['uint16', fin] });
15008
- base.push({ first: 'saturation', second: ['uint16', sat] });
15034
+ base.push({ first: 'density', second: ['uint16', den] });
15035
+ base.push({ first: 'hardness', second: ['uint16', hrd] });
15036
+ base.push({ first: 'cohesion', second: ['uint16', com] });
15009
15037
  base.push({
15010
15038
  first: 'capacity_bonus_pct',
15011
15039
  second: ['uint16', 10 + Math.floor((sum * 10) / 2997)],
@@ -15014,13 +15042,13 @@ function buildModuleImmutable(itemId, quantity, stats, originX, originY) {
15014
15042
  }
15015
15043
  case MODULE_HAULER: {
15016
15044
  const res = decodeStat(stats, 0);
15017
- const con = decodeStat(stats, 1);
15045
+ const pla = decodeStat(stats, 1);
15018
15046
  const ref = decodeStat(stats, 2);
15019
15047
  base.push({ first: 'resonance', second: ['uint16', res] });
15020
- base.push({ first: 'conductivity', second: ['uint16', con] });
15048
+ base.push({ first: 'plasticity', second: ['uint16', pla] });
15021
15049
  base.push({ first: 'reflectivity', second: ['uint16', ref] });
15022
15050
  base.push({ first: 'capacity', second: ['uint8', computeHaulerCapacity(res)] });
15023
- base.push({ first: 'efficiency', second: ['uint16', computeHaulerEfficiency(con)] });
15051
+ base.push({ first: 'efficiency', second: ['uint16', computeHaulerEfficiency(pla)] });
15024
15052
  base.push({ first: 'drain', second: ['uint16', computeHaulerDrain(ref)] });
15025
15053
  break;
15026
15054
  }
@@ -15294,7 +15322,6 @@ exports.ITEM_CRYSTAL_T7 = ITEM_CRYSTAL_T7;
15294
15322
  exports.ITEM_CRYSTAL_T8 = ITEM_CRYSTAL_T8;
15295
15323
  exports.ITEM_CRYSTAL_T9 = ITEM_CRYSTAL_T9;
15296
15324
  exports.ITEM_DOES_NOT_EXIST = ITEM_DOES_NOT_EXIST;
15297
- exports.ITEM_EMITTER = ITEM_EMITTER;
15298
15325
  exports.ITEM_ENGINE_T1 = ITEM_ENGINE_T1;
15299
15326
  exports.ITEM_EXTRACTOR_T1_PACKED = ITEM_EXTRACTOR_T1_PACKED;
15300
15327
  exports.ITEM_FACTORY_T1_PACKED = ITEM_FACTORY_T1_PACKED;
@@ -15342,6 +15369,7 @@ exports.ITEM_REGOLITH_T6 = ITEM_REGOLITH_T6;
15342
15369
  exports.ITEM_REGOLITH_T7 = ITEM_REGOLITH_T7;
15343
15370
  exports.ITEM_REGOLITH_T8 = ITEM_REGOLITH_T8;
15344
15371
  exports.ITEM_REGOLITH_T9 = ITEM_REGOLITH_T9;
15372
+ exports.ITEM_RESIN = ITEM_RESIN;
15345
15373
  exports.ITEM_RESONATOR = ITEM_RESONATOR;
15346
15374
  exports.ITEM_SENSOR = ITEM_SENSOR;
15347
15375
  exports.ITEM_SHIP_T1_PACKED = ITEM_SHIP_T1_PACKED;
@@ -15360,6 +15388,8 @@ exports.LOCATION_MIN_DEPTH = LOCATION_MIN_DEPTH;
15360
15388
  exports.Location = Location;
15361
15389
  exports.LocationsManager = LocationsManager;
15362
15390
  exports.MAX_ORBITAL_ALTITUDE = MAX_ORBITAL_ALTITUDE;
15391
+ exports.MAX_STARS_PER_STAT = MAX_STARS_PER_STAT;
15392
+ exports.MAX_STAR_RATING = MAX_STAR_RATING;
15363
15393
  exports.MIN_ORBITAL_ALTITUDE = MIN_ORBITAL_ALTITUDE;
15364
15394
  exports.MIN_TRANSFER_DISTANCE = MIN_TRANSFER_DISTANCE;
15365
15395
  exports.MODULE_ANY = MODULE_ANY;
@@ -15420,6 +15450,7 @@ exports.SHIP_NOT_OWNED = SHIP_NOT_OWNED;
15420
15450
  exports.SHIP_NO_COMPLETED_TASKS = SHIP_NO_COMPLETED_TASKS;
15421
15451
  exports.SHIP_NO_TASKS_TO_CANCEL = SHIP_NO_TASKS_TO_CANCEL;
15422
15452
  exports.SLOT_FORMULAS = SLOT_FORMULAS;
15453
+ exports.STAR_STEP = STAR_STEP;
15423
15454
  exports.ScheduleAccessor = ScheduleAccessor;
15424
15455
  exports.ServerContract = server;
15425
15456
  exports.Shipload = Shipload;
@@ -15695,6 +15726,10 @@ exports.setSubscriptionsDebug = setSubscriptionsDebug;
15695
15726
  exports.stackKey = stackKey;
15696
15727
  exports.stackToCargoItem = stackToCargoItem;
15697
15728
  exports.stacksEqual = stacksEqual;
15729
+ exports.starRating = starRating;
15730
+ exports.starsForStat = starsForStat;
15731
+ exports.statMagnitude = statMagnitude;
15732
+ exports.subtractFromStacks = subtractFromStacks;
15698
15733
  exports.taskCargoChanges = taskCargoChanges;
15699
15734
  exports.taskCargoEffect = taskCargoEffect;
15700
15735
  exports.tierAdjective = tierAdjective;