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

135 lines
4.8 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "Engine/DataAsset.h"
#include "DeepPathFinderType.h"
#include "GameplayTagContainer.h"
#include "ECreatureSize.h"
#include "EEnemyDescriptorCheatClass.h"
#include "EEnemySignificance.h"
#include "EVeteranScaling.h"
#include "EnemyDebris.h"
#include "SpawnRarityItem.h"
#include "Templates/SubclassOf.h"
#include "EnemyDescriptor.generated.h"
class AActor;
class APawn;
class UBiome;
class UCaveInfluencer;
class UDebrisPositioning;
class UEnemyDescriptor;
class UEnemyID;
class UMissionTemplate;
UCLASS(Blueprintable)
class FSD_API UEnemyDescriptor : public UDataAsset {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
UEnemyID* EnemyID;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSoftClassPtr<APawn> EnemyClass;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
EVeteranScaling VeteranScaling;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<UEnemyDescriptor*> VeteranClasses;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TMap<UBiome*, TSoftClassPtr<APawn>> BiomeEnemyClassOverrides;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSoftClassPtr<APawn> EliteEnemyClass;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSet<UMissionTemplate*> BannedMissionTypes;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
EEnemySignificance EnemySignificance;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVector SpawnOffset;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool UsesSpawnEffects;
UPROPERTY(EditAnywhere, meta=(AllowPrivateAccess=true))
ECreatureSize CreatureSize;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
UDebrisPositioning* Positioning;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
UCaveInfluencer* CaveInfluencer;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<FEnemyDebris> Debris;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float InfluencerRange;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSubclassOf<AActor> PlacementCarver;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
DeepPathFinderType PathfinderType;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FGameplayTagQuery PlacementRoomQuery;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float SpawnSpread;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 IdealSpawnSize;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool CanBeUsedForConstantPressure;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool CanBeUsedInEncounters;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float DifficultyRating;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 MinSpawnCount;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 MaxSpawnCount;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float Rarity;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float SpawnAmountModifier;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 RequiredMainCampaignProgress;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool UsesSpawnRarityModifiers;
UPROPERTY(BlueprintReadWrite, EditAnywhere, EditFixedSize, meta=(AllowPrivateAccess=true))
TArray<FSpawnRarityItem> SpawnRarityModifiers;
UPROPERTY(AssetRegistrySearchable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
EEnemyDescriptorCheatClass CheatClass;
public:
UEnemyDescriptor();
UFUNCTION(BlueprintCallable, BlueprintPure)
TSubclassOf<APawn> GetEnemyClass(UBiome* Biome, bool IsElite) const;
UFUNCTION(BlueprintCallable)
static TArray<UEnemyDescriptor*> FindDescriptorsForCheatMenu(EEnemyDescriptorCheatClass NewCheatClass);
UFUNCTION(BlueprintCallable)
static TArray<UEnemyDescriptor*> FindAllDescriptorsForCheatMenu();
};