using Core.Models.Eft.Common.Tables; using Core.Models.Spt.Config; namespace Core.Helpers; public class BotGeneratorHelper { /// /// Adds properties to an item /// e.g. Repairable / HasHinge / Foldable / MaxDurability /// /// Item extra properties are being generated for /// Used by weapons to randomize the durability values. Null for non-equipped items /// Item Upd object with extra properties public object GenerateExtraPropertiesForItem(TemplateItem itemTemplate, string botRole = null) { throw new NotImplementedException(); } /// /// Randomize the HpResource for bots e.g (245/400 resources) /// /// Max resource value of medical items /// Value provided from config /// Randomized value from maxHpResource protected double GetRandomizedResourceValue(double maxResource, RandomisedResourceValues randomizationValues) { throw new NotImplementedException(); } /// /// Get the chance for the weapon attachment or helmet equipment to be set as activated /// /// role of bot with weapon/helmet /// the setting of the weapon attachment/helmet equipment to be activated /// default value for the chance of activation if the botrole or bot equipment role is undefined /// Percent chance to be active protected double GetBotEquipmentSettingFromConfig(string botRole, string setting, double defaultValue) { throw new NotImplementedException(); } /// /// Create a repairable object for a weapon that containers durability + max durability properties /// /// weapon object being generated for /// type of bot being generated for /// Repairable object protected object GenerateWeaponRepairableProperties(TemplateItem itemTemplate, string botRole = null) { throw new NotImplementedException(); } /// /// Create a repairable object for an armor that containers durability + max durability properties /// /// weapon object being generated for /// type of bot being generated for /// Repairable object protected object GenerateArmorRepairableProperties(TemplateItem itemTemplate, string botRole = null) { throw new NotImplementedException(); } /// /// Can item be added to another item without conflict /// /// Items to check compatibilities with /// Tpl of the item to check for incompatibilities /// Slot the item will be placed into /// false if no incompatibilities, also has incompatibility reason public object IsItemIncompatibleWithCurrentItems(List itemsEquipped, string tplToCheck, string equipmentSlot) { throw new NotImplementedException(); } /// /// Convert a bots role to the equipment role used in config/bot.json /// /// Role to convert /// Equipment role (e.g. pmc / assault / bossTagilla) public string GetBotEquipmentRole(string botRole) { throw new NotImplementedException(); } /// /// Adds an item with all its children into specified equipmentSlots, wherever it fits. /// /// Slot to add item+children into /// Root item id to use as mod items parentid /// Root itms tpl id /// Item to add /// Inventory to add item+children into /// ItemAddedResult result object public object AddItemWithChildrenToEquipmentSlot( List equipmentSlots, string rootItemId, string rootItemTplId, List itemWithChildren, BotBaseInventory inventory, HashSet containersIdFull = null) { throw new NotImplementedException(); } /// /// Is the provided item allowed inside a container /// /// Items sub-grid we want to place item inside /// Item tpl being placed /// True if allowed protected bool ItemAllowedInContainer(Grid slotGrid, string itemTpl) { throw new NotImplementedException(); } }