#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: Spawners

#include "Basic.hpp"

#include "GameplayTags_structs.hpp"
#include "Spawners_structs.hpp"
#include "NavigationSystem_classes.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "DeveloperSettings_classes.hpp"
#include "AIModule_classes.hpp"


namespace SDK
{

// Class Spawners.AppearancePresetsDataAsset
// 0x0050 (0x0080 - 0x0030)
class UAppearancePresetsDataAsset final : public UPrimaryDataAsset
{
public:
	TMap<struct FGameplayTag, struct FAppearanceSpawnData> AppearancePresets;                        // 0x0030(0x0050)(Edit, DisableEditOnInstance, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AppearancePresetsDataAsset")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AppearancePresetsDataAsset")
	}
	static class UAppearancePresetsDataAsset* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAppearancePresetsDataAsset>();
	}
};
DUMPER7_ASSERTS_UAppearancePresetsDataAsset;

// Class Spawners.BTSpawner
// 0x00B0 (0x0378 - 0x02C8)
class ABTSpawner : public AActor
{
public:
	uint8                                         Pad_2C8[0x8];                                      // 0x02C8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void()>              OnActorAwaken;                                     // 0x02D0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AActor* Actor)> AfterSpawn;                                  // 0x02E0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	bool                                          bEnabled;                                          // 0x02F0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bAutoSpawn;                                        // 0x02F1(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2F2[0x2];                                      // 0x02F2(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           EncounterTag;                                      // 0x02F4(0x0008)(Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bSpawnDead;                                        // 0x02FC(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2FD[0x3];                                      // 0x02FD(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  TagsToAddAfterSpawn;                               // 0x0300(0x0020)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	bool                                          bAutoRespawn;                                      // 0x0320(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_321[0x3];                                      // 0x0321(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         AutoRespawnDelay;                                  // 0x0324(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UInteractionGenericEventReceiverComponent* EventReceiver;                                  // 0x0328(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class USceneComponent*                        RootSceneComponent;                                // 0x0330(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class UInteractionGenericEventReceiverComponent> OwningEntityEventComponent;      // 0x0338(0x0028)(BlueprintVisible, ExportObject, BlueprintReadOnly, InstancedReference, SaveGame, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_360[0x10];                                     // 0x0360(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          bCharacterSpawned;                                 // 0x0370(0x0001)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_371[0x7];                                      // 0x0371(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void DisableSpawner();
	void EnableSpawner();
	void LoadCharacterClassAsync();
	void ResetSpawner(const bool bRemoveCharacter);
	void Respawn();
	bool Spawn();

	void AwakenCharacter() const;
	void Despawn() const;
	class AActor* GetSpawnedActor() const;
	class AAIController* GetSpawnedAiController() const;
	class ACharacter* GetSpawnedCharacter() const;
	bool IsSpawnerEnabled() const;
	void KillCharacter() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTSpawner")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTSpawner")
	}
	static class ABTSpawner* GetDefaultObj()
	{
		return GetDefaultObjImpl<ABTSpawner>();
	}
};
DUMPER7_ASSERTS_ABTSpawner;

