#pragma once

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

// Package: Mai

#include "Basic.hpp"

#include "DeveloperSettings_classes.hpp"
#include "AIModule_structs.hpp"
#include "AIModule_classes.hpp"
#include "Being_structs.hpp"
#include "Being_classes.hpp"
#include "Mai_structs.hpp"
#include "Dai_structs.hpp"
#include "Dai_classes.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "GameplayTags_structs.hpp"
#include "NavigationSystem_classes.hpp"


namespace SDK
{

// Class Mai.MaiAction
// 0x0020 (0x00C0 - 0x00A0)
class UMaiAction : public UBeingAction
{
public:
	class FName                                   _ActionName;                                       // 0x00A0(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _SetBehaviorName;                                  // 0x00A8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A9[0x7];                                       // 0x00A9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(EPawnActionResult Result)> OnActionFinished;                       // 0x00B0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	void SetActionName(class FName Name_0);

	class FName GetActionName() const;
	bool IsActionFinished() const;

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

// Class Mai.MaiSettings
// 0x0108 (0x0140 - 0x0038)
class UMaiSettings final : public UDeveloperSettings
{
public:
	int32                                         _PartiesCount;                                     // 0x0038(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3C[0x4];                                       // 0x003C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiPartyData>                  _Parties;                                          // 0x0040(0x0010)(Edit, EditFixedSize, ZeroConstructor, Config, NativeAccessSpecifierPublic)
	TArray<struct FMaiPartyAttitudeData>          _Attitudes;                                        // 0x0050(0x0010)(Edit, ZeroConstructor, Config, NativeAccessSpecifierPublic)
	int32                                         _TokenTypesCount;                                  // 0x0060(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_64[0x4];                                       // 0x0064(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiTokenData>                  _TokenTypes;                                       // 0x0068(0x0010)(Edit, EditFixedSize, ZeroConstructor, Config, NativeAccessSpecifierPublic)
	struct FMaiWallNavGeneration                  _GenConfig;                                        // 0x0078(0x0028)(Edit, Config, NativeAccessSpecifierPublic)
	uint8                                         Pad_A0[0xA0];                                      // 0x00A0(0x00A0)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiAction_Sequence
// 0x0018 (0x00D8 - 0x00C0)
class UMaiAction_Sequence final : public UMaiAction
{
public:
	TArray<class UBeingAction*>                   _ActionSequence;                                   // 0x00C0(0x0010)(Edit, ExportObject, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
	EBeingActionFailHandling                      _ChildFailureHandlingMode;                         // 0x00D0(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D1[0x3];                                       // 0x00D1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         _Loop;                                             // 0x00D4(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiActionGraph
// 0x0020 (0x02E8 - 0x02C8)
class AMaiActionGraph final : public AActor
{
public:
	uint8                                         Pad_2C8[0x8];                                      // 0x02C8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UMaiPointGraphComponent*                _PointGraph;                                       // 0x02D0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<class APawn*>                          _GraphWalkers;                                     // 0x02D8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)

public:
	class AMaiActionPoint* FindNearestPoint(const struct FVector& Location) const;
	int32 GetActionPointCount() const;
	void GetActionPoints(TArray<class AMaiActionPoint*>* ActionPoints) const;
	void GetActionPointsWithQuery(TArray<class AMaiActionPoint*>* ActionPoints, const struct FMaiActionPointQuery& Query) const;
	class AMaiActionPoint* GetNextActionPoint(class AMaiActionPoint* ap, class FName sequenceTag) const;
	void GetSequenceActionPoints(TArray<class AMaiActionPoint*>* ActionPoints, class FName sequenceTag) const;

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

// Class Mai.MsgMadeDodgeReceiverInterface
// 0x0000 (0x0000 - 0x0000)
class IMsgMadeDodgeReceiverInterface final
{
public:
	void ReceiveMadeDodgeMsg(class UMaiMessage* Message, class AActor* sender);

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

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

// Class Mai.MaiPointGraphComponent
// 0x0020 (0x0250 - 0x0230)
class UMaiPointGraphComponent final : public USceneComponent
{
public:
	TArray<class AMaiActionPoint*>                _ActionPoints;                                     // 0x0230(0x0010)(Edit, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	bool                                          _SequenceConverted;                                // 0x0240(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Indoor;                                           // 0x0241(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_242[0xE];                                      // 0x0242(0x000E)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class AMaiActionPoint* FindNearestPoint(const struct FVector& Location) const;
	int32 GetActionPointCount() const;
	void GetActionPoints(TArray<class AMaiActionPoint*>* ActionPoints, class FName WithTag) const;
	void GetActionPointsWithQuery(TArray<class AMaiActionPoint*>* ActionPoints, const struct FMaiActionPointQuery& Query) const;
	class AMaiActionPoint* GetRandomActionPoint() const;

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

// Class Mai.MaiActionSequenceComponent
// 0x0040 (0x0570 - 0x0530)
class UMaiActionSequenceComponent final : public ULineBatchComponent
{
public:
	TArray<class AMaiActionPoint*>                _SequencePoints;                                   // 0x0530(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, AdvancedDisplay, NativeAccessSpecifierPublic)
	struct FColor                                 _SequenceColor;                                    // 0x0540(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AutoAddRange;                                     // 0x0544(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Looped;                                           // 0x0548(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_549[0x7];                                      // 0x0549(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         _PreviewIndex;                                     // 0x0550(0x0004)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_554[0x4];                                      // 0x0554(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class AMaiActionPoint*                        _MovingPoint;                                      // 0x0558(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_560[0x10];                                     // 0x0560(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class AMaiActionPoint* GetNextActionPoint(class AMaiActionPoint* Point, class APawn* conditionCaller) const;
	void GetSequenceActionPoints(TArray<class AMaiActionPoint*>* Points) const;
	class AMaiActionPoint* GetTargetActionPoint() const;

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

// Class Mai.MaiMessagesManager
// 0x0010 (0x0050 - 0x0040)
class UMaiMessagesManager final : public UTickableWorldSubsystem
{
public:
	TArray<struct FMaiDelayedMessage>             _DelayedMessages;                                  // 0x0040(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)

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

// Class Mai.MaiActionPoint
// 0x0170 (0x0438 - 0x02C8)
class AMaiActionPoint : public AActor
{
public:
	uint8                                         Pad_2C8[0x8];                                      // 0x02C8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UStaticMeshComponent*                   _MarkerMesh;                                       // 0x02D0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiAreaComponent*                      _WorkArea;                                         // 0x02D8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UArrowComponent*                        _Arrow;                                            // 0x02E0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UTextRenderComponent*                   _Text;                                             // 0x02E8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FLinearColor                           _Color;                                            // 0x02F0(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<class AMaiController*>                 _Users;                                            // 0x0300(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	bool                                          _HasTravelConditions;                              // 0x0310(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _IsGraphPoint;                                     // 0x0311(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_312[0x2];                                      // 0x0312(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _Radius;                                           // 0x0314(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBeingWalkingStance                           _WalkingStanceEnum;                                // 0x0318(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _MaxUsers;                                         // 0x0319(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_31A[0x2];                                      // 0x031A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	uint32                                        _UseCounter;                                       // 0x031C(0x0004)(Edit, ZeroConstructor, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _UseOnce : 1;                                      // 0x0320(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_321[0x3];                                      // 0x0321(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         _Weight;                                           // 0x0324(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_325[0x3];                                      // 0x0325(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         _Enabled : 1;                                      // 0x0328(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, SaveGame, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _Skipable : 1;                                     // 0x0328(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _WaypointOnly : 1;                                 // 0x0328(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _MoveExaclyToAP : 1;                               // 0x0328(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _StopsToAction : 1;                                // 0x0328(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _RotateToAction : 1;                               // 0x0328(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_329[0x3];                                      // 0x0329(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _RotateToActionPrecision;                          // 0x032C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FMaiWork>                       _WorkList;                                         // 0x0330(0x0010)(Edit, BlueprintVisible, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FDaiConditions                         _UseConditions;                                    // 0x0340(0x0030)(Edit, BlueprintVisible, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FDaiNotifies                           _TravelNotifies;                                   // 0x0370(0x0018)(Edit, BlueprintVisible, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FDaiConditions                         _TravelConditions;                                 // 0x0388(0x0030)(Edit, BlueprintVisible, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<struct FMaiWork>                       _WaitWorkList;                                     // 0x03B8(0x0010)(Edit, BlueprintVisible, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TMap<class AMaiActionPoint*, uint8>           _Destinations;                                     // 0x03C8(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TArray<class USceneComponent*>                _ShowComponents;                                   // 0x0418(0x0010)(BlueprintVisible, ExportObject, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AMaiController* User, class UMaiAction* action)> OnActionStarted; // 0x0428(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	void OnActionPointAbandoned(class AMaiController* User);
	void OnActionPointReached(class AMaiController* User);
	void OnActionPointSelected(class AMaiController* User);
	void PrepareActionSet(class AMaiController* User);
	void PrepareToWork(class AMaiController* User);
	void ResetUseCounter();
	void Used();

	bool CanBeUsedBy(class AMaiController* User) const;
	struct FRotator GetActionRotation() const;
	class UMaiActionSequenceComponent* GetSequence(class FName sequenceTag) const;
	uint8 GetWeight() const;
	bool HasAnyWork() const;
	bool InDetectionArea(const struct FVector& Location, float areaExtent) const;
	bool IsUsable() const;
	bool IsUsableBy(class AMaiController* User) const;
	bool IsVisibleFrom(const struct FVector& Location, float defaultVisibilityRange, float perceptionMod) const;

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

// Class Mai.MaiAction_AnimationBase
// 0x0010 (0x00D0 - 0x00C0)
class UMaiAction_AnimationBase : public UMaiAction
{
public:
	class UAnimMontage*                           _OwnerMontage;                                     // 0x00C0(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class ACharacter*                             _OwnerCH;                                          // 0x00C8(0x0008)(BlueprintVisible, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	void OnOwnerMontageEnds(class UAnimMontage* Montage, bool interrupted);
	void SetOwnerCH(class ACharacter* ownerCH);
	void SetOwnerMontage(class UAnimMontage* Montage);

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

// Class Mai.MaiLookAtComponent
// 0x0060 (0x0570 - 0x0510)
class UMaiLookAtComponent final : public UArrowComponent
{
public:
	float                                         _LoseRanageExt;                                    // 0x0508(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _HeadPitchOffset;                                  // 0x050C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _HeadYawOffset;                                    // 0x0510(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _HeadRotationRate;                                 // 0x0514(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ConstantInterp;                                   // 0x0518(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Debug;                                            // 0x0519(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Enabled;                                          // 0x051A(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ExceedingLimit;                                   // 0x051B(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_51C[0x4];                                      // 0x051C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiLookAtData>                 _LookAtData;                                       // 0x0520(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, ContainsInstancedReference, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	struct FRotator                               _HeadLocalRotation;                                // 0x0530(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	struct FRotator                               _TargetLocalRotation;                              // 0x0548(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	int32                                         _CurrentPriority;                                  // 0x0560(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_564[0xC];                                      // 0x0564(0x000C)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ClearLookAt(int32 Priority);
	void DisableLookAt(int32 Priority);
	void EnableLookAt(int32 Priority);
	void LookAtActor(class AActor* Actor, float MaxRange, uint8 Priority);
	void LookAtComponent(class USceneComponent* comp, float MaxRange, uint8 Priority);
	void LookAtLocation(const struct FVector& Location, float MaxRange, uint8 Priority);
	void SetLookAtRotation(const struct FRotator& Rotation, float MaxRange, uint8 Priority);

	const struct FRotator GetHeadLocalRotation() const;
	class AActor* GetLookAtActor(uint8 Priority) const;
	const struct FVector GetLookAtLocation(uint8 Priority) const;
	const struct FRotator GetLookAtRotation(uint8 Priority) const;
	bool IsLookAtEnabled() const;

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

// Class Mai.MaiAction_SynchronizationBase
// 0x0018 (0x00E8 - 0x00D0)
class UMaiAction_SynchronizationBase : public UMaiAction_AnimationBase
{
public:
	class UAnimMontage*                           _OtherMontage;                                     // 0x00D0(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class ACharacter*                             _OtherCH;                                          // 0x00D8(0x0008)(BlueprintVisible, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_E0[0x8];                                       // 0x00E0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnOtherMontageEnds(class UAnimMontage* Montage, bool interrupted);
	void PossessOther();
	void ReleaseOther();
	void SetOtherCH(class ACharacter* otherCH);
	void SetOtherMontage(class UAnimMontage* Montage);

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

// Class Mai.MaiAction_Snap2Base
// 0x02F8 (0x03E0 - 0x00E8)
#pragma pack(push, 0x1)
class alignas(0x10) UMaiAction_Snap2Base : public UMaiAction_SynchronizationBase
{
public:
	class UBeingRootMotionBank*                   _OwnerATB;                                         // 0x00E8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UBeingRootMotionBank*                   _OtherATB;                                         // 0x00F0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FAnimationRootMotion                   _OwnerMontageRM;                                   // 0x00F8(0x0048)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FAnimationRootMotion                   _OtherMontageRM;                                   // 0x0140(0x0048)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FSectionRootMotion                     _OwnerARM;                                         // 0x0188(0x0058)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FSectionRootMotion                     _OtherARM;                                         // 0x01E0(0x0058)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FSectionRootMotion                     _OwnerWorldARM;                                    // 0x0238(0x0058)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FSectionRootMotion                     _OtherWorldARM;                                    // 0x0290(0x0058)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	uint8                                         Pad_2E8[0x8];                                      // 0x02E8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             _OwnerIdealTransform;                              // 0x02F0(0x0060)(Edit, BlueprintVisible, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTransform                             _OtherIdealTransform;                              // 0x0350(0x0060)(Edit, BlueprintVisible, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   _SectionName;                                      // 0x03B0(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Disconnect;                                       // 0x03B8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _SyncSnap;                                         // 0x03B9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _BlockSnap;                                        // 0x03BA(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Snap3D;                                           // 0x03BB(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SnapMoveMulMin;                                   // 0x03BC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SnapMoveMulMax;                                   // 0x03C0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SnapMoveMulInterp;                                // 0x03C4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _RotationInterpSpeed;                              // 0x03C8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _TranslationInterpSpeed;                           // 0x03CC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3D0[0x8];                                      // 0x03D0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnSectionEnd(class FName Section);
	void OnSectionStart(class FName Section);

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

// Class Mai.MsgEndBlowReceiverInterface
// 0x0000 (0x0000 - 0x0000)
class IMsgEndBlowReceiverInterface final
{
public:
	void ReceiveEndBlowMsg(class UMaiMessage* Message, class AActor* attacker);

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

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

// Class Mai.MaiAction_Snap1Base
// 0x0190 (0x0260 - 0x00D0)
#pragma pack(push, 0x1)
class alignas(0x10) UMaiAction_Snap1Base : public UMaiAction_AnimationBase
{
public:
	class UBeingRootMotionBank*                   _OwnerATB;                                         // 0x00D0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FAnimationRootMotion                   _OwnerMontageRM;                                   // 0x00D8(0x0048)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FSectionRootMotion                     _OwnerARM;                                         // 0x0120(0x0058)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FSectionRootMotion                     _OwnerWorldARM;                                    // 0x0178(0x0058)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FTransform                             _OwnerIdealTransform;                              // 0x01D0(0x0060)(Edit, BlueprintVisible, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _RotationInterpSpeed;                              // 0x0230(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _TranslationInterpSpeed;                           // 0x0234(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   _SectionName;                                      // 0x0238(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _MoveOnRail;                                       // 0x0240(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Disconnect;                                       // 0x0241(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _SyncSnap;                                         // 0x0242(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _BlockSnap;                                        // 0x0243(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Snap3D;                                           // 0x0244(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _IdealTransformAsTarget;                           // 0x0245(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ErrorCorrection;                                  // 0x0246(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_247[0x1];                                      // 0x0247(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _SnapMoveMulMin;                                   // 0x0248(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SnapMoveMulMax;                                   // 0x024C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SnapMoveMulInterp;                                // 0x0250(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_254[0x4];                                      // 0x0254(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void CalculateIdealTransforms();
	void OnSectionEnd(class FName Section);
	void OnSectionStart(class FName Section);
	class UAnimMontage* PlayOwnerMontage();

	struct FVector GetSectionOffset() const;

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

// Class Mai.MaiAction_MoveOnSpline
// 0x0008 (0x00C8 - 0x00C0)
class UMaiAction_MoveOnSpline final : public UMaiAction
{
public:
	class AMaiSplineActor*                        _Spline;                                           // 0x00C0(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UMaiAction_MoveOnSpline* createActionMoveOnSpline(class UObject* WorldContextObject, class AMaiSplineActor* Spline);
	static class UMaiAction_MoveOnSpline* createActionMoveOnSplineToAP(class UObject* WorldContextObject, class APawn* Pawn, class AMaiActionPoint* Point);

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

// Class Mai.MaiNavSphere
// 0x0000 (0x0520 - 0x0520)
class UMaiNavSphere final : public USphereComponent
{
public:
	void DisableArea();
	void EnableArea();
	void SetAreaClass(TSubclassOf<class UNavArea> NewAreaClass);

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

// Class Mai.MaiAction_PlayAnimation
// 0x00E0 (0x0340 - 0x0260)
class UMaiAction_PlayAnimation : public UMaiAction_Snap1Base
{
public:
	struct FGameplayTagContainer                  _AnimTags;                                         // 0x0258(0x0020)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	struct FGameplayTagContainer                  _AbortAnimTags;                                    // 0x0278(0x0020)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	uint8                                         _NonBlocking : 1;                                  // 0x0298(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _InfinitLoop : 1;                                  // 0x0298(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_299[0x3];                                      // 0x0299(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _AbortBlendOutTime;                                // 0x029C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Duration;                                         // 0x02A0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _LoopCount;                                        // 0x02A4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   _BlockBT;                                          // 0x02A8(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FDaiAnimPlayParams                     _OwnerAnimParams;                                  // 0x02B0(0x0078)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	uint8                                         Pad_328[0x18];                                     // 0x0328(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UMaiAction_PlayAnimation* createActionPlayLoopedAnim(class UObject* WorldContextObject, const struct FGameplayTagContainer& animTags, class FName blockBT, int32 LoopCount);

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

// Class Mai.MaiAction_ExtMovementAnimation
// 0x0030 (0x0370 - 0x0340)
class UMaiAction_ExtMovementAnimation final : public UMaiAction_PlayAnimation
{
public:
	class AMaiNavLink*                            _NavLink;                                          // 0x0340(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _StartInA;                                         // 0x0348(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_349[0x3];                                      // 0x0349(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _LeftMargin;                                       // 0x034C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _RightMargin;                                      // 0x0350(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_354[0x4];                                      // 0x0354(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class UMaiAttack*                             _Attack;                                           // 0x0358(0x0008)(ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AActor*                                 _Enemy;                                            // 0x0360(0x0008)(ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_368[0x8];                                      // 0x0368(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UMaiAction_ExtMovementAnimation* createActionExtMovementAnimation(class UObject* WorldContextObject, const struct FGameplayTagContainer& animTags, class AMaiNavLink* NavLink, bool startSide, TSubclassOf<class UMaiAction_ExtMovementAnimation> ActionClass);

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

// Class Mai.NavArea_Crouch
// 0x0000 (0x0048 - 0x0048)
class UNavArea_Crouch final : public UNavArea
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("NavArea_Crouch")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"NavArea_Crouch")
	}
	static class UNavArea_Crouch* GetDefaultObj()
	{
		return GetDefaultObjImpl<UNavArea_Crouch>();
	}
};
DUMPER7_ASSERTS_UNavArea_Crouch;

// Class Mai.MaiAction_ChangeSurface
// 0x0060 (0x03A0 - 0x0340)
class UMaiAction_ChangeSurface final : public UMaiAction_PlayAnimation
{
public:
	struct FTransform                             _TargetTransform;                                  // 0x0340(0x0060)(Edit, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	static class UMaiAction_ChangeSurface* createActionChangeSurface(class UObject* WorldContextObject, const struct FGameplayTagContainer& animTags, const struct FTransform& targetTransform, TSubclassOf<class UMaiAction_ChangeSurface> ActionClass);

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

// Class Mai.MaiAction_SyncAnimations
// 0x0130 (0x0510 - 0x03E0)
class UMaiAction_SyncAnimations final : public UMaiAction_Snap2Base
{
public:
	struct FGameplayTagContainer                  _OwnerAnimTags;                                    // 0x03D8(0x0020)(Edit, BlueprintVisible, Protected, NativeAccessSpecifierProtected)
	struct FGameplayTagContainer                  _OtherAnimTags;                                    // 0x03F8(0x0020)(Edit, BlueprintVisible, Protected, NativeAccessSpecifierProtected)
	float                                         _PlayRate;                                         // 0x0418(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         _SnapOtherToOwner : 1;                             // 0x041C(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         _UseOtherRotation : 1;                             // 0x041C(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         _IgnoreOffset : 1;                                 // 0x041C(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_41D[0x3];                                      // 0x041D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiAnimPlayParams                     _OwnerAnimParams;                                  // 0x0420(0x0078)(BlueprintVisible, BlueprintReadOnly, Protected, NativeAccessSpecifierProtected)
	struct FDaiAnimPlayParams                     _OtherAnimParams;                                  // 0x0498(0x0078)(BlueprintVisible, BlueprintReadOnly, Protected, NativeAccessSpecifierProtected)

public:
	static class UMaiAction_SyncAnimations* createActionSyncAnims(class UObject* WorldContextObject, const struct FGameplayTagContainer& ownerAnimTags, const struct FGameplayTagContainer& otherAnimTags, class AActor* Other, TSubclassOf<class UMaiAction_SyncAnimations> ActionClass, class FName BehaviorName, float PlayRate);
	static class UMaiAction_SyncAnimations* createActionSyncAnimsSingle(class UObject* WorldContextObject, const struct FGameplayTag& ownerAnimTag, const struct FGameplayTag& otherAnimTag, class AActor* Other, TSubclassOf<class UMaiAction_SyncAnimations> ActionClass, class FName BehaviorName, float PlayRate);
	static class UMaiAction_SyncAnimations* createActionSyncFromConfig(class UObject* WorldContext, class AActor* Other, const struct FMaiSyncActionConfig& Config, class FName BehaviorName);
	static class UMaiAction_SyncAnimations* createActionSyncFromRow(class UObject* WorldContext, class AActor* Other, const struct FDataTableRowHandle& Row);

