Files
FNGameProj/Source/FortniteGame/Public/FortMissionLibrary.h
2024-01-21 00:41:14 +01:00

213 lines
14 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "UObject/NoExportTypes.h"
#include "UObject/NoExportTypes.h"
#include "UObject/NoExportTypes.h"
#include "UObject/NoExportTypes.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "GameplayTagContainer.h"
#include "GameplayTagContainer.h"
#include "EFortEncounterDirection.h"
#include "EFortObjectiveStatus.h"
#include "EFortTeam.h"
#include "EPollActorsInVolumeTypes.h"
#include "EncounterEnvironmentQueryInfo.h"
#include "FortEncounterSettings.h"
#include "FortMissionEvent.h"
#include "FortMissionEventName.h"
#include "Templates/SubclassOf.h"
#include "TieredWaveSetCollectionData.h"
#include "TieredWaveSetData.h"
#include "FortMissionLibrary.generated.h"
class AActor;
class ABuildingActor;
class AFortBluGloManager;
class AFortMission;
class AFortPawn;
class AFortPickup;
class AFortPlacementActor;
class AFortPlayerController;
class AFortPlayerPawn;
class AFortPlayerStateZone;
class UBoxComponent;
class UDataAsset;
class UFortAIEncounterInfo;
class UFortMissionEventParams;
class UFortMissionInfo;
class UFortMissionItemDefinition;
class UFortSchematicItemDefinition;
class UFortWorldItemDefinition;
class UObject;
UCLASS(Blueprintable)
class FORTNITEGAME_API UFortMissionLibrary : public UBlueprintFunctionLibrary {
GENERATED_BODY()
public:
UFortMissionLibrary();
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static bool UnregisterForMissionEvents(AActor* ActorToUnregister, FGuid MissionGuid);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static void TeleportPlayerPawn(AFortPlayerPawn* PlayerPawn, FVector DestLocation, FRotator DestRotation, bool bIgnoreCollision, bool bIgnoreSupplementalKillVolumeSweep);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static void TeleportPawnNearLocation(AFortPawn* Pawn, FVector DestLocation);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void StopAIEncounterAgainstActor(UObject* WorldContextObject, AActor* TargetActor);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void StopAIEncounter(UObject* WorldContextObject, UFortAIEncounterInfo* ActiveEncounter, EFortObjectiveStatus ObjectiveStatus);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void StartPlayingMission(UObject* WorldContextObject, const FGuid& MissionGuid);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static UFortAIEncounterInfo* StartAIEncounterWithEnvironmentQuery(UObject* WorldContextObject, FString& AssociatedMissionName, TSubclassOf<UFortAIEncounterInfo> EncounterTemplate, AActor* TargetActor, FEncounterEnvironmentQueryInfo EnvironmentQueryInfo, AActor* QueryActor, FGameplayTagContainer InjectedTags, FFortEncounterSettings EncounterSettings, int32 ActivationDelay);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static UFortAIEncounterInfo* StartAIEncounter(UObject* WorldContextObject, FString& AssociatedMissionName, TSubclassOf<UFortAIEncounterInfo> EncounterTemplate, AActor* TargetActor, FGameplayTagContainer InjectedTags, FFortEncounterSettings EncounterSettings, int32 ActivationDelay);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static bool SpawnPlacementMissionActor(UObject* WorldContextObject, const TSubclassOf<AActor>& ActorToSpawn, const FVector& SpawnLocation, const FRotator& SpawnRotation, AActor* PlacementLocationActor, AActor*& OutSpawnedActor);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static AFortPickup* SpawnMissionItemPickupInWorld(UObject* WorldContextObject, FGuid MissionGuid, UFortWorldItemDefinition* ItemDefinition, int32 NumberToSpawn, FVector Position, FVector Direction, int32 OverrideMaxStackCount);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static AFortPickup* SpawnMissionItemPickup(UObject* WorldContextObject, FGuid MissionGuid, UFortMissionItemDefinition* MissionItemDefinition, FVector StartPosition, AFortPawn* TargetPawn);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static ABuildingActor* SpawnBuildingActorAtTransform(UObject* WorldContextObject, FGuid MissionGuid, TSubclassOf<ABuildingActor> BuildingClass, const FTransform& Transform);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static TArray<AActor*> SpawnAtPlacementActorsHelper(UObject* WorldContextObject, UClass* Entries, bool& bSucceeded);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SpawnAndCollectPlayerPickups(UObject* WorldContextObject, AFortPlayerController* PlayerController, FVector StartPosition, FName LootTierGroup, int32 LootTier);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static bool ShouldUseAlternateAIDirectorBalance();
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetWorldSavingEnabled(UObject* WorldContextObject, bool bEnabled);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetOnlinePresenceDoNotDisturb(UObject* WorldContextObject, bool bDoNotDisturb, AFortPlayerController* SpecificPlayer);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static bool RegisterMissionInfoUIActor(AActor* AttachmentActor, FGuid MissionGuid, FVector AttachementOffset, float MaxVisibleDistance);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static bool RegisterForMissionEvents(AActor* ActorToRegister, FGuid MissionGuid);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static int32 PollActorsInVolume(UObject* WorldContextObject, UBoxComponent* VolumeBoxComponent, TEnumAsByte<EPollActorsInVolumeTypes::Type> PollBuildingTypes, TSubclassOf<AActor> ActorClassToPoll);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void PingMinimap(UObject* WorldContextObject, FVector WorldLocation, FLinearColor PingColor, TEnumAsByte<EFortTeam::Type> RequiredTeam);
UFUNCTION(BlueprintCallable)
static int32 NumBluGloFromPlayerState(AFortPlayerStateZone* PlayerState);
UFUNCTION(BlueprintCallable)
static int32 NumBluGloFromPlayerPawn(AFortPlayerPawn* PlayerPawn);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void LoadMission(UObject* WorldContextObject, UFortMissionInfo* MissionInfo);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static bool IsUsingNewMissionGeneration(UObject* WorldContextObject);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static bool HasTags(const FGameplayTagContainer& ContainerToCheck, const FGameplayTagContainer& TagsToCheck, bool bRequireAll, bool bCountEmptyAsMatch);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static bool GiveMissionSchematicItemDirectlyToPlayer(UObject* WorldContextObject, AFortPlayerController* TargetPlayer, FGuid MissionGuid, UFortSchematicItemDefinition* SchematicDefinition);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void GiveMissionRewardsToPlayerAsPickups(UObject* WorldContextObject, FGuid MissionGuid, AFortPlayerController* PlayerController, FVector StartPosition, float Radius, FName LootTierGroup, int32 LootTier);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void GiveMissionRewardsToPlayer(UObject* WorldContextObject, FGuid EventGuid, AFortPlayerController* PlayerController, FText TitleText, FText DescriptionText, FName LootTierGroup, int32 LootTier, float RewardDisplayTime);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static void GetTieredWaveSet(FName TieredWaveCollectionName, int32 Tier, FTieredWaveSetCollectionData& WaveCollectionInfo, TArray<FTieredWaveSetData>& OutWaveData);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void GetTieredWaveBaseWaveLength(UObject* WorldContextObject, FName BaseWaveLengthRowName, float OverrideDifficulty, float& OutBaseWaveLength);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void GetTieredWaveBaseNumKills(UObject* WorldContextObject, FName BaseNumOfKillsRowName, float OverrideDifficulty, float& OutBaseNumKills);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void GetTieredWaveBaseNumKillPoints(UObject* WorldContextObject, FName BaseNumOfKillPointsRowName, float OverrideDifficulty, float& OutBaseNumKillPoints);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static AFortMission* GetPrimaryMission(UObject* WorldContextObject);
UFUNCTION(BlueprintCallable)
static float GetMissionHUDTextLineHeightEstimate(FText Text);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static AFortMission* GetMissionFromGuid(UObject* WorldContextObject, const FGuid& MissionGuid);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static TArray<AActor*> GetMissionActorsInVectorDirection(UObject* WorldContextObject, TSubclassOf<AActor> ActorSubclass, FVector StartLocation, FVector DirectionToLookForActors, float Angle, float MaxDistance);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static TArray<AActor*> GetMissionActorsInEncounterDirection(UObject* WorldContextObject, TSubclassOf<AActor> ActorSubclass, FVector StartLocation, TEnumAsByte<EFortEncounterDirection::Type> DirectionToLookForActors, float Angle, float MaxDistance);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static int32 GetLowestPlayerAccountLevel(UObject* WorldContextObject);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static int32 GetLocalPlayerAccountLevel(UObject* WorldContextObject);
UFUNCTION(BlueprintCallable)
static float GetIronCityWorldDifficulty(int32 AccountLevel);
UFUNCTION(BlueprintCallable)
static bool GetIronCityMinMaxPowerLevels(int32 DifficultyLevel, float& MinPowerLevel, float& MaxPowerLevel);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static AFortBluGloManager* GetBluGloManager(UObject* WorldContextObject);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static int32 GetAveragePlayerAccountLevel(UObject* WorldContextObject);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static TArray<AFortMission*> GetAllLoadedMissions(UObject* WorldContextObject);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
static AFortPlacementActor* FindOriginatingPlacementActor(ABuildingActor* BuildingActor);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static TArray<ABuildingActor*> FindActorsWithTags(UObject* WorldContextObject, const FGameplayTagContainer& Tags);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void ExecuteMissionEventEx(UObject* WorldContextObject, FFortMissionEventName EventType, FGuid MissionGuid, FGameplayTagContainer ObjectiveHandle, UFortMissionEventParams* Params, bool DO_NOT_USE_THIS_OR_VARIABLES_BELOW, UObject* EventFocus, UDataAsset* EventContent, AActor* EventInstigator, int32 GenericInt, float GenericFloat, FText GenericText, const FGameplayTagContainer GameplayTags);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void ExecuteMissionEvent(UObject* WorldContextObject, FName EventType, FGuid MissionGuid, FGameplayTagContainer ObjectiveHandle, UFortMissionEventParams* Params, bool DO_NOT_USE_THIS_OR_VARIABLES_BELOW, UObject* EventFocus, UDataAsset* EventContent, AActor* EventInstigator, int32 GenericInt, float GenericFloat, FText GenericText, const FGameplayTagContainer GameplayTags);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static FFortMissionEvent CreateMissionEvent(UObject* WorldContextObject, FName EventType, FGuid MissionGuid, FGameplayTagContainer ObjectiveHandle, UFortMissionEventParams* Params, bool DO_NOT_USE_THIS_OR_VARIABLES_BELOW, UObject* EventFocus, UDataAsset* EventContent, AActor* EventInstigator, int32 GenericInt, float GenericFloat, FText GenericText, const FGameplayTagContainer GameplayTags);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void CreateDynamicBuildingDeconstructor(UObject* WorldContextObject, FVector Origin, FVector BoxExtent, bool bIgnoreMissionActors, bool bShrinkAndDestroy);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void AdjustWaveBasedGameDifficulty(UObject* WorldContextObject, float fDifficultyAddMod);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void AddCompletionTagToMission(UObject* WorldContextObject, FGuid MissionGuid, FGameplayTag NewCompletionTag);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void AddCompletionTagsToMission(UObject* WorldContextObject, FGuid MissionGuid, FGameplayTagContainer NewCompletionTagContainer);
};