fix: dojo time fields for old versions (#1968)

Tested this in U27 & U38.5

Reviewed-on: OpenWF/SpaceNinjaServer#1968
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-05-03 17:24:20 -07:00 committed by Sainan
parent 83743831c9
commit f7b4b4f089
2 changed files with 13 additions and 3 deletions

View File

@ -175,6 +175,9 @@ export const getDojoClient = async (
}
if (dojoComponent.CompletionTime) {
clientComponent.CompletionTime = toMongoDate(dojoComponent.CompletionTime);
clientComponent.TimeRemaining = Math.trunc(
(dojoComponent.CompletionTime.getTime() - Date.now()) / 1000
);
if (dojoComponent.CompletionLogPending && Date.now() >= dojoComponent.CompletionTime.getTime()) {
const entry = guild.RoomChanges?.find(x => x.componentId.equals(dojoComponent._id));
if (entry) {
@ -210,6 +213,9 @@ export const getDojoClient = async (
continue;
}
clientComponent.DestructionTime = toMongoDate(dojoComponent.DestructionTime);
clientComponent.DestructionTimeRemaining = Math.trunc(
(dojoComponent.DestructionTime.getTime() - Date.now()) / 1000
);
}
} else {
clientComponent.RegularCredits = dojoComponent.RegularCredits;
@ -245,6 +251,7 @@ export const getDojoClient = async (
continue;
}
clientDeco.CompletionTime = toMongoDate(deco.CompletionTime);
clientDeco.TimeRemaining = Math.trunc((deco.CompletionTime.getTime() - Date.now()) / 1000);
} else {
clientDeco.RegularCredits = deco.RegularCredits;
clientDeco.MiscItems = deco.MiscItems;

View File

@ -173,9 +173,11 @@ export interface IDojoComponentClient {
Message?: string;
RegularCredits?: number; // "Collecting Materials" state: Number of credits that were donated.
MiscItems?: IMiscItem[]; // "Collecting Materials" state: Resources that were donated.
CompletionTime?: IMongoDate;
CompletionTime?: IMongoDate; // new versions
TimeRemaining?: number; // old versions
RushPlatinum?: number;
DestructionTime?: IMongoDate;
DestructionTime?: IMongoDate; // new versions
DestructionTimeRemaining?: number; // old versions
Decos?: IDojoDecoClient[];
DecoCapacity?: number;
PaintBot?: IOid;
@ -212,7 +214,8 @@ export interface IDojoDecoClient {
Sockets?: number;
RegularCredits?: number;
MiscItems?: IMiscItem[];
CompletionTime?: IMongoDate;
CompletionTime?: IMongoDate; // new versions
TimeRemaining?: number; // old versions
RushPlatinum?: number;
PictureFrameInfo?: IPictureFrameInfo;
Pending?: boolean;