G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UAbilityTask_AI Class Reference

Scriptable AI Task, which can be used to let NPCs do multiple actions at the same time. More...

Public Member Functions

Functions
bool ShouldShowTaskInfoInImGui ()
 Override decide whether to show the imgui info of the base-class (currently awaited task, etc).
AGothicCharacterState GetCharacterState () const
 Persistent state of this character.
AGothicAIController GetController () const
 Controller this state belongs to.
AGothicNPCState GetNPCState () const
 Persistent state of this character. (If it is an NPC).
AGothicCharacter GetSelf () const
 Character this state belongs to.
void DisplayImGui ()
 Override to call ImGui:: Functions that are shown in the AIStates debug tool.
Public Member Functions inherited from UAbilityTaskCoroutine
void StopWaitingAndContinueTask ()
 Cancels any WaitSeconds/WaitTask/etc calls that were currently blocking the DoTask-Coroutine.
const EGenericTaskResult & WaitForFirstTaskToEnd (FAbilityTaskExecutor Task1, FAbilityTaskExecutor Task2, FAbilityTaskExecutor Task3=FAbilityTaskExecutor(), FAbilityTaskExecutor Task4=FAbilityTaskExecutor(), FAbilityTaskExecutor Task5=FAbilityTaskExecutor(), FAbilityTaskExecutor Task6=FAbilityTaskExecutor())
const EGenericTaskResult & WaitForLastTaskToEnd (FAbilityTaskExecutor Task1, FAbilityTaskExecutor Task2, FAbilityTaskExecutor Task3=FAbilityTaskExecutor(), FAbilityTaskExecutor Task4=FAbilityTaskExecutor(), FAbilityTaskExecutor Task5=FAbilityTaskExecutor(), FAbilityTaskExecutor Task6=FAbilityTaskExecutor())
const EGenericTaskResult & DoOneOf (float32 Weight1, FAbilityTaskExecutor Task1, float32 Weight2, FAbilityTaskExecutor Task2, float32 Weight3=0.0f, FAbilityTaskExecutor Task3=FAbilityTaskExecutor(), float32 Weight4=0.0f, FAbilityTaskExecutor Task4=FAbilityTaskExecutor(), float32 Weight5=0.0f, FAbilityTaskExecutor Task5=FAbilityTaskExecutor(), float32 Weight6=0.0f, FAbilityTaskExecutor Task6=FAbilityTaskExecutor(), float32 Weight7=0.0f, FAbilityTaskExecutor Task7=FAbilityTaskExecutor(), float32 Weight8=0.0f, FAbilityTaskExecutor Task8=FAbilityTaskExecutor())
void CancelAwaitedTaskAndEndAfterwards ()
 Cancels the task that is currently being executed by calling ExternalCancel on it.
void DoTask ()
 Override this in Script to define what should happen in this task!
void OnActivate ()
 Override this in Script to define what should happen when task is started.
void PerformAutoTimeskip ()
 Automatically executes the coroutine and requests timeskips on awaited tasks and timers. Override RequestTimeskip and call this to have this behavior for your task.
const EGenericTaskResult & WaitForTask (FAbilityTaskExecutor Task)
void WaitForEvent (UObject Object, FName MulticastDelegateName)
 Call from DoTask() - Waits until the given delegate on the given object is called.
const EGenericTaskResult & WaitForTask (UAbilityTaskGeneric Task)
 Call from DoTask() - Runs the given task and pauses the function until the task has ended.
const EGenericTaskResult & WaitForTaskTimeLimited (float32 CancelAfterSeconds, UAbilityTaskGeneric Task)
 Call from DoTask() - Runs the given task and pauses the function until the task has ended or the given time has passed. If the timer is reached, the task is cancelled.
void WaitOneTick ()
 Call from DoTask() - Pauses the function for one single tick and resumes execution in the next frame.
void WaitSeconds (float32 Seconds)
 Call from DoTask() - Pauses the function for time specified and resumes execution after the given time passed.
void WaitUntil (float32 WorldTimeSeconds)
 Call from DoTask() - Pauses the function until the world time (World.TimeSeconds) has reached the given time and resumes execution.
