From fad7da57f885ec03bf64b179aaa5b969e5fbe059 Mon Sep 17 00:00:00 2001 From: MARCEL HARA Date: Mon, 16 Oct 2023 13:18:39 +0100 Subject: [PATCH 1/2] Fixed Tap Fire Rate On All Pistols --- .../Blueprints/BaseWeapons/WBP_AmmoCount.uasset | 4 ++-- .../WeaponSystem/BaseWeaponClass.h | 11 +++++++---- .../EndlessVendetta/WeaponSystem/PistolClass.cpp | 16 ++++++++++++++++ .../EndlessVendetta/WeaponSystem/PistolClass.h | 2 ++ 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_AmmoCount.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_AmmoCount.uasset index 42f932a9..6e0e13d4 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_AmmoCount.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_AmmoCount.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:652402df45503ab3169e329879f397101d9b5bf17551404301cca7b5b292eb68 -size 62076 +oid sha256:d593d68d5b9a9fc58b1b7ecc44936b84e361aaa1762ab04c5924e36bfd45bee9 +size 61494 diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h index 2ea5b812..00541047 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h @@ -83,9 +83,9 @@ public: virtual void Fire(); UFUNCTION(BlueprintCallable, Category = "Weapons") - void ClickDetectionTimer(); + virtual void ClickDetectionTimer(); - void CancelFire(); + virtual void CancelFire(); UPROPERTY(VisibleAnywhere) ACharacter* playerInWorld; @@ -144,9 +144,12 @@ public: UPROPERTY(EditAnywhere) int bulletCountShoot; //Gets how many bullets shot per -private: +protected: UArrowComponent* GunStartArrow; + bool bStopShooting = false; + +private: UPROPERTY(EditAnywhere) float BulletDistance; @@ -157,5 +160,5 @@ private: float originalMinMultiplier; float currentPitch; - bool bStopShooting = false; + }; diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.cpp b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.cpp index 2b7dc95a..0e91083a 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.cpp @@ -30,3 +30,19 @@ void APistolClass::Fire() UE_LOG(LogTemp, Display, TEXT("Testing overrides: Pistol has been fired")); } +void APistolClass::ClickDetectionTimer() +{ + Super::ClickDetectionTimer(); +} + +void APistolClass::CancelFire() +{ + if (bulletCountShoot <= 0) return; + UE_LOG(LogTemp, Display, TEXT("FireCancelled")); + bulletCountShoot = 0; + GunStartArrow->SetRelativeRotation(FRotator(0)); + //playerInWorld->GetController()->SetControlRotation(FRotator(0, playerInWorld->GetActorRotation().Yaw, playerInWorld->GetActorRotation().Roll)); + bStopShooting = true; + nullSamples(); +} + diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.h b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.h index ca85b67e..0ddb7290 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.h +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/PistolClass.h @@ -24,4 +24,6 @@ public: virtual void Tick(float DeltaTime) override; virtual void Fire() override; + virtual void ClickDetectionTimer() override; + virtual void CancelFire() override; }; From e5cc2ad9f7ad60e8ec412cf6be18b55a8cfb52df Mon Sep 17 00:00:00 2001 From: MARCEL HARA Date: Mon, 16 Oct 2023 13:23:03 +0100 Subject: [PATCH 2/2] Changed DebugLine to Grey and Lowered Timer To Create Bullet Trail --- .../Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp index 53f2de68..d20c1ae8 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp @@ -174,7 +174,7 @@ void ABaseWeaponClass::Fire() traceEnd = traceStart + (GunStartArrow->GetForwardVector() * BulletDistance); if (GetWorldTimerManager().IsTimerActive(timerHandle)) return; GetWorld()->LineTraceSingleByChannel(outHit, traceStart, traceEnd, ECC_Visibility, collisionParams); - DrawDebugLine(this->GetWorld(), traceStart, traceEnd, FColor::Red, false, 5.0f, 0U, 1.5f); + DrawDebugLine(this->GetWorld(), traceStart, traceEnd, FColor::Black , false, 0.2f, 0U, 0.2f); playerControllerRef->PlayerCameraManager->StartCameraShake(CameraShakeClass, 1); currentAmmoCount -= 1; GenerateRecoilVector();