chore: update data for 36.0.0 (Jade Shadows) #324
8
package-lock.json
generated
8
package-lock.json
generated
@ -13,7 +13,7 @@
|
|||||||
"express": "^5.0.0-beta.3",
|
"express": "^5.0.0-beta.3",
|
||||||
"mongoose": "^8.1.1",
|
"mongoose": "^8.1.1",
|
||||||
"warframe-items": "^1.1262.74",
|
"warframe-items": "^1.1262.74",
|
||||||
"warframe-public-export-plus": "^0.2.4",
|
"warframe-public-export-plus": "^0.2.5",
|
||||||
"warframe-riven-info": "^0.1.0",
|
"warframe-riven-info": "^0.1.0",
|
||||||
"winston": "^3.11.0",
|
"winston": "^3.11.0",
|
||||||
"winston-daily-rotate-file": "^4.7.1"
|
"winston-daily-rotate-file": "^4.7.1"
|
||||||
@ -3909,9 +3909,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/warframe-public-export-plus": {
|
"node_modules/warframe-public-export-plus": {
|
||||||
"version": "0.2.4",
|
"version": "0.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.2.5.tgz",
|
||||||
"integrity": "sha512-Kh2+4p0qirTNUfHLr/nUJ1y/kH9mKnig28dwgpPaWt41ZfGzA+/qrpqI3DHYUvpd4wTCii/HItIy6tZtpTsy4Q=="
|
"integrity": "sha512-IsS2Z14CeTpGSpfeUxqTi8wAQjQ6qjh2kV8RC9St5hcDmII3NpwEFXmStEqz7r+JPfea72D3cZMMl+4QLHqvXw=="
|
||||||
},
|
},
|
||||||
"node_modules/warframe-riven-info": {
|
"node_modules/warframe-riven-info": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
"express": "^5.0.0-beta.3",
|
"express": "^5.0.0-beta.3",
|
||||||
"mongoose": "^8.1.1",
|
"mongoose": "^8.1.1",
|
||||||
"warframe-items": "^1.1262.74",
|
"warframe-items": "^1.1262.74",
|
||||||
"warframe-public-export-plus": "^0.2.4",
|
"warframe-public-export-plus": "^0.2.5",
|
||||||
"warframe-riven-info": "^0.1.0",
|
"warframe-riven-info": "^0.1.0",
|
||||||
"winston": "^3.11.0",
|
"winston": "^3.11.0",
|
||||||
"winston-daily-rotate-file": "^4.7.1"
|
"winston-daily-rotate-file": "^4.7.1"
|
||||||
|
@ -5,12 +5,9 @@ import { Inventory } from "@/src/models/inventoryModels/inventoryModel";
|
|||||||
import { Request, RequestHandler, Response } from "express";
|
import { Request, RequestHandler, Response } from "express";
|
||||||
import { config } from "@/src/services/configService";
|
import { config } from "@/src/services/configService";
|
||||||
import allMissions from "@/static/fixed_responses/allMissions.json";
|
import allMissions from "@/static/fixed_responses/allMissions.json";
|
||||||
import allQuestKeys from "@/static/fixed_responses/allQuestKeys.json";
|
|
||||||
import allShipDecorations from "@/static/fixed_responses/allShipDecorations.json";
|
|
||||||
import allFlavourItems from "@/static/fixed_responses/allFlavourItems.json";
|
|
||||||
import allSkins from "@/static/fixed_responses/allSkins.json";
|
|
||||||
import { ILoadoutDatabase } from "@/src/types/saveLoadoutTypes";
|
import { ILoadoutDatabase } from "@/src/types/saveLoadoutTypes";
|
||||||
import { IShipInventory, IFlavourItem } from "@/src/types/inventoryTypes/inventoryTypes";
|
import { IShipInventory } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||||
|
import { ExportCustoms, ExportFlavour, ExportKeys, ExportResources } from "warframe-public-export-plus";
|
||||||
|
|
||||||
const inventoryController: RequestHandler = async (request: Request, response: Response) => {
|
const inventoryController: RequestHandler = async (request: Request, response: Response) => {
|
||||||
let accountId;
|
let accountId;
|
||||||
@ -51,9 +48,11 @@ const inventoryController: RequestHandler = async (request: Request, response: R
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (config.unlockAllQuests) {
|
if (config.unlockAllQuests) {
|
||||||
for (const questKey of allQuestKeys) {
|
for (const [k, v] of Object.entries(ExportKeys)) {
|
||||||
if (!inventoryResponse.QuestKeys.find(quest => quest.ItemType == questKey)) {
|
if ("chainStages" in v) {
|
||||||
inventoryResponse.QuestKeys.push({ ItemType: questKey });
|
if (!inventoryResponse.QuestKeys.find(quest => quest.ItemType == k)) {
|
||||||
|
inventoryResponse.QuestKeys.push({ ItemType: k });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,17 +75,30 @@ const inventoryController: RequestHandler = async (request: Request, response: R
|
|||||||
inventoryResponse.NodeIntrosCompleted.push("/Lotus/Levels/Cinematics/NewWarIntro/NewWarStageTwo.level");
|
inventoryResponse.NodeIntrosCompleted.push("/Lotus/Levels/Cinematics/NewWarIntro/NewWarStageTwo.level");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.unlockAllShipDecorations) inventoryResponse.ShipDecorations = allShipDecorations;
|
if (config.unlockAllShipDecorations) {
|
||||||
if (config.unlockAllFlavourItems) inventoryResponse.FlavourItems = allFlavourItems satisfies IFlavourItem[];
|
inventoryResponse.ShipDecorations = [];
|
||||||
|
for (const [uniqueName, item] of Object.entries(ExportResources)) {
|
||||||
|
if (item.productCategory == "ShipDecorations") {
|
||||||
|
inventoryResponse.ShipDecorations.push({ ItemType: uniqueName, ItemCount: 1 });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config.unlockAllFlavourItems) {
|
||||||
|
inventoryResponse.FlavourItems = [];
|
||||||
|
for (const uniqueName in ExportFlavour) {
|
||||||
|
inventoryResponse.FlavourItems.push({ ItemType: uniqueName });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (config.unlockAllSkins) {
|
if (config.unlockAllSkins) {
|
||||||
inventoryResponse.WeaponSkins = [];
|
inventoryResponse.WeaponSkins = [];
|
||||||
for (const skin of allSkins) {
|
for (const uniqueName in ExportCustoms) {
|
||||||
inventoryResponse.WeaponSkins.push({
|
inventoryResponse.WeaponSkins.push({
|
||||||
ItemId: {
|
ItemId: {
|
||||||
$oid: "000000000000000000000000"
|
$oid: "000000000000000000000000"
|
||||||
},
|
},
|
||||||
ItemType: skin
|
ItemType: uniqueName
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { RequestHandler } from "express";
|
import { RequestHandler } from "express";
|
||||||
import { MinItem, MinWeapon, warframes, items, getEnglishString } from "@/src/services/itemDataService";
|
import { MinItem, items, getEnglishString } from "@/src/services/itemDataService";
|
||||||
import badItems from "@/static/json/exclude-mods.json";
|
import badItems from "@/static/json/exclude-mods.json";
|
||||||
import { ExportArcanes, ExportWeapons } from "warframe-public-export-plus";
|
import { ExportArcanes, ExportResources, ExportWarframes, ExportWeapons } from "warframe-public-export-plus";
|
||||||
|
|
||||||
interface ListedItem {
|
interface ListedItem {
|
||||||
uniqueName: string;
|
uniqueName: string;
|
||||||
@ -20,6 +20,30 @@ function reduceItems(items: MinItem[]): ListedItem[] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const getItemListsController: RequestHandler = (_req, res) => {
|
const getItemListsController: RequestHandler = (_req, res) => {
|
||||||
|
const weapons = [];
|
||||||
|
const miscitems = [];
|
||||||
|
for (const [uniqueName, item] of Object.entries(ExportWeapons)) {
|
||||||
|
if (item.productCategory !== "OperatorAmps") {
|
||||||
|
if (item.totalDamage !== 0) {
|
||||||
|
weapons.push({
|
||||||
|
uniqueName,
|
||||||
|
name: getEnglishString(item.name)
|
||||||
|
});
|
||||||
|
} else if (!item.excludeFromCodex) {
|
||||||
|
miscitems.push({
|
||||||
|
uniqueName,
|
||||||
|
name: getEnglishString(item.name)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const [uniqueName, item] of Object.entries(ExportResources)) {
|
||||||
|
miscitems.push({
|
||||||
|
uniqueName,
|
||||||
|
name: getEnglishString(item.name)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const mods = reduceItems(items.filter(item => item.category == "Mods"));
|
const mods = reduceItems(items.filter(item => item.category == "Mods"));
|
||||||
for (const [uniqueName, arcane] of Object.entries(ExportArcanes)) {
|
for (const [uniqueName, arcane] of Object.entries(ExportArcanes)) {
|
||||||
mods.push({
|
mods.push({
|
||||||
@ -27,27 +51,18 @@ const getItemListsController: RequestHandler = (_req, res) => {
|
|||||||
name: getEnglishString(arcane.name)
|
name: getEnglishString(arcane.name)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
res.json({
|
res.json({
|
||||||
warframes: reduceItems(warframes),
|
warframes: Object.entries(ExportWarframes)
|
||||||
weapons: Object.entries(ExportWeapons)
|
.filter(([_uniqueName, warframe]) => warframe.productCategory == "Suits")
|
||||||
.filter(([_uniqueName, weapon]) => weapon.productCategory !== "OperatorAmps" && weapon.totalDamage !== 0)
|
.map(([uniqueName, warframe]) => {
|
||||||
.map(([uniqueName, weapon]) => {
|
|
||||||
return {
|
return {
|
||||||
uniqueName,
|
uniqueName,
|
||||||
name: getEnglishString(weapon.name)
|
name: getEnglishString(warframe.name)
|
||||||
};
|
};
|
||||||
}),
|
}),
|
||||||
miscitems: reduceItems(
|
weapons,
|
||||||
items.filter(
|
miscitems,
|
||||||
item =>
|
|
||||||
item.category == "Misc" ||
|
|
||||||
item.category == "Resources" ||
|
|
||||||
item.category == "Fish" ||
|
|
||||||
((item as any).productCategory == "Pistols" &&
|
|
||||||
(item as MinWeapon).totalDamage == 0 &&
|
|
||||||
!item.excludeFromCodex) // exclude Zaw Strike PvP variant
|
|
||||||
)
|
|
||||||
),
|
|
||||||
mods,
|
mods,
|
||||||
badItems
|
badItems
|
||||||
});
|
});
|
||||||
|
@ -15,16 +15,6 @@ export type MinWarframe = Omit<Warframe, "patchlogs">;
|
|||||||
export type MinWeapon = Omit<Weapon, "patchlogs">;
|
export type MinWeapon = Omit<Weapon, "patchlogs">;
|
||||||
export type MinItem = Omit<MinimalItem, "patchlogs">;
|
export type MinItem = Omit<MinimalItem, "patchlogs">;
|
||||||
|
|
||||||
export const warframes: MinWarframe[] = Array.from(new Items({ category: ["Warframes"] }) as Warframe[])
|
|
||||||
.filter(item => {
|
|
||||||
return item.uniqueName.substring(0, 30) != "/Lotus/Powersuits/EntratiMech/";
|
|
||||||
})
|
|
||||||
.map(item => {
|
|
||||||
const next = { ...item };
|
|
||||||
delete next.patchlogs;
|
|
||||||
return next;
|
|
||||||
});
|
|
||||||
|
|
||||||
export type WeaponTypeInternal =
|
export type WeaponTypeInternal =
|
||||||
| "LongGuns"
|
| "LongGuns"
|
||||||
| "Pistols"
|
| "Pistols"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1249,6 +1249,11 @@
|
|||||||
"Tier": 1,
|
"Tier": 1,
|
||||||
"Tag": "SolNode721"
|
"Tag": "SolNode721"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Completes": 1,
|
||||||
|
"Tier": 1,
|
||||||
|
"Tag": "SolNode723"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Completes": 1,
|
"Completes": 1,
|
||||||
"Tier": 1,
|
"Tier": 1,
|
||||||
@ -1516,6 +1521,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Completes": 1,
|
"Completes": 1,
|
||||||
|
"Tier": 1,
|
||||||
"Tag": "UranusToNeptuneJunction"
|
"Tag": "UranusToNeptuneJunction"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
[
|
|
||||||
"/Lotus/Types/Keys/VorsPrize/VorsPrizeQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/GlassQuest/GlassQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/SolarisQuest/SolarisQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/InfestedIntroQuest/InfestedIntroQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/KubrowQuest/KubrowQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/ArchwingQuest/ArchwingQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/GetClemQuest/GetClemQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/SpyQuestKeyChain/SpyQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/DragonQuest/DragonQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/LimboQuest/LimboQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/SentientQuest/SentientQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/OrokinMoonQuest/OrokinMoonQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/MirageQuest/MirageQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/WarWithinQuest/WarWithinQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/InfestedAladVQuest/InfestedAladVQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/GolemQuest/GolemQuestKeyChainItem",
|
|
||||||
"/Lotus/Types/Keys/BardQuest/BardQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/FairyQuest/FairyQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/IndexQuest/IndexQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/PriestFrameQuest/PriestQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/ApostasyQuest/ApostasyKeyChain",
|
|
||||||
"/Lotus/Types/Keys/SacrificeQuest/SacrificeQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/ChimeraQuest/ChimeraKeyChain",
|
|
||||||
"/Lotus/Types/Keys/MummyQuest/MummyQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/RailJackBuildQuest/RailjackBuildQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/NewWarIntroQuest/NewWarIntroKeyChain",
|
|
||||||
"/Lotus/Types/Keys/ProteaQuest/ProteaQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/RevenantQuest/RevenantQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/InfestedMicroplanetQuest/InfestedMicroplanetQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/WraithQuest/WraithQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/YareliQuest/YareliQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/ZarimanQuest/ZarimanQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/KahlQuest/KahlQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/DuviriQuest/DuviriQuestKeyChain",
|
|
||||||
"/Lotus/Types/Keys/EntratiLab/EntratiQuestKeyChain"
|
|
||||||
]
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user