#pragma once

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

// Package: Smort

#include "Basic.hpp"

#include "Smort_structs.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "GameplayTags_structs.hpp"
#include "DeveloperSettings_classes.hpp"
#include "AIModule_classes.hpp"


namespace SDK
{

// Class Smort.BehaviorPackage
// 0x0010 (0x0040 - 0x0030)
class UBehaviorPackage final : public UDataAsset
{
public:
	TArray<struct FBehaviourDefinition>           Behaviors;                                         // 0x0030(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)

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

// Class Smort.BlueprintGoalsUtils
// 0x0000 (0x0028 - 0x0028)
class UBlueprintGoalsUtils final : public UBlueprintFunctionLibrary
{
public:
	static void InvalidateGoalHandle(struct FSmortGoalHandle& InGoalHandle);
	static bool IsValid(const struct FSmortGoalHandle& InGoalHandle);

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

// Class Smort.GoalComponent
// 0x0108 (0x01A8 - 0x00A0)
class UGoalComponent final : public UActorComponent
{
public:
	TArray<class UGoalGenerator*>                 GoalGenerators;                                    // 0x00A0(0x0010)(Edit, ExportObject, ZeroConstructor, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	TArray<class USmortGoal_DEPRECATED*>          CurrentGoals;                                      // 0x00B0(0x0010)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected)
	struct FSmortGoalPool                         ActiveGoals;                                       // 0x00C0(0x0030)(BlueprintVisible, BlueprintReadOnly, Transient, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	TSet<struct FSmortGoalHandle>                 GoalsInUse;                                        // 0x00F0(0x0050)(BlueprintVisible, BlueprintReadOnly, Transient, Protected, NativeAccessSpecifierProtected)
	TArray<struct FInstancedStruct>               ActiveDemands;                                     // 0x0140(0x0010)(ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected)
	class AAIController*                          AIOwner;                                           // 0x0150(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_158[0x8];                                      // 0x0158(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class AActor*                                 CombatAgro;                                        // 0x0160(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TArray<TSubclassOf<class USmortGoal_DEPRECATED>> CombatDeterminingGoalClasses;                   // 0x0168(0x0010)(Edit, ZeroConstructor, Protected, UObjectWrapper, NativeAccessSpecifierProtected)
	struct FGameplayTagContainer                  CombatDeterminingGoals;                            // 0x0178(0x0020)(Edit, Protected, NativeAccessSpecifierProtected)
	TMulticastInlineDelegate<void(const struct FSmortGoalHandle& Handle, EGoalEvent Event)> GoalsEvents; // 0x0198(0x0010)(ZeroConstructor, Transient, InstancedReference, NativeAccessSpecifierPublic)

public:
	bool CompleteGoal(const struct FSmortGoalHandle& GoalHandle, bool bSuccess);
	struct FSmortGoalHandle CreateGoal(const struct FSmortGoalX& InGoal);
	bool GetGoalByTag(const struct FGameplayTag& GoalTag, struct FSmortGoalX* OutGoal, struct FSmortGoalHandle* OutHandle);
	bool GetGoalFromHandle(const struct FSmortGoalHandle& GoalHandle, struct FSmortGoalX* OutGoal);
	bool HasAnyGoal(const struct FGameplayTagContainer& GoalTags);
	bool HasGoal(const struct FGameplayTag& GoalTag);
	bool InvalidateGoal(const struct FSmortGoalHandle& GoalHandle);
	bool IsGoalValid(const struct FSmortGoalHandle& GoalHandle);
	bool PauseGoal(const struct FSmortGoalHandle& GoalHandle);
	bool RetrieveGoalWithTag(const TArray<struct FSmortGoalHandle>& GoalsPool, const struct FGameplayTag& GoalTag, struct FSmortGoalX* OutGoal);
	void Setup();
	bool TakeGoal(const struct FSmortGoalHandle& GoalHandle);
	void Update();
	bool UpdateGoalData(const struct FSmortGoalHandle& GoalHandle, const struct FSmortGoalX& InGoalData);

