Superfighters Deluxe
BotBehaviorSet Class Reference

Represent a bot's behavior set with parameters to control individual properties. More...

Inheritance diagram for BotBehaviorSet:
BotBehaviorNavigationMode NavigationMode [get, set]
 Navigation mode. QUIRK: BotBehaviorNavigationMode.PathFiniding required for most properties to be active. More...
 
BotBehaviorMeleeMode MeleeMode [get, set]
 Melee mode. QUIRK: BotBehaviorMeleeMode.Default required for most properties to be active. More...
 
bool EliminateEnemies [get, set]
 Determines if the bot should search for enemies and eliminate them. More...
 
bool AttackDeadEnemies [get, set]
 Determines if the bot should attack dead enemies. More...
 
bool SearchForItems [get, set]
 Determines if the bot can search and grab for items and weapons useable for the bot. More...
 
SearchItems SearchItems [get, set]
 What kind of items the bot will actively search for. More...
 
float AggroRange [get, set]
 Determines the range at which the bot will attack opponents. 0 = Infinite range. More...
 
float SearchItemRange [get, set]
 Determines the range at which the bot will search for items. 0 = Infinite range. More...
 
float GuardRange [get, set]
 Determines the range at which the bot will be near their guard target (if any assigned). 0 = Disabled. More...
 
float ChaseRange [get, set]
 Determines the range at which the bot will be chase enemy players while guarding their guard target. This value must be greater than GuardRange. Setting this to a lower value than GuardRange will also set the GuardRange value. This value should be slightly larger than GuardRange for the bots to avoid easy cyclic behavior patterns. More...
 
bool TeamLineUp [get, set]
 Determines if the bot should line up and queue for nearby teammates in melee and shooting. More...
 
ushort ChokePointPlayerCountThreshold [get, set]
 Determines when to ignore chokepoints in the path grid when alive teammates is equal or below this threshold. 0=Disabled -> ignore always. More...
 
float ChokePointValue [get, set]
 How much value to contribute to each choke point. Smaller teams should have a higher value set so the bots take different routes. More...
 
float OffensiveDiveLevel [get, set]
 If the bot should dive towards the target instead if sprinting. Higher values increases the chance the bot will dive. Range [0.0 - 1.0] More...
 
float OffensiveEnrageLevel [get, set]
 Increases the enrage level when being hit in melee. When the bot is enraged it will blindly start performing full melee combos. Range [0.0 - 1.0] More...
 
float OffensiveClimbingLevel [get, set]
 Increases the chance to perform offensive jumps from ladders up towards opponents. Range [0.0 - 1.0] More...
 
float CounterOutOfRangeMeleeAttacksLevel [get, set]
 Increases the chance bots will counter out-of-range melee attacks such as attacks, grabs and dives. More...
 
float DefensiveBlockLevel [get, set]
 NOT YET IMPLEMENTED. Increases the chance bots will counter incoming missiles and projectiles. Range [0.0 - 1.0] More...
 
float DefensiveAvoidProjectilesLevel [get, set]
 Increases the chance to try to dodge incoming projectiles. Range [0.0 - 1.0] More...
 
float DefensiveRollFireLevel [get, set]
 How fast the bot will react to burning. Range [0.0 - 1.0]. 1=ASAP. 0=Never. Timespan around 100 to 4000 ms depending on value. More...
 
float NavigationRandomPausesLevel [get, set]
 If the bot should do random pauses while navigating. Pause each 4-10 secs (at max value) to 10-20 secs (at min value). Pause for 500 to 3000 ms depending on value. Range [0.0 - 1.0] More...
 
float OffensiveSprintLevel [get, set]
 If the bot should sprint towards the target instead of running. Higher values increases the distance where the bot will start sprinting. Range [0.0 - 1.0] More...
 
bool PowerupUsage [get, set]
 If the bot can use powerup items in different combat situations. More...
 
