@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 +10 -2
- package/lib/shipload.js +83 -48
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +76 -48
- package/lib/shipload.m.js.map +1 -1
- package/lib/testing.js +3 -3
- package/lib/testing.js.map +1 -1
- package/lib/testing.m.js +3 -3
- package/lib/testing.m.js.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/storage.ts +15 -0
- package/src/data/colors.ts +1 -1
- package/src/data/item-ids.ts +1 -1
- package/src/data/metadata.ts +3 -3
- package/src/data/recipes.json +10 -10
- package/src/derivation/capabilities.ts +11 -11
- package/src/derivation/index.ts +9 -0
- package/src/derivation/stars.test.ts +51 -0
- package/src/derivation/stars.ts +15 -0
- package/src/derivation/stats.ts +5 -4
- package/src/entities/makers.ts +1 -1
- package/src/index-module.ts +9 -0
- package/src/nft/buildImmutableData.ts +13 -11
- package/src/nft/description.ts +2 -2
- package/src/resolution/resolve-item.ts +2 -2
- package/src/scheduling/projection.ts +2 -2
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
|
|
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
|
|
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:
|
|
3120
|
-
statIndex:
|
|
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:
|
|
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:
|
|
3355
|
+
itemId: 501,
|
|
3356
3356
|
quantity: 6
|
|
3357
3357
|
},
|
|
3358
3358
|
{
|
|
3359
|
-
itemId:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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: '
|
|
4922
|
-
description: '
|
|
4923
|
-
color: '#
|
|
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: '
|
|
9169
|
-
label: '
|
|
9170
|
-
abbreviation: '
|
|
9171
|
-
purpose: '
|
|
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.
|
|
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
|
|
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 +
|
|
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
|
|
12405
|
-
const statSum = strength + density + hardness +
|
|
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
|
|
12427
|
-
return { range: 100 +
|
|
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.
|
|
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.
|
|
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
|
|
12605
|
+
const cohesion = stats.cohesion;
|
|
12593
12606
|
const hullmass = 70000 - 50 * density;
|
|
12594
|
-
const statSum = strength + hardness +
|
|
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
|
-
|
|
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 =
|
|
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: '
|
|
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
|
|
14467
|
-
const statSum = str + den + hrd +
|
|
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
|
|
14861
|
+
const pla = decodeStat(stats, 1);
|
|
14836
14862
|
const ref = decodeStat(stats, 2);
|
|
14837
|
-
out += ` Capacity ${computeHaulerCapacity(res)} Efficiency ${computeHaulerEfficiency(
|
|
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
|
|
15020
|
+
const fin = decodeStat(stats, 1);
|
|
14995
15021
|
base.push({ first: 'reactivity', second: ['uint16', rea] });
|
|
14996
|
-
base.push({ first: '
|
|
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(
|
|
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
|
|
15004
|
-
const
|
|
15005
|
-
const
|
|
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: '
|
|
15008
|
-
base.push({ first: '
|
|
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
|
|
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: '
|
|
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(
|
|
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;
|