diff --git a/Assets/Resources/Prefabs/Orb/SpeedOrb.prefab b/Assets/Resources/Prefabs/Orb/SpeedOrb.prefab
index 5cc81634c75cfefa93e932375e75f7004ebf5663..115ee7904e7ae958530bb85b5c89ed3cd061bc15 100644
--- a/Assets/Resources/Prefabs/Orb/SpeedOrb.prefab
+++ b/Assets/Resources/Prefabs/Orb/SpeedOrb.prefab
@@ -14,7 +14,7 @@ GameObject:
   - component: {fileID: 8886760520429159937}
   - component: {fileID: 959196329414389998}
   - component: {fileID: 2267867128730115459}
-  - component: {fileID: 4467161406872257008}
+  - component: {fileID: 3930905677382899601}
   m_Layer: 0
   m_Name: SpeedOrb
   m_TagString: Untagged
@@ -193,7 +193,7 @@ MonoBehaviour:
   m_LightCookieSize: {x: 1, y: 1}
   m_LightCookieOffset: {x: 0, y: 0}
   m_SoftShadowQuality: 0
---- !u!114 &4467161406872257008
+--- !u!114 &3930905677382899601
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -202,7 +202,7 @@ MonoBehaviour:
   m_GameObject: {fileID: 536233084705329855}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 10f8e61fefed791428046afb941ae240, type: 3}
+  m_Script: {fileID: 11500000, guid: 38842ad451695e1408846b3a1cecd661, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
   pickUpSoundName: OrbPickUp
diff --git a/Assets/Scenes/FinalStage.unity b/Assets/Scenes/FinalStage.unity
index 442e1e5e8ca1e549190413e8b9d832b822d9b87f..df52e0b2d54235de1f8cb3224d648cb987588418 100644
--- a/Assets/Scenes/FinalStage.unity
+++ b/Assets/Scenes/FinalStage.unity
@@ -11275,6 +11275,11 @@ PrefabInstance:
       propertyPath: ammo
       value: 
       objectReference: {fileID: 475539529}
+    - target: {fileID: 6175774498415436418, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
+        type: 3}
+      propertyPath: baseDamage
+      value: 20
+      objectReference: {fileID: 0}
     - target: {fileID: 6175774498415436418, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
         type: 3}
       propertyPath: attackPoints.Array.size
@@ -11395,11 +11400,21 @@ PrefabInstance:
       propertyPath: speed
       value: 8
       objectReference: {fileID: 0}
+    - target: {fileID: 7778928521378090948, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
+        type: 3}
+      propertyPath: ammo
+      value: 
+      objectReference: {fileID: 475539529}
     - target: {fileID: 7778928521378090948, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
         type: 3}
       propertyPath: crossHair
       value: 
       objectReference: {fileID: 420249870}
+    - target: {fileID: 7778928521378090948, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
+        type: 3}
+      propertyPath: baseDamage
+      value: 100
+      objectReference: {fileID: 0}
     - target: {fileID: 8008698632772352776, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
         type: 3}
       propertyPath: fadeImage
@@ -11440,11 +11455,21 @@ PrefabInstance:
       propertyPath: m_LocalEulerAnglesHint.z
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 8904355535743393918, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
+        type: 3}
+      propertyPath: ammo
+      value: 
+      objectReference: {fileID: 475539529}
     - target: {fileID: 8904355535743393918, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
         type: 3}
       propertyPath: crossHair
       value: 
       objectReference: {fileID: 420249870}
+    - target: {fileID: 8904355535743393918, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
+        type: 3}
+      propertyPath: baseDamage
+      value: 20
+      objectReference: {fileID: 0}
     - target: {fileID: 8904355535743393918, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
         type: 3}
       propertyPath: attackPoints.Array.size
diff --git a/Assets/Script/Bot/Enemy/Enemy.cs b/Assets/Script/Bot/Enemy/Enemy.cs
index f641ff1a75308c3c6df99067dac34c7b63b73a18..572b9cbfff41c6bfd93d8e40a2d33971750590bf 100644
--- a/Assets/Script/Bot/Enemy/Enemy.cs
+++ b/Assets/Script/Bot/Enemy/Enemy.cs
@@ -41,7 +41,7 @@ public class Enemy : MonoBehaviour
         animator = GetComponent<Animator>();
         orbs = new GameObject[3];
         orbs[0] = Resources.Load<GameObject>("Prefabs/Orb/DamageOrb");
-        orbs[1] = Resources.Load<GameObject>("Prefabs/Orb/HealOrb");
+        orbs[1] = Resources.Load<GameObject>("Prefabs/Orb/HealthOrb");
         orbs[2] = Resources.Load<GameObject>("Prefabs/Orb/SpeedOrb");
     }
 
diff --git a/Assets/Script/Player/CheatManager.cs b/Assets/Script/Player/CheatManager.cs
index 2e5c0443cc7c63a0cd0d034c90719f5149420a41..7fa8cb58dfa9c106971c495912895f97dd2a5b97 100644
--- a/Assets/Script/Player/CheatManager.cs
+++ b/Assets/Script/Player/CheatManager.cs
@@ -47,23 +47,15 @@ public class CheatManager : MonoBehaviour
     [Command("saitama")]
     private void DamageCheat()
     {
-        weaponList = GameObject.FindGameObjectsWithTag("Weapon");
-        Debug.Log("Weapon list: " + weaponList.Length);
         if (damageCheat)
         {
             Debug.Log("<color=red>1 hit kill deactivated</color>");
-            for (int i = 0; i < weaponList.Length; i++)
-            {
-                weaponList[i].GetComponent<GunSystem>().damage /= 9999;
-            }
+            player.GetComponent<PlayerHealth>().damageMultiplier /= 9999;
         }
         else
         {
             Debug.Log("<color=green>1 hit kill activated</color>");
-            for (int i = 0; i < weaponList.Length; i++)
-            {
-                weaponList[i].GetComponent<GunSystem>().damage *= 9999;
-            }
+            player.GetComponent<PlayerHealth>().damageMultiplier *= 9999;
         }
         damageCheat = !damageCheat;
     }
