diff --git a/EndlessVendetta/Content/AI/Enemy/Basic/BB_BasicEnemy.uasset b/EndlessVendetta/Content/AI/Enemy/Basic/BB_BasicEnemy.uasset index 86c597c3..9b2d8e60 100644 --- a/EndlessVendetta/Content/AI/Enemy/Basic/BB_BasicEnemy.uasset +++ b/EndlessVendetta/Content/AI/Enemy/Basic/BB_BasicEnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fb06286211ec1dc9e6245e12bb63c2b2cdc6afa6bb179de76eb1352d50a3358 -size 5694 +oid sha256:6030578986ba57b3d604b31bedc71a3abf0cb4de5dc6658d58c37679ba4c440a +size 5988 diff --git a/EndlessVendetta/Content/AI/Enemy/Basic/BT_BasicEnemy.uasset b/EndlessVendetta/Content/AI/Enemy/Basic/BT_BasicEnemy.uasset index e3fc9299..014a302f 100644 --- a/EndlessVendetta/Content/AI/Enemy/Basic/BT_BasicEnemy.uasset +++ b/EndlessVendetta/Content/AI/Enemy/Basic/BT_BasicEnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c9173e7ac91148e35778b0d3cd1bbc818b793426a87c14a27ab1b205bacddfc2 -size 30952 +oid sha256:9d20759902d270772c9aad0fa9521dfd3e343b82eb5818e82a39b1b11280ec96 +size 37942 diff --git a/EndlessVendetta/Content/Gadgets/BP_Grenade.uasset b/EndlessVendetta/Content/Gadgets/BP_Grenade.uasset index 92db3563..b1f7c397 100644 --- a/EndlessVendetta/Content/Gadgets/BP_Grenade.uasset +++ b/EndlessVendetta/Content/Gadgets/BP_Grenade.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b5b0aa3f0b0da4c979843a761e655ef147058bb43079f24e4ef358532a7d5cf -size 49595 +oid sha256:0973ba2e3915d82c77975bb8899e2edebcca3eac00001b2d43dc28e63c7070a0 +size 48239 diff --git a/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset b/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset index cb276826..f281fcf6 100644 --- a/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset +++ b/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3127ce3824cf23b96f87ddd954959e3bbbc4348342ba07ca1ef8a6797b0258d9 -size 66790690 +oid sha256:999086617d1b45a70b6fc5db1c639bfff0ec0bba5952340e163a1d5d8c21a206 +size 249 diff --git a/EndlessVendetta/Content/__ExternalActors__/Levels/EnemyAITest/D/CU/5S9SRVGAJUGQ0XXVI4GUXL.uasset b/EndlessVendetta/Content/__ExternalActors__/Levels/EnemyAITest/D/CU/5S9SRVGAJUGQ0XXVI4GUXL.uasset new file mode 100644 index 00000000..34744f75 --- /dev/null +++ b/EndlessVendetta/Content/__ExternalActors__/Levels/EnemyAITest/D/CU/5S9SRVGAJUGQ0XXVI4GUXL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69dcd1314353f09d4f12cc1a2a2ced8540f035585740d097a179bb332d850779 +size 4545 diff --git a/EndlessVendetta/Source/EndlessVendetta/AI/AICharacter.cpp b/EndlessVendetta/Source/EndlessVendetta/AI/AICharacter.cpp index 9135da93..8e976d0a 100644 --- a/EndlessVendetta/Source/EndlessVendetta/AI/AICharacter.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/AI/AICharacter.cpp @@ -3,12 +3,14 @@ #include "AICharacter.h" -#include "AI_CompanionController.h" +#include "AI_EnemyController.h" #include "Components/CapsuleComponent.h" #include "Engine/DamageEvents.h" #include "GameFramework/CharacterMovementComponent.h" #include "Perception/AIPerceptionStimuliSourceComponent.h" #include "Perception/AISense_Sight.h" +#include "BehaviorTree/BlackboardComponent.h" +#include "Blueprint/AIBlueprintHelperLibrary.h" // Sets default values @@ -48,12 +50,13 @@ float AAICharacter::TakeDamage(const float DamageAmount, FDamageEvent const& Dam CurrentHealth -= DamageAmount; if (CurrentHealth <= 0) { + if (!IsValid(this)) return 0.0f; CurrentHealth = 0; UE_LOG(LogTemp, Display, TEXT("%s is dead"), *CharacterName.ToString()); - const AAI_CompanionController* AIController = Cast(GetController()); - AIController->GetBrainComponent()->StopLogic(*CharacterName.ToString() + FString(" is dead")); - + /*const AAI_EnemyController* AIController = Cast(GetController()); + AIController->GetBrainComponent()->StopLogic(" is dead");*/ + this->Tags.Add(FName("Dead")); //Ragdoll DetachFromControllerPendingDestroy(); UCapsuleComponent* CapsuleComp = GetCapsuleComponent(); diff --git a/EndlessVendetta/Source/EndlessVendetta/AI/AI_EnemyController.cpp b/EndlessVendetta/Source/EndlessVendetta/AI/AI_EnemyController.cpp index 864586e4..3f343fa2 100644 --- a/EndlessVendetta/Source/EndlessVendetta/AI/AI_EnemyController.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/AI/AI_EnemyController.cpp @@ -36,6 +36,14 @@ void AAI_EnemyController::OnPossess(APawn* InPawn) UBlackboardComponent* TempBlackboardPtr; UseBlackboard(BehaviorTree->BlackboardAsset, TempBlackboardPtr); Blackboard = TempBlackboardPtr; + if (IsValid(EnemyCharacter->GetPatrolPath())) + { + Blackboard->SetValueAsBool("IsPatroling", true); + } + else + { + Blackboard->SetValueAsBool("IsPatroling", false); + } RunBehaviorTree(BehaviorTree); } } diff --git a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/Explosive.cpp b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/Explosive.cpp index 4476d8d4..71262298 100644 --- a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/Explosive.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/Explosive.cpp @@ -5,6 +5,8 @@ #include "CollisionDebugDrawingPublic.h" #include "Kismet/KismetMathLibrary.h" +#include "Engine/DamageEvents.h" +#include "EndlessVendetta/AI/AICharacter.h" // Sets default values AExplosive::AExplosive() @@ -69,6 +71,7 @@ void AExplosive::Explosion() } // When merged, call philips take damage function here UE_LOG(LogTemp, Warning, TEXT("A shrapnel piece hit %s, dealing %f damage"), *OutHit.GetActor()->GetName(), DamageToApply); + Cast(OutHit.GetActor())->TakeDamage(DamageToApply, FPointDamageEvent(), GetWorld()->GetFirstPlayerController(), this); } } PlayExplosionEffects(); diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp index c80e5bbd..71d39712 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp @@ -8,6 +8,8 @@ #include "Kismet/KismetMathLibrary.h" #include "Components/CapsuleComponent.h" #include "Kismet/GameplayStatics.h" +#include "Engine/DamageEvents.h" +#include "EndlessVendetta/AI/EnemyCharacter.h" // Sets default values @@ -95,16 +97,6 @@ void ABaseWeaponClass::ApplyRecoil(float DeltaTime) } -//void ABaseWeaponClass::RecoilVerticalLimit(FHitResult Outhit) -//{ -// double currentCameraRot = playerInWorld->GetControlRotation().Pitch; -// if (bulletCountShoot >= 3) -// { -// -// } -//} - - void ABaseWeaponClass::nullSamples() { recoilCurvet = 0; @@ -177,7 +169,7 @@ void ABaseWeaponClass::Fire() bulletCountShoot += 1; if (outHit.bBlockingHit) { - //UE_LOG(LogTemp, Display, TEXT("hit item: %s"), *outHit.GetActor()->GetName()); + Cast(outHit.GetActor())->TakeDamage(WeaponDamage, FPointDamageEvent(), GetWorld()->GetFirstPlayerController(), this); } } else if(currentAmmoCount <= 0)