	void CalculateIdealTransforms();
	class UAnimMontage* PlayOtherMontage();
	class UAnimMontage* PlayOwnerMontage();

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

// Class Mai.MsgStartBlowReceiverInterface
// 0x0000 (0x0000 - 0x0000)
class IMsgStartBlowReceiverInterface final
{
public:
	void ReceiveStartBlowMsg(class UMaiMessage* Message, class AActor* attacker, TSubclassOf<class UDamageType> DamageType);

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

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

// Class Mai.MaiAction_RotateTo
// 0x0028 (0x00E8 - 0x00C0)
class UMaiAction_RotateTo final : public UMaiAction
{
public:
	class AActor*                                 _LookAtActor;                                      // 0x00C0(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _LookAtLocation;                                   // 0x00C8(0x0018)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Precision;                                        // 0x00E0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_E4[0x4];                                       // 0x00E4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UMaiAction_RotateTo* createActionRotateToActor(class UObject* WorldContextObject, class AActor* Actor, float Precision);
	static class UMaiAction_RotateTo* createActionRotateToLocation(class UObject* WorldContextObject, const struct FVector& Location, float Precision);

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

// Class Mai.MaiAction_WaitUntilStops
// 0x0000 (0x00C0 - 0x00C0)
class UMaiAction_WaitUntilStops final : public UMaiAction
{
public:
	static class UMaiAction_WaitUntilStops* createActionWaitUntilStops(class UObject* WorldContextObject);

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

// Class Mai.MaiNavBox
// 0x0000 (0x0530 - 0x0530)
class UMaiNavBox final : public UBoxComponent
{
public:
	void DisableArea();
	void EnableArea();
	void SetAreaClass(TSubclassOf<class UNavArea> NewAreaClass);

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

// Class Mai.MaiAggroMeter
// 0x02A0 (0x0340 - 0x00A0)
class UMaiAggroMeter final : public UActorComponent
{
public:
	struct FDaiBlockade                           _BlockDecay;                                       // 0x00A0(0x0018)(Edit, SaveGame, AdvancedDisplay, NativeAccessSpecifierPublic)
	struct FDaiBlockade                           _BlockGain;                                        // 0x00B8(0x0018)(Edit, SaveGame, AdvancedDisplay, NativeAccessSpecifierPublic)
	struct FMaiAggroConfig                        _Configs[0x3];                                     // 0x00D0(0x002C)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_154[0x4];                                      // 0x0154(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<class FName, float>                      _ExtraStances;                                     // 0x0158(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	struct FMaiAggroDifficulty                    _DifficultyConfig[0xA];                            // 0x01A8(0x0008)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	float                                         _Aggro;                                            // 0x01F8(0x0004)(Edit, ZeroConstructor, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _TimeSinceLastAccumulate;                          // 0x01FC(0x0004)(Edit, ZeroConstructor, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMap<class AActor*, float>                    _HateList;                                         // 0x0200(0x0050)(Edit, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	EMaiAggroStance                               _BehaviorStance;                                   // 0x0250(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_251[0x7];                                      // 0x0251(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class AAIController*                          _Controller;                                       // 0x0258(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FDaiFloatModifiers                     _AggroDecayMod;                                    // 0x0260(0x0018)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FDaiFloatModifiers2                    _AggroGainMods[0x7];                               // 0x0278(0x0018)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(EMaiAggroStance aggroStance)> AggroStanceChanged;                  // 0x0320(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(EMaiAggroStance aggroStance)> BehaviorStanceChanged;               // 0x0330(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	static class UMaiAggroMeter* getAggroMeter(class AActor* Actor);
	static EMaiSenseType getSenseTypeForStimulus(class UObject* WorldContextObject, const struct FAIStimulus& Stimulus);

	void AddAggro(float Aggro, bool Force);
	void AddGainMod(class UDaiFloatModifier* mod, EMaiSenseType Sense, class FName Name_0);
	void DebugAggro();
	void DisableDecay(bool Disable, class FName Reason);
	void DisableGain(bool Disable, class FName Reason);
	void OnTargetPerceptionUpdated(class AActor* Actor, const struct FAIStimulus& Stimulus);
	void RemoveGainMod(class UDaiFloatModifier* mod, EMaiSenseType Sense, class FName Name_0);
	void SetAggro(float NewAggro, bool Force);
	void SetBehaviorStance(EMaiAggroStance stance);

	float GetAggro() const;
	EMaiAggroStance GetBehaviorStance() const;
	class AActor* GetMostHated() const;
	EMaiAggroStance GetStance() const;
	float GetStanceMaxAggro(EMaiAggroStance stance) const;
	float GetStanceMinAggro(EMaiAggroStance stance) const;
	bool IsAggressive() const;
	bool IsCautious() const;
	bool IsNeutral() const;

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

// Class Mai.MaiFloatAggroModifier
// 0x0058 (0x00E8 - 0x0090)
class UMaiFloatAggroModifier : public UDaiFloatModifier2
{
public:
	struct FAIStimulus                            _Stimulus;                                         // 0x0090(0x0058)(Edit, Transient, EditConst, NoDestructor, NativeAccessSpecifierPrivate)

public:
	const struct FAIStimulus GetStimulus() const;

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

// Class Mai.NodeGraphTester
// 0x0008 (0x02D0 - 0x02C8)
class ANodeGraphTester : public AActor
{
public:
	class UMaiNodePathDrawer*                     _NodePath;                                         // 0x02C8(0x0008)(Edit, ExportObject, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

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

// Class Mai.NodePathStartTester
// 0x0000 (0x02D0 - 0x02D0)
class ANodePathStartTester final : public ANodeGraphTester
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("NodePathStartTester")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"NodePathStartTester")
	}
	static class ANodePathStartTester* GetDefaultObj()
	{
		return GetDefaultObjImpl<ANodePathStartTester>();
	}
};
DUMPER7_ASSERTS_ANodePathStartTester;

// Class Mai.MaiOutAreaGainMod
// 0x0008 (0x00F0 - 0x00E8)
class UMaiOutAreaGainMod final : public UMaiFloatAggroModifier
{
public:
	float                                         _OutAreaMul;                                       // 0x00E8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_EC[0x4];                                       // 0x00EC(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiOutAreaDecayMod
// 0x0010 (0x0098 - 0x0088)
class UMaiOutAreaDecayMod final : public UDaiFloatModifier
{
public:
	float                                         _OutAreaMul;                                       // 0x0088(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_8C[0xC];                                       // 0x008C(0x000C)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiPathNodeComponent
// 0x0000 (0x0230 - 0x0230)
class UMaiPathNodeComponent final : public USceneComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiPathNodeComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiPathNodeComponent")
	}
	static class UMaiPathNodeComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiPathNodeComponent>();
	}
};
DUMPER7_ASSERTS_UMaiPathNodeComponent;

// Class Mai.AnimNotify_DisableSync
// 0x0000 (0x0038 - 0x0038)
class UAnimNotify_DisableSync final : public UAnimNotify
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AnimNotify_DisableSync")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AnimNotify_DisableSync")
	}
	static class UAnimNotify_DisableSync* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAnimNotify_DisableSync>();
	}
};
DUMPER7_ASSERTS_UAnimNotify_DisableSync;

// Class Mai.AnimNotify_FinishSync
// 0x0000 (0x0038 - 0x0038)
class UAnimNotify_FinishSync final : public UAnimNotify
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AnimNotify_FinishSync")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AnimNotify_FinishSync")
	}
	static class UAnimNotify_FinishSync* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAnimNotify_FinishSync>();
	}
};
DUMPER7_ASSERTS_UAnimNotify_FinishSync;

// Class Mai.MaiNavLinkComponent
// 0x0000 (0x01E0 - 0x01E0)
class UMaiNavLinkComponent : public UNavLinkCustomComponent
{
public:
	void SetLinkEnabled(bool newEnabled);

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

// Class Mai.AnimNotifyState_SnapInSync
// 0x0000 (0x0030 - 0x0030)
class UAnimNotifyState_SnapInSync final : public UAnimNotifyState
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AnimNotifyState_SnapInSync")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AnimNotifyState_SnapInSync")
	}
	static class UAnimNotifyState_SnapInSync* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAnimNotifyState_SnapInSync>();
	}
};
DUMPER7_ASSERTS_UAnimNotifyState_SnapInSync;

// Class Mai.AnimNotifyState_FocusOnEnemy
// 0x0008 (0x0038 - 0x0030)
class UAnimNotifyState_FocusOnEnemy final : public UAnimNotifyState
{
public:
	bool                                          _ActOnSnapping;                                    // 0x0030(0x0001)(Edit, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_31[0x7];                                       // 0x0031(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.AnimNotifyState_AllowDodgeReaction
// 0x0000 (0x0030 - 0x0030)
class UAnimNotifyState_AllowDodgeReaction final : public UAnimNotifyState
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AnimNotifyState_AllowDodgeReaction")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AnimNotifyState_AllowDodgeReaction")
	}
	static class UAnimNotifyState_AllowDodgeReaction* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAnimNotifyState_AllowDodgeReaction>();
	}
};
DUMPER7_ASSERTS_UAnimNotifyState_AllowDodgeReaction;

// Class Mai.AnimNotify_EnableBehaviorTree
// 0x0008 (0x0040 - 0x0038)
class UAnimNotify_EnableBehaviorTree final : public UAnimNotify
{
public:
	class FName                                   _Reason;                                           // 0x0038(0x0008)(Edit, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

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

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

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

// Class Mai.AnimNotify_ExtMovementMarker
// 0x0008 (0x0040 - 0x0038)
class UAnimNotify_ExtMovementMarker final : public UAnimNotify
{
public:
	int32                                         _Number;                                           // 0x0038(0x0004)(Edit, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_3C[0x4];                                       // 0x003C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.AnimNotify_ExtMovementCheckAtack
// 0x0010 (0x0048 - 0x0038)
class UAnimNotify_ExtMovementCheckAtack final : public UAnimNotify
{
public:
	struct FDataTableRowHandle                    _AttackRow;                                        // 0x0038(0x0010)(Edit, BlueprintReadOnly, NoDestructor, NativeAccessSpecifierPrivate)

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

// Class Mai.MaiShapeDrawer
// 0x0000 (0x0530 - 0x0530)
class UMaiShapeDrawer : public ULineBatchComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiShapeDrawer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiShapeDrawer")
	}
	static class UMaiShapeDrawer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiShapeDrawer>();
	}
};
DUMPER7_ASSERTS_UMaiShapeDrawer;

// Class Mai.MaiAreaComponent
// 0x0030 (0x0560 - 0x0530)
#pragma pack(push, 0x1)
class alignas(0x10) UMaiAreaComponent : public UMaiShapeDrawer
{
public:
	struct FColor                                 _Color;                                            // 0x0530(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_534[0x4];                                      // 0x0534(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FMaiShape                              _Shape;                                            // 0x0538(0x0020)(Edit, NoDestructor, NativeAccessSpecifierPublic)

public:
	EMaiShapeType GetAreaShape(struct FVector* Extents);

	struct FVector GetRandomPoint(float Extent) const;
	bool IsInArea(const struct FVector& Location, float Extent) const;

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

// Class Mai.MaiDetectionAreaComponent
// 0x0000 (0x0560 - 0x0560)
class UMaiDetectionAreaComponent final : public UMaiAreaComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiDetectionAreaComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiDetectionAreaComponent")
	}
	static class UMaiDetectionAreaComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiDetectionAreaComponent>();
	}
};
DUMPER7_ASSERTS_UMaiDetectionAreaComponent;

// Class Mai.MaiChaseAreaComponent
// 0x0000 (0x0560 - 0x0560)
class UMaiChaseAreaComponent final : public UMaiAreaComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiChaseAreaComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiChaseAreaComponent")
	}
	static class UMaiChaseAreaComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiChaseAreaComponent>();
	}
};
DUMPER7_ASSERTS_UMaiChaseAreaComponent;

// Class Mai.SetBoardValueNotify
// 0x00F8 (0x0190 - 0x0098)
class USetBoardValueNotify final : public UDaiNotify
{
public:
	bool                                          _Fixed;                                            // 0x0098(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_99[0x3];                                       // 0x0099(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _CharacterTag;                                     // 0x009C(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A4[0x4];                                       // 0x00A4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiContext                            _Notified;                                         // 0x00A8(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FMaiBlackboardValue                    _BoardValue;                                       // 0x0120(0x0070)(Edit, NativeAccessSpecifierPublic)

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

// Class Mai.MaiSpawnAreaComponent
// 0x0000 (0x0560 - 0x0560)
class UMaiSpawnAreaComponent final : public UMaiAreaComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiSpawnAreaComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiSpawnAreaComponent")
	}
	static class UMaiSpawnAreaComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiSpawnAreaComponent>();
	}
};
DUMPER7_ASSERTS_UMaiSpawnAreaComponent;

// Class Mai.MaiRadiusComponent
// 0x0010 (0x0540 - 0x0530)
class UMaiRadiusComponent final : public ULineBatchComponent
{
public:
	struct FColor                                 _Color;                                            // 0x0530(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Radius;                                           // 0x0534(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_538[0x8];                                      // 0x0538(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiSense_SightDecorator
// 0x0000 (0x00A0 - 0x00A0)
class UMaiSense_SightDecorator : public UActorComponent
{
public:
	bool IsInSight(class AActor* Actor, class UMaiSenseDebugger* debugger) const;

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

// Class Mai.MaiAttack
// 0x00E0 (0x0108 - 0x0028)
class UMaiAttack : public UObject
{
public:
	bool                                          _CheckAttackCone;                                  // 0x0028(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_29[0x3];                                       // 0x0029(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FFloatRange                            _AttackRange;                                      // 0x002C(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AttackDir;                                        // 0x003C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AttackAngle;                                      // 0x0040(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiToken                                     _TokenType;                                        // 0x0044(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiAttackInitialStance                       _InitialStance;                                    // 0x0045(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_46[0x2];                                       // 0x0046(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	class UBehaviorTree*                          _Behavior;                                         // 0x0048(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGameplayTagContainer                  _AnimTags;                                         // 0x0050(0x0020)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	float                                         _FocusCharging;                                    // 0x0070(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatRange                            _FocusRate;                                        // 0x0074(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EEasingFunc                                   _FocusFunc;                                        // 0x0084(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiAttackFocus                               _FocusMode;                                        // 0x0085(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiAttackSnap                                _SnapMode;                                         // 0x0086(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiAttackDodgeReaction                       _DodgeReaction;                                    // 0x0087(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _TimeToDodgeBeforeHit;                             // 0x0088(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _AllowDodgeReaction;                               // 0x008C(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CheckImpactCone;                                  // 0x008D(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_8E[0x2];                                       // 0x008E(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _ImpactDir;                                        // 0x0090(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _ImpactAngle;                                      // 0x0094(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _ImpactRange;                                      // 0x0098(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_9C[0x4];                                       // 0x009C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiImpactConfig>               _AltImpacts;                                       // 0x00A0(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TSubclassOf<class UDamageType>                _DamageType;                                       // 0x00B0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FInt32Range                            _Damage;                                           // 0x00B8(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CheckCooldown;                                    // 0x00C8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C9[0x3];                                       // 0x00C9(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FFloatRange                            _Cooldown;                                         // 0x00CC(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _CooldownValue;                                    // 0x00DC(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatRange                            _DelayAfterAttack;                                 // 0x00E0(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _EndWithMontage;                                   // 0x00F0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _RangedAttack;                                     // 0x00F1(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_F2[0x2];                                       // 0x00F2(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _AttackTime;                                       // 0x00F4(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _LastHitTime;                                      // 0x00F8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _NextHitTime;                                      // 0x00FC(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	EMaiAttackStatus                              _AttackStatus;                                     // 0x0100(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _DuringBlow;                                       // 0x0101(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_102[0x6];                                      // 0x0102(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void EndAttack(bool Abort);
	void EventAllowDodge(class AActor* Owner);
	void EventAttackHit(class AActor* Owner);
	void EventAttackMiss(class AActor* Owner);
	void EventBeginAttack(class AActor* Owner);
	void EventEndBlow(class AActor* Owner);
	void EventInitAttack(class AActor* Owner);
	void EventStartBlow(class AActor* Owner, int32 impactID);
	void EventStopAttack(class AActor* Owner, bool Aborted);
	void EventTickAttack(class AActor* Owner, float DeltaSeconds);
	void LoadRowHandle(const struct FDataTableRowHandle& attackRow);
	void SetAllowDodgeReaction(bool allow);
	void SetAttackCone(float Angle, float dir);
	void SetAttackRange(float min_0, float max_0);
	void SetBehavior(class UBehaviorTree* Behavior, const TArray<struct FGameplayTag>& animTags);
	void SetCooldown(float min_0, float max_0);
	void SetDamage(TSubclassOf<class UDamageType> DamageType, int32 min_0, int32 max_0);
	void SetFocus(EMaiAttackFocus Mode, float Charging);
	void SetLogicalImpact(bool Enable, float Range, float Angle, float dir);
	void SetSnapMode(EMaiAttackSnap Mode);