// Class Spawners.BTEnemySpawner
// 0x0488 (0x0800 - 0x0378)
#pragma pack(push, 0x1)
class alignas(0x10) ABTEnemySpawner : public ABTSpawner
{
public:
	class UBTNavigationInvokerComponent*          NavInvokerComp;                                    // 0x0378(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EEnemyArchetype                               EnemyArchetype;                                    // 0x0380(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         DefaultAttributes;                                 // 0x0381(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Rank;                                              // 0x0382(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_383[0x1];                                      // 0x0383(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	class FName                                   ScenarioPivotName;                                 // 0x0384(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_38C[0x4];                                      // 0x038C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class USpawnBehaviorSettings*                 SpawningBehaviorSettings;                          // 0x0390(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FInstancedStruct                       DemandsData;                                       // 0x0398(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FDataTableRowHandle                    PerceptionPresets;                                 // 0x03A8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, NativeAccessSpecifierPublic)
	bool                                          bPersistentPerceptionOverride;                     // 0x03B8(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3B9[0x7];                                      // 0x03B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FSpawnExtraOptions                     ExtraOptions;                                      // 0x03C0(0x0070)(Edit, NativeAccessSpecifierPublic)
	TArray<TSubclassOf<class UGameplayEffect>>    SpawnGameplayEffects;                              // 0x0430(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class USmortModifier>          BehaviorModifier;                                  // 0x0440(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, AdvancedDisplay, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGameplayTag                           AppearancePreset;                                  // 0x0468(0x0008)(Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bRandomizeGender;                                  // 0x0470(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGenders                                      Gender;                                            // 0x0471(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_472[0x6];                                      // 0x0472(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  AppearanceTags;                                    // 0x0478(0x0020)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	bool                                          bOverrideTentacleRibbonCount;                      // 0x0498(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_499[0x3];                                      // 0x0499(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         TentacleRibbonCount;                               // 0x049C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         NavGenerationRangeFactor;                          // 0x04A0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bAbandonSpawnedCharacter;                          // 0x04A4(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bForceGameplayStart;                               // 0x04A5(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4A6[0x2];                                      // 0x04A6(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         SeedOverride;                                      // 0x04A8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4AC[0x4];                                      // 0x04AC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TSoftObjectPtr<class ASpawnScenario>          ScenarioActor;                                     // 0x04B0(0x0028)(Edit, BlueprintVisible, Protected, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TArray<struct FSpawnAnimationsConfigList>     Configs;                                           // 0x04D8(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_4E8[0x8];                                      // 0x04E8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FEnemySpawnProperties                  SpawnProperties;                                   // 0x04F0(0x0240)(Transient, ContainsInstancedReference, NativeAccessSpecifierPrivate)
	uint8                                         Pad_730[0x50];                                     // 0x0730(0x0050)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<TSubclassOf<class UGameplayEffect>, struct FGameplayTagContainer> BlockedGameplayEffects;   // 0x0780(0x0050)(Edit, DisableEditOnInstance, NativeAccessSpecifierPrivate)
	struct FGameplayTagContainer                  BlockedGameplayTags;                               // 0x07D0(0x0020)(Edit, DisableEditOnInstance, NativeAccessSpecifierPrivate)
	float                                         WorldPartitionGridSize;                            // 0x07F0(0x0004)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         WorldPartitionLoadingRange;                        // 0x07F4(0x0004)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	class UEnemySpawnHandle* K2_LatentSpawn(const struct FLatentActionInfo& LatentInfo);
	bool LoadDependenciesSynchronously();
	void OnSpawnerEvent(const struct FInteractionActivationData& EventData);
	void SetEnemyArchetype(EEnemyArchetype InArchetype);
	void SetEnemyAttributes(int32 InAttributes);
	void SetEnemyRank(const uint8 InRank);
	void SetExtraOptions(const struct FSpawnExtraOptions& NewExtraOptions);
	class AActor* SpawnSynchronously();

	struct FSpawnExtraOptions GetExtraOptions() const;
	void LoadEnemyClassSynchronously() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTEnemySpawner")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTEnemySpawner")
	}
	static class ABTEnemySpawner* GetDefaultObj()
	{
		return GetDefaultObjImpl<ABTEnemySpawner>();
	}
};
#pragma pack(pop)
DUMPER7_ASSERTS_ABTEnemySpawner;

// Class Spawners.BTNavigationInvokerComponent
// 0x0000 (0x00B0 - 0x00B0)
class UBTNavigationInvokerComponent final : public UNavigationInvokerComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTNavigationInvokerComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTNavigationInvokerComponent")
	}
	static class UBTNavigationInvokerComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBTNavigationInvokerComponent>();
	}
};
DUMPER7_ASSERTS_UBTNavigationInvokerComponent;

// Class Spawners.BTPerceptionComponent
// 0x0000 (0x0190 - 0x0190)
class UBTPerceptionComponent final : public UAIPerceptionComponent
{
public:
	void ClearSenses();

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTPerceptionComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTPerceptionComponent")
	}
	static class UBTPerceptionComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBTPerceptionComponent>();
	}
};
DUMPER7_ASSERTS_UBTPerceptionComponent;

// Class Spawners.SpawnerEventData
// 0x0008 (0x0030 - 0x0028)
class USpawnerEventData final : public UObject
{
public:
	ESpawnerEventType                             EventType;                                         // 0x0028(0x0001)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_29[0x7];                                       // 0x0029(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnerEventData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnerEventData")
	}
	static class USpawnerEventData* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnerEventData>();
	}
};
DUMPER7_ASSERTS_USpawnerEventData;

