Compare commits

...

2 Commits

Author SHA1 Message Date
36348c3744 oopsie 2025-04-22 22:02:38 +02:00
40aa39f1d1 chore: improve archwing mission detection
SettlementNode10 was not being excluded
2025-04-22 21:58:22 +02:00
2 changed files with 17 additions and 5 deletions

View File

@ -6,6 +6,7 @@ import { logger } from "../utils/logger";
import { IOid } from "../types/commonTypes"; import { IOid } from "../types/commonTypes";
import { Types } from "mongoose"; import { Types } from "mongoose";
import { addMods } from "../services/inventoryService"; import { addMods } from "../services/inventoryService";
import { isArchwingMission } from "../services/worldStateService";
export const getInfNodes = (faction: string, rank: number): IInfNode[] => { export const getInfNodes = (faction: string, rank: number): IInfNode[] => {
const infNodes = []; const infNodes = [];
@ -22,7 +23,7 @@ export const getInfNodes = (faction: string, rank: number): IInfNode[] => {
value.missionIndex != 42 && // not face off value.missionIndex != 42 && // not face off
value.name.indexOf("1999NodeI") == -1 && // not stage defence value.name.indexOf("1999NodeI") == -1 && // not stage defence
value.name.indexOf("1999NodeJ") == -1 && // not lich bounty value.name.indexOf("1999NodeJ") == -1 && // not lich bounty
value.name.indexOf("Archwing") == -1 !isArchwingMission(value)
) { ) {
//console.log(dict_en[value.name]); //console.log(dict_en[value.name]);
infNodes.push({ Node: key, Influence: 1 }); infNodes.push({ Node: key, Influence: 1 });

View File

@ -3,7 +3,7 @@ import { buildConfig } from "@/src/services/buildConfigService";
import { unixTimesInMs } from "@/src/constants/timeConstants"; import { unixTimesInMs } from "@/src/constants/timeConstants";
import { config } from "@/src/services/configService"; import { config } from "@/src/services/configService";
import { CRng } from "@/src/services/rngService"; import { CRng } from "@/src/services/rngService";
import { eMissionType, ExportNightwave, ExportRegions } from "warframe-public-export-plus"; import { eMissionType, ExportNightwave, ExportRegions, IRegion } from "warframe-public-export-plus";
import { ICalendarDay, ICalendarSeason, ILiteSortie, ISeasonChallenge, IWorldState } from "../types/worldStateTypes"; import { ICalendarDay, ICalendarSeason, ILiteSortie, ISeasonChallenge, IWorldState } from "../types/worldStateTypes";
const sortieBosses = [ const sortieBosses = [
@ -177,7 +177,7 @@ const pushSyndicateMissions = (
const nodeOptions: string[] = []; const nodeOptions: string[] = [];
for (const [key, value] of Object.entries(ExportRegions)) { for (const [key, value] of Object.entries(ExportRegions)) {
if ( if (
value.name.indexOf("Archwing") == -1 && // no archwing !isArchwingMission(value) &&
value.systemIndex != 23 && // no 1999 stuff value.systemIndex != 23 && // no 1999 stuff
value.missionIndex != 10 && // Exclude MT_PVP (for relays) value.missionIndex != 10 && // Exclude MT_PVP (for relays)
value.missionIndex != 23 && // no junctions value.missionIndex != 23 && // no junctions
@ -261,7 +261,7 @@ const pushSortieIfRelevant = (worldState: IWorldState, day: number): void => {
if ( if (
sortieFactionToSystemIndexes[sortieBossToFaction[boss]].includes(value.systemIndex) && sortieFactionToSystemIndexes[sortieBossToFaction[boss]].includes(value.systemIndex) &&
sortieFactionToFactionIndexes[sortieBossToFaction[boss]].includes(value.factionIndex!) && sortieFactionToFactionIndexes[sortieBossToFaction[boss]].includes(value.factionIndex!) &&
value.name.indexOf("Archwing") == -1 && !isArchwingMission(value) &&
value.missionIndex != 0 && // Exclude MT_ASSASSINATION value.missionIndex != 0 && // Exclude MT_ASSASSINATION
value.missionIndex != 5 && // Exclude MT_CAPTURE value.missionIndex != 5 && // Exclude MT_CAPTURE
value.missionIndex != 10 && // Exclude MT_PVP (for relays) value.missionIndex != 10 && // Exclude MT_PVP (for relays)
@ -1089,7 +1089,7 @@ export const getLiteSortie = (week: number): ILiteSortie => {
value.systemIndex === systemIndex && value.systemIndex === systemIndex &&
value.factionIndex !== undefined && value.factionIndex !== undefined &&
value.factionIndex < 2 && value.factionIndex < 2 &&
value.name.indexOf("Archwing") == -1 && !isArchwingMission(value) &&
value.missionIndex != 0 // Exclude MT_ASSASSINATION value.missionIndex != 0 // Exclude MT_ASSASSINATION
) { ) {
nodes.push(key); nodes.push(key);
@ -1140,3 +1140,14 @@ export const getLiteSortie = (week: number): ILiteSortie => {
] ]
}; };
}; };
export const isArchwingMission = (node: IRegion): boolean => {
if (node.name.indexOf("Archwing") != -1) {
return true;
}
// SettlementNode10
if (node.missionIndex == 25) {
return true;
}
return false;
};