#pragma once

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

// Package: PhysicsBall_Master

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "CoreUObject_structs.hpp"
#include "FortniteGame_classes.hpp"


namespace SDK
{

// BlueprintGeneratedClass PhysicsBall_Master.PhysicsBall_Master_C
// 0x00B0 (0x0878 - 0x07C8)
class APhysicsBall_Master_C : public AFortPhysicsBall
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x07C8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UStaticMeshComponent*                   Ball;                                              // 0x07D0(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class UFortVehicleAudioVoice*                 RollingAudio;                                      // 0x07D8(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class UFortCollisionAudioComponent*           FortCollisionAudio;                                // 0x07E0(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class UProjectileMovementComponent*           ProjectileMovement;                                // 0x07E8(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
	float                                         VelocityHitMagMultiplier;                          // 0x07F0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	float                                         HitPitch;                                          // 0x07F4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	float                                         SpeedToRotationRateRatio;                          // 0x07F8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FVector                                LastVelocity;                                      // 0x07FC(0x000C)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	float                                         DamageHitMagMultiplier;                            // 0x0808(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	float                                         HitMagMax;                                         // 0x080C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class USoundBase*                             BallHitSound;                                      // 0x0810(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FVector                                OtherVelocity;                                     // 0x0818(0x000C)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FVector                                OtherLocation;                                     // 0x0824(0x000C)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	float                                         MinAngularPower;                                   // 0x0830(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          HitOtherBall;                                      // 0x0834(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
	bool                                          HitOtherPawn;                                      // 0x0835(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
	bool                                          ServerAuthoritative;                               // 0x0836(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
	bool                                          PlotTrajectory;                                    // 0x0837(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, IsPlainOldData, RepNotify, NoDestructor)
	struct FVector                                Debug_LastPosition;                                // 0x0838(0x000C)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FVector                                InitialSpawnPosition;                              // 0x0844(0x000C)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          EverCameToRest;                                    // 0x0850(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor)
	uint8                                         Pad_851[0x3];                                      // 0x0851(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         BounceCount;                                       // 0x0854(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class UParticleSystemComponent*               GenericImpactFX;                                   // 0x0858(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class UParticleSystemComponent*               WaterImpactFX;                                     // 0x0860(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	float                                         DustRadius;                                        // 0x0868(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FVector                                DustSize;                                          // 0x086C(0x000C)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

public:
	void ExecuteUbergraph_PhysicsBall_Master(int32 EntryPoint);
	void OnPawnTouchedMe(class APawn* TouchingPawn);
	void BndEvt__SphereCollision_K2Node_ComponentBoundEvent_0_ComponentBeginOverlapSignature__DelegateSignature(class UPrimitiveComponent* OverlappedComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const struct FHitResult& SweepResult);
	void DrawDebugTrajectory();
	void OnReplicatedVelocityStartOrStop(bool bStart);
	void ReceiveHit(class UPrimitiveComponent* MyComp, class AActor* Other, class UPrimitiveComponent* OtherComp, bool bSelfMoved, const struct FVector& HitLocation, const struct FVector& HitNormal, const struct FVector& NormalImpulse, const struct FHitResult& Hit);
	void ProjectileStop(const struct FHitResult& ImpactResult);
	void ReceiveBeginPlay();
	void ReceiveTick(float DeltaSeconds);
	void UserConstructionScript();
	void UpdateDirectionAndRotationRate(float DeltaSeconds);
	void ApplyImpulseToBall(const struct FVector& HitLocation, const struct FVector& HitVelocity, float HitMagnitude);
	void SetTickingEnabled(bool ShouldTick);
	float GetHitScale(const struct FVector& HitLocation, const struct FVector& HitVelocity);
	void OnRep_PlotTrajectory();
	void SetBallVelocityAndStartTicking(const struct FVector& NewVelocity);
	void MakeBallDormant();
	void ImpactFX(class AActor* HitActor, const struct FVector& SpawnLocation, bool Overlap_);

public:
	static class UClass* StaticClass()
	{
		return StaticBPGeneratedClassImpl<"PhysicsBall_Master_C">();
	}
	static class APhysicsBall_Master_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<APhysicsBall_Master_C>();
	}
};
static_assert(alignof(APhysicsBall_Master_C) == 0x000008, "Wrong alignment on APhysicsBall_Master_C");
static_assert(sizeof(APhysicsBall_Master_C) == 0x000878, "Wrong size on APhysicsBall_Master_C");
static_assert(offsetof(APhysicsBall_Master_C, UberGraphFrame) == 0x0007C8, "Member 'APhysicsBall_Master_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, Ball) == 0x0007D0, "Member 'APhysicsBall_Master_C::Ball' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, RollingAudio) == 0x0007D8, "Member 'APhysicsBall_Master_C::RollingAudio' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, FortCollisionAudio) == 0x0007E0, "Member 'APhysicsBall_Master_C::FortCollisionAudio' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, ProjectileMovement) == 0x0007E8, "Member 'APhysicsBall_Master_C::ProjectileMovement' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, VelocityHitMagMultiplier) == 0x0007F0, "Member 'APhysicsBall_Master_C::VelocityHitMagMultiplier' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, HitPitch) == 0x0007F4, "Member 'APhysicsBall_Master_C::HitPitch' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, SpeedToRotationRateRatio) == 0x0007F8, "Member 'APhysicsBall_Master_C::SpeedToRotationRateRatio' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, LastVelocity) == 0x0007FC, "Member 'APhysicsBall_Master_C::LastVelocity' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, DamageHitMagMultiplier) == 0x000808, "Member 'APhysicsBall_Master_C::DamageHitMagMultiplier' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, HitMagMax) == 0x00080C, "Member 'APhysicsBall_Master_C::HitMagMax' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, BallHitSound) == 0x000810, "Member 'APhysicsBall_Master_C::BallHitSound' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, OtherVelocity) == 0x000818, "Member 'APhysicsBall_Master_C::OtherVelocity' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, OtherLocation) == 0x000824, "Member 'APhysicsBall_Master_C::OtherLocation' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, MinAngularPower) == 0x000830, "Member 'APhysicsBall_Master_C::MinAngularPower' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, HitOtherBall) == 0x000834, "Member 'APhysicsBall_Master_C::HitOtherBall' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, HitOtherPawn) == 0x000835, "Member 'APhysicsBall_Master_C::HitOtherPawn' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, ServerAuthoritative) == 0x000836, "Member 'APhysicsBall_Master_C::ServerAuthoritative' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, PlotTrajectory) == 0x000837, "Member 'APhysicsBall_Master_C::PlotTrajectory' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, Debug_LastPosition) == 0x000838, "Member 'APhysicsBall_Master_C::Debug_LastPosition' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, InitialSpawnPosition) == 0x000844, "Member 'APhysicsBall_Master_C::InitialSpawnPosition' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, EverCameToRest) == 0x000850, "Member 'APhysicsBall_Master_C::EverCameToRest' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, BounceCount) == 0x000854, "Member 'APhysicsBall_Master_C::BounceCount' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, GenericImpactFX) == 0x000858, "Member 'APhysicsBall_Master_C::GenericImpactFX' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, WaterImpactFX) == 0x000860, "Member 'APhysicsBall_Master_C::WaterImpactFX' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, DustRadius) == 0x000868, "Member 'APhysicsBall_Master_C::DustRadius' has a wrong offset!");
static_assert(offsetof(APhysicsBall_Master_C, DustSize) == 0x00086C, "Member 'APhysicsBall_Master_C::DustSize' has a wrong offset!");

}