	class AActor* GetCombatAgro() const;
	bool GetGoalsByTag(const struct FGameplayTag& Tag, TArray<struct FSmortGoalX>* OutGoals, TArray<struct FSmortGoalHandle>* OutHandles) const;
	bool GetIsInCombat() const;

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

// Class Smort.GoalGenerator
// 0x0020 (0x0048 - 0x0028)
class UGoalGenerator : public UObject
{
public:
	class AActor*                                 MyOwner;                                           // 0x0028(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UGoalComponent*                         GoalComponent;                                     // 0x0030(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TArray<struct FSmortGoalHandle>               OwnedGoals;                                        // 0x0038(0x0010)(ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected)

public:
	void ClearOwnedGoals();
	struct FSmortGoalHandle CreateGoal(const struct FSmortGoalX& InGoal);
	struct FSmortGoalHandle GetGoalByTag(const struct FGameplayTag& GoalTag, struct FSmortGoalX* OutGoal);
	void K2_OnGoalEvent(const struct FSmortGoalHandle& GoalHandle, EGoalEvent GoalEvent);
	void K2_Setup(class AAIController* AIController);
	struct FSmortGoalHandle MatchObjectToGoal(class UObject* InObject);
	void OnEnd(class AAIController* AIController);
	bool RemoveGoal(const struct FSmortGoalHandle& InGoalHandle);
	void Update(class AAIController* AIController);
	void UpdateGoalBasedOnObjects(const struct FSmortGoalX& GoalTemplate, const TArray<class UObject*>& InGoalSubjects);
	bool UpdateGoalData(const struct FSmortGoalHandle& InGoalHandle, const struct FSmortGoalX& GoalData);

	class UGoalComponent* GetGoalComponent() const;

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

// Class Smort.GoalGenerator_BlueprintBase
// 0x0000 (0x0048 - 0x0048)
class UGoalGenerator_BlueprintBase final : public UGoalGenerator
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GoalGenerator_BlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GoalGenerator_BlueprintBase")
	}
	static class UGoalGenerator_BlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGoalGenerator_BlueprintBase>();
	}
};
DUMPER7_ASSERTS_UGoalGenerator_BlueprintBase;

// Class Smort.SmortBehaviorEventsInterface
// 0x0000 (0x0000 - 0x0000)
class ISmortBehaviorEventsInterface final
{
public:
	void HandleBehaviorEvent(const struct FGameplayTag& EventTag);

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

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

// Class Smort.SmortBlueprintFunctionLibrary
// 0x0000 (0x0028 - 0x0028)
class USmortBlueprintFunctionLibrary final : public UBlueprintFunctionLibrary
{
public:
	static float NormalizeConsideration(float Value, float min_0, float max_0);

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

// Class Smort.SmortComponent
// 0x02A8 (0x03A0 - 0x00F8)
class USmortComponent final : public UBrainComponent
{
public:
	uint8                                         Pad_F8[0x8];                                       // 0x00F8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(const struct FBehaviorOptionHandle& BehaviorOptionHandle, const class FString& BehaviorName)> OnBehaviorStarted; // 0x0100(0x0010)(ZeroConstructor, Transient, InstancedReference, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const struct FBehaviorOptionHandle& BehaviorOptionHandle, const class FString& BehaviorName)> OnBehaviorEnded; // 0x0110(0x0010)(ZeroConstructor, Transient, InstancedReference, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class UObject* Object)> OnTargetObjectChanged;                     // 0x0120(0x0010)(ZeroConstructor, Transient, InstancedReference, NativeAccessSpecifierPublic)
	class UGoalComponent*                         GoalComponent;                                     // 0x0130(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UBehaviorPackage*                       DefaultBehaviors;                                  // 0x0138(0x0008)(Edit, ExportObject, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, Protected, PersistentInstance, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FGameplayTagContainer                  DefaultBehaviorsPackageTags;                       // 0x0140(0x0020)(Edit, DisableEditOnInstance, Protected, NativeAccessSpecifierProtected)
	TArray<struct FBehaviorPackageEntry>          DefaultPackages;                                   // 0x0160(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, Protected, NativeAccessSpecifierProtected)
	TArray<struct FBehaviorPackageEntry>          BehaviorPackages;                                  // 0x0170(0x0010)(ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected)
	TMap<struct FGameplayTag, TSubclassOf<class USmortGameplayBehavior>> BehaviorTemplates;          // 0x0180(0x0050)(Edit, DisableEditOnInstance, Protected, UObjectWrapper, NativeAccessSpecifierProtected)
	struct FBehaviorPool                          BehaviorOptions;                                   // 0x01D0(0x0020)(Transient, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_1F0[0x10];                                     // 0x01F0(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	struct FSelectionContext                      CurrentSelectionContext;                           // 0x0200(0x0068)(Transient, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_268[0x138];                                    // 0x0268(0x0138)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class USmortGameplayBehavior* AddBehaviorOption(class FName InBehaviorName, TSubclassOf<class USmortGameplayBehavior> InBehaviorClass, struct FBehaviorOptionHandle* OutBehaviorOptionHandle, const struct FBehaviorSetupEvent& InBehaviorSetupPayload, class USmortBehaviorData* InBehaviorData);
	void AddBlockingTags(const struct FGameplayTagContainer& InBlockedTags);
	void BlockBehaviors(const struct FActiveGameplayEffectHandle& GEHandle, const struct FGameplayTagRequirements& InBlockingRequirements);
	bool ForceSelect(const struct FBehaviorOptionHandle& InHandle, class UObject* InTarget, bool bAutoInitialize);
	bool GetBehaviorOption(const struct FBehaviorOptionHandle& InHandle, struct FBehaviorOption* OutBehaviorOption);
	bool InitializeCurrentBehavior();
	class USmortGameplayBehavior* InsertBehaviorOption(const struct FBehaviorOption& InBehaviorOption, TSubclassOf<class USmortGameplayBehavior> InBehaviorClass, struct FBehaviorOptionHandle* OutBehaviorOptionHandle, const struct FBehaviorSetupEvent& InBehaviorSetupPayload, class USmortBehaviorData* InBehaviorData);
	void K2_ResumeLogic(const class FString& Reason);
	void OnGoalEvent(const struct FSmortGoalHandle& Handle, EGoalEvent Event);
	void RemoveBlockingTags(const struct FGameplayTagContainer& InBlockedTags);
	void Setup();
	void UnblockBehaviors(const struct FActiveGameplayEffectHandle& GEHandle);
	void UpdateLogic();

