feat: equipment IsNew flag (#1309)

Reviewed-on: OpenWF/SpaceNinjaServer#1309
This commit is contained in:
Sainan 2025-03-27 12:27:38 -07:00
parent ba795150a9
commit a56ff89bb9
5 changed files with 14 additions and 6 deletions

View File

@ -849,7 +849,8 @@ const EquipmentSchema = new Schema<IEquipmentDatabase>(
Customization: crewShipCustomizationSchema,
RailjackImage: FlavourItemSchema,
CrewMembers: crewShipMembersSchema,
Details: detailsSchema
Details: detailsSchema,
IsNew: Boolean
},
{ id: false }
);

View File

@ -907,7 +907,8 @@ export const addEquipment = (
ItemType: type,
Configs: [],
XP: 0,
ModularParts: modularParts
ModularParts: modularParts,
IsNew: true
},
defaultOverwrites
);

View File

@ -155,9 +155,14 @@ export const handleInventoryItemConfigChange = async (
}
for (const [configId, config] of Object.entries(itemConfigEntries)) {
if (typeof config !== "boolean") {
inventoryItem.Configs[parseInt(configId)] = config;
}
}
if ("IsNew" in itemConfigEntries) {
inventoryItem.IsNew = itemConfigEntries.IsNew;
}
}
break;
} else {
logger.warn(`loadout category not implemented, changes may be lost: ${equipmentName}`, {

View File

@ -140,6 +140,7 @@ export interface IEquipmentDatabase {
RailjackImage?: IFlavourItem;
CrewMembers?: ICrewShipMembersDatabase;
Details?: IKubrowPetDetailsDatabase;
IsNew?: boolean;
_id: Types.ObjectId;
}

View File

@ -48,9 +48,9 @@ export interface IItemEntry {
[itemId: string]: IConfigEntry;
}
export interface IConfigEntry {
[configId: string]: IItemConfig;
}
export type IConfigEntry = {
[configId in "0" | "1" | "2" | "3" | "4" | "5"]: IItemConfig;
} & { IsNew?: boolean };
export interface ILoadoutClient extends Omit<ILoadoutDatabase, "_id" | "loadoutOwnerId"> {}