From 60f0bbac97c33210ff1ff58c207b988e0765f5fb Mon Sep 17 00:00:00 2001 From: Chris Wall Date: Mon, 13 Apr 2026 21:09:38 -0400 Subject: [PATCH] feat: DropPod CostType (#282) --- .../Private/Endpoints/World/Resources.cpp | 20 ++++++++++++++++++- .../ROOT/pages/json/Read/getDropPod.adoc | 3 ++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Source/FicsitRemoteMonitoring/Private/Endpoints/World/Resources.cpp b/Source/FicsitRemoteMonitoring/Private/Endpoints/World/Resources.cpp index f9cf9655..7f773464 100644 --- a/Source/FicsitRemoteMonitoring/Private/Endpoints/World/Resources.cpp +++ b/Source/FicsitRemoteMonitoring/Private/Endpoints/World/Resources.cpp @@ -185,11 +185,29 @@ void UResources::getDropPod(UObject* WorldContext, FRequestData RequestData, TAr for (AActor* FoundActor : FoundActors) { AFGDropPod* DropPod = Cast(FoundActor); FFGDropPodUnlockCost DropPodCost = DropPod->GetUnlockCost(); - TSharedPtr JDropPod = CreateBaseJsonObject(FoundActor); + JDropPod->Values.Add("location", MakeShared(getActorJSON(DropPod))); JDropPod->Values.Add("Opened", MakeShared(DropPod->HasBeenOpened())); JDropPod->Values.Add("Looted", MakeShared(DropPod->HasBeenLooted())); + + FString CostType{}; + switch (DropPodCost.CostType) + { + case EFGDropPodUnlockCostType::None: + JDropPod->Values.Add("CostType", MakeShared(TEXT("None"))); + break; + case EFGDropPodUnlockCostType::Item: + JDropPod->Values.Add("CostType", MakeShared(TEXT("Item"))); + break; + case EFGDropPodUnlockCostType::Power: + JDropPod->Values.Add("CostType", MakeShared(TEXT("Power"))); + break; + default: + JDropPod->Values.Add("CostType", MakeShared(TEXT("Unknown"))); + break; + } + JDropPod->Values.Add("RequiredItem", MakeShared(GetItemValueObject(DropPodCost.ItemCost))); JDropPod->Values.Add("RequiredPower", MakeShared(DropPodCost.PowerConsumption)); JDropPod->Values.Add("features", MakeShared(getActorFeaturesJSON(DropPod, "Drop Pod", "Drop Pod"))); diff --git a/docs/modules/ROOT/pages/json/Read/getDropPod.adoc b/docs/modules/ROOT/pages/json/Read/getDropPod.adoc index ae0f5aa6..c1e72472 100644 --- a/docs/modules/ROOT/pages/json/Read/getDropPod.adoc +++ b/docs/modules/ROOT/pages/json/Read/getDropPod.adoc @@ -19,7 +19,7 @@ include::../Models/_location.adoc[] | Opened | Boolean | Is Drop Pod opened? | Looted | Boolean | Is Drop Pod looted? - +| CostType | String | Type of cost required to open the Drop Pod. // inventory items | RequiredItem | Object | Required Item to open the Drop Pod. include::../Models/_inventoryItem.adoc[] @@ -45,6 +45,7 @@ include::../Models/_features.adoc[] }, "Opened": false, "Looted": false, + "CostType": "Item", "RequiredItem": { "Name": "Modular Frame", "ClassName": "Desc_ModularFrame_C",