135 lines
4.8 KiB
C++
Executable file
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();
|
|
|
|
};
|
|
|