	bool GetAllowDodgeReaction() const;
	class UMaiAttackerComponent* GetAttackerComponent() const;
	void GetAttackRange(float* min_0, float* max_0) const;
	class AActor* GetAttackTarget() const;
	float GetDamage(int32 impactID) const;
	TSubclassOf<class UDamageType> GetDamageType(int32 impactID) const;
	float GetImpactAngle(int32 impactID) const;
	float GetImpactDir(int32 impactID) const;
	float GetImpactRange(int32 impactID) const;
	class AActor* GetOwnerActor() const;
	class AAIController* GetOwnerAI() const;
	class ACharacter* GetOwnerCH() const;

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

// Class Mai.MaiScriptAttack
// 0x01B0 (0x02B8 - 0x0108)
class UMaiScriptAttack final : public UMaiAttack
{
public:
	struct FDaiAnimPlayParams                     _OwnerAnimParams;                                  // 0x0108(0x0078)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPrivate)
	class UAnimMontage*                           _OwnerMontage;                                     // 0x0180(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         _StartSectionDuration;                             // 0x0188(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         _AttackAnimDuration;                               // 0x018C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_190[0x8];                                      // 0x0190(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FAnimationRootMotion                   _OwnerARM;                                         // 0x0198(0x0048)(Edit, DisableEditOnTemplate, EditConst, AdvancedDisplay, NativeAccessSpecifierPrivate)
	float                                         _SnapStartTime;                                    // 0x01E0(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_1E4[0x4];                                      // 0x01E4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<float>                                 _HitTimes;                                         // 0x01E8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, AdvancedDisplay, NativeAccessSpecifierPrivate)
	bool                                          _EnabledFocus;                                     // 0x01F8(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_1F9[0x7];                                      // 0x01F9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          _EnabledSnap;                                      // 0x0200(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_201[0x1];                                      // 0x0201(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          _SnapOnlyInStartSection;                           // 0x0202(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _SnapOnlyToLastHit;                                // 0x0203(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxAttackSpeed;                                   // 0x0204(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxSlideSpeed;                                    // 0x0208(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AbortBlendOut;                                    // 0x020C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _RotationInterpolationRate;                        // 0x0210(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MovementDist;                                     // 0x0214(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UCurveFloat*                            _MovementCurve;                                    // 0x0218(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FMaiDebugPrintParams                   _PrintParams;                                      // 0x0220(0x0030)(Edit, NativeAccessSpecifierPublic)
	uint8                                         Pad_250[0x68];                                     // 0x0250(0x0068)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void DisableFocus();
	void DisableSnap();
	void DisableSnapFocus();
	void EnableFocus();
	void EnableSnap();
	void OnOwnerMontageEnds(class UAnimMontage* Montage, bool interrupted);
	class UAnimMontage* PlayOwnerMontage();
	void SelectBestAnim(const struct FVector& Forward);
	void SetOwnerMontage(class UAnimMontage* Montage);
	void SetSliding(float Distance, class UCurveFloat* Curve);

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

// Class Mai.MaiSenseConfig_Sight
// 0x0018 (0x0088 - 0x0070)
class UMaiSenseConfig_Sight final : public UAISenseConfig_Sight
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UCurveFloat*                            DistanceCurve;                                     // 0x0078(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UCurveFloat*                            AngleCurve;                                        // 0x0080(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiAttackerComponent
// 0x0268 (0x0308 - 0x00A0)
class UMaiAttackerComponent final : public UActorComponent
{
public:
	bool                                          _AutoCombatRange;                                  // 0x00A0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_A1[0x3];                                       // 0x00A1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _CombatRange;                                      // 0x00A4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UDataTable*                             _TableOfAttacks;                                   // 0x00A8(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UBehaviorTree*                          _AttacksTree;                                      // 0x00B0(0x0008)(Edit, ZeroConstructor, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FMaiAttackerConfig                     _DifficultyConfig[0xA];                            // 0x00B8(0x0018)(Edit, NoDestructor, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_1A8[0x4];                                      // 0x01A8(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _AttacksTreeInjectTag;                             // 0x01AC(0x0008)(Edit, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FGameplayTag                           _BehaviorInjectTag;                                // 0x01B4(0x0008)(Edit, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FGameplayTag                           _CountersTreeInjectTag;                            // 0x01BC(0x0008)(Edit, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBDelayAfterAttack;                               // 0x01C4(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_1CC[0x4];                                      // 0x01CC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<class FName, struct FMaiAttackConfig>    _Attacks;                                          // 0x01D0(0x0050)(ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	TMap<class FName, class UMaiAttack*>          _SingleAttacks;                                    // 0x0220(0x0050)(Edit, ExportObject, ContainsInstancedReference, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	TArray<struct FMaiAttackBTNode>               _BTAttacks;                                        // 0x0270(0x0010)(Edit, ZeroConstructor, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	class UBTCompositeNode*                       _BTAttacksRoot;                                    // 0x0280(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	int32                                         _BlowImpactID;                                     // 0x0288(0x0004)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         _ChaseMode : 1;                                    // 0x028C(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_28D[0x3];                                      // 0x028D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UMaiAttack*                             _CurrentAttack;                                    // 0x0290(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AActor*                                 _AttackTarget;                                     // 0x0298(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TArray<class AActor*>                         _HittedActors;                                     // 0x02A0(0x0010)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	float                                         _Cooldown;                                         // 0x02B0(0x0004)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _ForceMiss;                                        // 0x02B4(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_2B5[0x3];                                      // 0x02B5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UMaiAttack*                             _NextAttack;                                       // 0x02B8(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_2C0[0x18];                                     // 0x02C0(0x0018)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class AActor* enemy, float Damage, const struct FHitResult& Hit, TSubclassOf<class UDamageType> DamageType)> DamageEnemy; // 0x02D8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(bool Aborted)>  OnAttackEnd;                                       // 0x02E8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(bool Aborted)>  OnAttackCleared;                                   // 0x02F8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	static class UMaiAttackerComponent* getAttacker(class AActor* Actor);

	bool ApplyDamage(class AActor* enemy, const struct FHitResult& Hit, TSubclassOf<class UDamageType> DamageType, float Damage, bool singleDamage);
	void BeginAttack();
	void ChangeAttacksBT(class UBehaviorTree* attacksTree);
	void CleanUpAttack();
	void DebugAttack(class AActor* enemy);
	void EnableChaseMode(bool Enable);
	void EnableFocusOnEnemy(bool Enable);
	void EndBlow(int32 impactID);
	void FillAttacks();
	void ForceMiss(bool miss);
	void ForceNextAttack(class FName attackName);
	void InjectBT(bool inject);
	void RunPureAttack(class AActor* enemy, class FName attackName);
	void SelectAttack(class AActor* enemy, class FName attackName);
	void StartBlow(int32 impactID);
	void StopAttack(bool Aborted, class FName attackName);
	bool TryApplyLogicalDamage(class AActor* enemy, float Damage, int32 impactID);
	bool TryApplyPhysicalDamage(class AActor* enemy, const struct FHitResult& Hit);

	class UMaiAttack* FindBestAttack() const;
	EMaiAttackRange GetAttackRangeType(class AActor* enemy, class FName attackName) const;
	class AActor* GetCurrentAttackTarget() const;
	float GetCurrentAttackTime() const;
	bool HasAnyValidAttack(class AActor* enemy, EMaiAttackRange Range, bool checkCone, bool checkToken) const;
	bool HasHit() const;
	bool IsInAttackRange(class AActor* enemy, float VelocityScale) const;
	bool IsMissed(class AActor* enemy) const;

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

// Class Mai.MaiHostileAttackers
// 0x0298 (0x0338 - 0x00A0)
class UMaiHostileAttackers final : public UActorComponent
{
public:
	uint8                                         _MaxActiveAttackers;                               // 0x00A0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A1[0x7];                                       // 0x00A1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class AActor*>                         _ActiveAttackers;                                  // 0x00A8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<class AActor*>                         _PassiveAttackers;                                 // 0x00B8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	struct FDaiBlockade                           _LockTokensDistribution;                           // 0x00C8(0x0018)(Edit, DisableEditOnTemplate, NativeAccessSpecifierPublic)
	struct FDaiBlockade                           _HardLockTokens;                                   // 0x00E0(0x0018)(Edit, DisableEditOnTemplate, NativeAccessSpecifierPublic)
	int32                                         _Pool;                                             // 0x00F8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FMaiTokenConfig                        _Token2Config[0x20];                               // 0x00FC(0x0008)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	int32                                         _Token2Pools[0x20];                                // 0x01FC(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_27C[0x4];                                      // 0x027C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiTokenCooldown>              _Token2Cooldown;                                   // 0x0280(0x0010)(Edit, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TMap<class AActor*, uint8>                    _Token2Holders;                                    // 0x0290(0x0050)(Edit, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TMap<class AActor*, struct FVector>           _Token2Waiting;                                    // 0x02E0(0x0050)(Edit, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	float                                         _Token2StealAngle;                                 // 0x0330(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Token2StealDist;                                  // 0x0334(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UMaiHostileAttackers* getHostileAttackers(class AActor* Actor);

	bool AddAttacker(class AActor* enemy);
	void ChangeMaxActiveAttackers(uint8 Count);
	void DebugAttacker();
	void HardLockTokens(class FName Reason, class AActor* enemy);
	void LockTokens(class FName Reason, bool lock);
	void LockTokensDistribution(class FName Reason, bool lock);
	void ReleaseAttackPosition(class AActor* enemy);
	void RemoveAttacker(class AActor* enemy);
	void ReturnToken(class AActor* enemy);
	void TakeAttackPosition(class AActor* enemy, const struct FVector& Location);
	bool TakeToken(class AActor* enemy, EMaiToken Token, bool steal);
	void UpdateActiveAttackers();

	bool CanBeActive(class AActor* enemy) const;
	bool CanGetSlot(class AActor* enemy) const;
	bool CanHaveSlot(class AActor* enemy) const;
	bool DisallowSlotGive(class AActor* enemy) const;
	uint8 GetAttackerCount() const;
	uint8 GetSlotHoldersCount(TSubclassOf<class AActor> klass) const;
	class AActor* GetTokenHolder() const;
	bool HasAnyAttacker() const;
	bool HasToken(class AActor* enemy) const;

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

// Class Mai.MaiNoiseSilencerVolume
// 0x0008 (0x0308 - 0x0300)
class AMaiNoiseSilencerVolume final : public AVolume
{
public:
	class UMaiNoiseSilencerComponent*             NoiseSilencer;                                     // 0x0300(0x0008)(Edit, ExportObject, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiBehaviorTreeComponent
// 0x0000 (0x0290 - 0x0290)
class UMaiBehaviorTreeComponent final : public UBehaviorTreeComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBehaviorTreeComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBehaviorTreeComponent")
	}
	static class UMaiBehaviorTreeComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBehaviorTreeComponent>();
	}
};
DUMPER7_ASSERTS_UMaiBehaviorTreeComponent;

// Class Mai.ProvideBlackboardObject
// 0x0028 (0x0098 - 0x0070)
class UProvideBlackboardObject final : public UDaiContextGetter
{
public:
	struct FBlackboardKeySelector                 _Entry;                                            // 0x0070(0x0028)(Edit, NativeAccessSpecifierPublic)

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

// Class Mai.MaiSenseEvent_Hearing
// 0x0058 (0x0080 - 0x0028)
class UMaiSenseEvent_Hearing final : public UAISenseEvent
{
public:
	struct FMaiNoiseEvent                         Event;                                             // 0x0028(0x0058)(Edit, BlueprintVisible, Protected, NativeAccessSpecifierProtected)

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

// Class Mai.MaiBTComposite_Random
// 0x0008 (0x0088 - 0x0080)
class UMaiBTComposite_Random final : public UBTCompositeNode
{
public:
	int32                                         _FillTo;                                           // 0x0080(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_84[0x4];                                       // 0x0084(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTDecorator_WithInterval
// 0x0008 (0x0070 - 0x0068)
class UMaiBTDecorator_WithInterval : public UBTDecorator
{
public:
	float                                         Interval;                                          // 0x0068(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         RandomDeviation;                                   // 0x006C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiDespawnInterface
// 0x0000 (0x0000 - 0x0000)
class IMaiDespawnInterface final
{
public:
	void DisableActor();
	void EnableActor();
	void WantDespawn();

	bool IsActorDisabled() const;

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

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

// Class Mai.MaiBTDecorator_AreInSameLocation
// 0x0090 (0x0100 - 0x0070)
class UMaiBTDecorator_AreInSameLocation final : public UMaiBTDecorator_WithInterval
{
public:
	struct FMaiBlackboardFloat                    AcceptableRadius;                                  // 0x0070(0x0030)(Edit, NativeAccessSpecifierPublic)
	EDaiDistanceType                              GeometricDistanceType;                             // 0x00A0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A1[0x7];                                       // 0x00A1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBlackboardKeySelector                 BlackboardKeyA;                                    // 0x00A8(0x0028)(Edit, NativeAccessSpecifierPublic)
	struct FBlackboardKeySelector                 BlackboardKeyB;                                    // 0x00D0(0x0028)(Edit, NativeAccessSpecifierPublic)
	bool                                          _IncludeOverlapA;                                  // 0x00F8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _IncludeOverlapB;                                  // 0x00F9(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_FA[0x6];                                       // 0x00FA(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTDecorator_CheckActorGameplayTags
// 0x0060 (0x00D0 - 0x0070)
class UMaiBTDecorator_CheckActorGameplayTags final : public UMaiBTDecorator_WithInterval
{
public:
	struct FBlackboardKeySelector                 ActorToCheck;                                      // 0x0070(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	EGameplayContainerMatchType                   TagsToMatch;                                       // 0x0098(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_99[0x7];                                       // 0x0099(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  GameplayTags;                                      // 0x00A0(0x0020)(Edit, Protected, NativeAccessSpecifierProtected)
	class FString                                 CachedDescription;                                 // 0x00C0(0x0010)(ZeroConstructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

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

// Class Mai.MaiSense_Smell
// 0x0000 (0x01A8 - 0x01A8)
class UMaiSense_Smell final : public UAISense_Sight
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiSense_Smell")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiSense_Smell")
	}
	static class UMaiSense_Smell* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiSense_Smell>();
	}
};
DUMPER7_ASSERTS_UMaiSense_Smell;

// Class Mai.MaiBTDecorator_CheckAttack
// 0x0068 (0x00D0 - 0x0068)
class UMaiBTDecorator_CheckAttack : public UBTDecorator
{
public:
	struct FBlackboardKeySelector                 _Target;                                           // 0x0068(0x0028)(Edit, NativeAccessSpecifierPublic)
	struct FDataTableRowHandle                    _AttackRow;                                        // 0x0090(0x0010)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	struct FBlackboardKeySelector                 _AttackKey;                                        // 0x00A0(0x0028)(Edit, NativeAccessSpecifierPublic)
	bool                                          _AttackFromKey;                                    // 0x00C8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CheckCone;                                        // 0x00C9(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _StealToken;                                       // 0x00CA(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_CB[0x5];                                       // 0x00CB(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTDecorator_SelectAttack
// 0x0000 (0x00D0 - 0x00D0)
class UMaiBTDecorator_SelectAttack final : public UMaiBTDecorator_CheckAttack
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBTDecorator_SelectAttack")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBTDecorator_SelectAttack")
	}
	static class UMaiBTDecorator_SelectAttack* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBTDecorator_SelectAttack>();
	}
};
DUMPER7_ASSERTS_UMaiBTDecorator_SelectAttack;

// Class Mai.MaiSenseConfig_The6thSense
// 0x0018 (0x0060 - 0x0048)
class UMaiSenseConfig_The6thSense : public UAISenseConfig
{
public:
	uint8                                         Pad_48[0x8];                                       // 0x0048(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UCurveFloat*                            DistanceCurve;                                     // 0x0050(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SensingRange;                                      // 0x0058(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_5C[0x4];                                       // 0x005C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTDecorator_HasValidAnyAttack
// 0x0038 (0x00A8 - 0x0070)
class UMaiBTDecorator_HasValidAnyAttack final : public UMaiBTDecorator_WithInterval
{
public:
	struct FBlackboardKeySelector                 _Enemy;                                            // 0x0070(0x0028)(Edit, NativeAccessSpecifierPublic)
	bool                                          _StealToken;                                       // 0x0098(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_99[0x3];                                       // 0x0099(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _MinCheckPeriod;                                   // 0x009C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxCheckPeriod;                                   // 0x00A0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A4[0x4];                                       // 0x00A4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTDecorator_CanStealAnyToken
// 0x0028 (0x0098 - 0x0070)
class UMaiBTDecorator_CanStealAnyToken final : public UMaiBTDecorator_WithInterval
{
public:
	struct FBlackboardKeySelector                 _Enemy;                                            // 0x0070(0x0028)(Edit, NativeAccessSpecifierPublic)

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

// Class Mai.MaiSpawner
// 0x0110 (0x03D8 - 0x02C8)
class AMaiSpawner : public AActor
{
public:
	class UTextRenderComponent*                   _Text;                                             // 0x02C8(0x0008)(Edit, ExportObject, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 _LastGroundName;                                   // 0x02D0(0x0010)(Edit, ZeroConstructor, EditConst, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _SpawnOnPersistant;                                // 0x02E0(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_2E1[0x3];                                      // 0x02E1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class FName                                   _UniqueTag;                                        // 0x02E4(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_2EC[0x4];                                      // 0x02EC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class UMaiSpawnAreaComponent*>         _SpawnAreas;                                       // 0x02F0(0x0010)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, EditConst, ContainsInstancedReference, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	TArray<class UMaiChaseAreaComponent*>         _ChaseAreas;                                       // 0x0300(0x0010)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, EditConst, ContainsInstancedReference, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	bool                                          _AutoSpawn;                                        // 0x0310(0x0001)(Edit, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _Enabled;                                          // 0x0311(0x0001)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _Spawned;                                          // 0x0312(0x0001)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_313[0x5];                                      // 0x0313(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  _AddGameplayTags;                                  // 0x0318(0x0020)(Edit, Protected, NativeAccessSpecifierProtected)
	struct FGameplayTagContainer                  _RemoveGameplayTags;                               // 0x0338(0x0020)(Edit, Protected, NativeAccessSpecifierProtected)
	struct FDaiConditions                         _CanSpawnConditions;                               // 0x0358(0x0030)(Edit, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	struct FDaiNotifies                           _OnSpawnNotifies;                                  // 0x0388(0x0018)(Edit, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	struct FDaiNotifies                           _OnDespawnNotifies;                                // 0x03A0(0x0018)(Edit, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	TMulticastInlineDelegate<void(class AActor* Actor)> AfterSpawn;                                  // 0x03B8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AActor* Actor)> BeforeDespawn;                               // 0x03C8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	bool BlockSpawn();
	void ChangeAutoSpawn(bool Active);
	void Despawn();
	void DespawnActor(class AActor* Actor);
	void OnDespawn(class AActor* Actor);
	void OnSpawn(class AActor* Actor);
	void OnSpawnController(class AAIController* Controller);
	void PIEDespawn();
	void PIESpawn();
	void SetActive(bool Active);
	void Spawn();
	class AActor* SpawnSingle();
	void UpdateAutoSpawn();

	bool IsActive() const;
	bool isInChaseArea(const struct FVector& Location, float Extent) const;
	bool IsInSpawnArea(const struct FVector& Location, float Extent) const;
	bool ShouldAutoSpawn() const;

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

// Class Mai.MaiSingleSpawner
// 0x0098 (0x0470 - 0x03D8)
class AMaiSingleSpawner : public AMaiSpawner
{
public:
	class AActor*                                 _ActorSpawned;                                     // 0x03D8(0x0008)(Edit, ZeroConstructor, Transient, EditConst, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ReleasedOwnership;                                // 0x03E0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3E1[0x7];                                      // 0x03E1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class AActor>                     _ActorToSpawn;                                     // 0x03E8(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSubclassOf<class AAIController>              _AIControllerClass;                                // 0x03F0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OverrideAIControllerClass;                        // 0x03F8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3F9[0x7];                                      // 0x03F9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSoftObjectPtr<class UBehaviorTree>           _BehaviorTree;                                     // 0x0400(0x0028)(Edit, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _OverrideBehaviorTree;                             // 0x0428(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_429[0x7];                                      // 0x0429(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiBlackboardValue>            _BlackboardConfig;                                 // 0x0430(0x0010)(Edit, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class AMaiActionGraph>         _ActionGraph;                                      // 0x0440(0x0028)(Edit, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FGameplayTag                           _ActorTag;                                         // 0x0468(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	void OnInitBehaviors(class AAIController* Controller);
	void ReleaseSpawnedActor();
	void SetActorClass(TSubclassOf<class AActor> ActorClass);
	void SetAIControllerClass(TSubclassOf<class AAIController> aiClass);
	class AActor* SpawnUnique();

