diff --git a/src/services/loginService.ts b/src/services/loginService.ts index 0432c33b0..35b3feea0 100644 --- a/src/services/loginService.ts +++ b/src/services/loginService.ts @@ -47,16 +47,15 @@ export const createPersonalRooms = async (accountId: Types.ObjectId, shipId: Typ activeShipId: shipId }); if (config.skipTutorial) { - // // Vor's Prize rewards - // const defaultFeatures = [ - // "/Lotus/Types/Items/ShipFeatureItems/EarthNavigationFeatureItem", - // "/Lotus/Types/Items/ShipFeatureItems/MercuryNavigationFeatureItem", - // "/Lotus/Types/Items/ShipFeatureItems/ArsenalFeatureItem", - // "/Lotus/Types/Items/ShipFeatureItems/SocialMenuFeatureItem", - // "/Lotus/Types/Items/ShipFeatureItems/FoundryFeatureItem", - // "/Lotus/Types/Items/ShipFeatureItems/ModsFeatureItem" - // ]; - // personalRooms.Ship.Features.push(...defaultFeatures); + // unlocked during Vor's Prize + const defaultFeatures = [ + "/Lotus/Types/Items/ShipFeatureItems/MercuryNavigationFeatureItem", + "/Lotus/Types/Items/ShipFeatureItems/ArsenalFeatureItem", + "/Lotus/Types/Items/ShipFeatureItems/SocialMenuFeatureItem", + "/Lotus/Types/Items/ShipFeatureItems/FoundryFeatureItem", + "/Lotus/Types/Items/ShipFeatureItems/ModsFeatureItem" + ]; + personalRooms.Ship.Features.push(...defaultFeatures); } await personalRooms.save(); }; diff --git a/src/services/questService.ts b/src/services/questService.ts index 630ca60a0..b23d0e5d0 100644 --- a/src/services/questService.ts +++ b/src/services/questService.ts @@ -3,8 +3,8 @@ import { isEmptyObject } from "@/src/helpers/general"; import { IMessage } from "@/src/models/inboxModel"; import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel"; import { createMessage } from "@/src/services/inboxService"; -import { addKeyChainItems } from "@/src/services/inventoryService"; -import { getKeyChainMessage } from "@/src/services/itemDataService"; +import { addItem, addKeyChainItems } from "@/src/services/inventoryService"; +import { getKeyChainMessage, getLevelKeyRewards } from "@/src/services/itemDataService"; import { IInventoryDatabase, IQuestKeyDatabase, IQuestStage } from "@/src/types/inventoryTypes/inventoryTypes"; import { logger } from "@/src/utils/logger"; import { HydratedDocument } from "mongoose"; @@ -125,6 +125,23 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest ChainStage: i }); } + + const missionName = chainStages[i].key; + if (missionName) { + const fixedLevelRewards = getLevelKeyRewards(missionName); + //logger.debug(`fixedLevelRewards ${fixedLevelRewards}`); + for (const reward of fixedLevelRewards) { + if (reward.rewardType == "RT_CREDITS") { + inventory.RegularCredits += reward.amount; + continue; + } + if (reward.rewardType == "RT_RESOURCE") { + await addItem(inventory, reward.itemType.replace("StoreItems/", ""), reward.amount); + } else { + await addItem(inventory, reward.itemType.replace("StoreItems/", "")); + } + } + } } inventory.ActiveQuest = ""; //TODO: handle quest completion items