// Class Spawners.BTSpawnableController
// 0x0000 (0x0000 - 0x0000)
class IBTSpawnableController final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTSpawnableController")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTSpawnableController")
	}
	static class IBTSpawnableController* GetDefaultObj()
	{
		return GetDefaultObjImpl<IBTSpawnableController>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IBTSpawnableController;

// Class Spawners.BTSpawnableCharacter
// 0x0000 (0x0000 - 0x0000)
class IBTSpawnableCharacter final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTSpawnableCharacter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTSpawnableCharacter")
	}
	static class IBTSpawnableCharacter* GetDefaultObj()
	{
		return GetDefaultObjImpl<IBTSpawnableCharacter>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IBTSpawnableCharacter;

// Class Spawners.BTSpawnerInterface
// 0x0000 (0x0000 - 0x0000)
class IBTSpawnerInterface final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTSpawnerInterface")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTSpawnerInterface")
	}
	static class IBTSpawnerInterface* GetDefaultObj()
	{
		return GetDefaultObjImpl<IBTSpawnerInterface>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IBTSpawnerInterface;

// Class Spawners.BTActionPoint
// 0x0000 (0x0000 - 0x0000)
class IBTActionPoint final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BTActionPoint")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BTActionPoint")
	}
	static class IBTActionPoint* GetDefaultObj()
	{
		return GetDefaultObjImpl<IBTActionPoint>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IBTActionPoint;

// Class Spawners.PreviewProvider
// 0x0000 (0x0000 - 0x0000)
class IPreviewProvider final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("PreviewProvider")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"PreviewProvider")
	}
	static class IPreviewProvider* GetDefaultObj()
	{
		return GetDefaultObjImpl<IPreviewProvider>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IPreviewProvider;

// Class Spawners.SpawnStreamingResourceProvider
// 0x0000 (0x0000 - 0x0000)
class ISpawnStreamingResourceProvider final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnStreamingResourceProvider")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnStreamingResourceProvider")
	}
	static class ISpawnStreamingResourceProvider* GetDefaultObj()
	{
		return GetDefaultObjImpl<ISpawnStreamingResourceProvider>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_ISpawnStreamingResourceProvider;

// Class Spawners.EnemiesSpawnData
// 0x0050 (0x0080 - 0x0030)
class UEnemiesSpawnData final : public UDataAsset
{
public:
	struct FMonstersOffsets                       SpawnOffsets;                                      // 0x0030(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnemiesSpawnData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnemiesSpawnData")
	}
	static class UEnemiesSpawnData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnemiesSpawnData>();
	}
};
DUMPER7_ASSERTS_UEnemiesSpawnData;

// Class Spawners.EnemyManagerSerializer
// 0x0000 (0x00A0 - 0x00A0)
class UEnemyManagerSerializer final : public UActorComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnemyManagerSerializer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnemyManagerSerializer")
	}
	static class UEnemyManagerSerializer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnemyManagerSerializer>();
	}
};
DUMPER7_ASSERTS_UEnemyManagerSerializer;