	class AActor* GetSpawnedActor() const;

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

// Class Mai.MaiBTDecorator_SelectEnemy
// 0x0038 (0x00A8 - 0x0070)
class UMaiBTDecorator_SelectEnemy final : public UMaiBTDecorator_WithInterval
{
public:
	struct FBlackboardKeySelector                 _Target;                                           // 0x0070(0x0028)(Edit, NativeAccessSpecifierPublic)
	uint8                                         Pad_98[0x10];                                      // 0x0098(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTDecorator_Condition
// 0x0008 (0x0078 - 0x0070)
class UMaiBTDecorator_Condition final : public UMaiBTDecorator_WithInterval
{
public:
	class UDaiCondition*                          _Condition;                                        // 0x0070(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiWallFollowing
// 0x0110 (0x01B0 - 0x00A0)
class UMaiWallFollowing final : public UActorComponent
{
public:
	float                                         _MoveTimer;                                        // 0x00A0(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _WantedSpeed;                                      // 0x00A4(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _GoalLocation;                                     // 0x00A8(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _GoalUp;                                           // 0x00C0(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class AActor*                                 _GoalActor;                                        // 0x00D8(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _MoveGoalLocation;                                 // 0x00E0(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _MoveSubGoalLocation;                              // 0x00F8(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _SubGoalIndex;                                     // 0x0110(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_114[0x4];                                      // 0x0114(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiWallPathPoint>              _MovePath;                                         // 0x0118(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	class UCurveFloat*                            _SpeedCurve;                                       // 0x0128(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _FloorCost;                                        // 0x0130(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _WallCost;                                         // 0x0134(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _CeilCost;                                         // 0x0138(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiOnMeshState                               _OnMeshState;                                      // 0x013C(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_13D[0x3];                                      // 0x013D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class AActor*                                 _AvoidActor;                                       // 0x0140(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AvoidRadius;                                      // 0x0148(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AvoidOffset;                                      // 0x014C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AvoidCost;                                        // 0x0150(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_154[0x1C];                                     // 0x0154(0x001C)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          _IsUsingLink;                                      // 0x0170(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_171[0x7];                                      // 0x0171(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class AMaiCharacter*                          _Character;                                        // 0x0178(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_180[0x8];                                      // 0x0180(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _PathRebuildDistance;                              // 0x0188(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SubGoalReachedDistance;                           // 0x018C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SubGoalCheckPeriod;                               // 0x0190(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SubGoalCheckDistance;                             // 0x0194(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _ChangeSurfaceDistance;                            // 0x0198(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECollisionChannel                             _CollisionChannel;                                 // 0x019C(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _UseCollisionChannel;                              // 0x019D(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19E[0x2];                                      // 0x019E(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(bool onEdge, const struct FVector& FinalLocation, const struct FRotator& FinalRotation)> SurfaceChangedDelegate; // 0x01A0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	bool MoveTo(const struct FVector& GoalLocation);
	bool PreparePathTo(const struct FVector& GoalLocation, const struct FVector& goalUp);
	void RebuildPath();
	void SnapToFloorMesh(float DeltaTime);

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

// Class Mai.MaiBTDecorator_DirectionalConeCheck
// 0x0008 (0x00F8 - 0x00F0)
class UMaiBTDecorator_DirectionalConeCheck final : public UBTDecorator_ConeCheck
{
public:
	float                                         ConeDirectionMod;                                  // 0x00F0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_F4[0x4];                                       // 0x00F4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTDecorator_ContainsBehavior
// 0x0000 (0x0068 - 0x0068)
class UMaiBTDecorator_ContainsBehavior final : public UBTDecorator
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBTDecorator_ContainsBehavior")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBTDecorator_ContainsBehavior")
	}
	static class UMaiBTDecorator_ContainsBehavior* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBTDecorator_ContainsBehavior>();
	}
};
DUMPER7_ASSERTS_UMaiBTDecorator_ContainsBehavior;

// Class Mai.MaiProjectOnSplineTester
// 0x0000 (0x0520 - 0x0520)
class UMaiProjectOnSplineTester final : public UBillboardComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiProjectOnSplineTester")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiProjectOnSplineTester")
	}
	static class UMaiProjectOnSplineTester* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiProjectOnSplineTester>();
	}
};
DUMPER7_ASSERTS_UMaiProjectOnSplineTester;

// Class Mai.MaiBTDecorator_DoesNodePathExist
// 0x0060 (0x00C8 - 0x0068)
class UMaiBTDecorator_DoesNodePathExist final : public UBTDecorator
{
public:
	struct FBlackboardKeySelector                 BlackboardKeyA;                                    // 0x0068(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	struct FBlackboardKeySelector                 BlackboardKeyB;                                    // 0x0090(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	EMaiNodePathExistanceQueryType                PathQueryType;                                     // 0x00B8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B9[0x7];                                       // 0x00B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class UNavigationQueryFilter>     FilterClass;                                       // 0x00C0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiBTDecorator_DoesWallPathExist
// 0x0060 (0x00C8 - 0x0068)
class UMaiBTDecorator_DoesWallPathExist final : public UBTDecorator
{
public:
	struct FBlackboardKeySelector                 BlackboardKeyA;                                    // 0x0068(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	struct FBlackboardKeySelector                 BlackboardKeyB;                                    // 0x0090(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	EMaiWallPathExistanceQueryType                PathQueryType;                                     // 0x00B8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B9[0x7];                                       // 0x00B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class UNavigationQueryFilter>     FilterClass;                                       // 0x00C0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiSenseEvent_The6thSense
// 0x0048 (0x0070 - 0x0028)
class UMaiSenseEvent_The6thSense : public UAISenseEvent
{
public:
	struct FMaiThe6thSenseEvent                   Event;                                             // 0x0028(0x0048)(Edit, BlueprintVisible, Protected, NativeAccessSpecifierProtected)

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

// Class Mai.MaiBTDecorator_ForceFail
// 0x0000 (0x0068 - 0x0068)
class UMaiBTDecorator_ForceFail final : public UBTDecorator
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBTDecorator_ForceFail")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBTDecorator_ForceFail")
	}
	static class UMaiBTDecorator_ForceFail* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBTDecorator_ForceFail>();
	}
};
DUMPER7_ASSERTS_UMaiBTDecorator_ForceFail;

// Class Mai.MaiBTDecorator_Priority
// 0x0030 (0x0098 - 0x0068)
class UMaiBTDecorator_Priority final : public UBTDecorator
{
public:
	struct FMaiBlackboardInt                      _Chance;                                           // 0x0068(0x0030)(Edit, NativeAccessSpecifierPublic)

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

// Class Mai.MaiHealth
// 0x0060 (0x0100 - 0x00A0)
class UMaiHealth final : public UActorComponent
{
public:
	int32                                         _MaxHealth;                                        // 0x00A0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Health;                                           // 0x00A4(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Immortal;                                         // 0x00A8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OneHitKill;                                       // 0x00A9(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_AA[0x6];                                       // 0x00AA(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void()>              OnDead;                                            // 0x00B0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnRevive;                                          // 0x00C0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(int32 prevHealth)> OnHealthChange;                                 // 0x00D0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const float Damage)> OnReceiveDamage;                              // 0x00E0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_F0[0x10];                                      // 0x00F0(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void Heal();
	void HealPercent(float HealingFactor, bool bUseBaseHealth);
	void Kill();
	void ReceiveCure(float cure, class AActor* Instigator);
	void ReceiveDamage(float Damage, class AActor* Instigator);
	void Revive();
	void SetHealth(int32 newHealth);
	void SetImmortal(bool immortal);
	void SetOneHitKill(bool InOneHitKill);

	float GetBaseMaxHealthValue() const;
	int32 GetHealth() const;
	int32 GetHealthPercent() const;
	float GetHealthValue() const;
	int32 GetMaxHealth() const;
	float GetMaxHealthValue() const;
	bool IsDead() const;
	bool IsImmortal() const;

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

// Class Mai.MaiBTDecorator_BlueprintBase
// 0x0000 (0x00A0 - 0x00A0)
class UMaiBTDecorator_BlueprintBase final : public UBTDecorator_BlueprintBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBTDecorator_BlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBTDecorator_BlueprintBase")
	}
	static class UMaiBTDecorator_BlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBTDecorator_BlueprintBase>();
	}
};
DUMPER7_ASSERTS_UMaiBTDecorator_BlueprintBase;

// Class Mai.MaiBTService_BlueprintBase
// 0x0000 (0x0098 - 0x0098)
class UMaiBTService_BlueprintBase : public UBTService_BlueprintBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBTService_BlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBTService_BlueprintBase")
	}
	static class UMaiBTService_BlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBTService_BlueprintBase>();
	}
};
DUMPER7_ASSERTS_UMaiBTService_BlueprintBase;

// Class Mai.MaiBTTask_BlueprintBase
// 0x0000 (0x00A8 - 0x00A8)
class UMaiBTTask_BlueprintBase : public UBTTask_BlueprintBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBTTask_BlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBTTask_BlueprintBase")
	}
	static class UMaiBTTask_BlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBTTask_BlueprintBase>();
	}
};
DUMPER7_ASSERTS_UMaiBTTask_BlueprintBase;

// Class Mai.MaiBTService_KeepDistance
// 0x0010 (0x00A8 - 0x0098)
class UMaiBTService_KeepDistance final : public UBTService_BlackboardBase
{
public:
	TArray<struct FStanceRange>                   _Ranges;                                           // 0x0098(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPrivate)

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

// Class Mai.MaiLightObserver
// 0x0030 (0x0260 - 0x0230)
class UMaiLightObserver final : public USceneComponent
{
public:
	float                                         _Radius;                                           // 0x0230(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _HalfHeight;                                       // 0x0234(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Enabled;                                          // 0x0238(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _IsLit;                                            // 0x0239(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_23A[0x6];                                      // 0x023A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class UMaiLightObserver* observer)> LightObserverChange;           // 0x0240(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(bool On)>       LightingState;                                     // 0x0250(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	void TurnOff();
	void TurnOn();

	bool GetIsLit() const;
	bool IsEnabled() const;

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

// Class Mai.MaiBTService_KeepDistanceBySpeed
// 0x0038 (0x00D0 - 0x0098)
class UMaiBTService_KeepDistanceBySpeed final : public UBTService_BlackboardBase
{
public:
	struct FBlackboardKeySelector                 _IdealLocation;                                    // 0x0098(0x0028)(Edit, NativeAccessSpecifierPrivate)
	float                                         _LocationOffset;                                   // 0x00C0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         _SpeedInterpolation;                               // 0x00C4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         _MinSpeed;                                         // 0x00C8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          _Debug;                                            // 0x00CC(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_CD[0x3];                                       // 0x00CD(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTService_LookAt
// 0x0008 (0x00A0 - 0x0098)
class UMaiBTService_LookAt final : public UBTService_BlackboardBase
{
public:
	uint8                                         _Priority;                                         // 0x0098(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	EMaiFocusType                                 _FocusType;                                        // 0x0099(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _OnlyHeadLookAt;                                   // 0x009A(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _CheckConeRange;                                   // 0x009B(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _ConeRange;                                        // 0x009C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

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

// Class Mai.MaiCrowdAgent
// 0x0000 (0x0340 - 0x0340)
class UMaiCrowdAgent final : public UCrowdFollowingComponent
{
public:
	void InitializeCrowd();

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

// Class Mai.MaiBTService_Notify
// 0x0008 (0x00A0 - 0x0098)
class UMaiBTService_Notify : public UMaiBTService_BlueprintBase
{
public:
	bool                                          _OnActivate;                                       // 0x0098(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          _OnDeactivate;                                     // 0x0099(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          _OnTick;                                           // 0x009A(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_9B[0x5];                                       // 0x009B(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ReceiveNotify(class AAIController* OwnerController, class APawn* ControlledPawn);

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

// Class Mai.MaiBTService_CallNotify
// 0x0008 (0x00A8 - 0x00A0)
class UMaiBTService_CallNotify final : public UMaiBTService_Notify
{
public:
	class UDaiNotify*                             _Notify;                                           // 0x00A0(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

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

// Class Mai.EnvQueryItemType_WallPoint
// 0x0000 (0x0030 - 0x0030)
class UEnvQueryItemType_WallPoint final : public UEnvQueryItemType_VectorBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnvQueryItemType_WallPoint")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnvQueryItemType_WallPoint")
	}
	static class UEnvQueryItemType_WallPoint* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnvQueryItemType_WallPoint>();
	}
};
DUMPER7_ASSERTS_UEnvQueryItemType_WallPoint;

// Class Mai.MaiBTService_PlaySlotAnim
// 0x0088 (0x00F8 - 0x0070)
class UMaiBTService_PlaySlotAnim final : public UBTService
{
public:
	bool                                          _SelectAnimByTag;                                  // 0x0070(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_71[0x7];                                       // 0x0071(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UAnimSequenceBase*                      _AnimationToPlay;                                  // 0x0078(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FGameplayTagContainer                  _AnimTags;                                         // 0x0080(0x0020)(Edit, Protected, NativeAccessSpecifierProtected)
	float                                         _PlayRate;                                         // 0x00A0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _TimeToStartAt;                                    // 0x00A4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _Slot;                                             // 0x00A8(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _BlendInTime;                                      // 0x00B0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _BlendOutTime;                                     // 0x00B4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	int32                                         _LoopCount;                                        // 0x00B8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_BC[0x4];                                       // 0x00BC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBlackboardKeySelector                 _PlayTimeOutput;                                   // 0x00C0(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	class USkeletalMeshComponent*                 CachedSkelMesh;                                    // 0x00E8(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UAnimMontage*                           _PlayedMontage;                                    // 0x00F0(0x0008)(ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

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

// Class Mai.MaiBTService_RegisterCombos
// 0x0000 (0x0070 - 0x0070)
class UMaiBTService_RegisterCombos final : public UBTService
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiBTService_RegisterCombos")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiBTService_RegisterCombos")
	}
	static class UMaiBTService_RegisterCombos* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiBTService_RegisterCombos>();
	}
};
DUMPER7_ASSERTS_UMaiBTService_RegisterCombos;

// Class Mai.MaiBTService_InitAttack
// 0x0068 (0x00D8 - 0x0070)
class UMaiBTService_InitAttack final : public UBTService
{
public:
	struct FBlackboardKeySelector                 _Target;                                           // 0x0070(0x0028)(Edit, NativeAccessSpecifierPublic)
	struct FDataTableRowHandle                    _AttackRow;                                        // 0x0098(0x0010)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	struct FBlackboardKeySelector                 _AttackKey;                                        // 0x00A8(0x0028)(Edit, NativeAccessSpecifierPublic)
	bool                                          _AttackFromKey;                                    // 0x00D0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D1[0x7];                                       // 0x00D1(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTService_SelectNextAP
// 0x0080 (0x00F0 - 0x0070)
class UMaiBTService_SelectNextAP final : public UBTService
{
public:
	struct FBlackboardKeySelector                 _ActionPoint;                                      // 0x0070(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	struct FBlackboardKeySelector                 _WorkLocation;                                     // 0x0098(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)
	EPointSelection                               _SelectionMethod;                                  // 0x00C0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_C1[0x7];                                       // 0x00C1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBlackboardKeySelector                 _SelectionOrigin;                                  // 0x00C8(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)

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

// Class Mai.MaiBTService_AbandonAP
// 0x0028 (0x00C0 - 0x0098)
class UMaiBTService_AbandonAP final : public UMaiBTService_BlueprintBase
{
public:
	struct FBlackboardKeySelector                 _ActionPoint;                                      // 0x0098(0x0028)(Edit, Protected, NativeAccessSpecifierProtected)

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

// Class Mai.BTTask_BeingActionBase
// 0x0000 (0x0070 - 0x0070)
class UBTTask_BeingActionBase : public UBTTaskNode
{
public:
	void OnActionEvent(class UBeingAction* action, EBeingActionEventType EventType);

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

// Class Mai.MaiWallVolume
// 0x0008 (0x0308 - 0x0300)
class AMaiWallVolume final : public AVolume
{
public:
	class UMaiWallNavGenerator*                   WallMeshGen;                                       // 0x0300(0x0008)(Edit, ExportObject, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	void RegenerateGraph();

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

// Class Mai.BTTask_PushBeingAction
// 0x0008 (0x0078 - 0x0070)
class UBTTask_PushBeingAction final : public UBTTask_BeingActionBase
{
public:
	class UBeingAction*                           action;                                            // 0x0070(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)

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

// Class Mai.BTTask_SoftAbortAction
// 0x0010 (0x0080 - 0x0070)
class UBTTask_SoftAbortAction final : public UBTTask_BeingActionBase
{
public:
	class UBeingAction*                           action;                                            // 0x0070(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UBeingAction*                           ActionCopy;                                        // 0x0078(0x0008)(ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

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

// Class Mai.MaiBTTask_LookAtBBEntry
// 0x0008 (0x00A0 - 0x0098)
class UMaiBTTask_LookAtBBEntry final : public UBTTask_BlackboardBase
{
public:
	float                                         Precision;                                         // 0x0098(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_9C[0x4];                                       // 0x009C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTTask_MoveToExt
// 0x0010 (0x0170 - 0x0160)
class UMaiBTTask_MoveToExt : public UBTTask_MoveTo
{
public:
	bool                                          _RepathOnGoalMoved;                                // 0x0160(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_161[0x3];                                      // 0x0161(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _RepathTestPeriod;                                 // 0x0164(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _RepathTestDistance;                               // 0x0168(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_16C[0x4];                                      // 0x016C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTTask_MoveToAP
// 0x0010 (0x0180 - 0x0170)
class UMaiBTTask_MoveToAP final : public UMaiBTTask_MoveToExt
{
public:
	struct FGameplayTag                           _ActionInjectionTag;                               // 0x0170(0x0008)(Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _RunActionsOnReach;                                // 0x0178(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _StanceFromActionPoint;                            // 0x0179(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_17A[0x6];                                      // 0x017A(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTTask_MoveToOnNodes
// 0x0030 (0x00C8 - 0x0098)
class UMaiBTTask_MoveToOnNodes final : public UBTTask_BlackboardBase
{
public:
	float                                         _AcceptableRadius;                                 // 0x0098(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _ObservedBlackboardValueTolerance;                 // 0x009C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ObserveBlackboardValue;                           // 0x00A0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiOnPathFail                                _OnPathFail;                                       // 0x00A1(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A2[0x6];                                       // 0x00A2(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                _TargetLocation;                                   // 0x00A8(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiNodeFollowing*                      _Following;                                        // 0x00C0(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiBTTask_MoveToOnWalls
// 0x00A8 (0x0140 - 0x0098)
class UMaiBTTask_MoveToOnWalls final : public UBTTask_BlackboardBase
{
public:
	float                                         _AcceptableRadius;                                 // 0x0098(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _OverlapAgent : 1;                                 // 0x009C(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _OverlapGoal : 1;                                  // 0x009C(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _TrackMovingGoal : 1;                              // 0x009C(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _ProjectGoalLocation : 1;                          // 0x009C(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _AllowStrafe : 1;                                  // 0x009C(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_9D[0x3];                                       // 0x009D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _ObservedBlackboardValueTolerance;                 // 0x00A0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ObserveBlackboardValue;                           // 0x00A4(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _MoveToAP;                                         // 0x00A5(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A6[0x2];                                       // 0x00A6(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _ActionInjectionTag;                               // 0x00A8(0x0008)(Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _RunActionsOnReach;                                // 0x00B0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _StanceFromActionPoint;                            // 0x00B1(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B2[0x6];                                       // 0x00B2(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBlackboardKeySelector                 _AvoidActor;                                       // 0x00B8(0x0028)(Edit, NativeAccessSpecifierPublic)
	uint8                                         Pad_E0[0x8];                                       // 0x00E0(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UMaiWallFollowing*                      _Following;                                        // 0x00E8(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_F0[0x50];                                      // 0x00F0(0x0050)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTTask_PlayAnimMontage
// 0x00A0 (0x0148 - 0x00A8)
class UMaiBTTask_PlayAnimMontage final : public UBTTask_BlueprintBase
{
public:
	bool                                          _SelectAnimByTag;                                  // 0x00A8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A9[0x7];                                       // 0x00A9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UAnimSequenceBase*                      _AnimationToPlay;                                  // 0x00B0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGameplayTagContainer                  _AnimTags;                                         // 0x00B8(0x0020)(Edit, NativeAccessSpecifierPublic)
	float                                         _PlayRate;                                         // 0x00D8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _TimeToStartAt;                                    // 0x00DC(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _NonBlocking : 1;                                  // 0x00E0(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _NonBlockingAbort : 1;                             // 0x00E0(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _InfinitLoop : 1;                                  // 0x00E0(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_E1[0x3];                                       // 0x00E1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class FName                                   _Slot;                                             // 0x00E4(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _BlendInTime;                                      // 0x00EC(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _BlendOutTime;                                     // 0x00F0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AbortBlendOutTime;                                // 0x00F4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Duration;                                         // 0x00F8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _LoopCount;                                        // 0x00FC(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGameplayTagContainer                  _AbortAnimTags;                                    // 0x0100(0x0020)(Edit, NativeAccessSpecifierPublic)
	class UBehaviorTreeComponent*                 MyOwnerComp;                                       // 0x0120(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UAnimMontage*                           _AbortMontage;                                     // 0x0128(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_130[0x18];                                     // 0x0130(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiBTTask_State
// 0x0010 (0x00B8 - 0x00A8)
class UMaiBTTask_State final : public UMaiBTTask_BlueprintBase
{
public:
	class UBeingState*                            _State;                                            // 0x00A8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, AdvancedDisplay, PersistentInstance, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Decorated;                                        // 0x00B0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B1[0x7];                                       // 0x00B1(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnStateStatusChanged(EStateStatus Status);

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

// Class Mai.MaiCharacter
// 0x01D0 (0x0840 - 0x0670)
class AMaiCharacter : public ACharacter
{
public:
	uint8                                         Pad_668[0x10];                                     // 0x0668(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	class USceneComponent*                        _MeshPivot;                                        // 0x0678(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UBeingStatesComponent*                  _MyStates;                                         // 0x0680(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TArray<class UShapeComponent*>                _AttackColliders;                                  // 0x0688(0x0010)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, EditConst, ContainsInstancedReference, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	TMap<class UShapeComponent*, struct FMaiLocations> _AttackCollidersDebug;                        // 0x0698(0x0050)(Transient, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	struct FGameplayTagContainer                  _TagContainer;                                     // 0x06E8(0x0020)(Edit, BlueprintVisible, BlueprintReadOnly, SaveGame, Protected, NativeAccessSpecifierProtected)
	class FName                                   _EyeSocket;                                        // 0x0708(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _FullyDisabled;                                    // 0x0710(0x0001)(Edit, ZeroConstructor, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _DetectLongFall;                                   // 0x0711(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_712[0x2];                                      // 0x0712(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _DetectLongFallDuration;                           // 0x0714(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         _DetectLongFallTimer;                              // 0x0718(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_71C[0x4];                                      // 0x071C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                _SpawnLocation;                                    // 0x0720(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FHitResult                             _MoveBlockedBy;                                    // 0x0738(0x0100)(BlueprintVisible, BlueprintReadOnly, Transient, IsPlainOldData, NoDestructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
	uint8                                         Pad_838[0x8];                                      // 0x0838(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static struct FVector getFixedCapsuleLocation(class APawn* Pawn, const struct FVector& Location);
	static struct FVector getFixedGroundLocation(class APawn* Pawn, const struct FVector& Location);