@@ -120,7 +112,7 @@ public class CheatManager : MonoBehaviour
     {
         List<GameObject> orbs = new List<GameObject>();
         orbs.Add(Resources.Load<GameObject>("Prefabs/Orb/DamageOrb"));
-        orbs.Add(Resources.Load<GameObject>("Prefabs/Orb/HealOrb"));
+        orbs.Add(Resources.Load<GameObject>("Prefabs/Orb/HealthOrb"));
         orbs.Add(Resources.Load<GameObject>("Prefabs/Orb/SpeedOrb"));
         Vector3 spawnPosition = player.transform.position + player.transform.forward * 2 + Vector3.up;
         Instantiate(orbs[Random.Range(0, orbs.Count)], spawnPosition, Quaternion.identity);
diff --git a/Assets/Script/Player/PlayerHealth.cs b/Assets/Script/Player/PlayerHealth.cs
index 3a34155e06234d07d9b995ed5c3df69bc8803b2c..d68aef9c279a06c90595e5304459c75357138254 100644
--- a/Assets/Script/Player/PlayerHealth.cs
+++ b/Assets/Script/Player/PlayerHealth.cs
@@ -18,6 +18,7 @@ public class PlayerHealth : MonoBehaviour
     public Image overlay;
     public float duration;
     public float fadeSpeed;
+    public float damageMultiplier = 1f;
 
     private float durationTimer;
     private bool isDead = false;
diff --git a/Assets/Script/Player/PlayerPowerUp.cs b/Assets/Script/Player/PlayerPowerUp.cs
index a7039eceb332f1ae31751e3f0885884dc85408fa..92e7f7f3741f0b75f27c4a66f422cf7389be33bd 100644
--- a/Assets/Script/Player/PlayerPowerUp.cs
+++ b/Assets/Script/Player/PlayerPowerUp.cs
@@ -12,19 +12,11 @@ public class PlayerPowerUp : MonoBehaviour
     public int damageStack = 0;
 
     private GameObject player;
-    private GameObject[] weaponList;
-    private int[] initialDamage;
     private bool speedPowerUpActive = false;
     private Coroutine speedCoroutine;
     void Start()
     {
         player = GameObject.FindGameObjectWithTag("Player");
-        weaponList = GameObject.FindGameObjectsWithTag("Weapon");
-        initialDamage = new int[weaponList.Length];
-        for (int i = 0; i < weaponList.Length; i++)
-        {
-            initialDamage[i] = weaponList[i].GetComponent<GunSystem>().damage;
-        }
     }
 
     public void HealOrb()
@@ -63,14 +55,9 @@ public class PlayerPowerUp : MonoBehaviour
     {
         if (damageStack < maxDamageStack)
         {
-            weaponList = GameObject.FindGameObjectsWithTag("Weapon");
-            for (int i = 0; i < weaponList.Length; i++)
-            {
-                Debug.Log("Damage Orb activated, increasing damage by " + (int)(initialDamage[i] * damageIncrease));
-                weaponList[i].GetComponent<GunSystem>().damage += (int)(initialDamage[i] * damageIncrease);
-            }
+            player.GetComponent<PlayerHealth>().damageMultiplier += damageIncrease;
             damageStack++;
-            Debug.Log("Damage Orb activated, damage increased to " + weaponList[0].GetComponent<GunSystem>().damage);
+            Debug.Log("Damage Orb activated, damage multiplier increased to " + player.GetComponent<PlayerHealth>().damageMultiplier);
             Debug.Log("Damage Stack: " + damageStack);
         }
     }
diff --git a/Assets/Script/Weapon/GunSystem.cs b/Assets/Script/Weapon/GunSystem.cs
index e1905158c8463dd700c567f31e07d017da2aab7e..56d6dd85c89653b09948966dc26c3c5e25cd9bcf 100644
--- a/Assets/Script/Weapon/GunSystem.cs
+++ b/Assets/Script/Weapon/GunSystem.cs
@@ -7,7 +7,7 @@ public class GunSystem : MonoBehaviour
 {
     //Stats weapon
     public bool isSword;
-    public int damage;
+    public int damage, baseDamage;
     public float timeBetweenShooting, spread, range, reloadTime, fireRate;
     public float bulletSpeed = 30f, bulletLifeTime = 3.3f;
     public int magSize, bulletsperTap;
@@ -31,10 +31,13 @@ public class GunSystem : MonoBehaviour
     public TextMeshProUGUI ammo;
     public GameObject crossHair;
 
+    private GameObject player;
+
     private bool isAim = false;
 
     private void Start()
     {
+        player = GameObject.FindGameObjectWithTag("Player");
         inputManager = GetComponent<InputManager>();
         bulletsLeft = magSize;
         readyToShoot = true;
@@ -43,6 +46,7 @@ public class GunSystem : MonoBehaviour
 
     private void Update()
     {
+        damage = (int)(baseDamage * player.GetComponent<PlayerHealth>().damageMultiplier);
         if (isActiveWeapon)
         {
             Inputs();