bool MeleeUsage [get, set]
 If the bot can use melee in different combat situations. More...
 
bool MeleeWeaponUsage [get, set]
 If the bot can use the melee weapon in different combat situations. More...
 
bool MeleeWeaponUseFullRange [get, set]
 If the bot can utilize the full range of the melee weapon (true) or always use closer fist distance (false). More...
 
float MeleeWaitTimeLimitMin [get, set]
 Gets or Sets the amount of time in milliseconds a bot can wait in melee before being forced to do an offensive action (based on BotMeleeActions). This is the minimum limit of that time. Range [0-5000] More...
 
float MeleeWaitTimeLimitMax [get, set]
 Gets or Sets the amount of time in milliseconds a bot can wait in melee before being forced to do an offensive action (based on BotMeleeActions). This is the maximum limit of that time. Range [0-5000] More...
 
BotMeleeActions MeleeActions
 Influences the melee actions bots can use in melee. Only works for MeleeMode.Default. More...
 
BotMeleeActions MeleeActionsWhenHit
 Influences the melee actions bots can use in melee when hit/stunned. Only works for MeleeMode.Default. More...
 
BotMeleeActions MeleeActionsWhenEnraged
 Influences the melee actions bots can use in melee when enraged. Only works for MeleeMode.Default. More...
 
BotMeleeActions MeleeActionsWhenEnragedAndHit
 Influences the melee actions bots can use in melee when enraged and hit/stunned. Only works for MeleeMode.Default. More...
 
void SetMeleeActionsAll (BotMeleeActions value)
 Sets all the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties to the same value. More...
 
void SetMeleeActionsToEasy ()
 Sets the BotMeleeActions.Easy* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties. More...
 
void SetMeleeActionsToNormal ()
 Sets the BotMeleeActions.Normal* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties. More...
 
void SetMeleeActionsToHard ()
 Sets the BotMeleeActions.Hard* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties. More...
 
void SetMeleeActionsToExpert ()
 Sets the BotMeleeActions.Expert* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties. More...
 
void SetMeleeActionsToDefault ()
 Sets the BotMeleeActions.Default* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties. These values are similar to Hard/Expert values. More...
 
void MutateMeleeActions (float value, Random random)
 A function to mutate and randomize the melee randomness weights with the specific percentage. This function can increase the base amounts of the weights More...
 
void MutateMeleeActions (ref BotMeleeActions meleeActions, float value, Random random)
 A function to mutate and randomize the melee randomness weights with the specific percentage. This function can increase the base amounts of the weights More...
 
bool RangedWeaponLOSIgnoreTeammates [get, set]
 If the bot should ignore teammates during Line-Of-Sight (LOS) operations and potentially shoot its teammates. More...
 
bool RangedWeaponUsage [get, set]
 If the bot can use the ranged weapons (handgun, rifles) in different combat situations. More...
 
BotBehaviorRangedWeaponMode RangedWeaponMode [get, set]
 If the bot can use ranged weapons (handgun, rifle) in hip-fire/manual-aim mode. More...
 
float RangedWeaponAccuracy [get, set]
 Ranged weapon accuracy. Range [0.0 - 1.0] where 1 is 100% accurate. More...
 
float RangedWeaponHipFireAimShootDelayMin [get, set]
 Initial shoot delay after entering hip fire with the weapon in milliseconds. Range [0 - 5000] More...
 
float RangedWeaponHipFireAimShootDelayMax [get, set]
 Initial shoot delay after entering hip fire with the weapon in milliseconds. Range [0 - 5000] More...
 
float RangedWeaponAimShootDelayMin [get, set]
 Initial shoot delay after aiming with the weapon in milliseconds. Range [0 - 5000] More...
 
float RangedWeaponAimShootDelayMax [get, set]
 Initial shoot delay after aiming with the weapon in milliseconds. Range [0 - 5000] More...
 