	TSubclassOf<class USmortGameplayBehavior> GetBehaviorTemplate(const struct FGameplayTag& InBehaviorTag) const;
	class USmortGameplayBehavior* GetSmortGameplayBehavior(const struct FBehaviorOptionHandle& InHandle) const;
	bool IsBehaviorBlocked(const struct FGameplayTag& InTag) const;
	bool IsBehaviorBlockedMulti(const struct FGameplayTagContainer& InTags) const;
	bool IsValidHandle(const struct FBehaviorOptionHandle& InHandle) const;

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

// Class Smort.SmortBlueprintCondition
// 0x0000 (0x0028 - 0x0028)
class USmortBlueprintCondition final : public UObject
{
public:
	bool GetConditionMet(const struct FSelectionContext& ScoringContext) const;

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

// Class Smort.SmortBlueprintConsideration
// 0x0000 (0x0028 - 0x0028)
class USmortBlueprintConsideration final : public UObject
{
public:
	float GetConsiderationScore(const struct FSelectionContext& ScoringContext) const;

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

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

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

// Class Smort.SmortBehaviorData
// 0x0000 (0x0028 - 0x0028)
class USmortBehaviorData final : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SmortBehaviorData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SmortBehaviorData")
	}
	static class USmortBehaviorData* GetDefaultObj()
	{
		return GetDefaultObjImpl<USmortBehaviorData>();
	}
};
DUMPER7_ASSERTS_USmortBehaviorData;

// Class Smort.SmortGameplayBehavior
// 0x0170 (0x0198 - 0x0028)
class USmortGameplayBehavior final : public UObject
{
public:
	uint8                                         Pad_28[0x70];                                      // 0x0028(0x0070)(Fixing Size After Last Property [ Dumper-7 ])
	class USmortComponent*                        SmortOwner;                                        // 0x0098(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bIsInterruptible;                                  // 0x00A0(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_A1[0x7];                                       // 0x00A1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  NativeBehaviorTags;                                // 0x00A8(0x0020)(Edit, Protected, NativeAccessSpecifierProtected)
	bool                                          bRegisterInterruptAsEnd;                           // 0x00C8(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bPreventPauseLogic;                                // 0x00C9(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_CA[0x66];                                      // 0x00CA(0x0066)(Fixing Size After Last Property [ Dumper-7 ])
	class AAIController*                          BehaviorAIController;                              // 0x0130(0x0008)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TArray<class UGameplayTask*>                  ActiveTasks;                                       // 0x0138(0x0010)(ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<int32, class UGameplayTask*>             MontageToTask;                                     // 0x0148(0x0050)(NativeAccessSpecifierPrivate)

public:
	void CancelBehavior(class FName Reason, bool bRegisterEndEvent);
	bool CommitBehaviour();
	void FinishBehaviour(class FName Reason, bool bRegisterEndEvent);
	void K2_Activate(class AAIController* AIController);
	void K2_EndBehavior(bool bWasInterrupted);
	void K2_Initialize(class AAIController* AIController);
	bool K2_InitializeBehaviorData(const struct FBehaviorSetupEvent& SetupEventPayload, class USmortBehaviorData* InBehaviorData);
	void K2_LatentFinish();
	bool K2_ShouldTryLatentFinish(float NewScore);
	void OnTargetUpdated();
	void ResetFixedScore();
	void ResetMaxScore();
	void ResetMinScore();
	void ResetRank();
	void SetBehaviorRank(float InRank);
	void SetFixedScore(float InFixedScore);
	void SetIsInterruptible(bool bInterruptible);
	void SetMaxScore(float InMaxScore);
	void SetMinScore(float InMinScore);

