From 35cae4da0e721ca608b264101ef96ab400e5c8ce Mon Sep 17 00:00:00 2001
From: Zeus-s <kristabdixx@gmail.com>
Date: Fri, 14 Apr 2023 18:01:18 +0700
Subject: [PATCH] feat: cheat no damage, 1 hit kill, speed2x

---
 Assets/Animation/PlayerAC.controller    | 10 ++++++--
 Assets/Scenes/Level_01.unity            |  7 +++++
 Assets/Scenes/Level_02.unity            |  7 +++++
 Assets/Scenes/Level_Final.unity         |  7 +++++
 Assets/Scripts/Menu/CheatMenu.cs        | 15 ++++-------
 Assets/Scripts/Player/PlayerHealth.cs   |  5 ++--
 Assets/Scripts/Player/PlayerShooting.cs | 34 +++++++++++++++++--------
 7 files changed, 60 insertions(+), 25 deletions(-)

diff --git a/Assets/Animation/PlayerAC.controller b/Assets/Animation/PlayerAC.controller
index c01ece1f..1d3db2b8 100644
--- a/Assets/Animation/PlayerAC.controller
+++ b/Assets/Animation/PlayerAC.controller
@@ -87,6 +87,12 @@ AnimatorController:
     m_DefaultInt: 0
     m_DefaultBool: 0
     m_Controller: {fileID: 0}
+  - m_Name: animSpeed
+    m_Type: 1
+    m_DefaultFloat: 1
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 0}
   m_AnimatorLayers:
   - serializedVersion: 5
     m_Name: Base Layer
@@ -117,13 +123,13 @@ AnimatorState:
   m_IKOnFeet: 0
   m_WriteDefaultValues: 1
   m_Mirror: 0
