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,
ISongChallenge,
ILibraryPersonalProgress,
ICrewShipWeaponDatabase,
IRecentVendorPurchaseDatabase,
IVendorPurchaseHistoryEntryDatabase,
IVendorPurchaseHistoryEntryClient,
@ -1118,30 +1117,6 @@ const alignmentSchema = new Schema<IAlignment>(
{ _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>(
{
accountOwnerId: Schema.Types.ObjectId,
@ -1264,9 +1239,9 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
//Default RailJack
CrewShipAmmo: [typeCountSchema],
CrewShipWeapons: [crewShipWeaponSchema2],
CrewShipWeapons: [EquipmentSchema],
CrewShipWeaponSkins: [upgradeSchema],
CrewShipSalvagedWeapons: [crewShipWeaponSchema2],
CrewShipSalvagedWeapons: [EquipmentSchema],
CrewShipSalvagedWeaponSkins: [upgradeSchema],
//RailJack Crew
@ -1529,9 +1504,7 @@ export type InventoryDocumentProps = {
WeaponSkins: Types.DocumentArray<IWeaponSkinDatabase>;
QuestKeys: Types.DocumentArray<IQuestKeyDatabase>;
Drones: Types.DocumentArray<IDroneDatabase>;
CrewShipWeapons: Types.DocumentArray<ICrewShipWeaponDatabase>;
CrewShipWeaponSkins: Types.DocumentArray<IUpgradeDatabase>;
CrewShipSalvagedWeapons: Types.DocumentArray<ICrewShipWeaponDatabase>;
CrewShipSalvagedWeaponsSkins: Types.DocumentArray<IUpgradeDatabase>;
} & { [K in TEquipmentKey]: Types.DocumentArray<IEquipmentDatabase> };

View File

@ -12,8 +12,6 @@ import {
ICrewShipMemberDatabase,
ICrewShipMembersClient,
ICrewShipMembersDatabase,
ICrewShipWeaponClient,
ICrewShipWeaponDatabase,
IDialogueClient,
IDialogueDatabase,
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 { ItemId, ...rest } = client;
return {
@ -203,11 +185,6 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<
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 [
"RawUpgrades",
"MiscItems",

View File

@ -25,8 +25,7 @@ import {
ILibraryDailyTaskInfo,
ICalendarProgress,
IDroneClient,
IUpgradeClient,
ICrewShipWeaponClient
IUpgradeClient
} from "@/src/types/inventoryTypes/inventoryTypes";
import { IGenericUpdate, IUpdateNodeIntrosResponse } from "../types/genericUpdate";
import {
@ -454,7 +453,7 @@ export const addItem = async (
if (typeName in ExportRailjackWeapons) {
return {
InventoryChanges: {
...addCrewShipWeapon(inventory, typeName),
...addEquipment(inventory, ExportRailjackWeapons[typeName].productCategory, typeName),
...occupySlot(inventory, InventorySlot.RJ_COMPONENT_AND_ARMAMENTS, premiumPurchase)
}
};
@ -1006,20 +1005,6 @@ export const addSkin = (
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 = (
inventory: TInventoryDatabaseDocument,
typeName: string,

View File

@ -30,9 +30,7 @@ export interface IInventoryDatabase
| "Ships"
| "WeaponSkins"
| "Upgrades"
| "CrewShipWeapons"
| "CrewShipWeaponSkins"
| "CrewShipSalvagedWeapons"
| "CrewShipSalvagedWeaponSkins"
| "AdultOperatorLoadOuts"
| "OperatorLoadOuts"
@ -60,9 +58,7 @@ export interface IInventoryDatabase
Ships: Types.ObjectId[];
WeaponSkins: IWeaponSkinDatabase[];
Upgrades: IUpgradeDatabase[];
CrewShipWeapons: ICrewShipWeaponDatabase[];
CrewShipWeaponSkins: IUpgradeDatabase[];
CrewShipSalvagedWeapons: ICrewShipWeaponDatabase[];
CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
AdultOperatorLoadOuts: IOperatorConfigDatabase[];
OperatorLoadOuts: IOperatorConfigDatabase[];
@ -114,7 +110,9 @@ export const equipmentKeys = [
"DataKnives",
"MechSuits",
"CrewShipHarnesses",
"KubrowPets"
"KubrowPets",
"CrewShipWeapons",
"CrewShipSalvagedWeapons"
] as const;
export type TEquipmentKey = (typeof equipmentKeys)[number];
@ -299,9 +297,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
PersonalTechProjects: IPersonalTechProject[];
PlayerSkills: IPlayerSkills;
CrewShipAmmo: ITypeCount[];
CrewShipWeapons: ICrewShipWeaponClient[];
CrewShipWeaponSkins: IUpgradeClient[];
CrewShipSalvagedWeapons: ICrewShipWeaponClient[];
CrewShipSalvagedWeaponSkins: IUpgradeClient[];
TradeBannedUntil?: IMongoDate;
PlayedParkourTutorial: boolean;
@ -538,21 +534,6 @@ export interface ICrewShipWeapon {
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 {
PRIMARY_A: IEquipmentSelection;
SECONDARY_A: IEquipmentSelection;