diff --git a/Assets/Scenes/Wave_Mode.unity b/Assets/Scenes/Wave_Mode.unity
index 4035c8226d68113bb305930f6727b5b52d752fc4..bd5699a13242832819ecb4f11645962f6b9ab9a5 100644
--- a/Assets/Scenes/Wave_Mode.unity
+++ b/Assets/Scenes/Wave_Mode.unity
@@ -6354,7 +6354,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   damagePerShot: 20
-  timeBetweenBullets: 0.15
+  timeBetweenBullets: 0.3
   range: 100
 --- !u!1 &732164003
 GameObject:
@@ -8601,7 +8601,31 @@ MonoBehaviour:
   m_TargetGraphic: {fileID: 1820739482}
   m_OnClick:
     m_PersistentCalls:
-      m_Calls: []
+      m_Calls:
+      - m_Target: {fileID: 33458255}
+        m_TargetAssemblyTypeName: WeaponUpgrade, Assembly-CSharp
+        m_MethodName: UpgradeFasterWeapon
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 900876093}
+        m_TargetAssemblyTypeName: WeaponUpgradeUI, Assembly-CSharp
+        m_MethodName: SkipOrContinue
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
 --- !u!114 &1820739482
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -9048,49 +9072,121 @@ MonoBehaviour:
   - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
   - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
   - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+  - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+  - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
   waves:
-  - name: ya gitu
+  - name: 1
+    enemyPool:
+    - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 2
+    enemyPool:
+    - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 3
     enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
     - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 4
+    enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
     weight: 1
     rate: 5
-  - name: ya gitu
+  - name: 5
     enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
     - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 6
+    enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
     weight: 1
     rate: 5
-  - name: ya gitu
+  - name: 7
     enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
     - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 8
+    enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
     weight: 1
     rate: 5
-  - name: ya gitu
+  - name: 9
     enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
     - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 10
+    enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
     weight: 1
     rate: 5
-  - name: ya gitu
+  - name: 11
     enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
     - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 12
+    enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
     weight: 1
     rate: 5
-  - name: ya gitu
+  - name: 13
     enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
     - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 14
+    enemyPool:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
     weight: 1
     rate: 5
+  - name: 15
+    enemyPool:
+    - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1
+    rate: 5
+  - name: 16
+    enemyPool:
+    - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    weight: 1000
+    rate: 5
   spawnPoints:
   - {fileID: 9083842937541373870, guid: 6bbf9ef8fcce5114482d813a9b680d17, type: 3}
   - {fileID: 304385461253102273, guid: c88f58001921a7a4a9a51563d60192e6, type: 3}
diff --git a/Assets/Scripts/Player/PlayerShooting.cs b/Assets/Scripts/Player/PlayerShooting.cs
index c402c00a850cb18488281601f9676dd12d9a2392..4f23e660115e015d2622844c0c0091d3375c3760 100644
--- a/Assets/Scripts/Player/PlayerShooting.cs
+++ b/Assets/Scripts/Player/PlayerShooting.cs
@@ -3,7 +3,7 @@
 public class PlayerShooting : MonoBehaviour
 {
     public int damagePerShot = 20;                  
-    public float timeBetweenBullets = 0.15f;        
+    public float timeBetweenBullets = 0.30f; // tadinya 0.15f        
     public float range = 100f;                      
     float timer;    
     
diff --git a/Assets/Scripts/WeaponUpgrade/WeaponUpgrade.cs b/Assets/Scripts/WeaponUpgrade/WeaponUpgrade.cs
index 7595355e90769f563d928b2e81a9154e3028c1ec..d4c3783ffd21987ae54f83b1190bc2bc5c400b84 100644
--- a/Assets/Scripts/WeaponUpgrade/WeaponUpgrade.cs
+++ b/Assets/Scripts/WeaponUpgrade/WeaponUpgrade.cs
@@ -9,8 +9,11 @@ public class WeaponUpgrade : MonoBehaviour
     private int levelDiagonalWeapon; // maks 9x upgrade
     private int levelFasterWeapon;
 
-    private const int maxLevelDiagonal = 1;
-    private const int maxLevelSpeed = 9;
+    // max level atur disini dah
+    private const int maxLevelDiagonal = 9;
+    private const int maxLevelSpeed = 2;
+
+    PlayerShooting[] playerShootings;
 
     private void Awake()
     {
@@ -47,11 +50,17 @@ public class WeaponUpgrade : MonoBehaviour
     {
         levelFasterWeapon++;
 
-        // TODO akses semua gunBarrelEnd
-        
-        if (levelDiagonalWeapon >= maxLevelDiagonal)
+        // akses semua gunBarrelEnd
+        playerShootings = GetComponentsInChildren<PlayerShooting>();
+        Debug.Log("Jumlah player shooting: " + playerShootings.Length);
+        foreach (PlayerShooting p in playerShootings)
+        {   
+            p.timeBetweenBullets -= 0.145f;
+        }
+
+        if (levelFasterWeapon >= maxLevelSpeed)
         {
-            WeaponUpgradeManager.isMaxUpgradeDiagonal = true;
+            WeaponUpgradeManager.isMaxUpgradeFaster = true;
         }
     }