DRG-Femboy-Voice/Source/FSD/Public/AIFunctionLibrary.h
2025-04-15 12:39:31 -07:00

49 lines
2.3 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "AIFunctionLibrary.generated.h"
class AActor;
class APawn;
class APlayerCharacter;
class UAttackerPositioningComponent;
class UObject;
UCLASS(Blueprintable)
class UAIFunctionLibrary : public UBlueprintFunctionLibrary {
GENERATED_BODY()
public:
UAIFunctionLibrary();
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static void SetAICanSense(bool canSense);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static int32 MakeEnemiesFleeFromArea(UObject* WorldContextObject, const FVector& Center, float Radius, int32 maxEnemiesAffected);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void MakeEnemiesBackOutOfArea(UObject* WorldContextObject, const FVector& Center, float Radius);
UFUNCTION(BlueprintCallable, BlueprintPure)
static bool IsEnemyAlertet(APawn* enemy);
UFUNCTION(BlueprintCallable, BlueprintPure)
static APlayerCharacter* GetPlayerTarget(AActor* From, float MaxDistance, bool MustBeAlive, bool MustBeUnparalyzed, bool accountForAttackers, AActor* ignoreTarget, bool IsFlying);
UFUNCTION(BlueprintCallable, BlueprintPure)
static bool GetAttackableTargetsInRange(AActor* From, TArray<UAttackerPositioningComponent*>& outArray, float MaxDistance, bool MustBeAlive, bool MustBeUnparalyzed, bool accountForAttackers, AActor* ignoreTarget, bool IsFlying);
UFUNCTION(BlueprintCallable, BlueprintPure)
static UAttackerPositioningComponent* GetAttackableTarget(AActor* From, float MaxDistance, bool MustBeAlive, bool MustBeUnparalyzed, bool accountForAttackers, AActor* ignoreTarget, bool IsFlying);
UFUNCTION(BlueprintCallable, BlueprintPure)
static APlayerCharacter* ConsiderChangingTarget(APlayerCharacter* CurrentTarget, AActor* From, float MaxDistance, bool MustBeAlive, bool MustBeUnparalyzed, bool CurrentTargetMustBeAlive, bool IsFlying);
UFUNCTION(BlueprintCallable)
static void AlertEnemy(APawn* enemy);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void AlertEnemiesInRange(UObject* WorldContextObject, FVector Origin, float range, APawn* alerter);
};