Public Member Functions inherited from UAbilityTaskGeneric
FInGameTime GetInGameTimeNow () const
 Returns the current InGame-Time (fast-forwarded when the player sleeps).
void HandleAvatarChanged ()
 Called when the Character this state belongs to was spawned or despawned.
void OnExternalCancel ()
 Override to decide what should happen when your task got cancelled from outside.
void EndTaskAsCancelled ()
 Call this instead of EndTask() to signal the task was cancelled.
void EndTaskAsFailure ()
 Call this instead of EndTask() to signal the task having failed.
void EndTaskAsSuccess ()
 Call this instead of EndTask() to signal the task ending successfully.
void EndTaskWithResult (EGenericTaskResult Result)
 Call this instead of EndTask() to signal the task having failed.
AGothicAIController GetAvatarAIController () const
 If the avatar is controlled by an AIController, returns it. Nullptr otherwise.
AGothicCharacter GetAvatarCharacter () const
 If the avatar is a GothicCharacter, returns it. Nullptr otherwise.
AGothicCharacterState GetAvatarCharacterState () const
 If the avatar is a GothicCharacter, returns its CharacterState. Nullptr otherwise.
AGothicNPCState GetAvatarNPCState () const
 If the avatar is a n NPC, returns its NPCState. Nullptr otherwise.
APlayerController GetAvatarPlayerController () const
 If the avatar is controlled by a PlayerController, returns it. Nullptr otherwise.
void ExternalCancel ()
FInGameTime GetRuntimeInGame () const
 How long this task has been running for (in InGame-time).
float32 GetRuntimeSeconds () const
 How long this task has been running for (in seconds).
float32 GetTimeRequestedToSkip () const
 Returns how many seconds we're supposed to skip.
void HandleTimeskipRequest ()
 Let this task skip forward in time, ie. teleporting the Avatar to their destination or somewhere along the way or skipping animations. Use GetTimeRequestedToSkip() and ReportTimeSkipped(...) to get info on how much to skip and to notify if you were able to skip something.
bool HasBeenActivated () const
 Returns true if ReadyForActivated has ever been called on this task.
bool HasTaskJustStarted (float32 ThresholdRealtimeSeconds=10.000000) const
 Returns true if this task has not been running for long yet. For Dailyroutine-Tasks this can be used to check if the task was activated via the regular schedule or re-activated after the schedule was interrupted.
bool IsInDailyRoutineSimulation () const
 Returns true, if this task is owned by an NPC that does DailyRoutine simulation (has no visuals) right now.
bool ReportTimeSkip (float32 SecondsThatWillBeSkipped)
 Reports that this task is able to skip some of the requested time to skip and requests for permission to do so. Returns true when the timeskip was accepted and it's okay to do the actions now.
bool ReportTimeSkipWhateverIsLeft ()
 Reports that this task would run forever and can skip all the time that we have left. Returns true when the timeskip was accepted and it's okay to do the actions now.
void SetCustomPathfollowingSetting (FGothicPathfollowSettings PathfollowSetting)
 When pathfollowing should behave different for this AIState, provide your own settings.
Public Member Functions inherited from UAbilityTaskBase
bool IsFinished () const
bool IsPaused () const
UAbilityTaskBase DuplicateTask (UGameplayAbility ToAbility, UObject Outer=nullptr)
bool IsDuplicateOf (const UAbilityTaskBase Other) const
 Returns true if this task was created by duplicating the given one.
