using Core.Annotations; using Core.Controllers; using Core.Helpers; using Core.Models.Eft.Common; using Core.Models.Eft.Health; using Core.Models.Eft.HttpResponse; using Core.Models.Eft.ItemEvent; using Core.Utils; namespace Core.Callbacks; [Injectable] public class HealthCallbacks { protected HttpResponseUtil _httpResponseUtil; protected ProfileHelper _profileHelper; protected HealthController _healthController; public HealthCallbacks ( HttpResponseUtil httpResponseUtil, ProfileHelper profileHelper, HealthController healthController ) { _httpResponseUtil = httpResponseUtil; _profileHelper = profileHelper; _healthController = healthController; } /// /// Custom spt server request found in modules/QTEPatch.cs /// /// /// HealthListener.Instance.CurrentHealth class /// session id /// empty response, no data sent back to client public string handleWorkoutEffects(string url, WorkoutData info, string sessionID) { _healthController.ApplyWorkoutChanges(_profileHelper.GetPmcProfile(sessionID), info, sessionID); return _httpResponseUtil.EmptyResponse(); } /// /// Handle Eat /// /// /// /// /// /// public ItemEventRouterResponse OffraidEat(PmcData pmcData, OffraidEatRequestData info, string sessionID) { return _healthController.OffRaidEat(pmcData, info, sessionID); } /// /// Handle Heal /// /// /// /// /// /// public ItemEventRouterResponse OffraidHeal(PmcData pmcData, OffraidHealRequestData info, string sessionID) { return _healthController.OffRaidHeal(pmcData, info, sessionID); } /// /// Handle RestoreHealth /// /// /// /// /// /// public ItemEventRouterResponse HealthTreatment(PmcData pmcData, HealthTreatmentRequestData info, string sessionID) { return _healthController.HealthTreatment(pmcData, info, sessionID); } }