返回提交历史
Modified
src/controllers/api/nemesisController.ts
+11
-10
XFEstudio/SpaceNinjaServer
fix: ensure nemesis fp is not 0 (#4241)
Closes #4237 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/4241 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
beaed352
代码差异
1 个文件
+11
-10
@@ -20,7 +20,7 @@ import type { TInventoryDatabaseDocument } from "../../models/inventoryModels/in
20
20
import { Loadout } from "../../models/inventoryModels/loadoutModel.ts";
21
21
import { addMods, freeUpSlot, getInventory } from "../../services/inventoryService.ts";
22
22
import { getAccountForRequest, getBuildLabel } from "../../services/loginService.ts";
23
import { SRng } from "../../services/rngService.ts";
23
import { generateRewardSeed, SRng } from "../../services/rngService.ts";
24
24
import type { IMongoDate, IOid, IOidWithLegacySupport } from "../../types/commonTypes.ts";
25
25
import type { IEquipmentClient } from "../../types/equipmentTypes.ts";
26
26
import type {
@@ -251,7 +251,8 @@ export const nemesisController: RequestHandler = async (req, res) => {
251
251
logger.warn(`overwriting an existing nemesis as a new one is being requested`);
252
252
}
253
253
const body = getJSONfromString<INemesisStartRequest>(String(req.body));
254
body.target.fp = BigInt(body.target.fp);
254
logger.trace(`nemesis start request:`, body);
255
body.target.fp = BigInt(body.target.fp) || generateRewardSeed();
255
256
256
257
const manifest = getNemesisManifest(body.target.manifest);
257
258
if (version_compare(buildLabel, manifest.minBuild) < 0) {
@@ -286,7 +287,7 @@ export const nemesisController: RequestHandler = async (req, res) => {
286
287
WeaponIdx: weaponIdx,
287
288
AgentIdx: body.target.AgentIdx,
288
289
BirthNode: body.target.BirthNode,
289
Faction: body.target.Faction,
290
Faction: body.target.Faction ?? "FC_GRINEER",
290
291
Rank: 0,
291
292
k: false,
292
293
Traded: false,
@@ -354,30 +355,30 @@ interface IValenceFusionRequest {
354
355
355
356
interface INemesisStartRequest {
356
357
target: {
357
fp: number | bigint;
358
fp: number | bigint; // 0 in U26
358
359
manifest: string;
359
360
KillingSuit: string;
360
361
killingDamageType: number;
361
362
ShoulderHelmet: string;
362
363
DisallowedWeapons?: string[];
363
WeaponIdx: number;
364
WeaponIdx?: number;
364
365
AgentIdx: number;
365
366
BirthNode: string;
366
Faction: TNemesisFaction;
367
Faction?: TNemesisFaction;
367
368
Rank: number;
368
369
k: boolean;
369
Traded: boolean;
370
Traded?: boolean;
370
371
d: IMongoDate;
371
372
InfNodes: [];
372
373
GuessHistory: [];
373
374
Hints: [];
374
375
HintProgress: number;
375
Weakened: boolean;
376
PrevOwners: number;
376
Weakened?: boolean;
377
PrevOwners?: number;
377
378
HenchmenKilled: number;
378
379
MissionCount?: number; // Added in 38.5.0
379
380
LastEnc?: number; // Added in 38.5.0
380
SecondInCommand: boolean;
381
SecondInCommand?: boolean;
381
382
};
382
383
}
383
384