void MakeChildOf (UAbilityTaskBase OtherTask)
bool IsActive () const
Public Member Functions inherited from UAngelscriptAbilityTask
void OnDestroy (bool bInOwnerFinished)
void InitSimulatedTask (UGameplayTasksComponent InGameplayTasksComponent)
bool IsWaitingOnAvatar () const
void Activate ()
bool IsWaitingOnRemotePlayerdata () const
void TickTask (float32 DeltaTimeSecs)
void SetWaitingOnAvatar ()
void ClearWaitingOnAvatar ()
void ClearWaitingOnRemotePlayerData ()
UGameplayAbility BP_GetAbility (bool bInOwnerFinished) const
FGameplayAbilitySpecHandle GetAbilitySpecHandle (bool bInOwnerFinished) const
UAbilitySystemComponent GetAbilitySystemComponent ()
bool ShouldBroadcastAbilityTaskDelegates () const
bool IsForRemoteClient () const
bool IsLocallyControlled () const
bool IsPredictingClient () const
UGameplayAbility GetAbility () const
bool GetIsPausable ()
void SetIsPausable (bool bNewState)
void SetIsSimulatedTask (bool bNewState)
void SetAbilitySystemComponent (UAbilitySystemComponent InAbilitySystemComponent)
void SetIsTickingTask (bool bNewState)
void SetWaitingOnRemotePlayerData ()
bool GetIsSimulatedTask ()
bool GetIsSimulating ()
bool GetIsTickingTask ()
Public Member Functions inherited from UGameplayTask
void ReadyForActivation ()
void EndTask ()
 Called explicitly to end the task (usually by the task itself). Calls OnDestroy. Note:: you need to call EndTask before sending out any "on completed" delegates. If you don't the task will still be in an "active" state while the event receivers may assume it's already "finished".
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static UClass StaticClass ()
Static Public Member Functions inherited from UAbilityTaskCoroutine
static UClass StaticClass ()
Static Public Member Functions inherited from UAbilityTaskGeneric
static UClass StaticClass ()
Static Public Member Functions inherited from UAbilityTaskBase
static UClass StaticClass ()
Static Public Member Functions inherited from UAngelscriptAbilityTask
static UClass StaticClass ()
static UAngelscriptAbilityTask CreateAbilityTaskAndRunIt (TSubclassOf< UAngelscriptAbilityTask > TaskType, UGameplayAbility ThisAbility, FName NewInstanceName=NAME_None)
 This method will both create the task and call ReadyForActivation on it for you immediately.
static UAngelscriptAbilityTask CreateAbilityTask (TSubclassOf< UAngelscriptAbilityTask > TaskType, UGameplayAbility ThisAbility, FName NewInstanceName=NAME_None, UObject Outer=nullptr)
 If you create a task using this function from AS, you must start it manually using ReadyForActivation. This is useful if you want to set up properties on the task before you run it.
Static Public Member Functions inherited from UAbilityTask
static UClass StaticClass ()
Static Public Member Functions inherited from UGameplayTask
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

AbilityTask_AI
FGameplayTagContainer OwnedTagsToAddWhileActive
 Tags to apply onto the avatar character while this task is active.
FGameplayTagContainer CancelIfCharacterLosesAnyOf
 Does an ExternalCancel whenever the AvatarCharacter loses one if these tags while the Task is active.
FGameplayTagContainer BlockAbilitiesWithTagsWhileActive
 Restricts all GAS abilities that have any of the given tags from activating while this Task is active.
FGameplayTagContainer CancelAbilitiesWithTagsOnActivate
 Cancels all GAS abilities that have any of the given tags when this Task activates.
FGameplayTagContainer CancelAbilitiesWithoutTagsOnActivate
 Cancels all GAS abilities that do not have any of the given tags when this Task activates.
FGameplayTagContainer CancelIfCharacterGainsAnyOf
 Does an ExternalCancel whenever the AvatarCharacter gains one if these tags while the Task is active.
Variables
const AGothicAIController Controller
 Controller this state belongs to.
const AGothicNPCState NPCState
 Persistent state of this character. (If it is an NPC).
const AGothicCharacter Self
 Character this state belongs to.
const AGothicCharacterState CharacterState
 Persistent state of this character.
Public Attributes inherited from UAbilityTaskCoroutine
bool bIsHighPriorityBudget
 If true, will enqueue this task into the HighPriority budget system queue. Can be changed dynamically at runtime to affect the next enqueue.
FName BudgetWorkload
 If set, uses the BudgetSystem to continue execution after the coroutine was paused. Can be changed dynamically at runtime to affect the next enqueue.
