using Core.Annotations; using Core.Models.Common; using Core.Models.Eft.Common.Tables; using Core.Models.Spt.Config; namespace Core.Helpers; [Injectable] public class BotHelper { /// /// Get a template object for the specified botRole from bots.types db /// /// botRole to get template for /// BotType object public BotType GetBotTemplate(string role) { throw new NotImplementedException(); } /// /// Is the passed in bot role a PMC (usec/bear/pmc) /// /// bot role to check /// true if is pmc public bool IsBotPmc(string botRole) { throw new NotImplementedException(); } public bool IsBotBoss(string botRole) { throw new NotImplementedException(); } public bool IsBotFollower(string botRole) { throw new NotImplementedException(); } /// /// Add a bot to the FRIENDLY_BOT_TYPES list /// /// bot settings to alter /// bot type to add to friendly list public void AddBotToFriendlyList(DifficultyCategories difficultySettings, string typeToAdd) { throw new NotImplementedException(); } /// /// Add a bot to the REVENGE_BOT_TYPES list /// /// bot settings to alter /// bot type to add to revenge list public void AddBotToRevengeList(DifficultyCategories difficultySettings, string[] typesToAdd) { throw new NotImplementedException(); } public bool RollChanceToBePmc(MinMax botConvertMinMax) { throw new NotImplementedException(); } protected void GetPmcConversionValuesForLocation(string location) { throw new NotImplementedException(); } /// /// is the provided role a PMC, case-agnostic /// /// Role to check /// True if role is PMC public bool BotRoleIsPmc(string botRole) { throw new NotImplementedException(); } /// /// Get randomization settings for bot from config/bot.json /// /// level of bot /// bot equipment json /// RandomisationDetails public RandomisationDetails GetBotRandomizationDetails(int botLevel, EquipmentFilters botEquipConfig) { throw new NotImplementedException(); } /// /// Choose between pmcBEAR and pmcUSEC at random based on the % defined in pmcConfig.isUsec /// /// pmc role public string GetRandomizedPmcRole() { throw new NotImplementedException(); } /// /// Get the corresponding side when pmcBEAR or pmcUSEC is passed in /// /// role to get side for /// side (usec/bear) public string GetPmcSideByRole(string botRole) { throw new NotImplementedException(); } /// /// Get a randomized PMC side based on bot config value 'isUsec' /// /// pmc side as string protected string GetRandomizedPmcSide() { throw new NotImplementedException(); } /// /// Get a name from a PMC that fits the desired length /// /// Max length of name, inclusive /// OPTIONAL - what side PMC to get name from (usec/bear) /// name of PMC public string GetPmcNicknameOfMaxLength(int maxLength, string side = null) { throw new NotImplementedException(); } }