From bd510f297ca054c310a4eb1c94e96554f955d64b Mon Sep 17 00:00:00 2001 From: baz Date: Sat, 15 Feb 2025 00:26:40 +0000 Subject: [PATCH] Add Garlic specific weapon upgrades --- Content/Weapons/Garlic/BP_GarlicWeapon.uasset | 4 +- Source/vampires/Weapons/GarlicWeapon.cpp | 47 ++++++++++++++++--- Source/vampires/Weapons/GarlicWeapon.h | 2 +- 3 files changed, 44 insertions(+), 9 deletions(-) diff --git a/Content/Weapons/Garlic/BP_GarlicWeapon.uasset b/Content/Weapons/Garlic/BP_GarlicWeapon.uasset index 1ba03c9..3415ecd 100644 --- a/Content/Weapons/Garlic/BP_GarlicWeapon.uasset +++ b/Content/Weapons/Garlic/BP_GarlicWeapon.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f727c25f2df8e1b07229b73d8e93789ab0abd670e460c4dc7bbe95109d098d50 -size 23913 +oid sha256:7b30710bb243dafa3ee7661c838b99399b968f9ee98ec377eea0b96bfffd3f73 +size 24327 diff --git a/Source/vampires/Weapons/GarlicWeapon.cpp b/Source/vampires/Weapons/GarlicWeapon.cpp index 05761fc..81c6296 100644 --- a/Source/vampires/Weapons/GarlicWeapon.cpp +++ b/Source/vampires/Weapons/GarlicWeapon.cpp @@ -91,13 +91,48 @@ void AGarlicWeapon::GarlicFireWeaponAction(FOverlappedEnemy EnemyCharacter) } } -bool AGarlicWeapon::UpgradeWeapon() +bool AGarlicWeapon::UpgradeWeapon_Implementation() { - if (Super::UpgradeWeapon()) + if (!Super::UpgradeWeapon_Implementation()) return false; + + switch (CurrentLevel) { - Range *= Upgrades[CurrentLevel - 1].WeaponRangeMultiplier; - SphereComponent->SetSphereRadius(Range); - return true; + case 1: + Range *= 1.4f; + SphereComponent->SetSphereRadius(Range); + Damage += 2.0f; + break; + case 2: + WeaponCooldown -= 0.1f; + Damage += 1; + break; + case 3: + Range *= 1.2f; + SphereComponent->SetSphereRadius(Range); + Damage += 1.0f; + break; + case 4: + WeaponCooldown -= 0.1f; + Damage += 2; + break; + case 5: + Range *= 1.2f; + SphereComponent->SetSphereRadius(Range); + Damage += 1.0f; + break; + case 6: + WeaponCooldown -= 0.1f; + Damage += 1; + break; + case 7: + Range *= 1.2f; + SphereComponent->SetSphereRadius(Range); + Damage += 1.0f; + break; + default: + return false; } - return false; + + ResetWeaponTimer(); + return true; } diff --git a/Source/vampires/Weapons/GarlicWeapon.h b/Source/vampires/Weapons/GarlicWeapon.h index 301ddf6..f9d5aac 100644 --- a/Source/vampires/Weapons/GarlicWeapon.h +++ b/Source/vampires/Weapons/GarlicWeapon.h @@ -46,7 +46,7 @@ public: UFUNCTION() void GarlicFireWeaponAction(FOverlappedEnemy EnemyCharacter); - virtual bool UpgradeWeapon() override; + virtual bool UpgradeWeapon_Implementation() override; protected: UFUNCTION()