From a36f65cbc6e351d1c0770f106cd97b82d0b02b59 Mon Sep 17 00:00:00 2001 From: PHILIP WHITE Date: Thu, 29 Feb 2024 04:31:55 +0000 Subject: [PATCH] Bugfix Crash on AI with No Weapons --- .../Source/EndlessVendetta/AI/Tasks/BTTask_AttackPlayer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/EndlessVendetta/Source/EndlessVendetta/AI/Tasks/BTTask_AttackPlayer.cpp b/EndlessVendetta/Source/EndlessVendetta/AI/Tasks/BTTask_AttackPlayer.cpp index 2f61f52e..95cd2d5b 100644 --- a/EndlessVendetta/Source/EndlessVendetta/AI/Tasks/BTTask_AttackPlayer.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/AI/Tasks/BTTask_AttackPlayer.cpp @@ -20,7 +20,11 @@ EBTNodeResult::Type UBTTask_AttackPlayer::ExecuteTask(UBehaviorTreeComponent& Ow { if (const UBlackboardComponent* const Blackboard = OwnerComp.GetBlackboardComponent()) { - USkeletalMeshComponent* const GunSKMesh = Cast(AIController->GetPawn()->GetComponentsByTag(USkeletalMeshComponent::StaticClass(), "Gun")[0]); + USkeletalMeshComponent* GunSKMesh = nullptr; + if (AIController->GetPawn()->GetComponentsByTag(USkeletalMeshComponent::StaticClass(), "Gun").Num() > 0) + { + GunSKMesh = Cast(AIController->GetPawn()->GetComponentsByTag(USkeletalMeshComponent::StaticClass(), "Gun")[0]); + } FVector const Origin = IsValid(GunSKMesh) ? GunSKMesh->GetComponentLocation() : AIController->GetPawn()->GetActorLocation() + FVector(0.f, 0.f, 30.f); FVector const Start = Origin; FVector const End = Origin + AIController->GetPawn()->GetActorForwardVector() * 10000.f;