#pragma once

#include "CoreMinimal.h"
#include "AISkill_Interaction_KillerPower.h"
#include "AITunableParameter.h"
#include "AISkill_Interaction_K29Rush.generated.h"

UCLASS(Blueprintable, EditInlineNew)
class THEK29_API UAISkill_Interaction_K29Rush : public UAISkill_Interaction_KillerPower
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter MinimumChargeDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter MaximumChargeDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter MaxRushHoldTime;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float ChargeDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float StartAimAtChargePercent;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter FacingDirectionAngleAtMaxDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter FacingDirectionAngleAtZeroDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter AimVelocityPercentagePerMeter;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter AimAtPredictedLocationChance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float PathRushAngleAdjust;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter CameraLerpOverride;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float RushStartAdjustDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float NavRaycastHitTargetDistanceMargin;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float FirstRushDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float SecondRushDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float NavLinkAdjustWithinDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float NavLinkOffsetPosition;

public:
	UAISkill_Interaction_K29Rush();
};

FORCEINLINE uint32 GetTypeHash(const UAISkill_Interaction_K29Rush) { return 0; }
