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