using Core.Annotations; using Core.Models.Eft.Common.Tables; using Core.Models.Spt.Bots; namespace Core.Services; [Injectable(InjectionType.Singleton)] public class BotWeaponModLimitService { /// /// Initalise mod limits to be used when generating a weapon /// /// "assault", "bossTagilla" or "pmc" /// BotModLimits object public BotModLimits GetWeaponModLimits(string botRole) { throw new NotImplementedException(); } /// /// Check if weapon mod item is on limited list + has surpassed the limit set for it /// Exception: Always allow ncstar backup mount /// Exception: Always allow scopes with a scope for a parent /// Exception: Always disallow mounts that hold only scopes once scope limit reached /// Exception: Always disallow mounts that hold only flashlights once flashlight limit reached /// /// role the bot has e.g. assault /// mods template data /// limits set for weapon being generated for this bot /// The parent of the mod to be checked /// Array of IItem /// true if over item limit public bool WeaponModHasReachedLimit( string botRole, TemplateItem modTemplate, BotModLimits modLimits, TemplateItem modsParent, List weapon) { throw new NotImplementedException(); } /// /// Check if the specific item type on the weapon has reached the set limit /// /// log mod tpl if over type limit /// current number of this item on gun /// mod limit allowed /// role of bot we're checking weapon of /// true if limit reached protected bool WeaponModLimitReached( string modTpl, object currentCount, int maxLimit, string botRole) { throw new NotImplementedException(); } }