float RangedWeaponBurstTimeMin [get, set]
 Burst weapon duration in milliseconds. Range [0 - 5000]. More...
 
float RangedWeaponBurstTimeMax [get, set]
 Burst weapon duration in milliseconds. Range [0 - 5000]. 0=Infinite duration. More...
 
float RangedWeaponBurstPauseMin [get, set]
 Pause between bursts in milliseconds. Range [0 - 5000]. More...
 
float RangedWeaponBurstPauseMax [get, set]
 Pause between bursts in milliseconds. Range [0 - 5000]. 0=No pause. More...
 
float SeekCoverWhileShooting [get, set]
 If the bot can seek and take cover while using firearms. Range [0.0 - 1.0] where 0 disables this and 1 is most likely the bot will take cover. More...
 
float RangedWeaponPrecisionInterpolateTime [get, set]
 Ranged WeaponPrecision interpolate time in milliseconds going from the start/basic values over to the precision values, making the bot aim better over time. Range [0 - 10000]. 0=Disabled (only the basic values are used). More...
 
float RangedWeaponPrecisionAccuracy [get, set]
 Ranged WeaponPrecision accuracy. Range [0.0 - 1.0] where 1 is 100% accurate. More...
 
float RangedWeaponPrecisionAimShootDelayMin [get, set]
 Initial shoot delay after aiming with the WeaponPrecision in milliseconds. Range [0 - 5000] More...
 
float RangedWeaponPrecisionAimShootDelayMax [get, set]
 Initial shoot delay after aiming with the WeaponPrecision in milliseconds. Range [0 - 5000] More...
 
float RangedWeaponPrecisionBurstTimeMin [get, set]
 Burst WeaponPrecision duration in milliseconds. Range [0 - 5000]. More...
 
float RangedWeaponPrecisionBurstTimeMax [get, set]
 Burst WeaponPrecision duration in milliseconds. Range [0 - 5000]. 0=Infinite duration. More...
 
float RangedWeaponPrecisionBurstPauseMin [get, set]
 Pause between bursts in milliseconds. Range [0 - 5000]. More...
 
float RangedWeaponPrecisionBurstPauseMax [get, set]
 Pause between bursts in milliseconds. Range [0 - 5000]. 0=No pause. More...
 
float RocketRideProficiency [get, set]
 Rocket ride proficiency. Range [0.0 - 1.0] where 1 is 100% proficiency. More...
 
 BotBehaviorSet ()
 Constructor More...
 
static BotBehaviorSet GetBotBehaviorPredefinedSet (SFDGameScriptInterface.PredefinedAIType aiType)
 Returns a new predefined BotBehaviorSet instance based on predefined AI. More...
 
object Clone ()
 Creates a new object that is a copy of the current instance. More...
 
bool Equals (BotBehaviorSet other)
 Indicates whether the current object is equal to another object of the same type. More...
 

Detailed Description

Represent a bot's behavior set with parameters to control individual properties.

Constructor & Destructor Documentation

◆ BotBehaviorSet()

Constructor

Member Function Documentation

◆ Clone()

object Clone ( )

Creates a new object that is a copy of the current instance.

◆ Equals()

bool Equals ( BotBehaviorSet  other)

Indicates whether the current object is equal to another object of the same type.

◆ GetBotBehaviorPredefinedSet()

static BotBehaviorSet GetBotBehaviorPredefinedSet ( SFDGameScriptInterface.PredefinedAIType  aiType)
static

Returns a new predefined BotBehaviorSet instance based on predefined AI.

◆ MutateMeleeActions() [1/2]

void MutateMeleeActions ( float  value,
Random  random 
)

A function to mutate and randomize the melee randomness weights with the specific percentage. This function can increase the base amounts of the weights

Parameters
valuePercentage. Range [0-1]. 0=0%, 1=100% mutation on the values.

◆ MutateMeleeActions() [2/2]