-  m_SpeedParameterActive: 0
+  m_SpeedParameterActive: 1
   m_MirrorParameterActive: 0
   m_CycleOffsetParameterActive: 0
   m_TimeParameterActive: 0
   m_Motion: {fileID: 7400000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
   m_Tag: 
-  m_SpeedParameter: 
+  m_SpeedParameter: animSpeed
   m_MirrorParameter: 
   m_CycleOffsetParameter: 
   m_TimeParameter: 
diff --git a/Assets/Scenes/Level_01.unity b/Assets/Scenes/Level_01.unity
index 63378eb2..88789c1a 100644
--- a/Assets/Scenes/Level_01.unity
+++ b/Assets/Scenes/Level_01.unity
@@ -11217,6 +11217,8 @@ MonoBehaviour:
   cheatMenu: {fileID: 2027594919}
   btn: {fileID: 1647225474}
   inputText: {fileID: 1460883478}
+  animPlayer: {fileID: 1714408641}
+  animSpeedControl: 1
 --- !u!1 &1647137916
 GameObject:
   m_ObjectHideFlags: 0
@@ -11813,6 +11815,11 @@ PrefabInstance:
       objectReference: {fileID: 4300000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
+--- !u!95 &1714408641 stripped
+Animator:
+  m_CorrespondingSourceObject: {fileID: 9500000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
+  m_PrefabInstance: {fileID: 1714408640}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &1764071968
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Level_02.unity b/Assets/Scenes/Level_02.unity
index d5e80d7d..a052564e 100644
--- a/Assets/Scenes/Level_02.unity
+++ b/Assets/Scenes/Level_02.unity
@@ -10990,6 +10990,8 @@ MonoBehaviour:
   cheatMenu: {fileID: 1875595199}
   btn: {fileID: 1831479369}
   inputText: {fileID: 1758932611}
+  animPlayer: {fileID: 1714408641}
+  animSpeedControl: 1
 --- !u!1 &1647137916
 GameObject:
   m_ObjectHideFlags: 0
@@ -11452,6 +11454,11 @@ PrefabInstance:
       objectReference: {fileID: 4300000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
+--- !u!95 &1714408641 stripped
+Animator:
+  m_CorrespondingSourceObject: {fileID: 9500000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
+  m_PrefabInstance: {fileID: 1714408640}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &1738247436
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Level_Final.unity b/Assets/Scenes/Level_Final.unity
index e3005a50..f3223512 100644
--- a/Assets/Scenes/Level_Final.unity
+++ b/Assets/Scenes/Level_Final.unity
@@ -8287,6 +8287,11 @@ MonoBehaviour:
   deathClip: {fileID: 8300000, guid: d36a393bca4582043982db9089e1694f, type: 3}
   flashSpeed: 5
   flashColour: {r: 1, g: 0, b: 0, a: 0.1}
+--- !u!95 &1186615828 stripped
+Animator:
+  m_CorrespondingSourceObject: {fileID: 9500000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
+  m_PrefabInstance: {fileID: 1714408640}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &1191536072
 GameObject:
   m_ObjectHideFlags: 0
@@ -9694,6 +9699,8 @@ MonoBehaviour:
   cheatMenu: {fileID: 1093198192}
   btn: {fileID: 1029574653}
   inputText: {fileID: 1146729427}
+  animPlayer: {fileID: 1186615828}
+  animSpeedControl: 1
 --- !u!1 &1678682907
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Menu/CheatMenu.cs b/Assets/Scripts/Menu/CheatMenu.cs
index 57f6050a..319c052b 100644
--- a/Assets/Scripts/Menu/CheatMenu.cs
+++ b/Assets/Scripts/Menu/CheatMenu.cs
@@ -16,10 +16,12 @@ public class CheatMenu : MonoBehaviour
     public static bool fullhppet = false;
     public static bool motherlode = false;
     public static bool killpet = false;
+
+    [SerializeField] Animator animPlayer;
+    [SerializeField, Range(0.01f, 2f)] float animSpeedControl = 1f;
     // Start is called before the first frame update
     void Start()
     {
-        btn.onClick.AddListener(GetInputOnClickHandler);
         cheatMenu.SetActive(false);
         isCheatOpened = false;
     }
@@ -50,6 +52,8 @@ public class CheatMenu : MonoBehaviour
             nodamage = !nodamage;
         } else if (cheatInput == "kecepatanusainbolt") {
             speed2x = !speed2x;
+            animSpeedControl = speed2x ? 2f : 1f;
+            animPlayer.SetFloat("animSpeed", animSpeedControl);
         } else if (cheatInput == "fullhppet") {
             fullhppet = !fullhppet;
         } else if (cheatInput == "motherlode") {
@@ -59,15 +63,6 @@ public class CheatMenu : MonoBehaviour
         }
     }
 
-    public void ResetCheat() {
-        nodamage = false;
-        hitkill = false;
-        speed2x = false;
-        fullhppet = false;
-        motherlode = false;
-        killpet = false;
-    }
-
     public void OpenCheatMenu() {
         cheatMenu.SetActive(true);
         Time.timeScale = 0f;
diff --git a/Assets/Scripts/Player/PlayerHealth.cs b/Assets/Scripts/Player/PlayerHealth.cs
index c74405ab..a924b3d8 100644
--- a/Assets/Scripts/Player/PlayerHealth.cs
+++ b/Assets/Scripts/Player/PlayerHealth.cs
@@ -55,8 +55,9 @@ public class PlayerHealth : MonoBehaviour
         damaged = true;
  
         //mengurangi health
-        currentHealth -= amount;
- 
+        if (!CheatMenu.nodamage) {
+            currentHealth -= amount;
+        }
         //Merubah tampilan dari health slider
         healthSlider.value = currentHealth;
  
diff --git a/Assets/Scripts/Player/PlayerShooting.cs b/Assets/Scripts/Player/PlayerShooting.cs
index d26d2e95..817e735a 100644
--- a/Assets/Scripts/Player/PlayerShooting.cs
+++ b/Assets/Scripts/Player/PlayerShooting.cs
@@ -3,11 +3,6 @@ using UnityEngine.UI;
  
 public class PlayerShooting : MonoBehaviour
 {
-    /*
-    public int damagePerShot = 30;
-    public float timeBetweenBullets = 0.15f;
-    public float range = 100f;
-    */
     public int gunMode = 1;
     public int damagePerShot = 30;
     public AudioClip[] gunAudioSrc = new AudioClip[4];
@@ -86,32 +81,27 @@ public class PlayerShooting : MonoBehaviour
     {
         switch (gunMode) {
             case 1:
-                damagePerShot = 30;
                 timeBetweenBullets = 0.15f;
-                
                 range = 100f;
                 break;
             case 2:
-                damagePerShot = 50;
                 timeBetweenBullets = 1f;
                 range = 10f;
                 break;
             case 3:
-                damagePerShot = 80;
                 timeBetweenBullets = 0.5f;
                 range = 2f;
                 break;
             case 4:
-                damagePerShot = 200;
                 timeBetweenBullets = 0.5f;
                 range = 0f;
                 break;
             default:
-                damagePerShot = 80;
                 timeBetweenBullets = 0.5f;
                 range = 2f;
                 break;
         }
+        UpdateDamagePerShot();
     }
 
     void UpdateBowRange() {
@@ -152,6 +142,28 @@ public class PlayerShooting : MonoBehaviour
         {
             DisableEffects ();
         }
+
+        UpdateDamagePerShot();
+    }
+
+    public void UpdateDamagePerShot() {
+        switch (gunMode) {
+            case 1:
+                damagePerShot = CheatMenu.hitkill ? 999999 : 30;
+                break;
+            case 2:
+                damagePerShot = CheatMenu.hitkill ? 999999 : 50;
+                break;
+            case 3:
+                damagePerShot = CheatMenu.hitkill ? 999999 : 80;
+                break;
+            case 4:
+                damagePerShot = CheatMenu.hitkill ? 999999 : 200;
+                break;
+            default:
+                damagePerShot = CheatMenu.hitkill ? 999999 : 30;
+                break;
+        }
     }
 
 
-- 
GitLab