fix: give quest completion items from cheated completion too (#1376)

Reviewed-on: OpenWF/SpaceNinjaServer#1376
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-03-30 08:13:24 -07:00 committed by Sainan
parent 3beb1ecc42
commit cfc1524619
2 changed files with 30 additions and 16 deletions

View File

@ -1338,3 +1338,20 @@ const createCalendar = (): ICalendarProgress => {
} }
}; };
}; };
export const setupKahlSyndicate = (inventory: TInventoryDatabaseDocument): void => {
inventory.Affiliations.push({
Title: 1,
Standing: 1,
WeeklyMissions: [
{
MissionIndex: 0,
CompletedMission: false,
JobManifest: "/Lotus/Syndicates/Kahl/KahlJobManifestVersionThree",
WeekCount: 0,
Challenges: []
}
],
Tag: "KahlSyndicate"
});
};

View File

@ -2,7 +2,7 @@ import { IKeyChainRequest } from "@/src/controllers/api/giveKeyChainTriggeredIte
import { isEmptyObject } from "@/src/helpers/general"; import { isEmptyObject } from "@/src/helpers/general";
import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel"; import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
import { createMessage } from "@/src/services/inboxService"; import { createMessage } from "@/src/services/inboxService";
import { addItem, addItems, addKeyChainItems } from "@/src/services/inventoryService"; import { addItem, addItems, addKeyChainItems, setupKahlSyndicate } from "@/src/services/inventoryService";
import { import {
fromStoreItem, fromStoreItem,
getKeyChainMessage, getKeyChainMessage,
@ -62,20 +62,7 @@ export const updateQuestKey = async (
inventory.ActiveQuest = ""; inventory.ActiveQuest = "";
if (questKeyUpdate[0].ItemType == "/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain") { if (questKeyUpdate[0].ItemType == "/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain") {
inventory.Affiliations.push({ setupKahlSyndicate(inventory as TInventoryDatabaseDocument);
Title: 1,
Standing: 1,
WeeklyMissions: [
{
MissionIndex: 0,
CompletedMission: false,
JobManifest: "/Lotus/Syndicates/Kahl/KahlJobManifestVersionThree",
WeekCount: 0,
Challenges: []
}
],
Tag: "KahlSyndicate"
});
} }
} }
return inventoryChanges; return inventoryChanges;
@ -211,8 +198,18 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
} }
} }
} }
const questCompletionItems = getQuestCompletionItems(questKey);
logger.debug(`quest completion items`, questCompletionItems);
if (questCompletionItems) {
await addItems(inventory, questCompletionItems);
}
inventory.ActiveQuest = ""; inventory.ActiveQuest = "";
//TODO: handle quest completion items
if (questKey == "/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain") {
setupKahlSyndicate(inventory);
}
}; };
export const giveKeyChainItem = async ( export const giveKeyChainItem = async (