void MutateMeleeActions ( ref BotMeleeActions  meleeActions,
float  value,
Random  random 
)

A function to mutate and randomize the melee randomness weights with the specific percentage. This function can increase the base amounts of the weights

Parameters
valuePercentage. Range [0-1]. 0=0%, 1=100% mutation on the values.

◆ SetMeleeActionsAll()

void SetMeleeActionsAll ( BotMeleeActions  value)

Sets all the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties to the same value.

Parameters
valueBotMeleeActions

◆ SetMeleeActionsToDefault()

void SetMeleeActionsToDefault ( )

Sets the BotMeleeActions.Default* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties. These values are similar to Hard/Expert values.

◆ SetMeleeActionsToEasy()

void SetMeleeActionsToEasy ( )

Sets the BotMeleeActions.Easy* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties.

◆ SetMeleeActionsToExpert()

void SetMeleeActionsToExpert ( )

Sets the BotMeleeActions.Expert* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties.

◆ SetMeleeActionsToHard()

void SetMeleeActionsToHard ( )

Sets the BotMeleeActions.Hard* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties.

◆ SetMeleeActionsToNormal()

void SetMeleeActionsToNormal ( )

Sets the BotMeleeActions.Normal* default values to the MeleeActions, MeleeActionsWhenHit, MeleeActionsWhenEnraged, MeleeActionsWhenEnragedAndHit properties.

Member Data Documentation

◆ MeleeActions

BotMeleeActions MeleeActions

Influences the melee actions bots can use in melee. Only works for MeleeMode.Default.

◆ MeleeActionsWhenEnraged

BotMeleeActions MeleeActionsWhenEnraged

Influences the melee actions bots can use in melee when enraged. Only works for MeleeMode.Default.

◆ MeleeActionsWhenEnragedAndHit

BotMeleeActions MeleeActionsWhenEnragedAndHit

Influences the melee actions bots can use in melee when enraged and hit/stunned. Only works for MeleeMode.Default.

◆ MeleeActionsWhenHit

BotMeleeActions MeleeActionsWhenHit

Influences the melee actions bots can use in melee when hit/stunned. Only works for MeleeMode.Default.

Property Documentation

◆ AggroRange

float AggroRange
getset

Determines the range at which the bot will attack opponents. 0 = Infinite range.

◆ AttackDeadEnemies

bool AttackDeadEnemies
getset

Determines if the bot should attack dead enemies.

◆ ChaseRange

float ChaseRange
getset

Determines the range at which the bot will be chase enemy players while guarding their guard target. This value must be greater than GuardRange. Setting this to a lower value than GuardRange will also set the GuardRange value. This value should be slightly larger than GuardRange for the bots to avoid easy cyclic behavior patterns.

◆ ChokePointPlayerCountThreshold

ushort ChokePointPlayerCountThreshold
getset

Determines when to ignore chokepoints in the path grid when alive teammates is equal or below this threshold. 0=Disabled -> ignore always.

◆ ChokePointValue

float ChokePointValue
getset

How much value to contribute to each choke point. Smaller teams should have a higher value set so the bots take different routes.

◆ CounterOutOfRangeMeleeAttacksLevel

float CounterOutOfRangeMeleeAttacksLevel
getset

Increases the chance bots will counter out-of-range melee attacks such as attacks, grabs and dives.

◆ DefensiveAvoidProjectilesLevel

float DefensiveAvoidProjectilesLevel
getset

Increases the chance to try to dodge incoming projectiles. Range [0.0 - 1.0]

◆ DefensiveBlockLevel

float DefensiveBlockLevel
getset

NOT YET IMPLEMENTED. Increases the chance bots will counter incoming missiles and projectiles. Range [0.0 - 1.0]

◆ DefensiveRollFireLevel

float DefensiveRollFireLevel
getset

How fast the bot will react to burning. Range [0.0 - 1.0]. 1=ASAP. 0=Never. Timespan around 100 to 4000 ms depending on value.