// Class Spawners.EnemyManagerSubsystem
// 0x0868 (0x0898 - 0x0030)
class UEnemyManagerSubsystem : public UWorldSubsystem
{
public:
	uint8                                         Pad_30[0x8];                                       // 0x0030(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(const class AActor* EnemyActor, EEnemyArchetype EnemyType)> OnEnemySpawned; // 0x0038(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnCombatStarted;                                   // 0x0048(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnCombatEnded;                                     // 0x0058(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const struct FGameplayTag& EncounterTag)> OnEncounterStarted;      // 0x0068(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const struct FGameplayTag& EncounterTag)> OnEncounterEnded;        // 0x0078(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const EEnemyArchetype EnemyType, const uint8 EnemyRank)> OnEnemyStartedCombat; // 0x0088(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnEncounterStartedCombat;                          // 0x0098(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const EEnemyArchetype EnemyType, const uint8 EnemyRank)> OnEnemyJoinedCombat; // 0x00A8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const class AActor* EnemyActor, EEnemyArchetype EnemyType, const uint8 EnemyRank)> OnEnemyDied; // 0x00B8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnEnemyStartedAbsorption;                          // 0x00C8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnEnemyFinishedAbsorption;                         // 0x00D8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnAbsorptionInterrupted;                           // 0x00E8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const EEnemyArchetype EnemyType, const uint8 NewRank)> OnEnemyChangedRank; // 0x00F8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const class AActor* CorpseActor)> OnCorpseAdded;                   // 0x0108(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const class AActor* CorpseActor)> OnCorpseRemoved;                 // 0x0118(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnAllEnemiesHidden;                                // 0x0128(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnAllEnemiesShown;                                 // 0x0138(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_148[0x78];                                     // 0x0148(0x0078)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<EEnemyArchetype, TSubclassOf<class ACharacter>> LoadedCharacterClasses;                     // 0x01C0(0x0050)(UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<struct FGuid, class UEnemySpawnHandle*>  PendingSpawnHandles;                               // 0x0210(0x0050)(UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<struct FGuid, struct FEnemyStreamingContext> StreamingDependencies;                         // 0x0260(0x0050)(Transient, NativeAccessSpecifierPrivate)
	TMap<EEnemyArchetype, class UObject*>         AppearanceData;                                    // 0x02B0(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<EEnemyArchetype, class UObject*>         MutationData;                                      // 0x0300(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<EEnemyArchetype, class UObject*>         DamageData;                                        // 0x0350(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	TSet<struct FGuid>                            SpawnOnDependenciesLoaded;                         // 0x03A0(0x0050)(Transient, NativeAccessSpecifierPrivate)
	uint8                                         Pad_3F0[0x150];                                    // 0x03F0(0x0150)(Fixing Size After Last Property [ Dumper-7 ])
	class UEnemyClassConfigData*                  EnemyClassConfig;                                  // 0x0540(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TSet<EEnemyArchetype>                         AllowedTypesForSimpleCorpses;                      // 0x0548(0x0050)(Edit, DisableEditOnInstance, NativeAccessSpecifierPrivate)
	TSubclassOf<class AActor>                     CorpseClass;                                       // 0x0598(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UEnemiesSpawnData*                      EnemySpawnData;                                    // 0x05A0(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UAppearancePresetsDataAsset*            AppearancePresets;                                 // 0x05A8(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TArray<EEnemyArchetype>                       EnemiesNotAffectingCombatState;                    // 0x05B0(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, NativeAccessSpecifierPrivate)
	float                                         CachedFloorTolerance;                              // 0x05C0(0x0004)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_5C4[0x4];                                      // 0x05C4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<EEnemyArchetype, uint8>                  DefaultAttributes;                                 // 0x05C8(0x0050)(Transient, NativeAccessSpecifierPrivate)
	struct FGameplayTagContainer                  DefaultEnemyTags;                                  // 0x0618(0x0020)(Transient, NativeAccessSpecifierPrivate)
	TArray<EEnemyArchetype>                       StationaryEnemies;                                 // 0x0638(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPrivate)
	uint8                                         Pad_648[0x10];                                     // 0x0648(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<struct FGuid, struct FSpawnerActorData>  SpawnerDataMap;                                    // 0x0658(0x0050)(Transient, NativeAccessSpecifierPrivate)
	TMap<struct FGuid, struct FEnemyActorData>    EnemyActorsMap;                                    // 0x06A8(0x0050)(Transient, NativeAccessSpecifierPrivate)
	TMap<struct FGuid, struct FGuid>              SpawnerToEnemyMap;                                 // 0x06F8(0x0050)(SaveGame, NativeAccessSpecifierPrivate)
	TMap<struct FGuid, struct FGuid>              EnemyToSpawnerMap;                                 // 0x0748(0x0050)(SaveGame, NativeAccessSpecifierPrivate)
	TMap<struct FGuid, struct FCachedEnemyData>   EnemyRespawnDataMap;                               // 0x0798(0x0050)(SaveGame, ContainsInstancedReference, NativeAccessSpecifierPrivate)
	TArray<struct FGuid>                          LoadedEnemyIDs;                                    // 0x07E8(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPrivate)
	TArray<struct FGuid>                          RemovedEnemyIDs;                                   // 0x07F8(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPrivate)
	TArray<struct FGuid>                          PendingEnemyIDs;                                   // 0x0808(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPrivate)
	TSet<struct FGuid>                            EnemyCorpseIDs;                                    // 0x0818(0x0050)(SaveGame, NativeAccessSpecifierPrivate)
	TArray<struct FGuid>                          SpawnQueue;                                        // 0x0868(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPrivate)
	TArray<struct FBehaviorModifierData>          BehaviorModifiers;                                 // 0x0878(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPrivate)
	TArray<uint8>                                 ObjectsData;                                       // 0x0888(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPrivate)

public:
	void ClearAllEnemyData();
	void ClearEnemyData(const bool bLoaded, const bool bUnloaded, const bool bCorpses, const bool bQueued);
	TSubclassOf<class ACharacter> GetClassForArchetype(const EEnemyArchetype InEnemyType);
	struct FVector GetCorpseLocation(const class AActor* CorpseActor);
	void HideAllEnemies(const bool bIncludeCorpses);
	void IsolateEnemy(const class FString& IDSnippet);
	class UClass* LoadCharacterClassSynchronously(const EEnemyArchetype EnemyType);
	bool LoadDependenciesSynchronously(const struct FEnemySpawnProperties& SpawnProperties);
	void RemoveTimedBehaviorModifier(struct FBehaviorModifierData* ModifierToRemove);
	void ShowAllEnemies(const bool bIncludeCorpses);
	class UEnemySpawnHandle* SpawnEnemy(class AActor* InstigatingSpawner, const struct FTransform& InTransform, const struct FEnemySpawnProperties& InSpawnProperties, const bool bSpawnDead, const bool bAdjustLocation, const bool bAbandonOnSpawn);
	bool UpdateEnemySleepMode(const EBTSpawnSleepMode NewSleepMode, const struct FGuid& InEnemyID, const class AActor* SpawnerActor);