	void AbortAttack(class FName attackName);
	void AIDebuggerTick(class AMaiDebugger* debugger, float DeltaSeconds);
	void AppendGameplayTags(const struct FGameplayTagContainer& GameplayTags);
	void ClearGameplayTags();
	void DisableAttackColliders(const TArray<class FName>& collidersTags);
	void EnableAttackColliders(const TArray<class FName>& collidersTags);
	void LongFallDetected();
	void RemoveGameplayTags(const struct FGameplayTagContainer& GameplayTags);
	void SetGameplayTags(const struct FGameplayTagContainer& GameplayTags);
	float TakePointDamage(float Damage, TSubclassOf<class UDamageType> damageClass, class AController* EventInstigator, class AActor* DamageCauser);

	class UMaiCharacterMovementComponent* GetMaiCharacterMovement() const;
	class AMaiController* GetMaiController() const;
	class AMaiSpawner* GetMaiSpawner() const;
	bool IsDead() const;
	bool IsNotMoving() const;

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

// Class Mai.MaiCharacterMovementComponent
// 0x00A0 (0x1060 - 0x0FC0)
class UMaiCharacterMovementComponent : public UCharacterMovementComponent
{
public:
	uint8                                         Pad_FB8[0x8];                                      // 0x0FB8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _CurrentWalkSpeed;                                 // 0x0FC0(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_FC4[0x4];                                      // 0x0FC4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class UBeingMaxSpeedStat*                     _MaxSpeedStat;                                     // 0x0FC8(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UBeingSpeedModStat*                     _SpeedMod;                                         // 0x0FD0(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UBeingSteering*                         _Steering;                                         // 0x0FD8(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<EMaiTribool>                           _AllowPhysicsRotationDuringAnimRootMotion;         // 0x0FE0(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, AdvancedDisplay, NativeAccessSpecifierPublic)
	float                                         _Acceleration;                                     // 0x0FF0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _CustomWalkSpeed;                                  // 0x0FF4(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _UseCustomWalkSpeed;                               // 0x0FF8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ResetPitchAndRoll;                                // 0x0FF9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _UseRMAvoidance;                                   // 0x0FFA(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _HasRMLocomotion;                                  // 0x0FFB(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _SideMovement;                                     // 0x0FFC(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _AllowSideMovement;                                // 0x0FFD(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_FFE[0x2];                                      // 0x0FFE(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _SideMin;                                          // 0x1000(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SideMax;                                          // 0x1004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SideDuration;                                     // 0x1008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SideDurationMin;                                  // 0x100C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SideDurationMax;                                  // 0x1010(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SideMinSpeed;                                     // 0x1014(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ForwardMovementLimit;                              // 0x1018(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BackwardsMovementLimit;                            // 0x101C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SidewaysMovementLimit;                             // 0x1020(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1024[0x3C];                                    // 0x1024(0x003C)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void MoveToward(const struct FVector& move);
	struct FPushedMovementModeHandle PushMovementMode(const EMovementMode NewMovementMode, const uint8 NewCustomMode);
	void RevokeMovementMode(const struct FPushedMovementModeHandle& InHandle);
	void SetCustomWalkSpeed(float newSpeed);
	void SetLimitedBackwardsMovement(float MaximumBackwardsMovement);
	void SetLimitedForwardMovement(float MaximumForwardMovement);
	void SetLimitedMovement(float MaximumForwardMovement, float MaximumBackwardMovement, float MaximumSidewaysMovement);
	void SetLimitedSidewaysMovement(float MaximumSidewaysMovement);
	void SetSideMovement(bool side);

	struct FVector GetActorFeetLocation() const;
	float GetLimitedBackwardsMovement() const;
	float GetLimitedForwardMovement() const;
	float GetLimitedSidewaysMovement() const;
	float GetMaxWalkSpeed() const;

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

// Class Mai.MaiController
// 0x0468 (0x0858 - 0x03F0)
class AMaiController : public AAIController
{
public:
	class UMaiWallFollowing*                      _WallWalking;                                      // 0x03F0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UBeingActionsComponent*                 _ActionsComponent;                                 // 0x03F8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class AMaiActionGraph>         _SoftActionGraph;                                  // 0x0400(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, DisableEditOnTemplate, EditConst, SaveGame, AdvancedDisplay, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AMaiActionGraph*                        _ActionGraph;                                      // 0x0428(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AMaiActionPoint*                        _CurrentActionPoint;                               // 0x0430(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AMaiActionPoint*                        _LastGraphPoint;                                   // 0x0438(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AMaiActionPoint*                        _LastPathPoint;                                    // 0x0440(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AMaiActionPoint*                        _NextActionPoint;                                  // 0x0448(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AMaiActionPoint*                        _AbandonActionPoint;                               // 0x0450(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TMap<class AMaiActionPoint*, float>           _PointCooldowns;                                   // 0x0458(0x0050)(Edit, EditConst, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	class UMaiActionSequenceComponent*            _ActionPointSequence;                              // 0x04A8(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, DisableEditOnTemplate, EditConst, InstancedReference, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	EMaiActionPointState                          _CapState;                                         // 0x04B0(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_4B1[0x3];                                      // 0x04B1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         _NotifyOnReselect : 1;                             // 0x04B4(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         _SetAcceptableRadiusFromAP : 1;                    // 0x04B4(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_4B5[0x3];                                      // 0x04B5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         _HistorySize;                                      // 0x04B8(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_4B9[0x7];                                      // 0x04B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class UNavigationQueryFilter>     _FilterClass;                                      // 0x04C0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _WorkLocation;                                     // 0x04C8(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _DisableControlRotation;                           // 0x04E0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4E1[0x7];                                      // 0x04E1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSoftObjectPtr<class UBehaviorTree>           _SoftBehaviorTree;                                 // 0x04E8(0x0028)(Edit, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UBlackboardData*                        _BlackboardAsset;                                  // 0x0510(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TArray<struct FMaiBlackboardValue>            _BlackboardConfig;                                 // 0x0518(0x0010)(Edit, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	struct FDaiBlockade                           _BlockBT;                                          // 0x0528(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	struct FDaiBlockade                           _PauseBT;                                          // 0x0540(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	TArray<class FName>                           _BehaviorStack;                                    // 0x0558(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	struct FMaiBlackboardData                     _BlackboardData;                                   // 0x0568(0x0280)(Edit, BlueprintVisible, BlueprintReadOnly, EditConst, SaveGame, AdvancedDisplay, Protected, NativeAccessSpecifierProtected)
	class FName                                   _BBBlocked;                                        // 0x07E8(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBCurrentActionPoint;                             // 0x07F0(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBHomeLocation;                                   // 0x07F8(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBPlayer;                                         // 0x0800(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBTeleported;                                     // 0x0808(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	ENavMeshState                                 _WaitForNavMesh;                                   // 0x0810(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_811[0x47];                                     // 0x0811(0x0047)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static void abortAction(class AAIController* AIController, TSubclassOf<class UBeingAction> ActionClass);
	static void abortAllActions(class AAIController* AIController, class AActor* InstigatedBy);
	static void pushAction(class AAIController* AIController, class UBeingAction* action, EAIRequestPriority Priority, class AActor* InstigatedBy);
	static void ReportTouchEvent(class AController* TouchReceiver, class AActor* Other, const struct FVector& Location);

	void AbandonActionPoint(class AMaiActionPoint* actionPoint, bool immediately);
	void AIDebuggerTick(class AMaiDebugger* debugger, float DeltaSeconds);
	void ChangeWorkLocation();
	void DebugLog(const class FString& log, const struct FLinearColor& Color);
	void DisableBehaviorTree(class FName Reason);
	void EnableBehaviorTree(class FName Reason);
	void FilterActionPointsByCooldown(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints);
	void FilterGraphPointsScript(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, class AActor* Origin);
	class AMaiActionGraph* GetActionGraph();
	class UAISenseConfig* GetSenseConfig(TSubclassOf<class UAISense> SenseClass);
	class UMaiWallFollowing* GetWallPathFollowing();
	void IgnorePoint(class AMaiActionPoint* Point, float Cooldown);
	bool IsCurrentlyPerceived(class AActor* Actor, bool onlyHostile, struct FAIStimulus* Stimulus);
	bool IsCurrentlyPerceivedAndHostile(class AActor* Actor, struct FAIStimulus* Stimulus);
	bool IsLocationSafe(const struct FVector& Location);
	void LoadBlackboard();
	void LostAttackSlot();
	void LostToken();
	void OnActionGraphChanged(class AMaiActionGraph* actionGraph);
	void OnActionPointAbandoned(class AMaiActionPoint* actionPoint);
	void OnActionPointReached(class AMaiActionPoint* actionPoint);
	void OnActionPointSelected(class AMaiActionPoint* actionPoint);
	void OnInitBehaviors();
	void OnNavigationData();
	void OnPerceived(class AActor* Actor, const struct FAIStimulus& Stimulus);
	void OnPointerLoaded(class FName Key, class AActor* Actor);
	void PauseBehaviorTree(class FName Reason);
	void PopBehaviorName(class FName BehaviorName);
	void PushBehaviorName(class FName BehaviorName);
	void ReachCurrentActionPoint(const struct FGameplayTag& InjectTag, bool runActions);
	void ReceivedAttackSlot();
	uint8 ReceiveTokens(uint8 pool);
	void ResumeBehaviorTree(class FName Reason);
	void RunActionPointActions(const struct FGameplayTag& InjectTag, class AMaiActionPoint* actionPoint);
	void RunActionPointWaitWork(const struct FGameplayTag& InjectTag, class AMaiActionPoint* actionPoint);
	void SaveBlackboard();
	bool SelectActionPoint(const TMap<class AMaiActionPoint*, uint8>& ActionPoints, EPointSelection Method, class AActor* Origin);
	void SelectNearestActionGraph(class FName graphTag);
	bool SelectNextActionPoint(EPointSelection Method, class AActor* Origin);
	void SetCurrentActionGraph(class AMaiActionGraph* pointGraph);
	bool SetCurrentActionPoint(class AMaiActionPoint* actionPoint, bool Reset);
	void SetGoalActionPoint(class AMaiActionPoint* goalPoint, class AMaiActionPoint* subgoalPoint, class FName sequenceTag);
	void SetPartyID(uint8 partyID);
	bool TeleportFrom(const struct FVector& Location, float Distance, bool forceDirect);
	bool TeleportInFrontOf(class AActor* Actor, float Distance);
	bool TeleportTowards(const struct FVector& Location, float Distance);
	void UsedCurrentActionPoint();

	class ANavigationData* GetNavData() const;
	uint8 GetPartyID() const;
	class AMaiActionPoint* GetPrevActionPoint() const;
	const struct FVector GetWorkLocation() const;
	bool HasAction(TSubclassOf<class UBeingAction> ActionClass) const;
	bool HasAnyAction() const;
	bool HasAnyBehaviorName(const TArray<class FName>& behaviorNames) const;
	bool HasBehaviorName(class FName BehaviorName) const;
	bool HasValidNavData() const;
	bool IsCurrentActionPointReached() const;
	bool IsCurrentWayPointReached() const;
	bool IsIndoor() const;
	class FName TopBehaviorName() const;

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

// Class Mai.MaiControllerExt
// 0x0048 (0x08A0 - 0x0858)
class AMaiControllerExt final : public AMaiController
{
public:
	EMaiParty                                     _Party;                                            // 0x0858(0x0001)(Edit, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_859[0x7];                                      // 0x0859(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class AActor*                                 _ArchEnemy;                                        // 0x0860(0x0008)(Edit, ZeroConstructor, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AActor*                                 _ForcedEnemy;                                      // 0x0868(0x0008)(Edit, ZeroConstructor, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AActor*                                 _FightingEnemy;                                    // 0x0870(0x0008)(Edit, ZeroConstructor, EditConst, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_878[0x4];                                      // 0x0878(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class FName                                   _BBArchEnemy;                                      // 0x087C(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBInstigator;                                     // 0x0884(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBAlertLocation;                                  // 0x088C(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   _BBChaseLocation;                                  // 0x0894(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_89C[0x4];                                      // 0x089C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ClearForceChase();
	void ClearIgnoreAll();
	class AActor* FindEnemyToFight();
	void ForceChase(class AActor* enemy, bool clearWhenPerceived);
	void SetAlertInstigator(class AActor* Actor);
	void SetAlertLocation(const struct FVector& Location);
	void SetArchEnemy(class AActor* enemy);
	void SetChaseLocation(const struct FVector& Location);
	void SetFightingEnemy(class AActor* enemy);
	void SetForcedEnemy(class AActor* enemy);
	void SetIgnoreAll();
	void SetParty(EMaiParty party);
	void UpdateEnemyData();

	class AActor* GetAlertInstigator() const;
	struct FVector GetAlertLocation() const;
	class AActor* GetArchEnemy() const;
	struct FVector GetChaseLocation() const;
	class AActor* GetFightingEnemy() const;
	class AActor* GetForcedEnemy() const;
	EMaiParty GetParty() const;
	bool IsFightingWith(class AActor* enemy) const;

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

// Class Mai.MaiCoverComponent
// 0x0018 (0x00E0 - 0x00C8)
class UMaiCoverComponent final : public UDaiTagsComponent
{
public:
	bool                                          _FullCover;                                        // 0x00C8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C9[0x7];                                       // 0x00C9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class UMaiCoverUser*>                  _Users;                                            // 0x00D0(0x0010)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, ContainsInstancedReference, AdvancedDisplay, NativeAccessSpecifierPublic)

public:
	bool IsActorInCover(class AActor* Actor);
	bool IsUserInCover(class UMaiCoverUser* User);
	void OnOverlapBegin(class AActor* OverlappedActor, class AActor* OtherActor);
	void OnOverlapEnd(class AActor* OverlappedActor, class AActor* OtherActor);

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

// Class Mai.MaiCoverTrigger
// 0x0010 (0x02E0 - 0x02D0)
class AMaiCoverTrigger final : public ATriggerBox
{
public:
	class UMaiCoverComponent*                     _Cover;                                            // 0x02D0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _FullCover;                                        // 0x02D8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2D9[0x7];                                      // 0x02D9(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiCoverUser
// 0x0038 (0x00D8 - 0x00A0)
class UMaiCoverUser final : public UActorComponent
{
public:
	TArray<class UMaiCoverComponent*>             _MyCovers;                                         // 0x00A0(0x0010)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, ContainsInstancedReference, NativeAccessSpecifierPrivate)
	bool                                          _Enabled;                                          // 0x00B0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_B1[0x7];                                       // 0x00B1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class UMaiCoverComponent* cover)> _OnEnterCover;                   // 0x00B8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class UMaiCoverComponent* cover)> _OnLeaveCover;                   // 0x00C8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	bool IsInCover(const struct FGameplayTag& Filter) const;
	bool IsInFullCover(const struct FGameplayTag& Filter) const;

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

// Class Mai.MaiPointOfInterest
// 0x0018 (0x0450 - 0x0438)
class AMaiPointOfInterest : public AMaiActionPoint
{
public:
	class UMaiDetectionAreaComponent*             _DetectionArea;                                    // 0x0438(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Cooldown;                                         // 0x0440(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_444[0xC];                                      // 0x0444(0x000C)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnDisable();
	void OnEnable();
	void SwitchOff();
	void SwitchOn();
	void SwitchOnFor(float duration);

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

// Class Mai.MaiDecoy
// 0x0020 (0x0470 - 0x0450)
class AMaiDecoy final : public AMaiPointOfInterest
{
public:
	class UMaiLightEmitter*                       _LightEmitter;                                     // 0x0450(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiNoiseEmitter*                       _NoiseEmitter;                                     // 0x0458(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UBeingVisibilityLevelStat*              _VisibilityLevel;                                  // 0x0460(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Hearable;                                         // 0x0468(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Visible;                                          // 0x0469(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Smelly;                                           // 0x046A(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _NoiseEnabled;                                     // 0x046B(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _VisibilityEnabled;                                // 0x046C(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OdorEnabled;                                      // 0x046D(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_46E[0x2];                                      // 0x046E(0x0002)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiCuriosityComponent
// 0x0158 (0x01F8 - 0x00A0)
class UMaiCuriosityComponent : public UActorComponent
{
public:
	TArray<class AMaiActionPoint*>                _DetectedPoints;                                   // 0x00A0(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<class AMaiActionPoint*>                _PointsInPerception;                               // 0x00B0(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	class AMaiPointOfInterest*                    _PointOfInterest;                                  // 0x00C0(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, EditConst, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMap<struct FGuid, float>                     _PointCooldowns;                                   // 0x00C8(0x0050)(Edit, EditConst, SaveGame, AdvancedDisplay, NativeAccessSpecifierPublic)
	TSet<struct FGuid>                            _PointsToIgnore;                                   // 0x0118(0x0050)(Edit, EditConst, SaveGame, AdvancedDisplay, NativeAccessSpecifierPublic)
	bool                                          _UseDetection;                                     // 0x0168(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _UseSenses;                                        // 0x0169(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _AutoSelect;                                       // 0x016A(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMaiSelectionMethod                           _SelectionMethod;                                  // 0x016B(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SearchCooldown;                                   // 0x016C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _LastChance;                                       // 0x0170(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FLinearColor                           _InvalidColor;                                     // 0x0174(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FLinearColor                           _ValidColor;                                       // 0x0184(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FLinearColor                           _SelectedColor;                                    // 0x0194(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1A4[0x4];                                      // 0x01A4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class AMaiPointOfInterest* Point, bool notice)> PerceivePoint;     // 0x01A8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AMaiPointOfInterest* Point)> SelectPoint;                    // 0x01B8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_1C8[0x30];                                     // 0x01C8(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void DebugCuriosity();
	void IgnorePoint(class AMaiPointOfInterest* Point);
	void OnTargetPerceptionUpdated(class AActor* Actor, const struct FAIStimulus& Stimulus);
	class AMaiPointOfInterest* SelectPointOfInterest(EMaiSelectionMethod Selection, TSubclassOf<class AMaiPointOfInterest> pointClass);
	void UpdateDetectedPoints(float areaExtent);
	void UpdatePointsInPerception(TSubclassOf<class AMaiPointOfInterest> pointClass, float areaExtent);

	bool ShouldIgnorePoint(class AMaiPointOfInterest* Point) const;

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

// Class Mai.MaiInterestedComponent
// 0x0000 (0x01F8 - 0x01F8)
class UMaiInterestedComponent final : public UMaiCuriosityComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiInterestedComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiInterestedComponent")
	}
	static class UMaiInterestedComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiInterestedComponent>();
	}
};
DUMPER7_ASSERTS_UMaiInterestedComponent;

// Class Mai.AIDataProvider_FromScript
// 0x0010 (0x0038 - 0x0028)
class UAIDataProvider_FromScript final : public UAIDataProvider
{
public:
	float                                         FloatValue;                                        // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         IntValue;                                          // 0x002C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          BoolValue;                                         // 0x0030(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_31[0x7];                                       // 0x0031(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ScriptBindData(const class APawn* Pawn);
	void SetBoolValue(bool Value);
	void SetFloatValue(float Value);
	void SetIntValue(int32 Value);

