Compare commits
8 Commits
2b40e30a9d
...
f72c1482b3
Author | SHA1 | Date | |
---|---|---|---|
f72c1482b3 | |||
40acb3b03f | |||
9e94083875 | |||
db0e0d80dd | |||
5cda2e2d08 | |||
e23d865044 | |||
c7658b5b20 | |||
9993500eca |
@ -27,7 +27,15 @@ const viewController: RequestHandler = async (req, res) => {
|
|||||||
for (const type of Object.keys(ExportEnemies.avatars)) {
|
for (const type of Object.keys(ExportEnemies.avatars)) {
|
||||||
if (!scans.has(type)) scans.add(type);
|
if (!scans.has(type)) scans.add(type);
|
||||||
}
|
}
|
||||||
responseJson.Scans ??= [];
|
|
||||||
|
// Take any existing scans and also set them to 9999
|
||||||
|
if (responseJson.Scans) {
|
||||||
|
for (const scan of responseJson.Scans) {
|
||||||
|
scans.add(scan.type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
responseJson.Scans = [];
|
||||||
|
|
||||||
for (const type of scans) {
|
for (const type of scans) {
|
||||||
responseJson.Scans.push({ type: type, scans: 9999 });
|
responseJson.Scans.push({ type: type, scans: 9999 });
|
||||||
}
|
}
|
||||||
|
@ -505,7 +505,7 @@ export const hasGuildPermissionEx = (
|
|||||||
|
|
||||||
export const removePigmentsFromGuildMembers = async (guildId: string | Types.ObjectId): Promise<void> => {
|
export const removePigmentsFromGuildMembers = async (guildId: string | Types.ObjectId): Promise<void> => {
|
||||||
const members = await GuildMember.find({ guildId, status: 0 }, "accountId");
|
const members = await GuildMember.find({ guildId, status: 0 }, "accountId");
|
||||||
for (const member of members) {
|
await parallelForeach(members, async member => {
|
||||||
const inventory = await getInventory(member.accountId.toString(), "MiscItems");
|
const inventory = await getInventory(member.accountId.toString(), "MiscItems");
|
||||||
const index = inventory.MiscItems.findIndex(
|
const index = inventory.MiscItems.findIndex(
|
||||||
x => x.ItemType == "/Lotus/Types/Items/Research/DojoColors/GenericDojoColorPigment"
|
x => x.ItemType == "/Lotus/Types/Items/Research/DojoColors/GenericDojoColorPigment"
|
||||||
@ -514,7 +514,7 @@ export const removePigmentsFromGuildMembers = async (guildId: string | Types.Obj
|
|||||||
inventory.MiscItems.splice(index, 1);
|
inventory.MiscItems.splice(index, 1);
|
||||||
await inventory.save();
|
await inventory.save();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const processGuildTechProjectContributionsUpdate = async (
|
export const processGuildTechProjectContributionsUpdate = async (
|
||||||
|
@ -515,6 +515,16 @@ export const addMissionInventoryUpdates = async (
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "KubrowPetEggs": {
|
||||||
|
for (const egg of value) {
|
||||||
|
inventory.KubrowPetEggs ??= [];
|
||||||
|
inventory.KubrowPetEggs.push({
|
||||||
|
ItemType: egg.ItemType,
|
||||||
|
_id: new Types.ObjectId()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "DiscoveredMarkers": {
|
case "DiscoveredMarkers": {
|
||||||
for (const clientMarker of value) {
|
for (const clientMarker of value) {
|
||||||
const dbMarker = inventory.DiscoveredMarkers.find(x => x.tag == clientMarker.tag);
|
const dbMarker = inventory.DiscoveredMarkers.find(x => x.tag == clientMarker.tag);
|
||||||
|
@ -73,7 +73,6 @@ const generatableVendors: IGeneratableVendorInfo[] = [
|
|||||||
{
|
{
|
||||||
_id: { $oid: "67dadc30e4b6e0e5979c8d84" },
|
_id: { $oid: "67dadc30e4b6e0e5979c8d84" },
|
||||||
TypeName: "/Lotus/Types/Game/VendorManifests/TheHex/InfestedLichWeaponVendorManifest",
|
TypeName: "/Lotus/Types/Game/VendorManifests/TheHex/InfestedLichWeaponVendorManifest",
|
||||||
PropertyTextHash: "77093DD05A8561A022DEC9A4B9BB4A56",
|
|
||||||
RandomSeedType: "VRST_WEAPON",
|
RandomSeedType: "VRST_WEAPON",
|
||||||
RequiredGoalTag: "",
|
RequiredGoalTag: "",
|
||||||
WeaponUpgradeValueAttenuationExponent: 2.25,
|
WeaponUpgradeValueAttenuationExponent: 2.25,
|
||||||
@ -83,7 +82,6 @@ const generatableVendors: IGeneratableVendorInfo[] = [
|
|||||||
{
|
{
|
||||||
_id: { $oid: "60ad3b6ec96976e97d227e19" },
|
_id: { $oid: "60ad3b6ec96976e97d227e19" },
|
||||||
TypeName: "/Lotus/Types/Game/VendorManifests/Hubs/PerrinSequenceWeaponVendorManifest",
|
TypeName: "/Lotus/Types/Game/VendorManifests/Hubs/PerrinSequenceWeaponVendorManifest",
|
||||||
PropertyTextHash: "34F8CF1DFF745F0D67433A5EF0A03E70",
|
|
||||||
RandomSeedType: "VRST_WEAPON",
|
RandomSeedType: "VRST_WEAPON",
|
||||||
WeaponUpgradeValueAttenuationExponent: 2.25,
|
WeaponUpgradeValueAttenuationExponent: 2.25,
|
||||||
cycleOffset: 1744934400_000,
|
cycleOffset: 1744934400_000,
|
||||||
@ -92,21 +90,18 @@ const generatableVendors: IGeneratableVendorInfo[] = [
|
|||||||
{
|
{
|
||||||
_id: { $oid: "5be4a159b144f3cdf1c22efa" },
|
_id: { $oid: "5be4a159b144f3cdf1c22efa" },
|
||||||
TypeName: "/Lotus/Types/Game/VendorManifests/Solaris/DebtTokenVendorManifest",
|
TypeName: "/Lotus/Types/Game/VendorManifests/Solaris/DebtTokenVendorManifest",
|
||||||
PropertyTextHash: "A39621049CA3CA13761028CD21C239EF",
|
|
||||||
RandomSeedType: "VRST_FLAVOUR_TEXT",
|
RandomSeedType: "VRST_FLAVOUR_TEXT",
|
||||||
cycleDuration: unixTimesInMs.hour
|
cycleDuration: unixTimesInMs.hour
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
_id: { $oid: "61ba123467e5d37975aeeb03" },
|
_id: { $oid: "61ba123467e5d37975aeeb03" },
|
||||||
TypeName: "/Lotus/Types/Game/VendorManifests/Hubs/GuildAdvertisementVendorManifest",
|
TypeName: "/Lotus/Types/Game/VendorManifests/Hubs/GuildAdvertisementVendorManifest",
|
||||||
PropertyTextHash: "255AFE2169BAE4130B4B20D7C55D14FA",
|
|
||||||
RandomSeedType: "VRST_FLAVOUR_TEXT",
|
RandomSeedType: "VRST_FLAVOUR_TEXT",
|
||||||
cycleDuration: unixTimesInMs.week
|
cycleDuration: unixTimesInMs.week
|
||||||
}
|
}
|
||||||
// {
|
// {
|
||||||
// _id: { $oid: "5dbb4c41e966f7886c3ce939" },
|
// _id: { $oid: "5dbb4c41e966f7886c3ce939" },
|
||||||
// TypeName: "/Lotus/Types/Game/VendorManifests/Hubs/IronwakeDondaVendorManifest",
|
// TypeName: "/Lotus/Types/Game/VendorManifests/Hubs/IronwakeDondaVendorManifest"
|
||||||
// PropertyTextHash: "62B64A8065B7C0FA345895D4BC234621"
|
|
||||||
// }
|
// }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import staticWorldState from "@/static/fixed_responses/worldState/worldState.json";
|
import staticWorldState from "@/static/fixed_responses/worldState/worldState.json";
|
||||||
import sortieTilesets from "@/static/fixed_responses/worldState/sortieTilesets.json";
|
import sortieTilesets from "@/static/fixed_responses/worldState/sortieTilesets.json";
|
||||||
|
import syndicateMissions from "@/static/fixed_responses/worldState/syndicateMissions.json";
|
||||||
import { buildConfig } from "@/src/services/buildConfigService";
|
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";
|
||||||
@ -189,20 +190,7 @@ const pushSyndicateMissions = (
|
|||||||
idSuffix: string,
|
idSuffix: string,
|
||||||
syndicateTag: string
|
syndicateTag: string
|
||||||
): void => {
|
): void => {
|
||||||
const nodeOptions: string[] = [];
|
const nodeOptions: string[] = [...syndicateMissions];
|
||||||
for (const [key, value] of Object.entries(ExportRegions)) {
|
|
||||||
if (
|
|
||||||
!isArchwingMission(value) &&
|
|
||||||
!value.questReq && // Exclude zariman, murmor, and 1999 stuff
|
|
||||||
!value.hidden && // Exclude the index
|
|
||||||
!value.darkSectorData && // Exclude dark sectors
|
|
||||||
value.missionIndex != 10 && // Exclude MT_PVP (for relays)
|
|
||||||
value.missionIndex != 23 && // no junctions
|
|
||||||
value.missionIndex < 28 // no open worlds, railjack, etc
|
|
||||||
) {
|
|
||||||
nodeOptions.push(key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const rng = new CRng(seed);
|
const rng = new CRng(seed);
|
||||||
const nodes: string[] = [];
|
const nodes: string[] = [];
|
||||||
|
@ -22,6 +22,7 @@ import {
|
|||||||
ILoadOutPresets,
|
ILoadOutPresets,
|
||||||
IInvasionProgressClient,
|
IInvasionProgressClient,
|
||||||
IWeaponSkinClient,
|
IWeaponSkinClient,
|
||||||
|
IKubrowPetEggClient,
|
||||||
INemesisClient
|
INemesisClient
|
||||||
} from "./inventoryTypes/inventoryTypes";
|
} from "./inventoryTypes/inventoryTypes";
|
||||||
import { IGroup } from "./loginTypes";
|
import { IGroup } from "./loginTypes";
|
||||||
@ -127,6 +128,7 @@ export type IMissionInventoryUpdateRequest = {
|
|||||||
NumExtraRewards: number;
|
NumExtraRewards: number;
|
||||||
Count: number;
|
Count: number;
|
||||||
}[];
|
}[];
|
||||||
|
KubrowPetEggs?: IKubrowPetEggClient[];
|
||||||
DiscoveredMarkers?: IDiscoveredMarker[];
|
DiscoveredMarkers?: IDiscoveredMarker[];
|
||||||
LockedWeaponGroup?: ILockedWeaponGroupClient; // sent when captured by zanuka
|
LockedWeaponGroup?: ILockedWeaponGroupClient; // sent when captured by zanuka
|
||||||
UnlockWeapons?: boolean; // sent when recovered weapons from zanuka capture
|
UnlockWeapons?: boolean; // sent when recovered weapons from zanuka capture
|
||||||
|
157
static/fixed_responses/worldState/syndicateMissions.json
Normal file
157
static/fixed_responses/worldState/syndicateMissions.json
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
[
|
||||||
|
"SettlementNode1",
|
||||||
|
"SettlementNode11",
|
||||||
|
"SettlementNode12",
|
||||||
|
"SettlementNode14",
|
||||||
|
"SettlementNode15",
|
||||||
|
"SettlementNode2",
|
||||||
|
"SettlementNode3",
|
||||||
|
"SolNode1",
|
||||||
|
"SolNode10",
|
||||||
|
"SolNode100",
|
||||||
|
"SolNode101",
|
||||||
|
"SolNode102",
|
||||||
|
"SolNode103",
|
||||||
|
"SolNode106",
|
||||||
|
"SolNode107",
|
||||||
|
"SolNode109",
|
||||||
|
"SolNode11",
|
||||||
|
"SolNode113",
|
||||||
|
"SolNode118",
|
||||||
|
"SolNode119",
|
||||||
|
"SolNode12",
|
||||||
|
"SolNode121",
|
||||||
|
"SolNode122",
|
||||||
|
"SolNode123",
|
||||||
|
"SolNode125",
|
||||||
|
"SolNode126",
|
||||||
|
"SolNode128",
|
||||||
|
"SolNode130",
|
||||||
|
"SolNode131",
|
||||||
|
"SolNode132",
|
||||||
|
"SolNode135",
|
||||||
|
"SolNode137",
|
||||||
|
"SolNode138",
|
||||||
|
"SolNode139",
|
||||||
|
"SolNode14",
|
||||||
|
"SolNode140",
|
||||||
|
"SolNode141",
|
||||||
|
"SolNode146",
|
||||||
|
"SolNode147",
|
||||||
|
"SolNode149",
|
||||||
|
"SolNode15",
|
||||||
|
"SolNode153",
|
||||||
|
"SolNode16",
|
||||||
|
"SolNode162",
|
||||||
|
"SolNode164",
|
||||||
|
"SolNode166",
|
||||||
|
"SolNode167",
|
||||||
|
"SolNode17",
|
||||||
|
"SolNode171",
|
||||||
|
"SolNode172",
|
||||||
|
"SolNode173",
|
||||||
|
"SolNode175",
|
||||||
|
"SolNode177",
|
||||||
|
"SolNode18",
|
||||||
|
"SolNode181",
|
||||||
|
"SolNode184",
|
||||||
|
"SolNode185",
|
||||||
|
"SolNode187",
|
||||||
|
"SolNode188",
|
||||||
|
"SolNode189",
|
||||||
|
"SolNode19",
|
||||||
|
"SolNode191",
|
||||||
|
"SolNode195",
|
||||||
|
"SolNode196",
|
||||||
|
"SolNode2",
|
||||||
|
"SolNode20",
|
||||||
|
"SolNode203",
|
||||||
|
"SolNode204",
|
||||||
|
"SolNode205",
|
||||||
|
"SolNode209",
|
||||||
|
"SolNode21",
|
||||||
|
"SolNode211",
|
||||||
|
"SolNode212",
|
||||||
|
"SolNode214",
|
||||||
|
"SolNode215",
|
||||||
|
"SolNode216",
|
||||||
|
"SolNode217",
|
||||||
|
"SolNode22",
|
||||||
|
"SolNode220",
|
||||||
|
"SolNode223",
|
||||||
|
"SolNode224",
|
||||||
|
"SolNode225",
|
||||||
|
"SolNode226",
|
||||||
|
"SolNode23",
|
||||||
|
"SolNode25",
|
||||||
|
"SolNode26",
|
||||||
|
"SolNode27",
|
||||||
|
"SolNode30",
|
||||||
|
"SolNode31",
|
||||||
|
"SolNode36",
|
||||||
|
"SolNode38",
|
||||||
|
"SolNode39",
|
||||||
|
"SolNode4",
|
||||||
|
"SolNode400",
|
||||||
|
"SolNode401",
|
||||||
|
"SolNode402",
|
||||||
|
"SolNode403",
|
||||||
|
"SolNode404",
|
||||||
|
"SolNode405",
|
||||||
|
"SolNode406",
|
||||||
|
"SolNode407",
|
||||||
|
"SolNode408",
|
||||||
|
"SolNode409",
|
||||||
|
"SolNode41",
|
||||||
|
"SolNode410",
|
||||||
|
"SolNode412",
|
||||||
|
"SolNode42",
|
||||||
|
"SolNode43",
|
||||||
|
"SolNode45",
|
||||||
|
"SolNode46",
|
||||||
|
"SolNode48",
|
||||||
|
"SolNode49",
|
||||||
|
"SolNode50",
|
||||||
|
"SolNode56",
|
||||||
|
"SolNode57",
|
||||||
|
"SolNode58",
|
||||||
|
"SolNode59",
|
||||||
|
"SolNode6",
|
||||||
|
"SolNode61",
|
||||||
|
"SolNode62",
|
||||||
|
"SolNode63",
|
||||||
|
"SolNode64",
|
||||||
|
"SolNode66",
|
||||||
|
"SolNode67",
|
||||||
|
"SolNode68",
|
||||||
|
"SolNode70",
|
||||||
|
"SolNode706",
|
||||||
|
"SolNode707",
|
||||||
|
"SolNode708",
|
||||||
|
"SolNode709",
|
||||||
|
"SolNode710",
|
||||||
|
"SolNode711",
|
||||||
|
"SolNode72",
|
||||||
|
"SolNode73",
|
||||||
|
"SolNode74",
|
||||||
|
"SolNode741",
|
||||||
|
"SolNode742",
|
||||||
|
"SolNode743",
|
||||||
|
"SolNode744",
|
||||||
|
"SolNode745",
|
||||||
|
"SolNode746",
|
||||||
|
"SolNode748",
|
||||||
|
"SolNode75",
|
||||||
|
"SolNode76",
|
||||||
|
"SolNode78",
|
||||||
|
"SolNode79",
|
||||||
|
"SolNode81",
|
||||||
|
"SolNode82",
|
||||||
|
"SolNode84",
|
||||||
|
"SolNode85",
|
||||||
|
"SolNode88",
|
||||||
|
"SolNode89",
|
||||||
|
"SolNode93",
|
||||||
|
"SolNode96",
|
||||||
|
"SolNode97"
|
||||||
|
]
|
@ -120,9 +120,9 @@ dict = {
|
|||||||
mods_fingerprintHelp: `¿Necesitas ayuda con la huella digital?`,
|
mods_fingerprintHelp: `¿Necesitas ayuda con la huella digital?`,
|
||||||
mods_rivens: `Agrietados`,
|
mods_rivens: `Agrietados`,
|
||||||
mods_mods: `Mods`,
|
mods_mods: `Mods`,
|
||||||
mods_addMissingUnrankedMods: `[UNTRANSLATED] Add Missing Unranked Mods`,
|
mods_addMissingUnrankedMods: `Agregar mods sin rango faltantes`,
|
||||||
mods_removeUnranked: `Quitar mods sin rango`,
|
mods_removeUnranked: `Quitar mods sin rango`,
|
||||||
mods_addMissingMaxRankMods: `[UNTRANSLATED] Add Missing Max Rank Mods`,
|
mods_addMissingMaxRankMods: `Agregar mods de rango máximo faltantes`,
|
||||||
cheats_administratorRequirement: `Debes ser administrador para usar esta función. Para convertirte en administrador, agrega <code>|DISPLAYNAME|</code> a <code>administratorNames</code> en el archivo config.json.`,
|
cheats_administratorRequirement: `Debes ser administrador para usar esta función. Para convertirte en administrador, agrega <code>|DISPLAYNAME|</code> a <code>administratorNames</code> en el archivo config.json.`,
|
||||||
cheats_server: `Servidor`,
|
cheats_server: `Servidor`,
|
||||||
cheats_skipTutorial: `Omitir tutorial`,
|
cheats_skipTutorial: `Omitir tutorial`,
|
||||||
@ -134,7 +134,7 @@ dict = {
|
|||||||
cheats_infiniteEndo: `Endo infinito`,
|
cheats_infiniteEndo: `Endo infinito`,
|
||||||
cheats_infiniteRegalAya: `Aya Real infinita`,
|
cheats_infiniteRegalAya: `Aya Real infinita`,
|
||||||
cheats_infiniteHelminthMaterials: `Materiales Helminto infinitos`,
|
cheats_infiniteHelminthMaterials: `Materiales Helminto infinitos`,
|
||||||
cheats_dontSubtractConsumables: `[UNTRANSLATED] Don't Subtract Consumables`,
|
cheats_dontSubtractConsumables: `No restar consumibles`,
|
||||||
cheats_unlockAllShipFeatures: `Desbloquear todas las funciones de nave`,
|
cheats_unlockAllShipFeatures: `Desbloquear todas las funciones de nave`,
|
||||||
cheats_unlockAllShipDecorations: `Desbloquear todas las decoraciones de nave`,
|
cheats_unlockAllShipDecorations: `Desbloquear todas las decoraciones de nave`,
|
||||||
cheats_unlockAllFlavourItems: `Desbloquear todos los <abbr title="Conjuntos de animaciones, glifos, paletas, etc.">ítems estéticos</abbr>`,
|
cheats_unlockAllFlavourItems: `Desbloquear todos los <abbr title="Conjuntos de animaciones, glifos, paletas, etc.">ítems estéticos</abbr>`,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user