	void DisableAllEnemies() const;
	void EnableAllEnemies() const;
	TArray<class AActor*> GetAllActiveEnemiesWithTag(const struct FGameplayTag& Tag, const bool bIncludeCorpses) const;
	TArray<struct FGuid> GetAllActiveEnemyIDs(const bool bIncludeCorpses) const;
	TArray<class AActor*> GetAllCorpses() const;
	TArray<class AActor*> GetAllEnemiesInCombat() const;
	TArray<class AActor*> GetAllLoadedEnemies(const bool bIncludeCorpses) const;
	int32 GetAmountOfEnemiesInCombat() const;
	struct FGameplayTagContainer GetBehaviorModifiers() const;
	class AActor* GetCenterEnemy(const float InRadius) const;
	TMap<EEnemyArchetype, int32> GetEnemyTypesInCombat() const;
	TArray<class AActor*> GetNearbyEnemies(const struct FVector& InLocation, const float SearchRadius) const;
	class ACharacter* GetSpawnedCharacter(const class AActor* InSpawner) const;
	bool IsAnyEnemyInCombat() const;
	bool IsEnemyStationary(const class AActor* InEnemyActor) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnemyManagerSubsystem")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnemyManagerSubsystem")
	}
	static class UEnemyManagerSubsystem* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnemyManagerSubsystem>();
	}
};
DUMPER7_ASSERTS_UEnemyManagerSubsystem;

// Class Spawners.EnemySpawnHandle
// 0x0030 (0x0058 - 0x0028)
class UEnemySpawnHandle final : public UObject
{
public:
	uint8                                         Pad_28[0x30];                                      // 0x0028(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class AActor* GetSpawnedActor() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnemySpawnHandle")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnemySpawnHandle")
	}
	static class UEnemySpawnHandle* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnemySpawnHandle>();
	}
};
DUMPER7_ASSERTS_UEnemySpawnHandle;

// Class Spawners.EnemyClassConfigData
// 0x0050 (0x0080 - 0x0030)
class UEnemyClassConfigData final : public UDataAsset
{
public:
	TMap<EEnemyArchetype, TSoftClassPtr<class UClass>> ClassMap;                                     // 0x0030(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, DisableEditOnInstance, UObjectWrapper, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnemyClassConfigData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnemyClassConfigData")
	}
	static class UEnemyClassConfigData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnemyClassConfigData>();
	}
};
DUMPER7_ASSERTS_UEnemyClassConfigData;

// Class Spawners.EnemySubsystemSettings
// 0x0290 (0x02C8 - 0x0038)
class UEnemySubsystemSettings final : public UDeveloperSettings
{
public:
	TMap<EEnemyArchetype, uint8>                  DefaultAttributes;                                 // 0x0038(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NativeAccessSpecifierPublic)
	struct FGameplayTagContainer                  DefaultEnemyTags;                                  // 0x0088(0x0020)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class USpawnersPreviewConfigs> EnemyPreviewsData;                                 // 0x00A8(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Config, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class UEnemiesSpawnData>       SpawnData;                                         // 0x00D0(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Config, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMap<EEnemyArchetype, struct FSoftObjectPath> AppearanceAssets;                                  // 0x00F8(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NativeAccessSpecifierPublic)
	TMap<EEnemyArchetype, struct FSoftObjectPath> MutationAssets;                                    // 0x0148(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NativeAccessSpecifierPublic)
	TMap<EEnemyArchetype, struct FSoftObjectPath> DamageAssets;                                      // 0x0198(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NativeAccessSpecifierPublic)
	TMap<EEnemyArchetype, int32>                  ArchetypeNavAgentIndex;                            // 0x01E8(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NativeAccessSpecifierPublic)
	TMap<struct FGameplayTag, float>              DamageMap;                                         // 0x0238(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class UEnemyClassConfigData>   EnemyClassConfig;                                  // 0x0288(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Config, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         EnemyRelevancyDistance;                            // 0x02B0(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         EnemyUnloadDistance;                               // 0x02B4(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         ZKillDistance;                                     // 0x02B8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         CorpseSimplificationDistance;                      // 0x02BC(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         SystemUpdateRate;                                  // 0x02C0(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         MaxTimeBetweenEnemyUpdates;                        // 0x02C4(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnemySubsystemSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnemySubsystemSettings")
	}
	static class UEnemySubsystemSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnemySubsystemSettings>();
	}
};
DUMPER7_ASSERTS_UEnemySubsystemSettings;