	class FString ScriptToString() const;

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

// Class Mai.AIDataProvider_IncParams
// 0x0008 (0x0048 - 0x0040)
class UAIDataProvider_IncParams final : public UAIDataProvider_QueryParams
{
public:
	float                                         mod;                                               // 0x0040(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_44[0x4];                                       // 0x0044(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.AIDataProvider_MulParams
// 0x0008 (0x0048 - 0x0040)
class UAIDataProvider_MulParams final : public UAIDataProvider_QueryParams
{
public:
	float                                         mod;                                               // 0x0040(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_44[0x4];                                       // 0x0044(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiSenseDebugger
// 0x0030 (0x0560 - 0x0530)
class UMaiSenseDebugger final : public UMaiShapeDrawer
{
public:
	float                                         _DefaultThickness;                                 // 0x0530(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_534[0x2C];                                     // 0x0534(0x002C)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiDebugger
// 0x00E0 (0x03A8 - 0x02C8)
class AMaiDebugger : public AActor
{
public:
	class UMaiSenseDebugger*                      AllSenses;                                         // 0x02C8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiSenseDebugger*                      HearingSense;                                      // 0x02D0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiSenseDebugger*                      SightSense;                                        // 0x02D8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiSenseDebugger*                      SmellSense;                                        // 0x02E0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TLazyObjectPtr<class AActor>                  _DebuggedActor;                                    // 0x02E8(0x0018)(Edit, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _DebugAutoActive : 1;                              // 0x0300(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugActive : 1;                                  // 0x0300(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, DisableEditOnTemplate, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugHearing : 1;                                 // 0x0300(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugSight : 1;                                   // 0x0300(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugSmell : 1;                                   // 0x0300(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugNoises : 1;                                  // 0x0300(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugVisibility : 1;                              // 0x0300(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugOdor : 1;                                    // 0x0300(0x0001)(BitIndex: 0x07, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugAggro : 1;                                   // 0x0301(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugAttack : 1;                                  // 0x0301(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugCuriosity : 1;                               // 0x0301(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugActionPath : 1;                              // 0x0301(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugNavPath : 1;                                 // 0x0301(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugMovement : 1;                                // 0x0301(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_302[0x6];                                      // 0x0302(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<class FName, bool>                       _DebugState;                                       // 0x0308(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	uint8                                         _DebugUnreal : 1;                                  // 0x0358(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugNavMesh : 1;                                 // 0x0358(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugAInfo : 1;                                   // 0x0358(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugBehaviorTree : 1;                            // 0x0358(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugEQS : 1;                                     // 0x0358(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DebugPerception : 1;                              // 0x0358(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         _DisableExtensions : 1;                            // 0x0358(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_359[0x7];                                      // 0x0359(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class APawn*>                          _AllAIBeings;                                      // 0x0360(0x0010)(Edit, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AActor* Actor)> AIDebugActorChanged;                         // 0x0370(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class AMaiDebugger* debugger, float DeltaSeconds)> AIDebuggerTick; // 0x0380(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_390[0x18];                                     // 0x0390(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static void aiDebugPrint(class AActor* Actor, const class FString& InString, bool toScreen, bool toLog, const struct FLinearColor& Color, float duration, bool ignoreActor, const class FString& Category);
	static void aiDebugPrint2(class AActor* Actor, const class FString& InString, const struct FMaiDebugPrintParams& Params_0);
	static bool getAIDebugActionPath(class APawn* Being);
	static class AActor* getAIDebugActor(class UObject* WorldContext);
	static bool getAIDebugAggro(class APawn* Being);
	static bool getAIDebugAttack(class APawn* Being);
	static bool getAIDebugCuriosity(class APawn* Being);
	static class AMaiDebugger* getAIDebugger(class UObject* WorldContext, bool onlyIfActive);
	static bool getAIDebugGState(class UObject* WorldContext, class FName Name_0);
	static bool getAIDebugHearing(class UObject* WorldContext);
	static bool getAIDebugMovement(class APawn* Being);
	static bool getAIDebugNavPath(class APawn* Being);
	static bool getAIDebugNoises(class APawn* Being);
	static bool getAIDebugOdor(class APawn* Being);
	static bool getAIDebugSight(class UObject* WorldContext);
	static bool getAIDebugSmell(class UObject* WorldContext);
	static bool getAIDebugState(class APawn* Being, class FName Name_0);
	static bool getAIDebugVisibility(class APawn* Being);

	void AIDebugActionPath(bool Debug);
	void AIDebugActor(class FName Name_0);
	void AIDebugAddState(class FName Name_0, bool Debug);
	void AIDebugAggro(bool Debug);
	void AIDebugAInfo(bool Debug);
	void AIDebugAttack(bool Debug);
	void AIDebugBehaviorTree(bool Debug);
	void AIDebugCuriosity(bool Debug);
	void AIDebugEQS(bool Debug);
	void AIDebugEQSDetails();
	void AIDebugEQSSwitch();
	void AIDebugger(bool Activate);
	void AIDebugHearing(bool Debug);
	void AIDebugHUD();
	void AIDebugMovement(bool Debug);
	void AIDebugNavMesh(bool Debug);
	void AIDebugNavPath(bool Debug);
	void AIDebugNextActor();
	void AIDebugNoises(bool Debug);
	void AIDebugOdor(bool Debug);
	void AIDebugPerception(bool Debug);
	void AIDebugPrevActor();
	void AIDebugSight(bool Debug);
	void AIDebugSmell(bool Debug);
	void AIDebugSpectator();
	void AIDebugState(class FName Name_0, bool Debug);
	void AIDebugUnreal(bool Debug);
	void AIDebugVisibility(bool Debug);

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

// Class Mai.MaiEqsContext_BlackboardKey
// 0x0000 (0x0028 - 0x0028)
class UMaiEqsContext_BlackboardKey final : public UEnvQueryContext
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiEqsContext_BlackboardKey")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiEqsContext_BlackboardKey")
	}
	static class UMaiEqsContext_BlackboardKey* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiEqsContext_BlackboardKey>();
	}
};
DUMPER7_ASSERTS_UMaiEqsContext_BlackboardKey;

// Class Mai.MaiEqsContext_BlackboardActor
// 0x0000 (0x0028 - 0x0028)
class UMaiEqsContext_BlackboardActor final : public UEnvQueryContext
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiEqsContext_BlackboardActor")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiEqsContext_BlackboardActor")
	}
	static class UMaiEqsContext_BlackboardActor* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiEqsContext_BlackboardActor>();
	}
};
DUMPER7_ASSERTS_UMaiEqsContext_BlackboardActor;

// Class Mai.MaiEqsContext_BlackboardLocation
// 0x0000 (0x0028 - 0x0028)
class UMaiEqsContext_BlackboardLocation final : public UEnvQueryContext
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiEqsContext_BlackboardLocation")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiEqsContext_BlackboardLocation")
	}
	static class UMaiEqsContext_BlackboardLocation* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiEqsContext_BlackboardLocation>();
	}
};
DUMPER7_ASSERTS_UMaiEqsContext_BlackboardLocation;

// Class Mai.MaiEqsGenerator_ActionPoints
// 0x0070 (0x00C0 - 0x0050)
class UMaiEqsGenerator_ActionPoints final : public UEnvQueryGenerator
{
public:
	struct FAIDataProviderClassValue              _PointClass;                                       // 0x0050(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FAIDataProviderNameValue               _PointTag;                                         // 0x0088(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)

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

// Class Mai.MaiEqsGenerator_CloseTo
// 0x0068 (0x00B8 - 0x0050)
class UMaiEqsGenerator_CloseTo final : public UEnvQueryGenerator
{
public:
	struct FVector                                _Direction;                                        // 0x0050(0x0018)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FAIDataProviderFloatValue              _SearchRadius;                                     // 0x0068(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        _Offsets;                                          // 0x00A0(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
	TSubclassOf<class UEnvQueryContext>           _SearchCenter;                                     // 0x00B0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiEqsGenerator_SearchActionPoints
// 0x0058 (0x00A8 - 0x0050)
class UMaiEqsGenerator_SearchActionPoints final : public UEnvQueryGenerator
{
public:
	struct FAIDataProviderFloatValue              _SearchRadius;                                     // 0x0050(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TSubclassOf<class UEnvQueryContext>           _SearchCenter;                                     // 0x0088(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSubclassOf<class AMaiActionPoint>            _PointClass;                                       // 0x0090(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   _PointTag;                                         // 0x0098(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CheckWeight;                                      // 0x00A0(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CheckConditions;                                  // 0x00A1(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A2[0x6];                                       // 0x00A2(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiEqsGenerator_WallMeshGrid
// 0x0120 (0x0170 - 0x0050)
class UMaiEqsGenerator_WallMeshGrid final : public UEnvQueryGenerator
{
public:
	struct FAIDataProviderFloatValue              _GridHalfSize;                                     // 0x0050(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FAIDataProviderFloatValue              _SpaceBetween;                                     // 0x0088(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TSubclassOf<class UEnvQueryContext>           _GenerateAround;                                   // 0x00C0(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FAIDataProviderBoolValue               _OnFloor;                                          // 0x00C8(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FAIDataProviderBoolValue               _OnWall;                                           // 0x0100(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FAIDataProviderBoolValue               _OnCeil;                                           // 0x0138(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)

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

// Class Mai.MaiEqsTest_AttackLocations
// 0x0008 (0x0200 - 0x01F8)
class UMaiEqsTest_AttackLocations final : public UEnvQueryTest
{
public:
	TSubclassOf<class UEnvQueryContext>           _Enemy;                                            // 0x01F8(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiEqsTest_Trace2
// 0x0108 (0x0300 - 0x01F8)
class UMaiEqsTest_Trace2 final : public UEnvQueryTest
{
public:
	struct FEnvTraceData                          TraceData;                                         // 0x01F8(0x0040)(Edit, DisableEditOnInstance, NoDestructor, NativeAccessSpecifierPublic)
	bool                                          OverrideChannel;                                   // 0x0238(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECollisionChannel                             TraceCollisionChannel;                             // 0x0239(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_23A[0x6];                                      // 0x023A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<TSubclassOf<class UEnvQueryContext>>   IgnoredContexts;                                   // 0x0240(0x0010)(Edit, ZeroConstructor, DisableEditOnInstance, UObjectWrapper, NativeAccessSpecifierPublic)
	struct FAIDataProviderBoolValue               TraceFromContext;                                  // 0x0250(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FAIDataProviderFloatValue              ItemHeightOffset;                                  // 0x0288(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, AdvancedDisplay, NativeAccessSpecifierPublic)
	struct FAIDataProviderFloatValue              ContextHeightOffset;                               // 0x02C0(0x0038)(Edit, DisableEditOnInstance, ContainsInstancedReference, AdvancedDisplay, NativeAccessSpecifierPublic)
	TSubclassOf<class UEnvQueryContext>           Context;                                           // 0x02F8(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiEqsTest_VisitedAP
// 0x0008 (0x0200 - 0x01F8)
class UMaiEqsTest_VisitedAP final : public UEnvQueryTest
{
public:
	EEqsVisitedAPScore                            _ScoreType;                                        // 0x01F8(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1F9[0x7];                                      // 0x01F9(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiFlyingComponent
// 0x00A0 (0x0140 - 0x00A0)
class UMaiFlyingComponent final : public UActorComponent
{
public:
	float                                         _FlyingTimer;                                      // 0x00A0(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _FlyingLanding;                                    // 0x00A4(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A5[0x3];                                       // 0x00A5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _WantedSpeed;                                      // 0x00A8(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_AC[0x4];                                       // 0x00AC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                _GoalLocation;                                     // 0x00B0(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _FlyingGoalLocation;                               // 0x00C8(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _FlyingSubGoalLocation;                            // 0x00E0(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        _FlyingPath;                                       // 0x00F8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	class AMaiFlyingGraph*                        _FlyingGraph;                                      // 0x0108(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class AMaiCharacter*                          _Character;                                        // 0x0110(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AcceptanceRadius;                                 // 0x0118(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MinSpeed;                                         // 0x011C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _StartSpeed;                                       // 0x0120(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _InterpSpeed;                                      // 0x0124(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _LandingDistance;                                  // 0x0128(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _PathRebuildDistance;                              // 0x012C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SubGoalReachedDistance;                           // 0x0130(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SubGoalCheckPeriod;                               // 0x0134(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Debug;                                            // 0x0138(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_139[0x7];                                      // 0x0139(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiFlyingPointComponent
// 0x0000 (0x0230 - 0x0230)
class UMaiFlyingPointComponent final : public USceneComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiFlyingPointComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiFlyingPointComponent")
	}
	static class UMaiFlyingPointComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiFlyingPointComponent>();
	}
};
DUMPER7_ASSERTS_UMaiFlyingPointComponent;

// Class Mai.MaiFlyingPoint
// 0x0050 (0x0318 - 0x02C8)
class AMaiFlyingPoint final : public AActor
{
public:
	class UMaiFlyingPointComponent*               _Transformer;                                      // 0x02C8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UStaticMeshComponent*                   _MarkerMesh;                                       // 0x02D0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UTextRenderComponent*                   _Text;                                             // 0x02D8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FLinearColor                           _Color;                                            // 0x02E0(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _ID;                                               // 0x02F0(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2F4[0x4];                                      // 0x02F4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class AMaiFlyingGraph*                        _Owner;                                            // 0x02F8(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _Weight;                                           // 0x0300(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_301[0x3];                                      // 0x0301(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _Radius;                                           // 0x0304(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FMaiFlyingConnection>           _Connections;                                      // 0x0308(0x0010)(Edit, BlueprintVisible, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)

public:
	bool IsReachableFrom(const struct FVector& Location, class AMaiController* User) const;

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

// Class Mai.MaiFlyingGraph
// 0x0018 (0x02E0 - 0x02C8)
class AMaiFlyingGraph final : public AActor
{
public:
	class UMaiFlyingGraphComponent*               _FlyingGraph;                                      // 0x02C8(0x0008)(Edit, ExportObject, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<class APawn*>                          _GraphWalkers;                                     // 0x02D0(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)

public:
	class AMaiFlyingPoint* FindNearestPoint(const struct FVector& Location, float Radius, class AMaiController* User) const;
	int32 GetPointCount() const;
	void GetPoints(TArray<class AMaiFlyingPoint*>* ActionPoints) const;
	void GetPointsInRange(TArray<class AMaiFlyingPoint*>* ActionPoints, const struct FVector& Pos, float Radius) const;
	class AMaiFlyingPoint* GetRandomPoint(const TArray<class AMaiFlyingPoint*>& ActionPoints) const;

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

// Class Mai.MaiFlyingGraphComponent
// 0x0030 (0x0260 - 0x0230)
class UMaiFlyingGraphComponent final : public USceneComponent
{
public:
	TArray<class AMaiFlyingPoint*>                _ActionPoints;                                     // 0x0230(0x0010)(Edit, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)
	TArray<class AMaiFlyingPoint*>                _PointsToUpdate;                                   // 0x0240(0x0010)(Edit, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)
	float                                         _Height;                                           // 0x0250(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Radius;                                           // 0x0254(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxDist;                                          // 0x0258(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _MaxConnectionsCount;                              // 0x025C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	class AMaiFlyingPoint* FindNearestPoint(const struct FVector& Location) const;
	int32 GetPointCount() const;
	void GetPoints(TArray<class AMaiFlyingPoint*>* ActionPoints) const;
	void GetPointsInRange(TArray<class AMaiFlyingPoint*>* ActionPoints, const struct FVector& Pos, float Radius) const;
	class AMaiFlyingPoint* GetRandomPoint() const;

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

// Class Mai.MaiFollowingComponent
// 0x0090 (0x0380 - 0x02F0)
class UMaiFollowingComponent : public UPathFollowingComponent
{
public:
	TMulticastInlineDelegate<void(const struct FVector& Location, int32 areaFlags)> StartMoveToPoint; // 0x02F0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_300[0x30];                                     // 0x0300(0x0030)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _OffsetFromCornersDistance;                        // 0x0330(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _UseViewLocation;                                  // 0x0334(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_335[0x3];                                      // 0x0335(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UCharacterMovementComponent*            _CharacterMoveComp;                                // 0x0338(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSubclassOf<class UNavigationQueryFilter>     _FilterClass;                                      // 0x0340(0x0008)(Edit, ZeroConstructor, Transient, EditConst, NoDestructor, AdvancedDisplay, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AMaiNavLink*                            _PortalOwner;                                      // 0x0348(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_350[0x4];                                      // 0x0350(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          _EnablePortals;                                    // 0x0354(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_355[0x3];                                      // 0x0355(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _PortalMaxDistance;                                // 0x0358(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _EnableShortcuts;                                  // 0x035C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_35D[0x3];                                      // 0x035D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _ShourtcutDistance;                                // 0x0360(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_364[0x4];                                      // 0x0364(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class UNavigationQueryFilter>     _ShortcutFilterClass;                              // 0x0368(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          _ObservePath;                                      // 0x0370(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_371[0x3];                                      // 0x0371(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _ObservePathPeriod;                                // 0x0374(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_378[0x8];                                      // 0x0378(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiFunctions
// 0x0000 (0x0028 - 0x0028)
class UMaiFunctions final : public UDaiFunctions
{
public:
	static void actionsAbortByClass(class AController* Controller, TSubclassOf<class UBeingAction> ActionClass, bool exact);
	static void actionsAbortByPriority(class AController* Controller, EAIRequestPriority Priority, bool exact);
	static void actionsAbortInstigatedBy(class AController* Controller, const class UObject* InstigatedBy);
	static bool actionsAdd(class AController* Controller, class UBeingAction* action, EAIRequestPriority Priority, class UObject* InstigatedBy);
	static void actionsClearAll(class AController* Controller);
	static class UBeingAction* actionsGetCurrent(const class AController* Controller);
	static bool actionsHasAny(const class AController* Controller);
	static bool actionsHasOfClass(const class AController* Controller, TSubclassOf<class UBeingAction> ActionClass);
	static bool actionsIsActive(const class AController* Controller, TSubclassOf<class UBeingAction> ActionClass);
	static void allowPhysicsRotationDuringRootMotion(class ACharacter* Being, bool allow, uint8 Priority);
	static struct FVector calcDirLocation(class APawn* Being, class APawn* Target, const struct FVector& Source, float Radius, bool inversed);
	static bool canGoDirectly(class UObject* WorldContext, const struct FVector& PointA, const struct FVector& PointB, class ANavigationData* NavData, TSubclassOf<class UNavigationQueryFilter> FilterClass, float Tolerance);
	static void clearBlackboard(class AAIController* Controller);
	static void clearPhysicsRotationDuringRootMotion(class ACharacter* Being, uint8 Priority);
	static void disableActionSync(class AActor* Actor);
	static void DisableActor(class AActor* Actor, bool Disable);
	static void DisableBehaviorTree(class AActor* Actor, class FName Reason);
	static void EnableBehaviorTree(class AActor* Actor, class FName Reason);
	static void filterActionPoints_ByClass(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, TSubclassOf<class AMaiActionPoint> pointClass);
	static void filterActionPoints_ByCondition(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, class AActor* caller, class UDaiCondition* Condition);
	static void filterActionPoints_ByConditions(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, class AActor* caller, const struct FDaiConditions& Conditions);
	static void filterActionPoints_ByUseConditions(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, class AActor* User);
	static void filterActionPoints_ByWeight(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, uint8 ignoreWeight);
	static void filterActionPoints_InDetectionArea(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, const struct FVector& Location, float areaExtent);
	static void filterActionPoints_InRange(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, const struct FVector& Location, float Radius);
	static void filterActionPoints_InsideRange(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, const struct FVector& Location, float min_0, float max_0);
	static void filterActionPoints_InVisibilityRadius(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, const struct FVector& Location, float Radius, float perceptionMod);
	static void filterActionPoints_IsSafe(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, class AActor* Actor);
	static void filterActionPoints_OutRange(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, const struct FVector& Location, float Radius);
	static void filterActionPoints_SortByRange(const TArray<class AMaiActionPoint*>& InPoints, TArray<class AMaiActionPoint*>* OutPoints, const struct FVector& Location);
	static void filterBeings_By2D5Distance(const TArray<class APawn*>& inBeings, TArray<class APawn*>* outBeings, class AActor* Actor, float maxDist, float minDist);
	static void filterBeings_ByAggro(const TArray<class APawn*>& inBeings, TArray<class APawn*>* outBeings, class APawn* Being, bool Neutral, bool cautious, bool aggressive);
	static void filterBeings_ByAngle(const TArray<class APawn*>& inBeings, TArray<class APawn*>* outBeings, const struct FVector& Origin, const struct FVector& Direction, float Angle, bool inAngle);
	static void filterBeings_ByAttitude(const TArray<class APawn*>& inBeings, TArray<class APawn*>* outBeings, class APawn* Being, bool friendly, bool Neutral, bool hostile);
	static void filterBeings_ByDistance(const TArray<class APawn*>& inBeings, TArray<class APawn*>* outBeings, EDaiDistanceType DistanceType, const struct FVector& Origin, float maxDist, float minDist);
	static void filterBeings_OnlyAlive(const TArray<class APawn*>& inBeings, TArray<class APawn*>* outBeings);
	static TArray<class APawn*> findAllBeingsByTag(const class UObject* Context, class FName Tag, TSubclassOf<class APawn> beingClass, bool includeDisabled);
	static TArray<class APawn*> findAllBeingsWithInterface(const class UObject* Context, class FName Tag, TSubclassOf<class IInterface> beingInterface);
	static bool findAllEnemies(class AMaiController* Controller, TArray<class AActor*>* enemies);
	static class AActor* findArchEnemy(class AMaiController* Controller);
	static class UActorComponent* findComponentFromAI(class AActor* Actor, TSubclassOf<class UActorComponent> ComponentClass);
	static class AMaiActionPoint* findFarestActionPoint(const TArray<class AMaiActionPoint*>& InPoints, const struct FVector& Location);
	static uint8 findHighestWeight(const TArray<class AMaiActionPoint*>& InPoints);
	static class AMaiActionGraph* findNearestActionGraph(class UObject* Context, const struct FVector& Location, class FName graphTag, bool checkPoints);
	static class AMaiActionPoint* findNearestActionPoint(const TArray<class AMaiActionPoint*>& InPoints, const struct FVector& Location);
	static class APawn* findNearestBeingByTag(const class UObject* Context, const struct FVector& Origin, class FName Tag, TSubclassOf<class APawn> beingClass);
	static class AMaiFlyingGraph* findNearestFlyingGraph(class UObject* Context, const struct FVector& Location, class FName graphTag, bool checkPoints);
	static class AMaiActionPoint* findRandomActionPoint(const TArray<class AMaiActionPoint*>& InPoints, bool useWeights);
	static float get2D5Distance(const struct FVector& Origin, const struct FVector& Target, float heightTolerance, float radiusTolerance);
	static float get2D5DistanceBetween(class AActor* Origin, class AActor* Target, bool Overlap);
	static float get2D5DistanceTo(class AActor* Origin, const struct FVector& Target, bool Overlap);
	static void getActorActionPoints(class AActor* Actor, TArray<class AMaiActionPoint*>* OutPoints);
	static float getActorDistToNearestBeing(class AActor* Actor, class FName Tag, TSubclassOf<class APawn> beingClass, class APawn** nearestBeing);
	static void getAllActionPoints(class UObject* Context, class FName pointTag, TSubclassOf<class AMaiActionPoint> pointClass, TArray<class AMaiActionPoint*>* OutPoints);
	static void getAllActorsActionPoints(class UObject* Context, class FName actorTag, TSubclassOf<class AActor> ActorClass, TArray<class AMaiActionPoint*>* OutPoints);
	static void getAllGraphsActionPoints(class UObject* Context, class FName graphTag, TSubclassOf<class AMaiActionGraph> graphClass, TArray<class AMaiActionPoint*>* OutPoints);
	static class UAnimationAsset* getAnimOnNavByAngle(class AActor* Actor, const struct FGameplayTagContainer& Tags, float hangle, struct FDaiAnimPlayParams* playParams, bool checkComponents);
	static class UAnimationAsset* getAnimOnNavByTags(class AActor* Actor, const struct FGameplayTagContainer& Tags, struct FDaiAnimPlayParams* playParams, bool checkComponents);
	static ETeamAttitude getAttitudeTowards(class APawn* Being, class APawn* Other);
	static class UBTNode* GetBehaviorTreeActiveNode(class AAIController* Controller);
	static class FString getBehaviorTreeInfo(class AAIController* Controller);
	static float getBlackboardFloat(class UBlackboardComponent* Blackboard, const struct FMaiBlackboardFloat& Value);
	static class FString getBlackboardInfo(class AAIController* Controller);
	static int32 getBlackboardInt(class UBlackboardComponent* Blackboard, const struct FMaiBlackboardInt& Value);
	static class UObject* getCurrentCustomLinkOb(class APawn* Being);
	static struct FVector getCurrentGoalLocation(class APawn* Being);
	static struct FVector getCurrentPathPointLocation(class APawn* Being, int32 Point, bool fromStart);
	static struct FVector getCurrentTargetLocation(class APawn* Being);
	static void getGraphActionPoints(class AMaiActionGraph* Graph, TArray<class AMaiActionPoint*>* OutPoints);
	static class UObject* getJumpData(class APawn* Being, float* lenght, float* Height);
	static class AMaiCharacter* getMaiCharacterByClass(class AActor* Actor, TSubclassOf<class AMaiCharacter> ActorClass);
	static class AMaiController* getMaiControllerByClass(class AActor* Actor, TSubclassOf<class AMaiController> ActorClass);
	static class UMaiManager* getMaiManager(class UObject* WorldContext);
	static class UActorComponent* getManagerByClass(const class UObject* WorldContext, TSubclassOf<class UActorComponent> managerClass);
	static class UMaiNodeSystem* getPathNodeSystem(class UObject* WorldContext);
	static bool getRandomLocationInNavigableRadius(class UObject* WorldContext, struct FVector* OutLocation, const struct FVector& Origin, float Radius, class ANavigationData* NavData, TSubclassOf<class UNavigationQueryFilter> FilterClass);
	static void initializePathFollower(class UPathFollowingComponent* follower);
	static bool isActorInCone(const struct FVector& Origin, const struct FVector& Direction, float Angle, float Length, class AActor* Actor);
	static bool isInChaseArea(class AActor* Actor, const struct FVector& Location, float Extent);
	static bool IsInCover(class AActor* Actor, const struct FGameplayTag& Filter);
	static bool IsInFullCover(class AActor* Actor, const struct FGameplayTag& Filter);
	static bool isLocationInCone(const struct FVector& Origin, const struct FVector& Direction, float Angle, float Length, const struct FVector& Location, float Radius, float hheight, const struct FRotator& Rotation);
	static bool isMovingToGoalLocation(class APawn* Being);
	static void PauseBehaviorTree(class AActor* Actor, class FName Reason);
	static void pausePathFollowing(class AAIController* Controller);
	static bool projectPointToNavigation(class UObject* WorldContext, struct FVector* OutLocation, const struct FVector& Point, class ANavigationData* NavData, TSubclassOf<class UNavigationQueryFilter> FilterClass, const struct FVector& QueryExtent);
	static void RequestDirectMove(class APawn* Being, const struct FVector& MoveVelocity, bool bForceMaxSpeed);
	static void requestDirectMoveTo(class APawn* Being, const struct FVector& Location, bool bForceMaxSpeed, bool smoothCurves);
	static void resetAggressiveEnemies(class APawn* Being);
	static void resetBeing(class APawn* Being);
	static void resetEnemiesInRange(class APawn* Being, float MaxRange);
	static void restartBehaviorTree(class AAIController* Controller, bool hardReset);
	static void ResumeBehaviorTree(class AActor* Actor, class FName Reason);
	static void ResumePathFollowing(class AAIController* Controller);
	static class APawn* selectBeingInFront(const TArray<class APawn*>& beings, const struct FVector& Origin, const struct FVector& Direction, TSubclassOf<class AActor> beingClass);
	static bool setBlackboardValue(class UBlackboardComponent* Blackboard, const struct FMaiBlackboardValue& Value);
	static void setIgnoreMe(class AActor* Actor, bool ignore, class FName Reason);
	static bool shouldBeIgnored(class AActor* Actor);
	static void test_Distance(const TArray<class AActor*>& Actors, TArray<float>* Results, const struct FVector& Origin);
	static void test_Dot(const TArray<class AActor*>& Actors, TArray<float>* Results, const struct FVector& Origin, const struct FVector& Direction);
	static TArray<float> tests_Combine2(const TArray<float>& w1, const TArray<float>& w2);
	static int32 tests_HighestWeightIntex(const TArray<float>& Weights);
	static void tests_Weights(const TArray<float>& raw, TArray<float>* Weights, bool inverse, float mul, float minClamp, float maxClamp);
	static bool unregisterPerceptionStimuliSource(class UObject* WorldContextObject, TSubclassOf<class UAISense> Sense, class AActor* Target);
	static void updateCrowdAgentParams(class AActor* Actor);

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

// Class Mai.MaiReincarnationComponent
// 0x0020 (0x0580 - 0x0560)
class UMaiReincarnationComponent final : public UMaiAreaComponent
{
public:
	TArray<struct FMaiReincarnationInfo>          _Data;                                             // 0x0558(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         _MaxNumber;                                        // 0x0568(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _ReviveCounter;                                    // 0x0569(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_56A[0x2];                                      // 0x056A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         _EnterCounter;                                     // 0x056C(0x0004)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _ReviveCountLimit;                                 // 0x0570(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CalcEntrance;                                     // 0x0571(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, SaveGame, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_572[0xE];                                      // 0x0572(0x000E)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void DecreaseEnterCounter();
	void EnableCalcEntrance();
	void FillParams(class UMaiReincarnationComponent* Other);
	void OnEnterReincarnateArea();
	void OnLeaveReincarnateArea();
	bool Reincarnate(float healthPercent);

