XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

XFEstudio/SpaceNinjaServer

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

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/996 Co-authored-by: OrdisPrime <134585663+OrdisPrime@users.noreply.github.com> Co-committed-by: OrdisPrime <134585663+OrdisPrime@users.noreply.github.com>

50d687e5
OrdisPrime <134585663+OrdisPrime@users.noreply.github.com>
提交于

代码差异

2 个文件 +28 -12
Modified src/services/loginService.ts +9 -10
@@ -47,16 +47,15 @@ export const createPersonalRooms = async (accountId: Types.ObjectId, shipId: Typ
47 47 activeShipId: shipId
48 48 });
49 49 if (config.skipTutorial) {
50 // // Vor's Prize rewards
51 // const defaultFeatures = [
52 // "/Lotus/Types/Items/ShipFeatureItems/EarthNavigationFeatureItem",
53 // "/Lotus/Types/Items/ShipFeatureItems/MercuryNavigationFeatureItem",
54 // "/Lotus/Types/Items/ShipFeatureItems/ArsenalFeatureItem",
55 // "/Lotus/Types/Items/ShipFeatureItems/SocialMenuFeatureItem",
56 // "/Lotus/Types/Items/ShipFeatureItems/FoundryFeatureItem",
57 // "/Lotus/Types/Items/ShipFeatureItems/ModsFeatureItem"
58 // ];
59 // personalRooms.Ship.Features.push(...defaultFeatures);
50 // unlocked during Vor's Prize
51 const defaultFeatures = [
52 "/Lotus/Types/Items/ShipFeatureItems/MercuryNavigationFeatureItem",
53 "/Lotus/Types/Items/ShipFeatureItems/ArsenalFeatureItem",
54 "/Lotus/Types/Items/ShipFeatureItems/SocialMenuFeatureItem",
55 "/Lotus/Types/Items/ShipFeatureItems/FoundryFeatureItem",
56 "/Lotus/Types/Items/ShipFeatureItems/ModsFeatureItem"
57 ];
58 personalRooms.Ship.Features.push(...defaultFeatures);
60 59 }
61 60 await personalRooms.save();
62 61 };
Modified src/services/questService.ts +19 -2
@@ -3,8 +3,8 @@ import { isEmptyObject } from "@/src/helpers/general";
3 3 import { IMessage } from "@/src/models/inboxModel";
4 4 import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
5 5 import { createMessage } from "@/src/services/inboxService";
6 import { addKeyChainItems } from "@/src/services/inventoryService";
7 import { getKeyChainMessage } from "@/src/services/itemDataService";
6 import { addItem, addKeyChainItems } from "@/src/services/inventoryService";
7 import { getKeyChainMessage, getLevelKeyRewards } from "@/src/services/itemDataService";
8 8 import { IInventoryDatabase, IQuestKeyDatabase, IQuestStage } from "@/src/types/inventoryTypes/inventoryTypes";
9 9 import { logger } from "@/src/utils/logger";
10 10 import { HydratedDocument } from "mongoose";
@@ -125,6 +125,23 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
125 125 ChainStage: i
126 126 });
127 127 }
128
129 const missionName = chainStages[i].key;
130 if (missionName) {
131 const fixedLevelRewards = getLevelKeyRewards(missionName);
132 //logger.debug(`fixedLevelRewards ${fixedLevelRewards}`);
133 for (const reward of fixedLevelRewards) {
134 if (reward.rewardType == "RT_CREDITS") {
135 inventory.RegularCredits += reward.amount;
136 continue;
137 }
138 if (reward.rewardType == "RT_RESOURCE") {
139 await addItem(inventory, reward.itemType.replace("StoreItems/", ""), reward.amount);
140 } else {
141 await addItem(inventory, reward.itemType.replace("StoreItems/", ""));
142 }
143 }
144 }
128 145 }
129 146 inventory.ActiveQuest = "";
130 147 //TODO: handle quest completion items