◆ EliminateEnemies

bool EliminateEnemies
getset

Determines if the bot should search for enemies and eliminate them.

◆ GuardRange

float GuardRange
getset

Determines the range at which the bot will be near their guard target (if any assigned). 0 = Disabled.

◆ MeleeMode

BotBehaviorMeleeMode MeleeMode
getset

Melee mode. QUIRK: BotBehaviorMeleeMode.Default required for most properties to be active.

◆ MeleeUsage

bool MeleeUsage
getset

If the bot can use melee in different combat situations.

◆ MeleeWaitTimeLimitMax

float MeleeWaitTimeLimitMax
getset

Gets or Sets the amount of time in milliseconds a bot can wait in melee before being forced to do an offensive action (based on BotMeleeActions). This is the maximum limit of that time. Range [0-5000]

◆ MeleeWaitTimeLimitMin

float MeleeWaitTimeLimitMin
getset

Gets or Sets the amount of time in milliseconds a bot can wait in melee before being forced to do an offensive action (based on BotMeleeActions). This is the minimum limit of that time. Range [0-5000]

◆ MeleeWeaponUsage

bool MeleeWeaponUsage
getset

If the bot can use the melee weapon in different combat situations.

◆ MeleeWeaponUseFullRange

bool MeleeWeaponUseFullRange
getset

If the bot can utilize the full range of the melee weapon (true) or always use closer fist distance (false).

◆ NavigationMode

BotBehaviorNavigationMode NavigationMode
getset

Navigation mode. QUIRK: BotBehaviorNavigationMode.PathFiniding required for most properties to be active.

◆ NavigationRandomPausesLevel

float NavigationRandomPausesLevel
getset

If the bot should do random pauses while navigating. Pause each 4-10 secs (at max value) to 10-20 secs (at min value). Pause for 500 to 3000 ms depending on value. Range [0.0 - 1.0]

◆ OffensiveClimbingLevel

float OffensiveClimbingLevel
getset

Increases the chance to perform offensive jumps from ladders up towards opponents. Range [0.0 - 1.0]

◆ OffensiveDiveLevel

float OffensiveDiveLevel
getset

If the bot should dive towards the target instead if sprinting. Higher values increases the chance the bot will dive. Range [0.0 - 1.0]

◆ OffensiveEnrageLevel

float OffensiveEnrageLevel
getset

Increases the enrage level when being hit in melee. When the bot is enraged it will blindly start performing full melee combos. Range [0.0 - 1.0]

◆ OffensiveSprintLevel

float OffensiveSprintLevel
getset

If the bot should sprint towards the target instead of running. Higher values increases the distance where the bot will start sprinting. Range [0.0 - 1.0]

◆ PowerupUsage

bool PowerupUsage
getset

If the bot can use powerup items in different combat situations.

◆ RangedWeaponAccuracy

float RangedWeaponAccuracy
getset

Ranged weapon accuracy. Range [0.0 - 1.0] where 1 is 100% accurate.

◆ RangedWeaponAimShootDelayMax

float RangedWeaponAimShootDelayMax
getset

Initial shoot delay after aiming with the weapon in milliseconds. Range [0 - 5000]

◆ RangedWeaponAimShootDelayMin

float RangedWeaponAimShootDelayMin
getset

Initial shoot delay after aiming with the weapon in milliseconds. Range [0 - 5000]

◆ RangedWeaponBurstPauseMax

float RangedWeaponBurstPauseMax
getset

Pause between bursts in milliseconds. Range [0 - 5000]. 0=No pause.

◆ RangedWeaponBurstPauseMin

float RangedWeaponBurstPauseMin
getset

Pause between bursts in milliseconds. Range [0 - 5000].

◆ RangedWeaponBurstTimeMax

float RangedWeaponBurstTimeMax
getset

