CrewShipWeapon is now Equipment
All checks were successful
Build / build (22) (pull_request) Successful in 40s
Build / build (20) (pull_request) Successful in 1m12s
Build / build (18) (pull_request) Successful in 1m36s

This commit is contained in:
AMelonInsideLemon 2025-03-23 19:43:05 +01:00
parent 3fcd5719e0
commit 0b372bc6d3
4 changed files with 7 additions and 91 deletions

View File

@ -76,7 +76,6 @@ import {
IIncentiveState, IIncentiveState,
ISongChallenge, ISongChallenge,
ILibraryPersonalProgress, ILibraryPersonalProgress,
ICrewShipWeaponDatabase,
IRecentVendorPurchaseDatabase, IRecentVendorPurchaseDatabase,
IVendorPurchaseHistoryEntryDatabase, IVendorPurchaseHistoryEntryDatabase,
IVendorPurchaseHistoryEntryClient, IVendorPurchaseHistoryEntryClient,
@ -1118,30 +1117,6 @@ const alignmentSchema = new Schema<IAlignment>(
{ _id: false } { _id: false }
); );
const crewShipWeaponSchema2 = new Schema<ICrewShipWeaponDatabase>(
{
ItemType: String,
Configs: { type: [ItemConfigSchema], default: undefined },
UpgradeVer: { type: Number, default: undefined },
UpgradeType: { type: Number, default: undefined },
UpgradeFingerprint: { type: String, default: undefined },
IsNew: { type: Boolean, default: undefined }
},
{ id: false }
);
crewShipWeaponSchema2.virtual("ItemId").get(function () {
return { $oid: this._id.toString() } satisfies IOid;
});
crewShipWeaponSchema2.set("toJSON", {
virtuals: true,
transform(_document, returnedObject) {
delete returnedObject._id;
delete returnedObject.__v;
}
});
const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>( const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
{ {
accountOwnerId: Schema.Types.ObjectId, accountOwnerId: Schema.Types.ObjectId,
@ -1264,9 +1239,9 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
//Default RailJack //Default RailJack
CrewShipAmmo: [typeCountSchema], CrewShipAmmo: [typeCountSchema],
CrewShipWeapons: [crewShipWeaponSchema2], CrewShipWeapons: [EquipmentSchema],
CrewShipWeaponSkins: [upgradeSchema], CrewShipWeaponSkins: [upgradeSchema],
CrewShipSalvagedWeapons: [crewShipWeaponSchema2], CrewShipSalvagedWeapons: [EquipmentSchema],
CrewShipSalvagedWeaponSkins: [upgradeSchema], CrewShipSalvagedWeaponSkins: [upgradeSchema],
//RailJack Crew //RailJack Crew
@ -1529,9 +1504,7 @@ export type InventoryDocumentProps = {
WeaponSkins: Types.DocumentArray<IWeaponSkinDatabase>; WeaponSkins: Types.DocumentArray<IWeaponSkinDatabase>;
QuestKeys: Types.DocumentArray<IQuestKeyDatabase>; QuestKeys: Types.DocumentArray<IQuestKeyDatabase>;
Drones: Types.DocumentArray<IDroneDatabase>; Drones: Types.DocumentArray<IDroneDatabase>;
CrewShipWeapons: Types.DocumentArray<ICrewShipWeaponDatabase>;
CrewShipWeaponSkins: Types.DocumentArray<IUpgradeDatabase>; CrewShipWeaponSkins: Types.DocumentArray<IUpgradeDatabase>;
CrewShipSalvagedWeapons: Types.DocumentArray<ICrewShipWeaponDatabase>;
CrewShipSalvagedWeaponsSkins: Types.DocumentArray<IUpgradeDatabase>; CrewShipSalvagedWeaponsSkins: Types.DocumentArray<IUpgradeDatabase>;
} & { [K in TEquipmentKey]: Types.DocumentArray<IEquipmentDatabase> }; } & { [K in TEquipmentKey]: Types.DocumentArray<IEquipmentDatabase> };

View File

@ -12,8 +12,6 @@ import {
ICrewShipMemberDatabase, ICrewShipMemberDatabase,
ICrewShipMembersClient, ICrewShipMembersClient,
ICrewShipMembersDatabase, ICrewShipMembersDatabase,
ICrewShipWeaponClient,
ICrewShipWeaponDatabase,
IDialogueClient, IDialogueClient,
IDialogueDatabase, IDialogueDatabase,
IDialogueHistoryClient, IDialogueHistoryClient,
@ -69,22 +67,6 @@ const convertEquipment = (client: IEquipmentClient): IEquipmentDatabase => {
}; };
}; };
const convertCrewShipWeapon = (client: ICrewShipWeaponClient): ICrewShipWeaponDatabase => {
const { ItemId, ...rest } = client;
return {
...rest,
_id: new Types.ObjectId(ItemId.$oid),
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
Configs: client.Configs
? client.Configs.map(obj =>
Object.fromEntries(
Object.entries(obj).filter(([_, value]) => !Array.isArray(value) || value.length > 0)
)
)
: []
};
};
const convertWeaponSkin = (client: IWeaponSkinClient): IWeaponSkinDatabase => { const convertWeaponSkin = (client: IWeaponSkinClient): IWeaponSkinDatabase => {
const { ItemId, ...rest } = client; const { ItemId, ...rest } = client;
return { return {
@ -203,11 +185,6 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<
replaceArray<IUpgradeDatabase>(db[key], client[key].map(convertUpgrade)); replaceArray<IUpgradeDatabase>(db[key], client[key].map(convertUpgrade));
} }
} }
for (const key of ["CrewShipWeapons", "CrewShipSalvagedWeapons"] as const) {
if (client[key] !== undefined) {
replaceArray<ICrewShipWeaponDatabase>(db[key], client[key].map(convertCrewShipWeapon));
}
}
for (const key of [ for (const key of [
"RawUpgrades", "RawUpgrades",
"MiscItems", "MiscItems",

View File

@ -25,8 +25,7 @@ import {
ILibraryDailyTaskInfo, ILibraryDailyTaskInfo,
ICalendarProgress, ICalendarProgress,
IDroneClient, IDroneClient,
IUpgradeClient, IUpgradeClient
ICrewShipWeaponClient
} from "@/src/types/inventoryTypes/inventoryTypes"; } from "@/src/types/inventoryTypes/inventoryTypes";
import { IGenericUpdate, IUpdateNodeIntrosResponse } from "../types/genericUpdate"; import { IGenericUpdate, IUpdateNodeIntrosResponse } from "../types/genericUpdate";
import { import {
@ -454,7 +453,7 @@ export const addItem = async (
if (typeName in ExportRailjackWeapons) { if (typeName in ExportRailjackWeapons) {
return { return {
InventoryChanges: { InventoryChanges: {
...addCrewShipWeapon(inventory, typeName), ...addEquipment(inventory, ExportRailjackWeapons[typeName].productCategory, typeName),
...occupySlot(inventory, InventorySlot.RJ_COMPONENT_AND_ARMAMENTS, premiumPurchase) ...occupySlot(inventory, InventorySlot.RJ_COMPONENT_AND_ARMAMENTS, premiumPurchase)
} }
}; };
@ -1006,20 +1005,6 @@ export const addSkin = (
return inventoryChanges; return inventoryChanges;
}; };
const addCrewShipWeapon = (
inventory: TInventoryDatabaseDocument,
typeName: string,
inventoryChanges: IInventoryChanges = {}
): IInventoryChanges => {
const index = inventory.CrewShipWeapons.push({ ItemType: typeName, _id: new Types.ObjectId() }) - 1;
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
inventoryChanges.CrewShipWeapons ??= [];
(inventoryChanges.CrewShipWeapons as ICrewShipWeaponClient[]).push(
inventory.CrewShipWeapons[index].toJSON<ICrewShipWeaponClient>()
);
return inventoryChanges;
};
const addCrewShipWeaponSkin = ( const addCrewShipWeaponSkin = (
inventory: TInventoryDatabaseDocument, inventory: TInventoryDatabaseDocument,
typeName: string, typeName: string,

View File

@ -30,9 +30,7 @@ export interface IInventoryDatabase
| "Ships" | "Ships"
| "WeaponSkins" | "WeaponSkins"
| "Upgrades" | "Upgrades"
| "CrewShipWeapons"
| "CrewShipWeaponSkins" | "CrewShipWeaponSkins"
| "CrewShipSalvagedWeapons"
| "CrewShipSalvagedWeaponSkins" | "CrewShipSalvagedWeaponSkins"
| "AdultOperatorLoadOuts" | "AdultOperatorLoadOuts"
| "OperatorLoadOuts" | "OperatorLoadOuts"
@ -60,9 +58,7 @@ export interface IInventoryDatabase
Ships: Types.ObjectId[]; Ships: Types.ObjectId[];
WeaponSkins: IWeaponSkinDatabase[]; WeaponSkins: IWeaponSkinDatabase[];
Upgrades: IUpgradeDatabase[]; Upgrades: IUpgradeDatabase[];
CrewShipWeapons: ICrewShipWeaponDatabase[];
CrewShipWeaponSkins: IUpgradeDatabase[]; CrewShipWeaponSkins: IUpgradeDatabase[];
CrewShipSalvagedWeapons: ICrewShipWeaponDatabase[];
CrewShipSalvagedWeaponSkins: IUpgradeDatabase[]; CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
AdultOperatorLoadOuts: IOperatorConfigDatabase[]; AdultOperatorLoadOuts: IOperatorConfigDatabase[];
OperatorLoadOuts: IOperatorConfigDatabase[]; OperatorLoadOuts: IOperatorConfigDatabase[];
@ -114,7 +110,9 @@ export const equipmentKeys = [
"DataKnives", "DataKnives",
"MechSuits", "MechSuits",
"CrewShipHarnesses", "CrewShipHarnesses",
"KubrowPets" "KubrowPets",
"CrewShipWeapons",
"CrewShipSalvagedWeapons"
] as const; ] as const;
export type TEquipmentKey = (typeof equipmentKeys)[number]; export type TEquipmentKey = (typeof equipmentKeys)[number];
@ -299,9 +297,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
PersonalTechProjects: IPersonalTechProject[]; PersonalTechProjects: IPersonalTechProject[];
PlayerSkills: IPlayerSkills; PlayerSkills: IPlayerSkills;
CrewShipAmmo: ITypeCount[]; CrewShipAmmo: ITypeCount[];
CrewShipWeapons: ICrewShipWeaponClient[];
CrewShipWeaponSkins: IUpgradeClient[]; CrewShipWeaponSkins: IUpgradeClient[];
CrewShipSalvagedWeapons: ICrewShipWeaponClient[];
CrewShipSalvagedWeaponSkins: IUpgradeClient[]; CrewShipSalvagedWeaponSkins: IUpgradeClient[];
TradeBannedUntil?: IMongoDate; TradeBannedUntil?: IMongoDate;
PlayedParkourTutorial: boolean; PlayedParkourTutorial: boolean;
@ -538,21 +534,6 @@ export interface ICrewShipWeapon {
PORT_GUNS: ICrewShipPortGuns; PORT_GUNS: ICrewShipPortGuns;
} }
// inventory.CrewShipWeapons
export interface ICrewShipWeaponDatabase {
ItemType: string;
Configs?: IItemConfig[];
UpgradeVer?: number;
UpgradeType?: string;
UpgradeFingerprint?: string;
IsNew?: boolean;
_id: Types.ObjectId;
}
export interface ICrewShipWeaponClient extends Omit<ICrewShipWeaponDatabase, "_Id"> {
ItemId: IOid;
}
export interface ICrewShipPilotWeapon { export interface ICrewShipPilotWeapon {
PRIMARY_A: IEquipmentSelection; PRIMARY_A: IEquipmentSelection;
SECONDARY_A: IEquipmentSelection; SECONDARY_A: IEquipmentSelection;