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: properly provide hex conquest for pre-U40 clients (#2992)

The missing mf field did end up causing script errors + exterminate was not provided in the proper format Reviewed-on: https://www.onlyg.it/OpenWF/SpaceNinjaServer/pulls/2992 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

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

代码差异

3 个文件 +31 -5
Modified src/services/conquestService.ts +28 -3
@@ -429,9 +429,6 @@ export const getMissionTypeForLegacyOverride = (missionType: TMissionType, conqu
429 429 return "EndlessCapture";
430 430 }
431 431 let str = missionType.substring(3, 4).toUpperCase() + missionType.substring(4).toLowerCase();
432 if (str == "Extermination") {
433 str = "Exterminate";
434 }
435 432 if (str == "Artifact") {
436 433 str = "Disruption";
437 434 }
@@ -440,3 +437,31 @@ export const getMissionTypeForLegacyOverride = (missionType: TMissionType, conqu
440 437 }
441 438 return str;
442 439 };
440
441 export const factionToInt = (faction: TFaction | "FC_TENNO"): number => {
442 switch (faction) {
443 case "FC_GRINEER":
444 return 0;
445 case "FC_CORPUS":
446 return 1;
447 case "FC_INFESTATION":
448 return 2;
449 case "FC_OROKIN":
450 return 3;
451 case "FC_RED_VEIL":
452 return 4;
453 case "FC_SENTIENT":
454 return 5;
455 case "FC_NARMER":
456 return 6;
457 case "FC_MITW":
458 return 7;
459 case "FC_SCALDRA":
460 return 8;
461 case "FC_TECHROT":
462 return 9;
463 case "FC_DUVIRI":
464 return 10;
465 }
466 throw new Error(`unexpected faction ${faction}`);
467 };
Modified src/services/worldStateService.ts +2 -1
@@ -41,7 +41,7 @@ import type {
41 41 import { toMongoDate, toOid, version_compare } from "../helpers/inventoryHelpers.ts";
42 42 import { logger } from "../utils/logger.ts";
43 43 import { DailyDeal, Fissure } from "../models/worldStateModel.ts";
44 import { getConquest, getMissionTypeForLegacyOverride } from "./conquestService.ts";
44 import { factionToInt, getConquest, getMissionTypeForLegacyOverride } from "./conquestService.ts";
45 45
46 46 const sortieBosses = [
47 47 "SORTIE_BOSS_HYENA",
@@ -3628,6 +3628,7 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
3628 3628 hqo: {
3629 3629 mt: hexConquest.Missions.map(x => getMissionTypeForLegacyOverride(x.missionType, "CT_HEX")),
3630 3630 mv: hexConquest.Missions.map(x => x.difficulties[1].deviation),
3631 mf: hexConquest.Missions.map(x => factionToInt(x.faction)),
3631 3632 c: hexConquest.Missions.map(x => x.difficulties[1].risks),
3632 3633 fv: hexConquest.Variables
3633 3634 },
Modified src/types/worldStateTypes.ts +1 -1
@@ -487,7 +487,7 @@ interface IFbst {
487 487 interface IConquestOverride {
488 488 mt?: string[];
489 489 mv?: string[];
490 mf?: number[]; // hex conquest only. unknown purpose.
490 mf?: number[];
491 491 c?: [string, string][];
492 492 fv?: string[];
493 493 }