	bool AllowsBehaviourSelection() const;
	bool AreSelectionConditionsMet(const struct FSelectionContext& InSelectionContext) const;
	bool CanBeInterrupted() const;
	class APawn* GetAvatar() const;
	bool GetGoal(const struct FGameplayTag& Tag, struct FSmortGoalX* OutGoal) const;
	class USmortGoalData* GetGoalData(const struct FGameplayTag& Tag, TSubclassOf<class USmortGoalData> DataClass) const;
	class AAIController* GetOwningAIController() const;
	float GetSelectionScore(const struct FSelectionContext& InSelectionContext) const;
	class UObject* GetTargetObject() const;
	bool IsFinishing() const;
	float K2_GetSelectionScore(const struct FSelectionContext& InSelectionContext) const;
	bool PreventPauseLogic() const;

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

// Class Smort.SmortGoal_DEPRECATED
// 0x0028 (0x0050 - 0x0028)
class USmortGoal_DEPRECATED final : public UObject
{
public:
	uint8                                         Pad_28[0x18];                                      // 0x0028(0x0018)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           GoalTag;                                           // 0x0040(0x0008)(Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_48[0x1];                                       // 0x0048(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          bProvidesTargets;                                  // 0x0049(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_4A[0x6];                                       // 0x004A(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class UObject* GetTargetObject();
	void ProvideTargetObjects(TArray<class UObject*>* Targets);

	bool ProvidesEntries() const;
	bool WasProcessed() const;

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

// Class Smort.SmortGoalData
// 0x0000 (0x0028 - 0x0028)
class USmortGoalData final : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SmortGoalData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SmortGoalData")
	}
	static class USmortGoalData* GetDefaultObj()
	{
		return GetDefaultObjImpl<USmortGoalData>();
	}
};
DUMPER7_ASSERTS_USmortGoalData;

// Class Smort.SmortModifier
// 0x00E8 (0x0118 - 0x0030)
class USmortModifier final : public UDataAsset
{
public:
	TArray<struct FBehaviorPackageEntry>          Behaviors;                                         // 0x0030(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, NativeAccessSpecifierPublic)
	struct FGameplayTagQuery                      RemovePackages;                                    // 0x0040(0x0048)(Edit, DisableEditOnInstance, NativeAccessSpecifierPublic)
	struct FGameplayTagQuery                      BehaviorsToEnable;                                 // 0x0088(0x0048)(Edit, DisableEditOnInstance, NativeAccessSpecifierPublic)
	struct FGameplayTagQuery                      BehaviorsToDisable;                                // 0x00D0(0x0048)(Edit, DisableEditOnInstance, NativeAccessSpecifierPublic)

public:
	bool Apply(class USmortComponent* SmortComponent, class UGoalComponent* GoalComponent);

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

// Class Smort.SmortSettings
// 0x0000 (0x0038 - 0x0038)
class USmortSettings final : public UDeveloperSettings
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SmortSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SmortSettings")
	}
	static class USmortSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<USmortSettings>();
	}
};
DUMPER7_ASSERTS_USmortSettings;

}

