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

XFESpaceNinjaServer

A simple server for a small space ninja game

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

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
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

2 个文件 +19 -8
Modified src/services/itemDataService.ts +5 -2
@@ -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
Modified src/services/missionInventoryUpdateService.ts +14 -6
@@ -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 }