// Class Spawners.FearNest
// 0x00D0 (0x0398 - 0x02C8)
class AFearNest final : public AActor
{
public:
	TMulticastInlineDelegate<void(class AFearNest* Actor)> OnNestDestroyed;                          // 0x02C8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnNestActivated;                                   // 0x02D8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	class USceneComponent*                        SceneRootComponent;                                // 0x02E8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class USceneComponent*                        MeshContainer;                                     // 0x02F0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class USceneComponent*                        SpawnMarker;                                       // 0x02F8(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class USceneComponent*                        ExplosionVFXMarker;                                // 0x0300(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UStaticMeshComponent*                   HeartMeshComponent;                                // 0x0308(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UBoxComponent*                          ActivationTrigger;                                 // 0x0310(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UAkComponent*                           AkComponent;                                       // 0x0318(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseBoxTrigger;                                    // 0x0320(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_321[0x3];                                      // 0x0321(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         ForceDeactivationDistance;                         // 0x0324(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftClassPtr<class UClass>                   FearClass;                                         // 0x0328(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxHealth;                                         // 0x0350(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         SpawnLimit;                                        // 0x0354(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SpawnDelay;                                        // 0x0358(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         FearRank;                                          // 0x035C(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_35D[0x3];                                      // 0x035D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UAkAudioEvent*                          NestIdleAudioEventStart;                           // 0x0360(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UAkAudioEvent*                          NestIdleAudioEventEnd;                             // 0x0368(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UAkAudioEvent*                          SpawnFearAudioEvent;                               // 0x0370(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_378[0x1C];                                     // 0x0378(0x001C)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         CurrentHealth;                                     // 0x0394(0x0004)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	void HandleDeath();
	void OnFearDestroyed(class AActor* DestroyedActor);
	void OnLoadedDead();
	void OnPointDamage(class AActor* DamagedActor, const float Damage, class AController* InstigatedBy, const struct FVector& HitLocation, class UPrimitiveComponent* HitComponent, class FName BoneName, const struct FVector& ShotFromDirection, const class UDamageType* DamageType, class AActor* DamageCauser);
	void OnRadialDamage(class AActor* DamagedActor, float Damage, const class UDamageType* DamageType, const struct FVector& Origin, const struct FHitResult& HitInfo, class AController* InstigatedBy, class AActor* DamageCauser);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("FearNest")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"FearNest")
	}
	static class AFearNest* GetDefaultObj()
	{
		return GetDefaultObjImpl<AFearNest>();
	}
};
DUMPER7_ASSERTS_AFearNest;

// Class Spawners.GenderComponent
// 0x0008 (0x00A8 - 0x00A0)
class UGenderComponent final : public UActorComponent
{
public:
	EGenders                                      Gender;                                            // 0x00A0(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A1[0x7];                                       // 0x00A1(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetGender(EGenders NewGender);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GenderComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GenderComponent")
	}
	static class UGenderComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGenderComponent>();
	}
};
DUMPER7_ASSERTS_UGenderComponent;

// Class Spawners.K2Node_SpawnEnemy
// 0x0030 (0x0060 - 0x0030)
class UK2Node_SpawnEnemy final : public UBlueprintAsyncActionBase
{
public:
	class UObject*                                WorldContext;                                      // 0x0030(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UEnemySpawnHandle*                      SpawnHandle;                                       // 0x0038(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TMulticastInlineDelegate<void(class AActor* SpawnedActor)> Completed;                            // 0x0040(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              Failed;                                            // 0x0050(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	static class UK2Node_SpawnEnemy* RequestEnemySpawn(const class UObject* ContextObject, const struct FTransform& InTransform, const struct FEnemySpawnProperties& SpawnProperties, const bool bSpawnDead, const bool bAdjustLocation, const bool bAbandonOnSpawn);

	void InternalCompleted() const;
	void InternalFailed() const;
	void QueuedSpawnFinished(class AActor* SpawnedActor) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("K2Node_SpawnEnemy")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"K2Node_SpawnEnemy")
	}
	static class UK2Node_SpawnEnemy* GetDefaultObj()
	{
		return GetDefaultObjImpl<UK2Node_SpawnEnemy>();
	}
};
DUMPER7_ASSERTS_UK2Node_SpawnEnemy;

// Class Spawners.RareEnemySpawner
// 0x0070 (0x03E8 - 0x0378)
class ARareEnemySpawner final : public ABTSpawner
{
public:
	TMulticastInlineDelegate<void(class ACharacter* SpawnedActor)> OnCharacterSpawned;               // 0x0378(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TSoftClassPtr<class UClass>                   CharacterClass;                                    // 0x0388(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bAutoAdjustSpawnLocation;                          // 0x03B0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3B1[0x7];                                      // 0x03B1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                SpawnOffset;                                       // 0x03B8(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSubclassOf<class ACharacter>                 ClassToSpawn;                                      // 0x03D0(0x0008)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_3D8[0x10];                                     // 0x03D8(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnClassLoaded();

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RareEnemySpawner")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RareEnemySpawner")
	}
	static class ARareEnemySpawner* GetDefaultObj()
	{
		return GetDefaultObjImpl<ARareEnemySpawner>();
	}
};
DUMPER7_ASSERTS_ARareEnemySpawner;

