using Core.Models.Eft.Common;
using Core.Models.Eft.Common.Tables;
using Core.Models.Eft.Profile;
using Core.Models.Enums;
namespace Core.Helpers;
public class ProfileHelper
{
///
/// Remove/reset a completed quest condtion from players profile quest data
///
/// Session id
/// Quest with condition to remove
public void RemoveQuestConditionFromProfile(PmcData pmcData, Dictionary questConditionId)
{
throw new NotImplementedException();
}
///
/// Get all profiles from server
///
/// Dictionary of profiles
public Dictionary GetProfiles()
{
throw new NotImplementedException();
}
///
/// Get the pmc and scav profiles as an array by profile id
///
///
/// Array of PmcData objects
public List GetCompleteProfile(string sessionId)
{
throw new NotImplementedException();
}
///
/// Sanitize any information from the profile that the client does not expect to receive
///
/// A clone of the full player profile
protected void SanitizeProfileForClient(SptProfile clonedProfile)
{
throw new NotImplementedException();
}
///
/// Check if a nickname is used by another profile loaded by the server
///
/// nickname request object
/// Session id
/// True if already in use
public bool IsNicknameTaken(ValidateNicknameRequestData nicknameRequest, string sessionID)
{
throw new NotImplementedException();
}
protected bool ProfileHasInfoProperty(SptProfile profile)
{
throw new NotImplementedException();
}
protected bool StringsMatch(string stringA, string stringB)
{
throw new NotImplementedException();
}
///
/// Add experience to a PMC inside the players profile
///
/// Session id
/// Experience to add to PMC character
public void AddExperienceToPmc(string sessionID, int experienceToAdd)
{
throw new NotImplementedException();
}
///
/// Iterate all profiles and find matching pmc profile by provided id
///
/// Profile id to find
/// PmcData
public PmcData? GetProfileByPmcId(string pmcId)
{
throw new NotImplementedException();
}
///
/// Get experience value for given level
///
/// Level to get xp for
/// Number of xp points for level
public int GetExperience(int level)
{
throw new NotImplementedException();
}
///
/// Get the max level a player can be
///
/// Max level
public int GetMaxLevel()
{
throw new NotImplementedException();
}
///
/// Get default Spt data object
///
/// Spt
public Spt GetDefaultSptDataObject()
{
throw new NotImplementedException();
}
///
/// Get full representation of a players profile json
///
/// Profile id to get
/// SptProfile object
public SptProfile? GetFullProfile(string sessionID)
{
throw new NotImplementedException();
}
///
/// Get full representation of a players profile JSON by the account ID, or undefined if not found
///
/// Account ID to find
///
public SptProfile? GetFullProfileByAccountId(string accountID)
{
throw new NotImplementedException();
}
///
/// Retrieve a ChatRoomMember formatted profile for the given session ID
///
/// The session ID to return the profile for
///
public SearchFriendResponse? GetChatRoomMemberFromSessionId(string sessionID)
{
throw new NotImplementedException();
}
///
/// Retrieve a ChatRoomMember formatted profile for the given PMC profile data
///
/// The PMC profile data to format into a ChatRoomMember structure
///
public SearchFriendResponse GetChatRoomMemberFromPmcProfile(PmcData pmcProfile)
{
throw new NotImplementedException();
}
///
/// Get a PMC profile by its session id
///
/// Profile id to return
/// PmcData object
public PmcData? GetPmcProfile(string sessionID)
{
throw new NotImplementedException();
}
///
/// Is given user id a player
///
/// Id to validate
/// True is a player
public bool IsPlayer(string userId)
{
throw new NotImplementedException();
}
///
/// Get a full profiles scav-specific sub-profile
///
/// Profiles id
/// IPmcData object
public PmcData GetScavProfile(string sessionID)
{
throw new NotImplementedException();
}
///
/// Get baseline counter values for a fresh profile
///
/// Default profile Stats object
public Stats GetDefaultCounters()
{
throw new NotImplementedException();
}
///
/// is this profile flagged for data removal
///
/// Profile id
/// True if profile is to be wiped of data/progress
protected bool IsWiped(string sessionID)
{
throw new NotImplementedException();
}
///
/// Iterate over player profile inventory items and find the secure container and remove it
///
/// Profile to remove secure container from
/// profile without secure container
public PmcData RemoveSecureContainer(PmcData profile)
{
throw new NotImplementedException();
}
///
/// Flag a profile as having received a gift
/// Store giftid in profile spt object
///
/// Player to add gift flag to
/// Gift player received
/// Limit of how many of this gift a player can have
public void FlagGiftReceivedInProfile(string playerId, string giftId, int maxCount)
{
throw new NotImplementedException();
}
///
/// Check if profile has recieved a gift by id
///
/// Player profile to check for gift
/// Gift to check for
/// Max times gift can be given to player
/// True if player has recieved gift previously
public bool PlayerHasRecievedMaxNumberOfGift(string playerId, string giftId, int maxGiftCount)
{
throw new NotImplementedException();
}
///
/// Find Stat in profile counters and increment by one
///
/// Counters to search for key
/// Key
public void IncrementStatCounter(CounterKeyValue[] counters, string keyToIncrement)
{
throw new NotImplementedException();
}
///
/// Check if player has a skill at elite level
///
/// Skill to check
/// Profile to find skill in
/// True if player has skill at elite level
public bool HasEliteSkillLevel(SkillTypes skillType, PmcData pmcProfile)
{
throw new NotImplementedException();
}
///
/// Add points to a specific skill in player profile
///
/// Player profile with skill
/// Skill to add points to
/// Points to add
/// Skills are multiplied by a value in globals, default is off to maintain compatibility with legacy code
public void AddSkillPointsToPlayer(PmcData pmcProfile, SkillTypes skill, int pointsToAdd, bool useSkillProgressRateMultipler = false)
{
throw new NotImplementedException();
}
///
/// Get a specific common skill from supplied profile
///
/// Player profile
/// Skill to look up and return value from
/// Common skill object from desired profile
public Common GetSkillFromProfile(PmcData pmcData, SkillTypes skill)
{
throw new NotImplementedException();
}
///
/// Is the provided session id for a developer account
///
/// Profile id to check
/// True if account is developer
public bool IsDeveloperAccount(string sessionID)
{
throw new NotImplementedException();
}
///
/// Add stash row bonus to profile or increments rows given count if it already exists
///
/// Profile id to give rows to
/// How many rows to give profile
public void AddStashRowsBonusToProfile(string sessionId, int rowsToAdd)
{
throw new NotImplementedException();
}
///
/// Iterate over all bonuses and sum up all bonuses of desired type in provided profile
///
/// Player profile
/// Bonus to sum up
/// Summed bonus value or 0 if no bonus found
public int GetBonusValueFromProfile(PmcData pmcProfile, BonusType desiredBonus)
{
throw new NotImplementedException();
}
public bool PlayerIsFleaBanned(PmcData pmcProfile)
{
throw new NotImplementedException();
}
///
/// Add an achievement to player profile
///
/// Profile to add achievement to
/// Id of achievement to add
public void AddAchievementToProfile(PmcData pmcProfile, string achievementId)
{
throw new NotImplementedException();
}
public bool HasAccessToRepeatableFreeRefreshSystem(PmcData pmcProfile)
{
throw new NotImplementedException();
}
///
/// Find a profiles "Pockets" item and replace its tpl with passed in value
///
/// Player profile
/// New tpl to set profiles Pockets to
public void ReplaceProfilePocketTpl(PmcData pmcProfile, string newPocketTpl)
{
throw new NotImplementedException();
}
///
/// Return all quest items current in the supplied profile
///
/// Profile to get quest items from
/// List of item objects
public List- GetQuestItemsInProfile(PmcData profile)
{
throw new NotImplementedException();
}
///
/// Return a favorites list in the format expected by the GetOtherProfile call
///
///
/// A list of Item objects representing the favorited data
public List
- GetOtherProfileFavorites(PmcData profile)
{
throw new NotImplementedException();
}
}