Skip to content

getDropPod reports both RequiredPower and RequiredItem regardless of actual CostType #282

@Pumpkin-Mage

Description

@Pumpkin-Mage

Bug Description

The getDropPod endpoint always returns both RequiredPower and RequiredItem fields populated, even when only one requirement type is active for a given drop pod. In the game engine, FFGDropPodUnlockCost uses a CostType enum (None, Item, or Power) to determine which field is valid, but the endpoint serializes both fields without checking CostType.

This causes API consumers to display incorrect requirements. For example, a pod that only requires 90 MW of power will also report RequiredItem: { Name: "Encased Industrial Beam", Amount: 3 } — leftover data from the unused field.

Affected Code

Source/FicsitRemoteMonitoring/Private/Endpoints/World/Resources.cpp, lines ~180-197. Both ItemCost and PowerConsumption from the FFGDropPodUnlockCost struct are serialized unconditionally. The CostType enum is never checked or exposed in the response.

The CostType enum and struct definition can be found in FGDropPod.h from [SatisfactoryModLoader](https://github.com/satisfactorymodding/SatisfactoryModLoader).

Expected Behavior

The API should either expose CostType as a field in the response so consumers can determine which requirement is active, or zero out the inactive field based on CostType before serializing.

Environment

  • FRM version: latest as of April 2026
  • Satisfactory: v1.1
  • Discovered via a dashboard consuming the /getDropPod API

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions