using SptCommon.Annotations;
using Core.Models.Eft.Common;
using Core.Models.Eft.Health;
using Core.Models.Eft.Profile;
using BodyPartHealth = Core.Models.Eft.Common.Tables.BodyPartHealth;
using Effects = Core.Models.Eft.Profile.Effects;
using Health = Core.Models.Eft.Profile.Health;
namespace Core.Helpers;
[Injectable]
public class HealthHelper
{
///
/// Resets the profiles vitality/health and vitality/effects properties to their defaults
///
/// Session Id
/// Updated profile
public SptProfile ResetVitality(string sessionID)
{
throw new NotImplementedException();
}
///
/// Update player profile vitality values with changes from client request object
///
/// Player profile
/// Post raid data
/// Session id
/// Is player dead
/// Should effects be added to profile (default - true)
/// Should all prior effects be removed before apply new ones (default - true)
public void UpdateProfileHealthPostRaid(
PmcData pmcData,
Health postRaidHealth,
string sessionID,
bool isDead)
{
throw new NotImplementedException();
}
protected void StoreHydrationEnergyTempInProfile(
SptProfile fullProfile,
double hydration,
double energy,
double temprature)
{
throw new NotImplementedException();
}
///
/// Take body part effects from client profile and apply to server profile
///
/// Post-raid body part data
/// Player profile on server
protected void TransferPostRaidLimbEffectsToProfile(Dictionary postRaidBodyParts, PmcData profileData)
{
throw new NotImplementedException();
}
///
/// Update player profile vitality values with changes from client request object
///
/// Player profile
/// Heal request
/// Session id
/// Should effects be added to profile (default - true)
/// Should all prior effects be removed before apply new ones (default - true)
public void SaveVitality(
PmcData pmcData,
SyncHealthRequestData request,
string sessionID,
bool addEffects = true,
bool deleteExistingEffects = true)
{
throw new NotImplementedException();
}
///
/// Adjust hydration/energy/temperate and body part hp values in player profile to values in profile.vitality
///
/// Profile to update
/// Session id
protected void SaveHealth(PmcData pmcData, string sessionID)
{
throw new NotImplementedException();
}
///
/// Save effects to profile
/// Works by removing all effects and adding them back from profile
/// Removes empty 'Effects' objects if found
///
/// Player profile
/// Session id
/// Dictionary of body parts with effects that should be added to profile
/// Should effects be added back to profile
protected void SaveEffects(
PmcData pmcData,
string sessionID,
Effects bodyPartsWithEffects,
bool deleteExistingEffects = true)
{
throw new NotImplementedException();
}
///
/// Add effect to body part in profile
///
/// Player profile
/// Body part to edit
/// Effect to add to body part
/// How long the effect has left in seconds (-1 by default, no duration).
protected void AddEffect(PmcData pmcData, string effectBodyPart, string effectType, int duration = -1)
{
throw new NotImplementedException();
}
}