// Class Spawners.SpawnAnimationConfig
// 0x0050 (0x0080 - 0x0030)
class USpawnAnimationConfig final : public UDataAsset
{
public:
	uint8                                         Pad_30[0x8];                                       // 0x0030(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UAnimMontage*                           AnimMontage;                                       // 0x0038(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         InitialDelay;                                      // 0x0040(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   PivotKey;                                          // 0x0044(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4C[0x4];                                       // 0x004C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  AnimationTags;                                     // 0x0050(0x0020)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	struct FInstancedPropertyBag                  Parameters;                                        // 0x0070(0x0010)(Edit, DisableEditOnInstance, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnAnimationConfig")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnAnimationConfig")
	}
	static class USpawnAnimationConfig* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnAnimationConfig>();
	}
};
DUMPER7_ASSERTS_USpawnAnimationConfig;

// Class Spawners.SpawnAnimationOptions
// 0x0060 (0x0090 - 0x0030)
class USpawnAnimationOptions final : public UDataAsset
{
public:
	TArray<class UAnimMontage*>                   Animations;                                        // 0x0030(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NativeAccessSpecifierPublic)
	TMap<TSubclassOf<class ASpawnScenario>, struct FSpawnScenarioConfigOptions> SpawnScenariosOptions; // 0x0040(0x0050)(Edit, BlueprintVisible, DisableEditOnInstance, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnAnimationOptions")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnAnimationOptions")
	}
	static class USpawnAnimationOptions* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnAnimationOptions>();
	}
};
DUMPER7_ASSERTS_USpawnAnimationOptions;

// Class Spawners.SpawnBehavior
// 0x0010 (0x0038 - 0x0028)
class USpawnBehavior : public UObject
{
public:
	TSubclassOf<class USpawnBehaviorConfig>       BehaviorConfigClass;                               // 0x0028(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bRequiresNavMesh;                                  // 0x0030(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EEnemyBehaviorLoadingType                     BehaviorLoadingType;                               // 0x0031(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMovementMode                                 SpawnMovementMode;                                 // 0x0032(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_33[0x5];                                       // 0x0033(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class AActor* GetPlayer(class AAIController* InAIController) const;
	void Receive_Activate(class AAIController* InAIController, class APawn* InPawn, class USpawnBehaviorConfig* InBehData, const struct FSpawnContext& InSpawnContext) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnBehavior")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnBehavior")
	}
	static class USpawnBehavior* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnBehavior>();
	}
};
DUMPER7_ASSERTS_USpawnBehavior;

// Class Spawners.SpawnBehaviorConfig
// 0x0010 (0x0038 - 0x0028)
class USpawnBehaviorConfig : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         BehaviorScore;                                     // 0x0030(0x0004)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_34[0x4];                                       // 0x0034(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnBehaviorConfig")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnBehaviorConfig")
	}
	static class USpawnBehaviorConfig* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnBehaviorConfig>();
	}
};
DUMPER7_ASSERTS_USpawnBehaviorConfig;

// Class Spawners.SpawnBehaviorConfig_BlueprintBase
// 0x0000 (0x0038 - 0x0038)
class USpawnBehaviorConfig_BlueprintBase final : public USpawnBehaviorConfig
{
public:
	void Receive_DrawDebug(class ABTEnemySpawner* OwningSpawner);
	void Receive_GatherRelatedActors(TArray<TSoftObjectPtr<class AActor>>* OutActors);
	void Receive_GatherStreamableObjects(TArray<TSoftObjectPtr<class UObject>>* OutObjects);
	class UAnimationAsset* Receive_ProvidePreviewAnim();
	TSubclassOf<class ASpawnScenario> Receive_ProvideScenario();

	class FString Receive_GetDebugString() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnBehaviorConfig_BlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnBehaviorConfig_BlueprintBase")
	}
	static class USpawnBehaviorConfig_BlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnBehaviorConfig_BlueprintBase>();
	}
};
DUMPER7_ASSERTS_USpawnBehaviorConfig_BlueprintBase;

// Class Spawners.SpawnBehaviorSettings
// 0x0010 (0x0038 - 0x0028)
class USpawnBehaviorSettings final : public UObject
{
public:
	TSubclassOf<class USpawnBehavior>             BehaviorClass;                                     // 0x0028(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class USpawnBehaviorConfig*                   BehaviorConfig;                                    // 0x0030(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnBehaviorSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnBehaviorSettings")
	}
	static class USpawnBehaviorSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnBehaviorSettings>();
	}
};
DUMPER7_ASSERTS_USpawnBehaviorSettings;

