Barotrauma Client Doc
Barotrauma.AIObjectiveCombat Class Reference
Inheritance diagram for Barotrauma.AIObjectiveCombat:
Barotrauma.AIObjective

Public Types

enum class  CombatMode {
  Defensive , Offensive , Arrest , Retreat ,
  None
}
 

Public Member Functions

 AIObjectiveCombat (Character character, Character enemy, CombatMode mode, AIObjectiveManager objectiveManager, float priorityModifier=1, float coolDown=10.0f)
 
override void Update (float deltaTime)
 
override void Reset ()
 
- Public Member Functions inherited from Barotrauma.AIObjective
IEnumerable< AIObjectiveGetSubObjectivesRecursive (bool includingSelf=false)
 
AIObjective GetActiveObjective ()
 
 AIObjective (Character character, AIObjectiveManager objectiveManager, float priorityModifier, Identifier option=default)
 
void TryComplete (float deltaTime)
 Makes the character act according to the objective, or according to any subobjectives that need to be completed before this one More...
 
void AddSubObjective (AIObjective objective, bool addFirst=false)
 
void RemoveSubObjective< T > (ref T objective)
 
void SortSubObjectives ()
 
bool IsIgnoredAtOutpost ()
 Returns true only when at a friendly outpost and when the order is set to be ignored there. Note that even if this returns false, the objective can be disallowed, because AllowInFriendlySubs is false. More...
 
float CalculatePriority ()
 Call this only when the priority needs to be recalculated. Use the cached Priority property when you don't need to recalculate. More...
 
virtual bool IsDuplicate< T > (T otherObjective)
 
virtual void OnSelected ()
 
virtual void OnDeselected ()
 
virtual void SpeakAfterOrderReceived ()
 
Sprite GetSprite ()
 

Static Public Member Functions

static float GetLethalDamage (ItemComponent weapon)
 
- Static Public Member Functions inherited from Barotrauma.AIObjective
static Sprite GetSprite (Identifier identifier, Identifier option, Entity targetEntity)
 

Public Attributes

bool allowHoldFire
 
Func< bool > holdFireCondition
 Don't start using a weapon if this condition is true More...
 
- Public Attributes inherited from Barotrauma.AIObjective
readonly Character character
 
readonly AIObjectiveManager objectiveManager
 
readonly Identifier Option
 
Func< AIObjective, bool > AbortCondition
 Aborts the objective when this condition is true. More...
 

Protected Member Functions

override float GetPriority ()
 
override bool CheckObjectiveSpecific ()
 
override void Act (float deltaTime)
 
override void OnCompleted ()
 
override void OnAbandon ()
 
- Protected Member Functions inherited from Barotrauma.AIObjective
void HandleNonAllowed ()
 
void SyncRemovedObjectives< T1, T2 > (Dictionary< T1, T2 > dictionary, IEnumerable< T1 > collection)
 Checks if the subobjectives in the given collection are removed from the subobjectives. And if so, removes it also from the dictionary. More...
 
bool TryAddSubObjective< T > (ref T objective, Func< T > constructor, Action onCompleted=null, Action onAbandon=null)
 Checks if the objective already is created and added in subobjectives. If not, creates it. Handles objectives that cannot be completed. If the objective has been removed form the subobjectives, a null value is assigned to the reference. Returns true if the objective was created and successfully added. More...
 
bool CanEquip (Item item, bool allowWearing)
 

Properties

override Identifier Identifier = "combat".ToIdentifier() [get, set]
 
override bool KeepDivingGearOn [get]
 
override bool IgnoreUnsafeHulls [get]
 
override bool AllowOutsideSubmarine [get]
 
override bool AllowInAnySub [get]
 
Character Enemy [get]
 
bool HoldPosition [get, set]
 
override bool ConcurrentObjectives [get]
 
override bool AbandonWhenCannotCompleteSubjectives [get]
 
CombatMode Mode [get]
 