Public Attributes inherited from UAbilityTaskGeneric
FAbilityTaskEndedAnyResultDelegate__AbilityTaskGeneric OnTaskEnded
 Task ended (always called, no matter what the result is).
EGenericTaskResult TaskResult
 Use EndTaskAsSuccess() or EndTaskAsFailure() or set this before calling EndTask() to signal the end result of this task.
FInGameTime TimeTaskActivated
 Ingame time this task was activated.
const AGothicCharacter AvatarCharacter
 If the avatar is a GothicCharacter, returns it. Nullptr otherwise.
const AGothicCharacterState AvatarCharacterState
 If the avatar is a GothicCharacter, returns its CharacterState. Nullptr otherwise.
const AGothicAIController AvatarAIController
 If the avatar is controlled by an AIController, returns it. Nullptr otherwise.
const AGothicNPCState AvatarNPCState
 If the avatar is a n NPC, returns its NPCState. Nullptr otherwise.
const APlayerController AvatarPlayerController
 If the avatar is controlled by a PlayerController, returns it. Nullptr otherwise.
const FInGameTime InGameTimeNow
 Returns the current InGame-Time (fast-forwarded when the player sleeps).
const FInGameTime RuntimeInGame
 How long this task has been running for (in InGame-time).
const float32 RuntimeSeconds
 How long this task has been running for (in seconds).
const float32 TimeRequestedToSkip
 Returns how many seconds we're supposed to skip.
Public Attributes inherited from UAngelscriptAbilityTask
const UGameplayAbility Ability
 GameplayAbility that created us.
UAbilitySystemComponent AbilitySystemComponent
const bool IsSimulating
bool IsPausable
bool IsSimulatedTask
bool IsTickingTask
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Detailed Description

Scriptable AI Task, which can be used to let NPCs do multiple actions at the same time.

Member Function Documentation

◆ DisplayImGui()

void DisplayImGui ( )

Override to call ImGui:: Functions that are shown in the AIStates debug tool.

◆ GetCharacterState()

AGothicCharacterState GetCharacterState ( ) const

Persistent state of this character.

◆ GetController()

AGothicAIController GetController ( ) const

Controller this state belongs to.

◆ GetNPCState()

AGothicNPCState GetNPCState ( ) const

Persistent state of this character. (If it is an NPC).

◆ GetSelf()

AGothicCharacter GetSelf ( ) const

Character this state belongs to.

◆ ShouldShowTaskInfoInImGui()

bool ShouldShowTaskInfoInImGui ( )

Override decide whether to show the imgui info of the base-class (currently awaited task, etc).

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ BlockAbilitiesWithTagsWhileActive

FGameplayTagContainer BlockAbilitiesWithTagsWhileActive

Restricts all GAS abilities that have any of the given tags from activating while this Task is active.

◆ CancelAbilitiesWithoutTagsOnActivate

FGameplayTagContainer CancelAbilitiesWithoutTagsOnActivate

Cancels all GAS abilities that do not have any of the given tags when this Task activates.

◆ CancelAbilitiesWithTagsOnActivate

FGameplayTagContainer CancelAbilitiesWithTagsOnActivate

Cancels all GAS abilities that have any of the given tags when this Task activates.

◆ CancelIfCharacterGainsAnyOf

FGameplayTagContainer CancelIfCharacterGainsAnyOf

Does an ExternalCancel whenever the AvatarCharacter gains one if these tags while the Task is active.

◆ CancelIfCharacterLosesAnyOf

FGameplayTagContainer CancelIfCharacterLosesAnyOf

Does an ExternalCancel whenever the AvatarCharacter loses one if these tags while the Task is active.

◆ CharacterState

const AGothicCharacterState CharacterState

Persistent state of this character.

◆ Controller

const AGothicAIController Controller

Controller this state belongs to.

◆ NPCState

const AGothicNPCState NPCState

Persistent state of this character. (If it is an NPC).

◆ OwnedTagsToAddWhileActive

FGameplayTagContainer OwnedTagsToAddWhileActive

Tags to apply onto the avatar character while this task is active.

◆ Self

const AGothicCharacter Self

Character this state belongs to.