// Class Spawners.SpawnersPreviewConfigs
// 0x0140 (0x0170 - 0x0030)
class USpawnersPreviewConfigs final : public UDataAsset
{
public:
	TMap<EEnemyArchetype, struct FVector>         AdditionalOffset;                                  // 0x0030(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TMap<EEnemyArchetype, uint8>                  DefaultAttributes;                                 // 0x0080(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TMap<EEnemyArchetype, uint8>                  BlockedAttributes;                                 // 0x00D0(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TMap<EEnemyArchetype, TSoftObjectPtr<class IPreviewProvider>> AppearanceAssets;                  // 0x0120(0x0050)(Edit, BlueprintVisible, UObjectWrapper, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnersPreviewConfigs")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnersPreviewConfigs")
	}
	static class USpawnersPreviewConfigs* GetDefaultObj()
	{
		return GetDefaultObjImpl<USpawnersPreviewConfigs>();
	}
};
DUMPER7_ASSERTS_USpawnersPreviewConfigs;

// Class Spawners.SpawnScenario
// 0x0110 (0x03D8 - 0x02C8)
class ASpawnScenario final : public AActor
{
public:
	class USceneComponent*                        SceneRoot;                                         // 0x02C8(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UArrowComponent*                        SpawnerPivot;                                      // 0x02D0(0x0008)(Edit, ExportObject, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AActor* Actor)> OnSpawnStarted;                              // 0x02D8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AActor* Actor)> OnSpawnEnded;                                // 0x02E8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_2F8[0x8];                                      // 0x02F8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FSpawnAnimationsConfigList>     Configs;                                           // 0x0300(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, Protected, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class USpawnAnimationConfig>   CurrentAnimConfig;                                 // 0x0310(0x0028)(Transient, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bIsSpawning;                                       // 0x0338(0x0001)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_339[0x3];                                      // 0x0339(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TWeakObjectPtr<class UAnimInstance>           CachedAnimInstance;                                // 0x033C(0x0008)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_344[0x4];                                      // 0x0344(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          bOverrideSpawnSound;                               // 0x0348(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_349[0x7];                                      // 0x0349(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UAkAudioEvent*                          SpawnStartSound;                                   // 0x0350(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class ABTEnemySpawner>         BindSpawner;                                       // 0x0358(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Protected, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bAdjustLocation;                                   // 0x0380(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_381[0x7];                                      // 0x0381(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<class FName, struct FTransform>          SpawnerPivots;                                     // 0x0388(0x0050)(Edit, Protected, NativeAccessSpecifierProtected)

public:
	void AdjustSpawnerLocation();
	void BindToSpawner();
	TArray<class USpawnAnimationConfig*> GetOptionsLoad(EEnemyArchetype InArchetype);
	void OnAnimationNotify(const struct FAnimNotifyEvent& NotifyEvent, float duration, bool bStart);
	void OnAnimMarkup(const struct FGameplayTag& MarkupTag);
	void OnAnimMarkupWindowEnd(const struct FGameplayTag& MarkupTag);
	void OnAnimMarkupWindowStart(const struct FGameplayTag& MarkupTag, float WindowDuration);
	void OnNotifyBeginReceived(const class FName NotifyName, const struct FBranchingPointNotifyPayload& BranchingPointNotifyPayload);
	void OnNotifyEndReceived(const class FName NotifyName, const struct FBranchingPointNotifyPayload& BranchingPointNotifyPayload);
	void SetCurrentConfig(TSoftObjectPtr<class USpawnAnimationConfig> InCurrentAnimConfig);
	void SetSpawner(class ABTEnemySpawner* InSpawner);
	void SpawnEnd(class AActor* Actor);
	void SpawnStart(class AActor* Actor);

	bool GetBoolProperty(const class FName Name_0, bool* OutBool) const;
	bool GetFloatProperty(const class FName Name_0, float* OutFloat) const;
	bool GetScenarioGameplayTags(struct FGameplayTagContainer* TagContainer) const;
	struct FTransform GetSpawnerTransform() const;
	bool GetStringProperty(const class FName Name_0, class FString* OutString) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SpawnScenario")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SpawnScenario")
	}
	static class ASpawnScenario* GetDefaultObj()
	{
		return GetDefaultObjImpl<ASpawnScenario>();
	}
};
DUMPER7_ASSERTS_ASpawnScenario;

// Class Spawners.ThumbnailObjectProvider
// 0x0000 (0x0000 - 0x0000)
class IThumbnailObjectProvider final
{
public:
	class UObject* ProvideThumbnailObject() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ThumbnailObjectProvider")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ThumbnailObjectProvider")
	}
	static class IThumbnailObjectProvider* GetDefaultObj()
	{
		return GetDefaultObjImpl<IThumbnailObjectProvider>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IThumbnailObjectProvider;

}

