diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset index 6dfed72f..869e6257 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d340258408ce3a5a09a228384e9186e41e3fea304fa000680660c214b57e9c54 -size 793844 +oid sha256:7e056ebbe800ca78f0f68ed8d48c147cf02dfd4598d35a6dac74362c94d3d25b +size 806750 diff --git a/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset b/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset index 41056a7e..c2a34afc 100644 --- a/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset +++ b/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ca387bf63d618c34512526ea05f9ef91013a5e0a1e12d4e65e29e17d76bb43e -size 14831 +oid sha256:4c0ecf0ac0702cc2bd355ec050232a61c49e10f102448efbeb735a51824adef6 +size 14948 diff --git a/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset b/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset index c5c3b84e..05921a67 100644 --- a/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset +++ b/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a60a29ad596546d481e43dfb8698842a78cc07f4a4b1000fa397cfba4e72331 -size 158206 +oid sha256:2be237878ec514aefc4c807e316db8fe54ff7eb3c1648ecee878838ffe5fa692 +size 43745 diff --git a/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/0/30/II3E4UW0LD8MICL6FWYKWT.uasset b/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/0/30/II3E4UW0LD8MICL6FWYKWT.uasset new file mode 100644 index 00000000..afb208c5 --- /dev/null +++ b/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/0/30/II3E4UW0LD8MICL6FWYKWT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5b69c02323064b89f85a0f1e6d708d54583fbe6fc0291f6e32b940876dc945 +size 6699 diff --git a/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/3/YQ/PXB4WSHORDZW4LPFJWMR2F.uasset b/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/3/YQ/PXB4WSHORDZW4LPFJWMR2F.uasset new file mode 100644 index 00000000..039c39a8 --- /dev/null +++ b/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/3/YQ/PXB4WSHORDZW4LPFJWMR2F.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a895572d0ea4a718e1f5f3195470313ea31935b4f28fad6e7e1df19209810e94 +size 6551 diff --git a/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/4/LG/NYVOKCFE6YHCG70FME5BSE.uasset b/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/4/LG/NYVOKCFE6YHCG70FME5BSE.uasset new file mode 100644 index 00000000..c9ecb5be --- /dev/null +++ b/EndlessVendetta/Content/__ExternalActors__/Levels/AITest/4/LG/NYVOKCFE6YHCG70FME5BSE.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9aa60dd83d5e27780f19d00dd8213d6ea718bc4950f456a0694ecb894a6ebd44 +size 6719 diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp index b8ff3c33..22bcc09f 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp @@ -173,60 +173,61 @@ void ABaseWeaponClass::CancelFire() void ABaseWeaponClass::Fire() { - if (currentAmmoCount > 0) + if (currentAmmoCount <= 0) + { + UE_LOG(LogTemp, Display, TEXT("No ammo, Ammo count: %d"), currentAmmoCount); + ShowNeedReloadUI(); + return; + } + if (GetWorldTimerManager().IsTimerActive(timerHandle)) return; + + //do damage fallof based off distance + UCameraComponent* CamComp = Cast(GetWorld()->GetFirstPlayerController()->GetPawn())->GetFirstPersonCameraComponent(); + traceStart = Cast(GetComponentByClass(USkeletalMeshComponent::StaticClass()))->GetSocketLocation("Muzzle"); + traceEnd = CamComp->GetComponentLocation() + CamComp->GetForwardVector() * BulletDistance; + FCollisionObjectQueryParams ObjectQueryParams; + ObjectQueryParams.AddObjectTypesToQuery(ECC_Pawn); + ObjectQueryParams.AddObjectTypesToQuery(ECC_WorldStatic); + ObjectQueryParams.AddObjectTypesToQuery(ECC_WorldDynamic); + GetWorld()->LineTraceSingleByObjectType(outHit, traceStart, traceEnd, ObjectQueryParams, collisionParams); + WeaponFired.Broadcast(); + playerControllerRef->PlayerCameraManager->StartCameraShake(CameraShakeClass, 1); + currentAmmoCount -= 1; + GenerateRecoilVector(); + ClickDetectionTimer(); + bulletCountShoot += 1; + bStopShooting = false; + if (outHit.bBlockingHit) { - //do damage fallof based off distance - traceStart = Cast(GetComponentByClass(USkeletalMeshComponent::StaticClass()))->GetSocketLocation("Muzzle"); - traceEnd = traceStart + Cast(GetWorld()->GetFirstPlayerController()->GetPawn())->GetFirstPersonCameraComponent()->GetForwardVector() * BulletDistance; - if (GetWorldTimerManager().IsTimerActive(timerHandle)) return; - FCollisionObjectQueryParams ObjectQueryParams; - ObjectQueryParams.AddObjectTypesToQuery(ECC_Pawn); - ObjectQueryParams.AddObjectTypesToQuery(ECC_WorldStatic); - ObjectQueryParams.AddObjectTypesToQuery(ECC_WorldDynamic); - GetWorld()->LineTraceSingleByObjectType(outHit, traceStart, traceEnd, ObjectQueryParams, collisionParams); - WeaponFired.Broadcast(); - playerControllerRef->PlayerCameraManager->StartCameraShake(CameraShakeClass, 1); - currentAmmoCount -= 1; - GenerateRecoilVector(); - ClickDetectionTimer(); - bulletCountShoot += 1; - bStopShooting = false; - if (outHit.bBlockingHit) + if (outHit.Distance >= FMath::Floor(BulletDistance / 2)) { - if (outHit.Distance >= FMath::Floor(BulletDistance / 2)) + tempWeaponDamage = WeaponDamage / 2; + } + else + { + tempWeaponDamage = WeaponDamage; + } + if (Cast(outHit.GetActor())) + { + if (outHit.BoneName.ToString().ToLower() == "head") { - tempWeaponDamage = WeaponDamage / 2; + tempWeaponDamage *= 2; + endlessVendettaChar->SuccessfulHit(true); } else { - tempWeaponDamage = WeaponDamage; - } - if (Cast(outHit.GetActor())) - { - if (outHit.BoneName.ToString().ToLower() == "head") - { - tempWeaponDamage *= 2; - endlessVendettaChar->SuccessfulHit(true); - } - else - { - endlessVendettaChar->SuccessfulHit(); - } - Cast(outHit.GetActor())->TakeDamage(tempWeaponDamage, FPointDamageEvent(), GetWorld()->GetFirstPlayerController(), this); - } - if (ATargetDummy* TargetDummy = Cast(outHit.GetActor())) - { - TargetDummy->TargetShot(); endlessVendettaChar->SuccessfulHit(); } + Cast(outHit.GetActor())->TakeDamage(tempWeaponDamage, FPointDamageEvent(), GetWorld()->GetFirstPlayerController(), this); + } + if (ATargetDummy* TargetDummy = Cast(outHit.GetActor())) + { + TargetDummy->TargetShot(); + endlessVendettaChar->SuccessfulHit(); } - HideNeedReloadUI(); - } - else if (currentAmmoCount <= 0) - { - UE_LOG(LogTemp, Display, TEXT("No ammo, Ammo count: %d"), currentAmmoCount); - ShowNeedReloadUI(); } + HideNeedReloadUI(); + } void ABaseWeaponClass::WeaponScopedFire()