- Properties inherited from Barotrauma.AIObjective
virtual float Devotion [get]
 
abstract Identifier Identifier [get, set]
 
virtual string DebugTag [get]
 
virtual bool ForceRun [get]
 
virtual bool IgnoreUnsafeHulls [get]
 
virtual bool AbandonWhenCannotCompleteSubjectives [get]
 
virtual bool AllowSubObjectiveSorting [get]
 
virtual bool PrioritizeIfSubObjectivesActive [get]
 
virtual bool AllowMultipleInstances [get]
 Can there be multiple objective instaces of the same type? More...
 
virtual bool ConcurrentObjectives [get]
 Run the main objective with all subobjectives concurrently? If false, the main objective will continue only when all the subobjectives have been removed (done). More...
 
virtual bool KeepDivingGearOn [get]
 
virtual bool KeepDivingGearOnAlsoWhenInactive [get]
 
virtual bool AllowAutomaticItemUnequipping [get]
 There's a separate property for diving suit and mask: KeepDivingGearOn. More...
 
virtual bool AllowOutsideSubmarine [get]
 
virtual bool AllowInFriendlySubs [get]
 
virtual bool AllowInAnySub [get]
 
virtual bool AllowWhileHandcuffed [get]
 
float CumulatedDevotion [get, set]
 
virtual float MaxDevotion [get]
 
float Priority [get, set]
 Final priority value after all calculations. More...
 
float BasePriority [get, set]
 
float PriorityModifier = 1 [get]
 
bool ForceHighestPriority [get, set]
 
bool ForceWalk [get, set]
 
bool IgnoreAtOutpost [get, set]
 
bool Abandon [get, set]
 
virtual bool CanBeCompleted [get]
 
virtual bool IsLoop [get, set]
 When true, the objective is never completed, unless CanBeCompleted returns false. More...
 
IEnumerable< AIObjectiveSubObjectives [get]
 
AIObjective CurrentSubObjective [get]
 
HumanAIController HumanAIController [get]
 
IndoorsSteeringManager PathSteering [get]
 
SteeringManager SteeringManager [get]
 
bool IsAllowed [get]
 
bool IsCompleted [get, protected set]
 
static Color ObjectiveIconColor [get]
 

Additional Inherited Members

- Static Protected Member Functions inherited from Barotrauma.AIObjective
static bool CanEquip (Character character, Item item, bool allowWearing)
 
- Protected Attributes inherited from Barotrauma.AIObjective
readonly List< AIObjectivesubObjectives = new List<AIObjective>()
 
- Events inherited from Barotrauma.AIObjective
Action Completed
 A single shot event. Automatically cleared after launching. Use OnCompleted method for implementing (internal) persistent behavior. More...
 
Action Abandoned
 A single shot event. Automatically cleared after launching. Use OnAbandoned method for implementing (internal) persistent behavior. More...
 
Action Selected
 A single shot event. Automatically cleared after launching. Use OnSelected method for implementing (internal) persistent behavior. More...
 
Action Deselected
 A single shot event. Automatically cleared after launching. Use OnDeselected method for implementing (internal) persistent behavior. More...
 

Detailed Description

Definition at line 13 of file AIObjectiveCombat.cs.

Member Enumeration Documentation

◆ CombatMode

Enumerator
Defensive 
Offensive 
Arrest 
Retreat 
None 

Definition at line 96 of file AIObjectiveCombat.cs.

Constructor & Destructor Documentation

◆ AIObjectiveCombat()

Barotrauma.AIObjectiveCombat.AIObjectiveCombat ( Character  character,
Character  enemy,
CombatMode  mode,
AIObjectiveManager  objectiveManager,
float  priorityModifier = 1,
float  coolDown = 10.0f 
)

Definition at line 119 of file AIObjectiveCombat.cs.

Member Function Documentation

◆ Act()

override void Barotrauma.AIObjectiveCombat.Act ( float  deltaTime)
protectedvirtual

Implements Barotrauma.AIObjective.