	bool AllowReincarnation() const;
	uint8 GetSeizuresNumber() const;

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

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

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

// Class Mai.MaiLightEmitter
// 0x0130 (0x0360 - 0x0230)
class UMaiLightEmitter final : public USceneComponent
{
public:
	bool                                          _Enabled;                                          // 0x0230(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _AutoRegister;                                     // 0x0231(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CastLightRays;                                    // 0x0232(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _RayCount;                                         // 0x0233(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Angle;                                            // 0x0234(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Range;                                            // 0x0238(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _RayRadius;                                        // 0x023C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _PointRange;                                       // 0x0240(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _YawPeriod;                                        // 0x0244(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _FirstValidRay;                                    // 0x0248(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         _NextRay;                                          // 0x0249(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_24A[0x6];                                      // 0x024A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiLightRay>                   _RayList;                                          // 0x0250(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class AActor>                  _Observer;                                         // 0x0260(0x0028)(Edit, DisableEditOnTemplate, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AIHalfAngle;                                      // 0x0288(0x0004)(Edit, ZeroConstructor, DisableEditOnTemplate, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AIRange;                                          // 0x028C(0x0004)(Edit, ZeroConstructor, DisableEditOnTemplate, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMap<int32, struct FMaiLightRaySegment>       _ValidRaySegments;                                 // 0x0290(0x0050)(Edit, DisableEditOnTemplate, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        _PointList;                                        // 0x02E0(0x0010)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        _IgnoredPointList;                                 // 0x02F0(0x0010)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        _RayPointList;                                     // 0x0300(0x0010)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        _SightPointList;                                   // 0x0310(0x0010)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	ECollisionChannel                             _TraceChannel;                                     // 0x0320(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_321[0x7];                                      // 0x0321(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class AActor*>                         _TraceIgnoreActors;                                // 0x0328(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class UMaiLightEmitter* Light)> LightEmitterChange;                // 0x0338(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(bool On)>       LightingState;                                     // 0x0348(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_358[0x8];                                      // 0x0358(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	bool IsInLight(const struct FVector& Location, float Radius, float hheight, const struct FRotator& Rotation);
	void LightLight();
	void SetAngle(float Angle);
	void SetRange(float Range);
	void TestLight();
	void TurnOffLight();

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

// Class Mai.MaiLightsManager
// 0x00C0 (0x0160 - 0x00A0)
class UMaiLightsManager final : public UActorComponent
{
public:
	TMap<TWeakObjectPtr<class UMaiLightEmitter>, struct FMaiLightData> _AllLights;                   // 0x00A0(0x0050)(Edit, EditConst, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TMap<class UMaiLightObserver*, struct FMaiLightedActors> _Observers;                             // 0x00F0(0x0050)(Edit, EditConst, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<TWeakObjectPtr<class UMaiLightEmitter>> _DirtyLights;                                     // 0x0140(0x0010)(Edit, ExportObject, ZeroConstructor, EditConst, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPublic)
	TArray<class UMaiLightObserver*>              _DirtyObservers;                                   // 0x0150(0x0010)(Edit, ExportObject, ZeroConstructor, EditConst, ContainsInstancedReference, NativeAccessSpecifierPublic)

public:
	static class UMaiLightsManager* getLightsManager(const class UObject* WorldContext);

	void OnLightEmitterChange(class UMaiLightEmitter* Light);
	void OnLightObserverChange(class UMaiLightObserver* observer);
	void RefreshLighting();

	bool GetIsLit(class AActor* observer) const;
	class UMaiLightEmitter* GetLitLight(const class UMaiLightObserver* observer) const;
	bool TestIsLit(class AActor* observer, float Radius, float hheight, const struct FVector& Offset) const;

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

// Class Mai.MaiManager
// 0x0078 (0x0118 - 0x00A0)
class UMaiManager final : public UActorComponent
{
public:
	struct FPartyAttitudes                        _Attitudes;                                        // 0x00A0(0x0010)(Edit, NativeAccessSpecifierPublic)
	TSubclassOf<class AMaiDebugger>               _DebuggerClass;                                    // 0x00B0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class AMaiDebugger*                           _Debugger;                                         // 0x00B8(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C0[0x58];                                      // 0x00C0(0x0058)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void LockNavMeshGeneration(bool lock);
	void NegateBool(const class FString& VariableName);
	void SetNavigationForStreamingLevel(bool Set);
	void SetPartyAttitude(uint8 partyID1, uint8 partyID2, EPartyAttitude attitude);

	EPartyAttitude GetPartyAttitude(uint8 partyID1, uint8 partyID2) const;

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

// Class Mai.MaiSystem
// 0x0088 (0x0228 - 0x01A0)
class UMaiSystem final : public UAISystem
{
public:
	uint8                                         Pad_1A0[0x8];                                      // 0x01A0(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UMaiNodeSystem*                         _NodeSystem;                                       // 0x01A8(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiWallSystem*                         _WallSystem;                                       // 0x01B0(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1B8[0x70];                                     // 0x01B8(0x0070)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiMessage
// 0x0018 (0x0040 - 0x0028)
class UMaiMessage : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class AActor*                                 _Sender;                                           // 0x0030(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_38[0x8];                                       // 0x0038(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UMaiMessage* makeMessage(class UObject* WorldContextObject, TSubclassOf<class UMaiMessage> msgClass, class AActor* sender);

	void Broadcast(const struct FMaiReceiverFilter& Filter, float spreadingSpeed);
	void Deliver(class APawn* Receiver);
	void MarkCaptured();
	void MarkReceived();
	void ScriptDeliver(class APawn* Receiver);
	void Send(const struct FMaiReceiverFilter& Filter, float spreadingSpeed);

	bool IsCaptured() const;
	bool IsReceived() const;

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

// Class Mai.MessageReceiverInterface
// 0x0000 (0x0000 - 0x0000)
class IMessageReceiverInterface final
{
public:
	void ReceiveMessage(class UMaiMessage* Message);

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

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

// Class Mai.MaiStartBlowMsg
// 0x0008 (0x0048 - 0x0040)
class UMaiStartBlowMsg final : public UMaiMessage
{
public:
	TSubclassOf<class UDamageType>                _DamageType;                                       // 0x0040(0x0008)(BlueprintVisible, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiEndBlowMsg
// 0x0000 (0x0040 - 0x0040)
class UMaiEndBlowMsg final : public UMaiMessage
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiEndBlowMsg")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiEndBlowMsg")
	}
	static class UMaiEndBlowMsg* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiEndBlowMsg>();
	}
};
DUMPER7_ASSERTS_UMaiEndBlowMsg;

// Class Mai.MaiMadeDodgeMsg
// 0x0000 (0x0040 - 0x0040)
class UMaiMadeDodgeMsg final : public UMaiMessage
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiMadeDodgeMsg")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiMadeDodgeMsg")
	}
	static class UMaiMadeDodgeMsg* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiMadeDodgeMsg>();
	}
};
DUMPER7_ASSERTS_UMaiMadeDodgeMsg;

// Class Mai.NavArea_Jump
// 0x0000 (0x0048 - 0x0048)
class UNavArea_Jump final : public UNavArea
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("NavArea_Jump")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"NavArea_Jump")
	}
	static class UNavArea_Jump* GetDefaultObj()
	{
		return GetDefaultObjImpl<UNavArea_Jump>();
	}
};
DUMPER7_ASSERTS_UNavArea_Jump;

// Class Mai.MaiNavLink
// 0x00B0 (0x03C8 - 0x0318)
class AMaiNavLink final : public ANavLinkProxy
{
public:
	class USphereComponent*                       _LinkStartCollision;                               // 0x0318(0x0008)(Edit, ExportObject, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class USphereComponent*                       _LinkEndCollision;                                 // 0x0320(0x0008)(Edit, ExportObject, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class ULineBatchComponent*                    _DebugLines;                                       // 0x0328(0x0008)(Edit, ExportObject, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _PortalLength;                                     // 0x0330(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _PortalWidth;                                      // 0x0334(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _UsePrecision;                                     // 0x0338(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _AutoAttachCollision;                              // 0x033C(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CheckPortalSide;                                  // 0x033D(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_33E[0x2];                                      // 0x033E(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class APawn* Being)> OnTakeOwnership;                              // 0x0340(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class APawn* Being)> OnReturnOwnership;                            // 0x0350(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_360[0x68];                                     // 0x0360(0x0068)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void BreakMoveToLink(class APawn* Being, bool startSide);
	void ClearPathsForWaitingCharacters(bool startSide);
	void FinishUsingBy(class APawn* Being, bool startSide);
	void OnOverlapBegin(class UPrimitiveComponent* OverlappedComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const struct FHitResult& SweepResult);
	void OnOverlapEnd(class UPrimitiveComponent* OverlappedComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);
	void ReturnOwnership(class APawn* Being);
	void SetNavigationRelevancy(bool isRelevant);
	void StartMoveToLink(class APawn* Being, bool startSide);
	void StartUsingBy(class APawn* Being, bool startSide);
	void TakeOwnership(class APawn* Being);
	void UpdateNavMesh();

	bool IsOnBeingPath(class APawn* Being) const;

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

// Class Mai.MaiNavLinkDrawer
// 0x0000 (0x0530 - 0x0530)
class UMaiNavLinkDrawer final : public ULineBatchComponent
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiNavLinkDrawer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiNavLinkDrawer")
	}
	static class UMaiNavLinkDrawer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiNavLinkDrawer>();
	}
};
DUMPER7_ASSERTS_UMaiNavLinkDrawer;

// Class Mai.MaiNavCapsule
// 0x0000 (0x0520 - 0x0520)
class UMaiNavCapsule final : public UCapsuleComponent
{
public:
	void DisableArea();
	void EnableArea();
	void SetAreaClass(TSubclassOf<class UNavArea> NewAreaClass);

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

// Class Mai.MaiNodeFollowing
// 0x00A0 (0x0140 - 0x00A0)
class UMaiNodeFollowing final : public UActorComponent
{
public:
	float                                         _MinSpeed;                                         // 0x00A0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _StartSpeed;                                       // 0x00A4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _InterpSpeed;                                      // 0x00A8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _LandingDistance;                                  // 0x00AC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _MoveLanding;                                      // 0x00B0(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B1[0x3];                                       // 0x00B1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _MoveTimer;                                        // 0x00B4(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _WantedSpeed;                                      // 0x00B8(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_BC[0x4];                                       // 0x00BC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                _GoalLocation;                                     // 0x00C0(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _MoveGoalLocation;                                 // 0x00D8(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _MoveSubGoalLocation;                              // 0x00F0(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        _MovePath;                                         // 0x0108(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	class UCurveFloat*                            _SpeedCurve;                                       // 0x0118(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class AMaiCharacter*                          _Character;                                        // 0x0120(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, EditConst, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AcceptanceRadius;                                 // 0x0128(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _PathRebuildDistance;                              // 0x012C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SubGoalReachedDistance;                           // 0x0130(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SubGoalCheckPeriod;                               // 0x0134(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECollisionChannel                             _CollisionChannel;                                 // 0x0138(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _UseCollisionChannel;                              // 0x0139(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Debug;                                            // 0x013A(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_13B[0x5];                                      // 0x013B(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	bool MoveTo(const struct FVector& GoalLocation);
	bool PreparePathTo(const struct FVector& GoalLocation);

	bool IsGoalReached(const struct FVector& GoalLocation) const;

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

// Class Mai.MaiNodeGraphComponent
// 0x0090 (0x02C0 - 0x0230)
class UMaiNodeGraphComponent final : public USceneComponent
{
public:
	TMap<class UMaiPathNodeComponent*, struct FMaiNodeRef> _PathNodes;                               // 0x0230(0x0050)(Edit, Transient, EditConst, ContainsInstancedReference, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<class UMaiPathNodeComponent*>          _NodesToUpdate;                                    // 0x0280(0x0010)(Edit, ExportObject, ZeroConstructor, Transient, EditConst, ContainsInstancedReference, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<struct FMaiNodeData>                   _AllNodesData;                                     // 0x0290(0x0010)(Edit, ZeroConstructor, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	float                                         _Height;                                           // 0x02A0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Radius;                                           // 0x02A4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxDist;                                          // 0x02A8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _MaxConnectionsCount;                              // 0x02AC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECollisionChannel                             _CollisionChannel;                                 // 0x02B0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2B1[0x3];                                      // 0x02B1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FColor                                 _Color;                                            // 0x02B4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2B8[0x8];                                      // 0x02B8(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void RegenerateGraph();

