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

fix: 1999 bounty chemistry (#2164)

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

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

代码差异

1 个文件 +26 -28
Modified src/services/missionInventoryUpdateService.ts +26 -28
@@ -66,15 +66,7 @@ import {
66 66 } from "@/src/helpers/nemesisHelpers";
67 67 import { Loadout } from "../models/inventoryModels/loadoutModel";
68 68 import { ILoadoutConfigDatabase } from "../types/saveLoadoutTypes";
69 import {
70 getLiteSortie,
71 getSortie,
72 getWorldState,
73 idToBountyCycle,
74 idToDay,
75 idToWeek,
76 pushClassicBounties
77 } from "./worldStateService";
69 import { getLiteSortie, getSortie, idToBountyCycle, idToDay, idToWeek, pushClassicBounties } from "./worldStateService";
78 70 import { config } from "./configService";
79 71 import libraryDailyTasks from "@/static/fixed_responses/libraryDailyTasks.json";
80 72 import { ISyndicateMissionInfo } from "../types/worldStateTypes";
@@ -1266,9 +1258,9 @@ export const addMissionRewards = async (
1266 1258 }
1267 1259
1268 1260 if (rewardInfo.challengeMissionId) {
1269 const [syndicateTag, tierStr, chemistryStr] = rewardInfo.challengeMissionId.split("_");
1261 const [syndicateTag, tierStr, chemistryBuddyStr] = rewardInfo.challengeMissionId.split("_");
1270 1262 const tier = Number(tierStr);
1271 const chemistry = Number(chemistryStr);
1263 const chemistryBuddy = Number(chemistryBuddyStr);
1272 1264 const isSteelPath = missions?.Tier;
1273 1265 if (syndicateTag === "ZarimanSyndicate") {
1274 1266 let medallionAmount = tier + 1;
@@ -1285,22 +1277,19 @@ export const addMissionRewards = async (
1285 1277 if (isSteelPath) standingAmount *= 1.5;
1286 1278 addStanding(inventory, syndicateTag, standingAmount, AffiliationMods);
1287 1279 }
1288 if (syndicateTag == "HexSyndicate" && chemistry && tier < 6) {
1289 const seed = getWorldState().SyndicateMissions.find(x => x.Tag == "HexSyndicate")!.Seed;
1290 const { nodes, buddies } = getHexBounties(seed);
1291 const buddy = buddies[tier];
1292 logger.debug(`Hex seed is ${seed}, giving chemistry for ${buddy}`);
1293 if (missions?.Tag != nodes[tier]) {
1294 logger.warn(
1295 `Uh-oh, tier ${tier} bounty should've been on ${nodes[tier]} but you were just on ${missions?.Tag}`
1296 );
1297 }
1298 const tomorrowAt0Utc = config.noKimCooldowns
1299 ? Date.now()
1300 : (Math.trunc(Date.now() / 86400_000) + 1) * 86400_000;
1280 if (syndicateTag == "HexSyndicate" && tier < 6) {
1281 const buddy = chemistryBuddies[chemistryBuddy];
1301 1282 const dialogue = getDialogue(inventory, buddy);
1302 dialogue.Chemistry += chemistry;
1303 dialogue.BountyChemExpiry = new Date(tomorrowAt0Utc);
1283 if (Date.now() >= dialogue.BountyChemExpiry.getTime()) {
1284 logger.debug(`Giving 20 chemistry for ${buddy}`);
1285 const tomorrowAt0Utc = config.noKimCooldowns
1286 ? Date.now()
1287 : (Math.trunc(Date.now() / 86400_000) + 1) * 86400_000;
1288 dialogue.Chemistry += 20;
1289 dialogue.BountyChemExpiry = new Date(tomorrowAt0Utc);
1290 } else {
1291 logger.debug(`Already got today's chemistry for ${buddy}`);
1292 }
1304 1293 }
1305 1294 if (isSteelPath) {
1306 1295 await addItem(inventory, "/Lotus/Types/Items/MiscItems/SteelEssence", 1);
@@ -1864,7 +1853,16 @@ const libraryPersonalTargetToAvatar: Record<string, string> = {
1864 1853 "/Lotus/Types/Enemies/Corpus/Spaceman/AIWeek/NullifySpacemanAvatar"
1865 1854 };
1866 1855
1867 const node_excluded_buddies: Record<string, string> = {
1856 const chemistryBuddies: readonly string[] = [
1857 "/Lotus/Types/Gameplay/1999Wf/Dialogue/JabirDialogue_rom.dialogue",
1858 "/Lotus/Types/Gameplay/1999Wf/Dialogue/AoiDialogue_rom.dialogue",
1859 "/Lotus/Types/Gameplay/1999Wf/Dialogue/ArthurDialogue_rom.dialogue",
1860 "/Lotus/Types/Gameplay/1999Wf/Dialogue/EleanorDialogue_rom.dialogue",
1861 "/Lotus/Types/Gameplay/1999Wf/Dialogue/LettieDialogue_rom.dialogue",
1862 "/Lotus/Types/Gameplay/1999Wf/Dialogue/QuincyDialogue_rom.dialogue"
1863 ];
1864
1865 /*const node_excluded_buddies: Record<string, string> = {
1868 1866 SolNode856: "/Lotus/Types/Gameplay/1999Wf/Dialogue/ArthurDialogue_rom.dialogue",
1869 1867 SolNode852: "/Lotus/Types/Gameplay/1999Wf/Dialogue/LettieDialogue_rom.dialogue",
1870 1868 SolNode851: "/Lotus/Types/Gameplay/1999Wf/Dialogue/JabirDialogue_rom.dialogue",
@@ -1914,4 +1912,4 @@ const getHexBounties = (seed: number): { nodes: string[]; buddies: string[] } =>
1914 1912 }
1915 1913 }
1916 1914 return { nodes, buddies };
1917 };
1915 };*/