fix: re-enable giving ship features and mission rewards from Vors Prize after skipTutorial (#996)

Reviewed-on: OpenWF/SpaceNinjaServer#996
Co-authored-by: OrdisPrime <134585663+OrdisPrime@users.noreply.github.com>
Co-committed-by: OrdisPrime <134585663+OrdisPrime@users.noreply.github.com>
This commit is contained in:
OrdisPrime 2025-02-23 12:22:54 -08:00 committed by OrdisPrime
parent 1274304647
commit 50d687e59a
2 changed files with 28 additions and 12 deletions

View File

@ -47,16 +47,15 @@ export const createPersonalRooms = async (accountId: Types.ObjectId, shipId: Typ
activeShipId: shipId activeShipId: shipId
}); });
if (config.skipTutorial) { if (config.skipTutorial) {
// // Vor's Prize rewards // unlocked during Vor's Prize
// const defaultFeatures = [ const defaultFeatures = [
// "/Lotus/Types/Items/ShipFeatureItems/EarthNavigationFeatureItem", "/Lotus/Types/Items/ShipFeatureItems/MercuryNavigationFeatureItem",
// "/Lotus/Types/Items/ShipFeatureItems/MercuryNavigationFeatureItem", "/Lotus/Types/Items/ShipFeatureItems/ArsenalFeatureItem",
// "/Lotus/Types/Items/ShipFeatureItems/ArsenalFeatureItem", "/Lotus/Types/Items/ShipFeatureItems/SocialMenuFeatureItem",
// "/Lotus/Types/Items/ShipFeatureItems/SocialMenuFeatureItem", "/Lotus/Types/Items/ShipFeatureItems/FoundryFeatureItem",
// "/Lotus/Types/Items/ShipFeatureItems/FoundryFeatureItem", "/Lotus/Types/Items/ShipFeatureItems/ModsFeatureItem"
// "/Lotus/Types/Items/ShipFeatureItems/ModsFeatureItem" ];
// ]; personalRooms.Ship.Features.push(...defaultFeatures);
// personalRooms.Ship.Features.push(...defaultFeatures);
} }
await personalRooms.save(); await personalRooms.save();
}; };

View File

@ -3,8 +3,8 @@ import { isEmptyObject } from "@/src/helpers/general";
import { IMessage } from "@/src/models/inboxModel"; import { IMessage } from "@/src/models/inboxModel";
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 { addKeyChainItems } from "@/src/services/inventoryService"; import { addItem, addKeyChainItems } from "@/src/services/inventoryService";
import { getKeyChainMessage } from "@/src/services/itemDataService"; import { getKeyChainMessage, getLevelKeyRewards } from "@/src/services/itemDataService";
import { IInventoryDatabase, IQuestKeyDatabase, IQuestStage } from "@/src/types/inventoryTypes/inventoryTypes"; import { IInventoryDatabase, IQuestKeyDatabase, IQuestStage } from "@/src/types/inventoryTypes/inventoryTypes";
import { logger } from "@/src/utils/logger"; import { logger } from "@/src/utils/logger";
import { HydratedDocument } from "mongoose"; import { HydratedDocument } from "mongoose";
@ -125,6 +125,23 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
ChainStage: i 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 = ""; inventory.ActiveQuest = "";
//TODO: handle quest completion items //TODO: handle quest completion items