From d3cdc87f5ba5f98dacb1c42773c4765fd54abde9 Mon Sep 17 00:00:00 2001 From: Archangel Date: Thu, 19 Dec 2024 20:39:47 +0100 Subject: [PATCH] Set presence value instead of key --- src/callbacks/FikaPresenceCallbacks.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/callbacks/FikaPresenceCallbacks.ts b/src/callbacks/FikaPresenceCallbacks.ts index 1a44e21f..8bd57942 100644 --- a/src/callbacks/FikaPresenceCallbacks.ts +++ b/src/callbacks/FikaPresenceCallbacks.ts @@ -3,9 +3,10 @@ import { inject, injectable } from "tsyringe"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData"; -import { FikaPresenceService } from "../services/FikaPresenceService"; +import { EFikaPlayerPresences } from "../models/enums/EFikaPlayerPresences"; import { IFikaPlayerPresence } from "../models/fika/presence/IFikaPlayerPresence"; import { IFikaSetPresence } from "../models/fika/presence/IFikaSetPresence"; +import { FikaPresenceService } from "../services/FikaPresenceService"; @injectable() export class FikaPresenceCallbacks { @@ -23,6 +24,8 @@ export class FikaPresenceCallbacks { /** Handle /fika/presence/set */ public handleSetPresence(_url: string, data: IFikaSetPresence, sessionID: string): INullResponseData { + data.activity = this.setActivityValue(data.activity); + this.fikaPresenceService.updatePlayerPresence(sessionID, data); return this.httpResponseUtil.nullResponse(); @@ -30,8 +33,18 @@ export class FikaPresenceCallbacks { /** Handle /fika/presence/setget */ public handleSetGetPresence(_url: string, data: IFikaSetPresence, sessionID: string): IFikaPlayerPresence { + data.activity = this.setActivityValue(data.activity); + this.fikaPresenceService.updatePlayerPresence(sessionID, data); return this.httpResponseUtil.noBody(this.fikaPresenceService.getAllPlayersPresence()); } + + protected setActivityValue(presence: EFikaPlayerPresences): EFikaPlayerPresences { + if (Object.keys(EFikaPlayerPresences).includes(presence.toString())) { + presence = EFikaPlayerPresences[presence.toString()]; + } + + return presence; + } }