#pragma once

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

class AKiller;

UCLASS(Blueprintable, EditInlineNew)
class DBDBOTS_API UAISkill_Interaction_Blink : public UAISkill_Interaction_KillerPower
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float MinimumPatrolBlinkRange;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float MaximumChaseSingleBlinkRange;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float MinimumBlinkRange;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float MaximumConsecutiveBlinkRange;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float PostBlinkMaxChargeTime;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float VerticalDistanceMultiplier;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float MaxBlinkTargetVerticalDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter MaxBlinkDistanceInaccuracy;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAITunableParameter BlinkDistanceInaccuracyMaxDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float BlinkVerticalOffset;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FName BBBlinkDestination;

private:
	UPROPERTY(BlueprintReadWrite, Transient, meta=(AllowPrivateAccess=true))
	AKiller* _nurseBot;

public:
	UAISkill_Interaction_Blink();
};

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