Burst weapon duration in milliseconds. Range [0 - 5000]. 0=Infinite duration.

◆ RangedWeaponBurstTimeMin

float RangedWeaponBurstTimeMin
getset

Burst weapon duration in milliseconds. Range [0 - 5000].

◆ RangedWeaponHipFireAimShootDelayMax

float RangedWeaponHipFireAimShootDelayMax
getset

Initial shoot delay after entering hip fire with the weapon in milliseconds. Range [0 - 5000]

◆ RangedWeaponHipFireAimShootDelayMin

float RangedWeaponHipFireAimShootDelayMin
getset

Initial shoot delay after entering hip fire with the weapon in milliseconds. Range [0 - 5000]

◆ RangedWeaponLOSIgnoreTeammates

bool RangedWeaponLOSIgnoreTeammates
getset

If the bot should ignore teammates during Line-Of-Sight (LOS) operations and potentially shoot its teammates.

◆ RangedWeaponMode

BotBehaviorRangedWeaponMode RangedWeaponMode
getset

If the bot can use ranged weapons (handgun, rifle) in hip-fire/manual-aim mode.

◆ RangedWeaponPrecisionAccuracy

float RangedWeaponPrecisionAccuracy
getset

Ranged WeaponPrecision accuracy. Range [0.0 - 1.0] where 1 is 100% accurate.

◆ RangedWeaponPrecisionAimShootDelayMax

float RangedWeaponPrecisionAimShootDelayMax
getset

Initial shoot delay after aiming with the WeaponPrecision in milliseconds. Range [0 - 5000]

◆ RangedWeaponPrecisionAimShootDelayMin

float RangedWeaponPrecisionAimShootDelayMin
getset

Initial shoot delay after aiming with the WeaponPrecision in milliseconds. Range [0 - 5000]

◆ RangedWeaponPrecisionBurstPauseMax

float RangedWeaponPrecisionBurstPauseMax
getset

Pause between bursts in milliseconds. Range [0 - 5000]. 0=No pause.

◆ RangedWeaponPrecisionBurstPauseMin

float RangedWeaponPrecisionBurstPauseMin
getset

Pause between bursts in milliseconds. Range [0 - 5000].

◆ RangedWeaponPrecisionBurstTimeMax

float RangedWeaponPrecisionBurstTimeMax
getset

Burst WeaponPrecision duration in milliseconds. Range [0 - 5000]. 0=Infinite duration.

◆ RangedWeaponPrecisionBurstTimeMin

float RangedWeaponPrecisionBurstTimeMin
getset

Burst WeaponPrecision duration in milliseconds. Range [0 - 5000].

◆ RangedWeaponPrecisionInterpolateTime

float RangedWeaponPrecisionInterpolateTime
getset

Ranged WeaponPrecision interpolate time in milliseconds going from the start/basic values over to the precision values, making the bot aim better over time. Range [0 - 10000]. 0=Disabled (only the basic values are used).

◆ RangedWeaponUsage

bool RangedWeaponUsage
getset

If the bot can use the ranged weapons (handgun, rifles) in different combat situations.

◆ RocketRideProficiency

float RocketRideProficiency
getset

Rocket ride proficiency. Range [0.0 - 1.0] where 1 is 100% proficiency.

◆ SearchForItems

bool SearchForItems
getset

Determines if the bot can search and grab for items and weapons useable for the bot.

◆ SearchItemRange

float SearchItemRange
getset

Determines the range at which the bot will search for items. 0 = Infinite range.

◆ SearchItems

What kind of items the bot will actively search for.

◆ SeekCoverWhileShooting

float SeekCoverWhileShooting
getset

If the bot can seek and take cover while using firearms. Range [0.0 - 1.0] where 0 disables this and 1 is most likely the bot will take cover.

◆ TeamLineUp

bool TeamLineUp
getset

Determines if the bot should line up and queue for nearby teammates in melee and shooting.