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: classic lich hints (#2064)

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

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

代码差异

2 个文件 +15 -2
Modified src/models/inventoryModels/inventoryModel.ts +1 -1
@@ -1318,7 +1318,7 @@ const nemesisSchema = new Schema<INemesisDatabase>(
1318 1318 InfNodes: { type: [infNodeSchema], default: undefined },
1319 1319 HenchmenKilled: Number,
1320 1320 HintProgress: Number,
1321 Hints: { type: [Number], default: undefined },
1321 Hints: { type: [Number], default: [] },
1322 1322 GuessHistory: { type: [Number], default: undefined },
1323 1323 MissionCount: Number,
1324 1324 LastEnc: Number
Modified src/services/missionInventoryUpdateService.ts +14 -1
@@ -55,7 +55,12 @@ import kuriaMessage50 from "@/static/fixed_responses/kuriaMessages/fiftyPercent.
55 55 import kuriaMessage75 from "@/static/fixed_responses/kuriaMessages/seventyFivePercent.json";
56 56 import kuriaMessage100 from "@/static/fixed_responses/kuriaMessages/oneHundredPercent.json";
57 57 import conservationAnimals from "@/static/fixed_responses/conservationAnimals.json";
58 import { getInfNodes, getWeaponsForManifest, sendCodaFinishedMessage } from "@/src/helpers/nemesisHelpers";
58 import {
59 getInfNodes,
60 getNemesisPasscode,
61 getWeaponsForManifest,
62 sendCodaFinishedMessage
63 } from "@/src/helpers/nemesisHelpers";
59 64 import { Loadout } from "../models/inventoryModels/loadoutModel";
60 65 import { ILoadoutConfigDatabase } from "../types/saveLoadoutTypes";
61 66 import { getLiteSortie, getSortie, idToBountyCycle, idToDay, idToWeek, pushClassicBounties } from "./worldStateService";
@@ -168,6 +173,14 @@ export const addMissionInventoryUpdates = async (
168 173 }
169 174 if (inventoryUpdates.RewardInfo.NemesisHintProgress && inventory.Nemesis) {
170 175 inventory.Nemesis.HintProgress += inventoryUpdates.RewardInfo.NemesisHintProgress;
176 if (inventory.Nemesis.Faction != "FC_INFESTATION" && inventory.Nemesis.Hints.length != 3) {
177 const progressNeeded = [35, 60, 100][inventory.Nemesis.Hints.length];
178 if (inventory.Nemesis.HintProgress >= progressNeeded) {
179 inventory.Nemesis.HintProgress -= progressNeeded;
180 const passcode = getNemesisPasscode(inventory.Nemesis);
181 inventory.Nemesis.Hints.push(passcode[inventory.Nemesis.Hints.length]);
182 }
183 }
171 184 }
172 185 if (inventoryUpdates.MissionStatus == "GS_SUCCESS" && inventoryUpdates.RewardInfo.jobId) {
173 186 // e.g. for Profit-Taker Phase 1: