返回提交历史
Modified
src/services/itemDataService.ts
+5
-2
Modified
src/services/missionInventoryUpdateService.ts
+14
-6
XFEstudio/XFESpaceNinjaServer
feat: levelCreditReward for level keys (#3252)
Closes #3021 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3252 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
92f2a5cd
代码差异
2 个文件
+19
-8
@@ -7,6 +7,7 @@ import type {
7
7
IKey,
8
8
IMissionReward,
9
9
IRecipe,
10
IRegion,
10
11
ISyndicate,
11
12
TReward
12
13
} from "warframe-public-export-plus";
@@ -251,11 +252,12 @@ export const getKeyChainItems = ({ KeyChain, ChainStage }: IKeyChainRequest): st
251
252
export const getLevelKeyRewards = (
252
253
levelKey: string,
253
254
buildLabel: string | undefined
254
): { levelKeyRewards?: IMissionReward; levelKeyRewards2?: TReward[] } => {
255
): { levelKeyRewards?: IMissionReward; levelKeyRewards2?: TReward[]; levelMission?: Partial<IRegion> } => {
255
256
const key = ExportKeys[levelKey] as IKey | undefined;
256
257
257
258
const levelKeyRewards = key?.missionReward;
258
259
let levelKeyRewards2 = key?.rewards;
260
const levelMission = key?.mission;
259
261
260
262
if (!levelKeyRewards && !levelKeyRewards2) {
261
263
logger.warn(
@@ -271,7 +273,8 @@ export const getLevelKeyRewards = (
271
273
272
274
return {
273
275
levelKeyRewards,
274
levelKeyRewards2
276
levelKeyRewards2,
277
levelMission
275
278
};
276
279
};
277
280
@@ -1323,6 +1323,13 @@ export const addMissionRewards = async (
1323
1323
});
1324
1324
}
1325
1325
}
1326
if (fixedLevelRewards.levelMission) {
1327
const levelCreditReward = getLevelCreditRewards(fixedLevelRewards.levelMission);
1328
if (levelCreditReward) {
1329
missionCompletionCredits += levelCreditReward;
1330
logger.debug(`levelCreditReward ${levelCreditReward}`);
1331
}
1332
}
1326
1333
}
1327
1334
1328
1335
// ignoring tags not in ExportRegions, because it can just be garbage:
@@ -1334,8 +1341,10 @@ export const addMissionRewards = async (
1334
1341
//node based credit rewards for mission completion
1335
1342
if (isEligibleForCreditReward(rewardInfo, missions, node)) {
1336
1343
const levelCreditReward = getLevelCreditRewards(node);
1337
missionCompletionCredits += levelCreditReward;
1338
logger.debug(`levelCreditReward ${levelCreditReward}`);
1344
if (levelCreditReward) {
1345
missionCompletionCredits += levelCreditReward;
1346
logger.debug(`levelCreditReward ${levelCreditReward}`);
1347
}
1339
1348
}
1340
1349
1341
1350
if (node.missionReward) {
@@ -1791,10 +1800,9 @@ export const addFixedLevelRewards = (
1791
1800
return missionBonusCredits;
1792
1801
};
1793
1802
1794
function getLevelCreditRewards(node: IRegion): number {
1795
const minEnemyLevel = node.minEnemyLevel;
1796
1797
return 1000 + (minEnemyLevel - 1) * 100;
1803
function getLevelCreditRewards(node: Partial<IRegion>): number | undefined {
1804
if (node.minEnemyLevel) return 1000 + (node.minEnemyLevel - 1) * 100;
1805
return undefined;
1798
1806
1799
1807
//TODO: get dark sektor fixed credit rewards and railjack bonus
1800
1808
}