Definition at line 241 of file AIObjectiveCombat.cs.

◆ CheckObjectiveSpecific()

override bool Barotrauma.AIObjectiveCombat.CheckObjectiveSpecific ( )
protectedvirtual

Implements Barotrauma.AIObjective.

Definition at line 227 of file AIObjectiveCombat.cs.

◆ GetLethalDamage()

static float Barotrauma.AIObjectiveCombat.GetLethalDamage ( ItemComponent  weapon)
static

Definition at line 689 of file AIObjectiveCombat.cs.

◆ GetPriority()

override float Barotrauma.AIObjectiveCombat.GetPriority ( )
protectedvirtual

Reimplemented from Barotrauma.AIObjective.

Definition at line 148 of file AIObjectiveCombat.cs.

◆ OnAbandon()

override void Barotrauma.AIObjectiveCombat.OnAbandon ( )
protectedvirtual

Reimplemented from Barotrauma.AIObjective.

Definition at line 1265 of file AIObjectiveCombat.cs.

◆ OnCompleted()

override void Barotrauma.AIObjectiveCombat.OnCompleted ( )
protectedvirtual

Reimplemented from Barotrauma.AIObjective.

Definition at line 1255 of file AIObjectiveCombat.cs.

◆ Reset()

override void Barotrauma.AIObjectiveCombat.Reset ( )
virtual

Reimplemented from Barotrauma.AIObjective.

Definition at line 1275 of file AIObjectiveCombat.cs.

◆ Update()

override void Barotrauma.AIObjectiveCombat.Update ( float  deltaTime)
virtual

Reimplemented from Barotrauma.AIObjective.

Definition at line 197 of file AIObjectiveCombat.cs.

Member Data Documentation

◆ allowHoldFire

bool Barotrauma.AIObjectiveCombat.allowHoldFire

Definition at line 89 of file AIObjectiveCombat.cs.

◆ holdFireCondition

Func<bool> Barotrauma.AIObjectiveCombat.holdFireCondition

Don't start using a weapon if this condition is true

Definition at line 94 of file AIObjectiveCombat.cs.

Property Documentation

◆ AbandonWhenCannotCompleteSubjectives

override bool Barotrauma.AIObjectiveCombat.AbandonWhenCannotCompleteSubjectives
get

Definition at line 62 of file AIObjectiveCombat.cs.

◆ AllowInAnySub

override bool Barotrauma.AIObjectiveCombat.AllowInAnySub
get

Definition at line 20 of file AIObjectiveCombat.cs.

◆ AllowOutsideSubmarine

override bool Barotrauma.AIObjectiveCombat.AllowOutsideSubmarine
get

Definition at line 19 of file AIObjectiveCombat.cs.

◆ ConcurrentObjectives

override bool Barotrauma.AIObjectiveCombat.ConcurrentObjectives
get

Definition at line 61 of file AIObjectiveCombat.cs.

◆ Enemy

Character Barotrauma.AIObjectiveCombat.Enemy
get

Definition at line 37 of file AIObjectiveCombat.cs.

◆ HoldPosition

bool Barotrauma.AIObjectiveCombat.HoldPosition
getset

Definition at line 38 of file AIObjectiveCombat.cs.

◆ Identifier

override Identifier Barotrauma.AIObjectiveCombat.Identifier = "combat".ToIdentifier()
getset

Definition at line 15 of file AIObjectiveCombat.cs.

◆ IgnoreUnsafeHulls

override bool Barotrauma.AIObjectiveCombat.IgnoreUnsafeHulls
get

Definition at line 18 of file AIObjectiveCombat.cs.

◆ KeepDivingGearOn

override bool Barotrauma.AIObjectiveCombat.KeepDivingGearOn
get

Definition at line 17 of file AIObjectiveCombat.cs.

◆ Mode

CombatMode Barotrauma.AIObjectiveCombat.Mode
get

Definition at line 105 of file AIObjectiveCombat.cs.