#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 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(); } }; 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(); } }; DUMPER7_ASSERTS_UBlueprintGoalsUtils; // Class Smort.GoalComponent // 0x0108 (0x01A8 - 0x00A0) class UGoalComponent final : public UActorComponent { public: TArray GoalGenerators; // 0x00A0(0x0010)(Edit, ExportObject, ZeroConstructor, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected) TArray CurrentGoals; // 0x00B0(0x0010)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected) struct FSmortGoalPool ActiveGoals; // 0x00C0(0x0030)(BlueprintVisible, BlueprintReadOnly, Transient, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected) TSet GoalsInUse; // 0x00F0(0x0050)(BlueprintVisible, BlueprintReadOnly, Transient, Protected, NativeAccessSpecifierProtected) TArray 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> CombatDeterminingGoalClasses; // 0x0168(0x0010)(Edit, ZeroConstructor, Protected, UObjectWrapper, NativeAccessSpecifierProtected) struct FGameplayTagContainer CombatDeterminingGoals; // 0x0178(0x0020)(Edit, Protected, NativeAccessSpecifierProtected) TMulticastInlineDelegate 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& 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* OutGoals, TArray* 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(); } }; 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 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& 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(); } }; 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(); } }; 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(); } class UObject* AsUObject() { return reinterpret_cast(this); } const class UObject* AsUObject() const { return reinterpret_cast(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(); } }; 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 OnBehaviorStarted; // 0x0100(0x0010)(ZeroConstructor, Transient, InstancedReference, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnBehaviorEnded; // 0x0110(0x0010)(ZeroConstructor, Transient, InstancedReference, NativeAccessSpecifierPublic) TMulticastInlineDelegate 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 DefaultPackages; // 0x0160(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, Protected, NativeAccessSpecifierProtected) TArray BehaviorPackages; // 0x0170(0x0010)(ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected) TMap> 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 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 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 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(); } }; 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(); } }; 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(); } }; 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(); } class UObject* AsUObject() { return reinterpret_cast(this); } const class UObject* AsUObject() const { return reinterpret_cast(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(); } }; 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 ActiveTasks; // 0x0138(0x0010)(ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPrivate) TMap 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 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(); } }; 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* 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(); } }; 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(); } }; DUMPER7_ASSERTS_USmortGoalData; // Class Smort.SmortModifier // 0x00E8 (0x0118 - 0x0030) class USmortModifier final : public UDataAsset { public: TArray 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(); } }; 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(); } }; DUMPER7_ASSERTS_USmortSettings; }