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(); } }