	class UMaiPathNodeComponent* FindNearestNode(const struct FVector& Location) const;
	void GetAllNodes(TArray<struct FMaiNodeRef>* nodesList) const;
	void GetNodesInRange(TArray<struct FMaiNodeRef>* nodesList, const struct FVector& Pos, float Radius) const;

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

// Class Mai.MaiNodeGraphVolume
// 0x0010 (0x0310 - 0x0300)
class AMaiNodeGraphVolume final : public AVolume
{
public:
	class UMaiNodeGraphComponent*                 NodeGraph;                                         // 0x0300(0x0008)(Edit, ExportObject, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaiWallNavGenerator*                   WallMeshGen;                                       // 0x0308(0x0008)(Edit, ExportObject, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	void RegenerateGraph();

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

// Class Mai.MaiNodeSystem
// 0x0030 (0x0058 - 0x0028)
class UMaiNodeSystem final : public UObject
{
public:
	TArray<class AMaiNodeGraphVolume*>            _GraphVolumes;                                     // 0x0028(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<class UMaiPathNodeComponent*>          _AllPathNodes;                                     // 0x0038(0x0010)(ExportObject, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<class ANodeGraphTester*>               _PathTesters;                                      // 0x0048(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)

public:
	void UpdateInActorBounds(class AActor* Actor);
	void UpdateInBounds(const struct FBox& Box);
	void UpdateInComponentBounds(class USceneComponent* Scene);

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

// Class Mai.MaiNodePathDrawer
// 0x0010 (0x0530 - 0x0520)
class UMaiNodePathDrawer final : public UBillboardComponent
{
public:
	uint8                                         Pad_520[0x10];                                     // 0x0520(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.NodePathEndTester
// 0x0000 (0x02D0 - 0x02D0)
class ANodePathEndTester final : public ANodeGraphTester
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("NodePathEndTester")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"NodePathEndTester")
	}
	static class ANodePathEndTester* GetDefaultObj()
	{
		return GetDefaultObjImpl<ANodePathEndTester>();
	}
};
DUMPER7_ASSERTS_ANodePathEndTester;

// Class Mai.MaiNoiseEmitter
// 0x0060 (0x0290 - 0x0230)
class UMaiNoiseEmitter final : public USceneComponent
{
public:
	float                                         _Aggro;                                            // 0x0230(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _NoiseRange;                                       // 0x0234(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Range;                                            // 0x0238(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxRange;                                         // 0x023C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Loudness;                                         // 0x0240(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Period;                                           // 0x0244(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   _NoiseTag;                                         // 0x0248(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class AActor>                  _Instigator;                                       // 0x0250(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_278[0x18];                                     // 0x0278(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void EndNoise();
	void MakeLongNoise(float duration);
	void MakeNoise();
	void StartNoise();

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

// Class Mai.MaiNoiseSilencerComponent
// 0x0008 (0x00A8 - 0x00A0)
class UMaiNoiseSilencerComponent final : public UActorComponent
{
public:
	float                                         _MuteLevel;                                        // 0x00A0(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A4[0x4];                                       // 0x00A4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.ChangeGameplayTagNotify
// 0x0098 (0x0130 - 0x0098)
class UChangeGameplayTagNotify final : public UDaiNotify
{
public:
	bool                                          _Fixed;                                            // 0x0098(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_99[0x3];                                       // 0x0099(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _CharacterTag;                                     // 0x009C(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A4[0x4];                                       // 0x00A4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiContext                            _Notified;                                         // 0x00A8(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FGameplayTag                           _Tag;                                              // 0x0120(0x0008)(Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ENotifyTagOperation                           _Operation;                                        // 0x0128(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_129[0x7];                                      // 0x0129(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiRotationLimitsComponent
// 0x0030 (0x0260 - 0x0230)
class UMaiRotationLimitsComponent final : public USceneComponent
{
public:
	float                                         _MinPitch;                                         // 0x0230(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxPitch;                                         // 0x0234(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MinYaw;                                           // 0x0238(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxYaw;                                           // 0x023C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MinRoll;                                          // 0x0240(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _MaxRoll;                                          // 0x0244(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FRotator                               _RotationRate;                                     // 0x0248(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Mai.MaiSenseConfig_Hearing
// 0x0028 (0x0070 - 0x0048)
class UMaiSenseConfig_Hearing final : public UAISenseConfig
{
public:
	uint8                                         Pad_48[0x8];                                       // 0x0048(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UCurveFloat*                            DistanceCurve;                                     // 0x0050(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         HearingRange;                                      // 0x0058(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         HearingRangeThroughWalls;                          // 0x005C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         HearingThroughWalls : 1;                           // 0x0060(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_61[0x3];                                       // 0x0061(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         LoSHearingRange;                                   // 0x0064(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bUseLoSHearing : 1;                                // 0x0068(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_69[0x3];                                       // 0x0069(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FAISenseAffiliationFilter              DetectionByAffiliation;                            // 0x006C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, Config, DisableEditOnInstance, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Mai.MaiSenseConfig_Smell
// 0x0018 (0x0088 - 0x0070)
class UMaiSenseConfig_Smell final : public UAISenseConfig_Sight
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UCurveFloat*                            DistanceCurve;                                     // 0x0078(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UCurveFloat*                            AngleCurve;                                        // 0x0080(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Mai.MaiSense_Hearing
// 0x0078 (0x00F0 - 0x0078)
class UMaiSense_Hearing final : public UAISense
{
public:
	TArray<struct FMaiNoiseEvent>                 NoiseEvents;                                       // 0x0078(0x0010)(ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	float                                         SpeedOfSound;                                      // 0x0088(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         DefaultMuteLevel;                                  // 0x008C(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	ECollisionChannel                             DefaultHearingCollisionChannel;                    // 0x0090(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          UseNavMesh;                                        // 0x0091(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          CheckNavCost;                                      // 0x0092(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_93[0x5];                                       // 0x0093(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class UNavigationQueryFilter>     SoundNavigationFilter;                             // 0x0098(0x0008)(Edit, ZeroConstructor, Config, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_A0[0x50];                                      // 0x00A0(0x0050)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static void ReportNoiseEvent(class UObject* WorldContext, const struct FVector& NoiseLocation, class AActor* Instigator, class FName Tag, float Aggro, float NoiseRange, float MaxRange, float Loudness);

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

// Class Mai.MaiSense_Sight
// 0x0000 (0x01A8 - 0x01A8)
class UMaiSense_Sight final : public UAISense_Sight
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MaiSense_Sight")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MaiSense_Sight")
	}
	static class UMaiSense_Sight* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMaiSense_Sight>();
	}
};
DUMPER7_ASSERTS_UMaiSense_Sight;

// Class Mai.MaiSense_PillarSight
// 0x0010 (0x00B0 - 0x00A0)
class UMaiSense_PillarSight final : public UMaiSense_SightDecorator
{
public:
	float                                         _HalfWidth;                                        // 0x00A0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Yaw;                                              // 0x00A4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Local;                                            // 0x00A8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_A9[0x7];                                       // 0x00A9(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiSense_The6thSense
// 0x0020 (0x0098 - 0x0078)
class UMaiSense_The6thSense : public UAISense
{
public:
	TArray<struct FMaiThe6thSenseEvent>           The6thSenseEvents;                                 // 0x0078(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FMaiThe6thSenseEvent>           The6thSenseDisabledEvents;                         // 0x0088(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)

public:
	static void Report6thSenseConstEvent(class UObject* WorldContext, class FName Tag, bool Enable, class AActor* Instigator, const struct FVector& Location, float power);
	static void Report6thSenseEvent(class UObject* WorldContext, class FName Tag, bool Enable, class AActor* Instigator, float power);

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

// Class Mai.MaiMultiSpawner
// 0x0038 (0x0410 - 0x03D8)
class AMaiMultiSpawner final : public AMaiSpawner
{
public:
	TArray<class AActor*>                         _SpawnedActors;                                    // 0x03D8(0x0010)(Edit, ZeroConstructor, Transient, EditConst, AdvancedDisplay, NativeAccessSpecifierPublic)
	TArray<struct FMaiSpawnInfo>                  _SpawnInfo;                                        // 0x03E8(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	int32                                         _SpawnLimit;                                       // 0x03F8(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FMaiWaveSpawn                          _WaveSpawn;                                        // 0x03FC(0x0010)(Edit, NoDestructor, AdvancedDisplay, NativeAccessSpecifierPublic)
	uint8                                         Pad_40C[0x4];                                      // 0x040C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ChangeInfoWeight(int32 Index_0, uint8 Weight);
	void StartWaveSpawn(int32 Count, float minDelay, float maxDelay);
	void StopWaveSpawn();

	TArray<class AActor*> GetSpawnedActors() const;

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

// Class Mai.MaiSpawnerManager
// 0x0218 (0x02B8 - 0x00A0)
class UMaiSpawnerManager : public UActorComponent
{
public:
	TMap<struct FGameplayTag, struct FMaiSpawnerID> _ActiveSpawners;                                 // 0x00A0(0x0050)(SaveGame, NativeAccessSpecifierPublic)
	TMap<struct FGameplayTag, struct FGuid>       _UniqueActors;                                     // 0x00F0(0x0050)(SaveGame, NativeAccessSpecifierPublic)
	TArray<class AMaiSpawner*>                    _LoadedSpawners;                                   // 0x0140(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPublic)
	TMap<class FName, struct FMaiWaveSpawn>       _WaveSpawn;                                        // 0x0150(0x0050)(Transient, NativeAccessSpecifierPublic)
	TMap<class AActor*, struct FTransform>        _NewSpawnedActors;                                 // 0x01A0(0x0050)(Transient, NativeAccessSpecifierPublic)
	TMap<struct FGuid, struct FMaiSpawnedActor>   _AllSpawnedActors;                                 // 0x01F0(0x0050)(SaveGame, NativeAccessSpecifierPublic)
	TMap<struct FGuid, struct FMaiSpawnerData>    _AllSpawners;                                      // 0x0240(0x0050)(SaveGame, NativeAccessSpecifierPublic)
	int32                                         _NextUid;                                          // 0x0290(0x0004)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_294[0x4];                                      // 0x0294(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class AMaiSpawner*>                    _PendingSpawners;                                  // 0x0298(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPublic)
	uint8                                         Pad_2A8[0x10];                                     // 0x02A8(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static struct FMaiSpawnerID getSpawnerIDByRef(class UObject* WorldContext, class AMaiSpawner* spawner);
	static struct FMaiSpawnerID getSpawnerIDBySoftRef(class UObject* WorldContext, TSoftObjectPtr<class AMaiSpawner> softRef);
	static struct FMaiSpawnerID getSpawnerIDByTag(class UObject* WorldContext, class FName Tag);
	static struct FMaiSpawnerID getSpawnerIDFromSpawned(class UObject* WorldContext, class AActor* spawned);
	static class UMaiSpawnerManager* getSpawnerManager(const class UObject* WorldContext);

	void AIPrintAllSpawnedActors();
	void AIPrintAllSpawners();
	class AActor* AISpawnSingle(class FName spawnerTag);
	void DespawnActor(class AActor* Actor, bool DisableSpawner, bool forceDestroy, bool forgetIt);
	void DespawnByTag(class FName spawnerTag);
	void DespwnAnyoneWhoWants();
	void DestroyController(class APawn* Actor, bool DisableSpawner);
	void GC();
	void SetWaveSpawn(class FName spawnerTag, int32 Count, float minDelay, float maxDelay);
	void SP_AutoSpawnMode(const struct FMaiSpawnerID& spawnerID);
	void SP_Despawn(const struct FMaiSpawnerID& spawnerID);
	void SP_DespawnUnique(const struct FGameplayTag& actorTag);
	void SP_Disable(const struct FMaiSpawnerID& spawnerID);
	void SP_Enable(const struct FMaiSpawnerID& spawnerID);
	void SP_ManualSpawnMode(const struct FMaiSpawnerID& spawnerID);
	void SP_Reincarnate(const struct FMaiSpawnerID& spawnerID, uint8 healthPercent);
	void SP_Spawn(const struct FMaiSpawnerID& spawnerID);
	class AActor* SP_SpawnUnique(const struct FGameplayTag& actorTag, const struct FMaiSpawnerID& spawnerID);
	void SpawnAllByTag(class FName spawnerTag, TArray<class AActor*>* Actors);
	void SpawnByTag(class FName spawnerTag);
	class AActor* SpawnNearestByTag(class FName spawnerTag, const struct FVector& Location);
	void StartWaveSpawn(class FName spawnerTag, int32 Count, float minDelay, float maxDelay);
	void StopWaveSpawn(class FName spawnerTag);

	class AActor* FindOrigin(const class AActor* Actor) const;
	class AMaiSpawner* FindSpawner(const class AActor* Actor) const;
	bool IsLevelLoaded(class AActor* Actor) const;
	class AActor* SP_GetSpawnedActor(const struct FMaiSpawnerID& spawnerID) const;
	class AMaiSpawner* SP_GetSpawner(const struct FMaiSpawnerID& spawnerID) const;
	bool SP_HasSpawnedActor(const struct FMaiSpawnerID& spawnerID) const;
	bool SP_IsActive(const struct FMaiSpawnerID& spawnerID) const;
	bool SP_IsInAutoSpawnMode(const struct FMaiSpawnerID& spawnerID) const;

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

// Class Mai.MaiSplineActor
// 0x0010 (0x02D8 - 0x02C8)
class AMaiSplineActor final : public AActor
{
public:
	class USplineComponent*                       Spline;                                            // 0x02C8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _DistanceThreshold;                                // 0x02D0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _MaxIterations;                                    // 0x02D4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	struct FVector ProjectOnSpline(const struct FVector& Location) const;

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

// Class Mai.MaiSplineFollower
// 0x0028 (0x00C8 - 0x00A0)
class UMaiSplineFollower final : public UActorComponent
{
public:
	class AMaiSplineActor*                        _Spline;                                           // 0x00A0(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SplineDist;                                       // 0x00A8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _SplineSpeed;                                      // 0x00AC(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class AMaiCharacter*                          _Character;                                        // 0x00B0(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(ESplineMoveResult Result)> _OnMoveFinished;                        // 0x00B8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	static class AMaiSplineActor* spawnSplineToAP(class APawn* Pawn, class AMaiActionPoint* Point);

	void MoveOnSpline(float DeltaTime);
	void RequestSplineMove(class AMaiSplineActor* Spline);
	void SetSpline(class AMaiSplineActor* Spline);
	void StopSplineMove();

	bool IsMoving() const;

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

// Class Mai.MaiState
// 0x0000 (0x00C8 - 0x00C8)
class UMaiState : public UBeingState
{
public:
	class AAIController* GetOwnerAI() const;
	class ACharacter* GetOwnerCH() const;

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

// Class Mai.MaiSnapState
// 0x0070 (0x0138 - 0x00C8)
class UMaiSnapState final : public UMaiState
{
public:
	struct FVector                                _SnapTo;                                           // 0x00C8(0x0018)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_E0[0x21];                                      // 0x00E0(0x0021)(Fixing Size After Last Property [ Dumper-7 ])
	EEasingFunc                                   _EasingFunc;                                       // 0x0101(0x0001)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_102[0x36];                                     // 0x0102(0x0036)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void Config(const struct FVector& Location, class AActor* faceTo, float Timeout, EEasingFunc EasingFunc);
	void Config2(const struct FVector& Location, const struct FVector& faceTo, float Timeout, EEasingFunc EasingFunc);

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

// Class Mai.MaiBlowReactionState
// 0x00B8 (0x0180 - 0x00C8)
class UMaiBlowReactionState final : public UMaiState
{
public:
	struct FMaiHitDifficulty                      _DifficultyConfig[0xA];                            // 0x00C8(0x0010)(Edit, NativeAccessSpecifierPublic)
	uint8                                         _HitCounter;                                       // 0x0168(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_169[0x3];                                      // 0x0169(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _HitResetCooldown;                                 // 0x016C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTimerHandle                           _HitResetHandle;                                   // 0x0170(0x0008)(BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _CaptureBlowMSG;                                   // 0x0178(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_179[0x7];                                      // 0x0179(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void IncreaseHits();
	void OnBlowStartMSG(class UMaiMessage* Msg, class AActor* attacker, TSubclassOf<class UDamageType> damageClass);
	void OnEnemyBlow(class APawn* enemy, TSubclassOf<class UDamageType> damageClass);
	void OnGotHit(class APawn* enemy, TSubclassOf<class UDamageType> damageClass);
	void OverrideChanceArray(const TArray<uint8>& _Chances);
	void ResetHitCounter();

	uint8 GetChance() const;

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

// Class Mai.MaiWallNavGenerator
// 0x0240 (0x02E0 - 0x00A0)
class UMaiWallNavGenerator final : public UActorComponent
{
public:
	struct FMaiWallNavDraw                        _DrawConfig;                                       // 0x00A0(0x0040)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	struct FMaiWallNavGeneration                  _GenConfig;                                        // 0x00E0(0x0028)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TMap<int32, class UMaiWallNavTile*>           _Tiles;                                            // 0x0108(0x0050)(Edit, BlueprintVisible, ExportObject, EditConst, ContainsInstancedReference, AdvancedDisplay, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class AActor>                  _TestPosA;                                         // 0x0158(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class AActor>                  _TestPosB;                                         // 0x0180(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _InnerRadius;                                      // 0x01A8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _OuterRadius;                                      // 0x01AC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _Count;                                            // 0x01B0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1B4[0x4];                                      // 0x01B4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TSoftObjectPtr<class AActor>                  _AvoidActor;                                       // 0x01B8(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AvoidDistance;                                    // 0x01E0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _AvoidCost;                                        // 0x01E4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OnFloor;                                          // 0x01E8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OnWall;                                           // 0x01E9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OnCeil;                                           // 0x01EA(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1EB[0x1];                                      // 0x01EB(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _FloorCost;                                        // 0x01EC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _WallCost;                                         // 0x01F0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _CeilCost;                                         // 0x01F4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1F8[0xB0];                                     // 0x01F8(0x00B0)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class UMaiWallNavTile*>                _TilesToBuild;                                     // 0x02A8(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPublic)
	uint8                                         Pad_2B8[0x28];                                     // 0x02B8(0x0028)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void BuildNavMesh();
	void RebuildCell();
	void RebuildNavMesh();

	void Test_CanGoto() const;
	void Test_FindNearest() const;
	void Test_FindPath() const;
	void Test_FindRandomReachable() const;
	void Test_GenerateGrid() const;
	void Test_IsOnNavMesh() const;

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

// Class Mai.MaiWallNavTile
// 0x0AD8 (0x0B00 - 0x0028)
class UMaiWallNavTile final : public UObject
{
public:
	uint8                                         Pad_28[0x5A4];                                     // 0x0028(0x05A4)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         _AsyncPhase;                                       // 0x05CC(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_5D0[0x8];                                      // 0x05D0(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FMaiWallNavSurface                     _NavSurfs[0x6];                                    // 0x05D8(0x0070)(NativeAccessSpecifierPublic)
	TArray<struct FMaiWallNavPolyLink>            _NavLinks;                                         // 0x0878(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_888[0x1E0];                                    // 0x0888(0x01E0)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMaiWallNavLink>                _Links;                                            // 0x0A68(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	int32                                         _TileID;                                           // 0x0A78(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _CellsInRow;                                       // 0x0A7C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _BoxOrigin;                                        // 0x0A80(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                _BoxExtent;                                        // 0x0A98(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         _Margin;                                           // 0x0AB0(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_AB4[0x4];                                      // 0x0AB4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FMaiWallNavGeneration                  _GenConfig;                                        // 0x0AB8(0x0028)(NativeAccessSpecifierPublic)
	uint8                                         Pad_AE0[0x20];                                     // 0x0AE0(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Mai.MaiWallSystem
// 0x0040 (0x0068 - 0x0028)
class UMaiWallSystem final : public UObject
{
public:
	TArray<class AMaiWallVolume*>                 _WallVolumes;                                      // 0x0028(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<class UMaiPathNodeComponent*>          _AllPathNodes;                                     // 0x0038(0x0010)(ExportObject, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<class ANodeGraphTester*>               _PathTesters;                                      // 0x0048(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_58[0x10];                                      // 0x0058(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UMaiWallSystem* getWallSystem(class UObject* WorldContext);

	void AIWallMesh_RebuildCell();

	bool FindRandomPointOnWallMesh(struct FVector* outpoint, float Radius, const struct FVector& Pos, const struct FVector& Up, const struct FVector& Extent) const;
	bool FindReachablePointOnWallMesh(struct FVector* outpoint, float Radius, const struct FVector& Pos, const struct FVector& Up) const;
	bool IsOnWallMesh(const struct FVector& Pos, const struct FVector& Up, const struct FVector& Extent) const;
	bool ProjectPointOnWallMesh(struct FVector* outpoint, const struct FVector& Pos, const struct FVector& Up, const struct FVector& Extent, const struct FVector& Offset) const;

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

// Class Mai.MaiWorkSet
// 0x0010 (0x0040 - 0x0030)
class UMaiWorkSet final : public UDataAsset
{
public:
	TArray<struct FMaiWork>                       _WorkList;                                         // 0x0030(0x0010)(Edit, BlueprintVisible, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)

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

}

