diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset index bda0660d..f0a16367 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b3aee8c3c553b35b2e127ddd7dd44974fda5563ad4eb9bc18a34efceee4d004 -size 37850 +oid sha256:99fdc6f5e7c67d7a44ca185fad64f6c99ad6142011c9de4566761ec07bdd68d0 +size 37860 diff --git a/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset b/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset index 48901753..a76d9a83 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:2f245999e23fa99035343927a6662fb51718dfc13fbb549ffb43d3f94b47e375 +oid sha256:35965626ed27917622aa4630a23b7a047248cb9b9b0e66e1843969c4b1e0aadb size 66790690 diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp index b0ff8a20..5a282ae0 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp @@ -134,29 +134,39 @@ void ABaseWeaponClass::CancelFire() void ABaseWeaponClass::Fire() { - //do damage fallof based off distance - FHitResult outHit; - FVector traceStart; - FVector traceEnd; - traceStart = GunStartArrow->GetComponentLocation(); - traceEnd = traceStart + (GunStartArrow->GetForwardVector() * BulletDistance); - FCollisionQueryParams collisionParams; - collisionParams.AddIgnoredActor(playerInWorld); - collisionParams.AddIgnoredActor(this); - if (GetWorldTimerManager().IsTimerActive(timerHandle)) + if(MagazineSize > 0) { - return; + //do damage fallof based off distance + FHitResult outHit; + FVector traceStart; + FVector traceEnd; + traceStart = GunStartArrow->GetComponentLocation(); + traceEnd = traceStart + (GunStartArrow->GetForwardVector() * BulletDistance); + FCollisionQueryParams collisionParams; + collisionParams.AddIgnoredActor(playerInWorld); + collisionParams.AddIgnoredActor(this); + if (GetWorldTimerManager().IsTimerActive(timerHandle)) + { + return; + } + GetWorld()->LineTraceSingleByChannel(outHit, traceStart, traceEnd, ECC_Visibility, collisionParams); + //Debug line to see where the trace hit + DrawDebugLine(this->GetWorld(), traceStart, traceEnd, FColor::Red, false, 5.0f, 0U, 2.5f); + playerControllerRef->PlayerCameraManager->StartCameraShake(CameraShakeClass, 1); + MagazineSize -= 1; + UE_LOG(LogTemp, Display, TEXT("Ammo Count: %d"), MagazineSize); + GenerateRecoilVector(); + ClickDetectionTimer(); + if (outHit.bBlockingHit) + { + UE_LOG(LogTemp, Display, TEXT("hit item: %s"), *outHit.GetActor()->GetName()); + } } - GetWorld()->LineTraceSingleByChannel(outHit, traceStart, traceEnd, ECC_Visibility, collisionParams); - //Debug line to see where the trace hit - DrawDebugLine(this->GetWorld(), traceStart, traceEnd, FColor::Red, false, 5.0f, 0U, 2.5f); - playerControllerRef->PlayerCameraManager->StartCameraShake(CameraShakeClass, 1); - GenerateRecoilVector(); - ClickDetectionTimer(); - if (outHit.bBlockingHit) + else if(MagazineSize <= 0) { - UE_LOG(LogTemp, Display, TEXT("hit item: %s"), *outHit.GetActor()->GetName()); + UE_LOG(LogTemp, Display, TEXT("No ammo, Ammo count: %d"), MagazineSize); } + } void ABaseWeaponClass::WeaponScopedFire()