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: allow completion of unknown nodes (#1395)

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

b0f0b61d
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

2 个文件 +10 -21
Modified src/services/itemDataService.ts +0 -12
@@ -24,7 +24,6 @@ import {
24 24 ExportGear,
25 25 ExportKeys,
26 26 ExportRecipes,
27 ExportRegions,
28 27 ExportResources,
29 28 ExportSentinels,
30 29 ExportWarframes,
@@ -34,7 +33,6 @@ import {
34 33 IMissionReward,
35 34 IPowersuit,
36 35 IRecipe,
37 IRegion,
38 36 TReward
39 37 } from "warframe-public-export-plus";
40 38 import questCompletionItems from "@/static/fixed_responses/questCompletionRewards.json";
@@ -192,16 +190,6 @@ export const getLevelKeyRewards = (
192 190 };
193 191 };
194 192
195 export const getNode = (nodeName: string): IRegion => {
196 const node = ExportRegions[nodeName];
197 // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
198 if (!node) {
199 throw new Error(`Node ${nodeName} not found`);
200 }
201
202 return node;
203 };
204
205 193 export const getQuestCompletionItems = (questKey: string): ITypeCount[] | undefined => {
206 194 if (questKey in questCompletionItems) {
207 195 return questCompletionItems[questKey as keyof typeof questCompletionItems];
Modified src/services/missionInventoryUpdateService.ts +10 -9
@@ -4,6 +4,7 @@ import {
4 4 ExportRegions,
5 5 ExportRewards,
6 6 IMissionReward as IMissionRewardExternal,
7 IRegion,
7 8 IReward
8 9 } from "warframe-public-export-plus";
9 10 import { IMissionInventoryUpdateRequest, IRewardInfo } from "../types/requestTypes";
@@ -32,7 +33,7 @@ import {
32 33 import { updateQuestKey } from "@/src/services/questService";
33 34 import { HydratedDocument, Types } from "mongoose";
34 35 import { IInventoryChanges } from "@/src/types/purchaseTypes";
35 import { getLevelKeyRewards, getNode, toStoreItem } from "@/src/services/itemDataService";
36 import { getLevelKeyRewards, toStoreItem } from "@/src/services/itemDataService";
36 37 import { InventoryDocumentProps, TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
37 38 import { getEntriesUnsafe } from "@/src/utils/ts-utils";
38 39 import { IEquipmentClient } from "@/src/types/inventoryTypes/commonInventoryTypes";
@@ -469,15 +470,15 @@ export const addMissionRewards = async (
469 470 }
470 471 }
471 472
472 if (
473 missions &&
474 missions.Tag != "" // https://onlyg.it/OpenWF/SpaceNinjaServer/issues/1013
475 ) {
476 const node = getNode(missions.Tag);
473 // ignoring tags not in ExportRegions, because it can just be garbage:
474 // - https://onlyg.it/OpenWF/SpaceNinjaServer/issues/1013
475 // - https://onlyg.it/OpenWF/SpaceNinjaServer/issues/1365
476 if (missions && missions.Tag in ExportRegions) {
477 const node = ExportRegions[missions.Tag];
477 478
478 479 //node based credit rewards for mission completion
479 480 if (node.missionIndex !== 28) {
480 const levelCreditReward = getLevelCreditRewards(missions.Tag);
481 const levelCreditReward = getLevelCreditRewards(node);
481 482 missionCompletionCredits += levelCreditReward;
482 483 inventory.RegularCredits += levelCreditReward;
483 484 logger.debug(`levelCreditReward ${levelCreditReward}`);
@@ -660,8 +661,8 @@ export const addFixedLevelRewards = (
660 661 return missionBonusCredits;
661 662 };
662 663
663 function getLevelCreditRewards(nodeName: string): number {
664 const minEnemyLevel = getNode(nodeName).minEnemyLevel;
664 function getLevelCreditRewards(node: IRegion): number {
665 const minEnemyLevel = node.minEnemyLevel;
665 666
666 667 return 1000 + (minEnemyLevel - 1) * 100;
667 668