From b86b7ca3d388fd86b5ddd1571b7f3571f9fb8fd7 Mon Sep 17 00:00:00 2001
From: RMA1403 <ravamaulana14@gmail.com>
Date: Sat, 11 May 2024 00:57:07 +0700
Subject: [PATCH] feat: finished quest 3

---
 .../Code/Scripts/Mobs/GeneralBehaviour.cs     |   7 +-
 .../Assets/Level/Scenes/Main 2.unity          |  68 +++++++++-
 .../Quest/FirstPart/FirstPartQuest.asset      |   2 +
 .../Quest/SecondPart/SecondPartQuest.asset    |   1 +
 .../Assets/Resources/Quest/ThirdPart.meta     |   8 ++
 .../Quest/ThirdPart/StartCutScene.meta        |   8 ++
 .../ThirdPart/StartCutScene/Start.prefab      |  47 +++++++
 .../ThirdPart/StartCutScene/Start.prefab.meta |   7 ++
 .../StartCutScene/StartCutScene.prefab        | 115 +++++++++++++++++
 .../StartCutScene/StartCutScene.prefab.meta   |   7 ++
 .../StartCutScene/StartThirdQuestStep.cs      |  12 ++
 .../StartCutScene/StartThirdQuestStep.cs.meta |  11 ++
 .../Resources/Quest/ThirdPart/StepOne.meta    |   8 ++
 .../Quest/ThirdPart/StepOne/StepOne.prefab    |  49 ++++++++
 .../ThirdPart/StepOne/StepOne.prefab.meta     |   7 ++
 .../ThirdPart/StepOne/StepOneCutScene.prefab  | 119 ++++++++++++++++++
 .../StepOne/StepOneCutScene.prefab.meta       |   7 ++
 .../ThirdPart/StepOne/ThirdStepOneScript.cs   |  72 +++++++++++
 .../StepOne/ThirdStepOneScript.cs.meta        |  11 ++
 .../Resources/Quest/ThirdPart/StepTwo.meta    |   8 ++
 .../Quest/ThirdPart/StepTwo/StepTwo.prefab    |  49 ++++++++
 .../ThirdPart/StepTwo/StepTwo.prefab.meta     |   7 ++
 .../ThirdPart/StepTwo/StepTwoCutScene.prefab  | 119 ++++++++++++++++++
 .../StepTwo/StepTwoCutScene.prefab.meta       |   7 ++
 .../ThirdPart/StepTwo/ThirdStepTwoScript.cs   |  85 +++++++++++++
 .../StepTwo/ThirdStepTwoScript.cs.meta        |  11 ++
 .../Quest/ThirdPart/ThirdPartQuest.asset      |  24 ++++
 .../Quest/ThirdPart/ThirdPartQuest.asset.meta |   8 ++
 28 files changed, 882 insertions(+), 2 deletions(-)
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs.meta
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset
 create mode 100644 IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset.meta

diff --git a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Mobs/GeneralBehaviour.cs b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Mobs/GeneralBehaviour.cs
index 808dee85..b6afb3e9 100644
--- a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Mobs/GeneralBehaviour.cs
+++ b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Mobs/GeneralBehaviour.cs
@@ -66,8 +66,13 @@ public class GeneralBehaviour : MonoBehaviour
         {
             isCrippleActive = false;
             crippleCooldownTimer = 0f;
-            for (int i = 0; i < hitCollidersArea.Length; i++)
+            for (int i = 0; i < hitCrippleArea.Length; i++)
             {
+                if (!hitCrippleArea[i].GetComponent<CombatBehavior>())
+                {
+                    continue;
+                }
+
                 hitCrippleArea[i].GetComponent<CombatBehavior>().TakeDamage(crippleDamage);
             }
         }
diff --git a/IF3210-2024-Unity-AFK/Assets/Level/Scenes/Main 2.unity b/IF3210-2024-Unity-AFK/Assets/Level/Scenes/Main 2.unity
index 70e2e025..1f3c3475 100644
--- a/IF3210-2024-Unity-AFK/Assets/Level/Scenes/Main 2.unity	
+++ b/IF3210-2024-Unity-AFK/Assets/Level/Scenes/Main 2.unity	
@@ -4755,6 +4755,71 @@ PrefabInstance:
     m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: ebd56a6d944d9a446986d0cb28d5338d, type: 3}
+--- !u!1001 &514367525
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 2842173668133271164, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: questInfoForPoint
+      value: 
+      objectReference: {fileID: 11400000, guid: 6527b3979efd2394eb71d63c82bf8585, type: 2}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 41.53
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 76.1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 281.57
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4686374226871248949, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5680052802426733874, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_Name
+      value: ThirdQuestPoint
+      objectReference: {fileID: 0}
+    - target: {fileID: 8681015309532129299, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
+      propertyPath: m_Radius
+      value: 10
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 7e4d896ed1f197e439bb48231f4bbc54, type: 3}
 --- !u!1001 &540632349
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -18510,7 +18575,7 @@ PrefabInstance:
       objectReference: {fileID: 4950877034845451913}
     - target: {fileID: 3777290212366644686, guid: aa6f29a441791614eb4b0f78ec563f40, type: 3}
       propertyPath: kerocoCountMax
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 3777290212366644686, guid: aa6f29a441791614eb4b0f78ec563f40, type: 3}
       propertyPath: EnemyGeneralRef
@@ -18814,6 +18879,7 @@ SceneRoots:
   - {fileID: 1856751779}
   - {fileID: 1874589717}
   - {fileID: 1757980132}
+  - {fileID: 514367525}
   - {fileID: 1963196827}
   - {fileID: 676286358}
   - {fileID: 1752152410}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/FirstPart/FirstPartQuest.asset b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/FirstPart/FirstPartQuest.asset
index e2f038aa..ff448436 100644
--- a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/FirstPart/FirstPartQuest.asset
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/FirstPart/FirstPartQuest.asset
@@ -17,5 +17,7 @@ MonoBehaviour:
   questPrereq: []
   questSteps:
   - {fileID: 3109361365139701332, guid: a02f625a2336b2f46bf2e7d22b55b7aa, type: 3}
+  - {fileID: 2059339404615624799, guid: b2394b63df3c0d94791c0c777c1d7ac4, type: 3}
+  - {fileID: 7388949460918184852, guid: cb256c09fe674564f9fcc7f9ad09c9a4, type: 3}
   reward: 200
   startCutScene: {fileID: 6495384598351137644, guid: b6925bc607ad6d048abbd233d30db451, type: 3}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/SecondPart/SecondPartQuest.asset b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/SecondPart/SecondPartQuest.asset
index 44097012..287ae4ac 100644
--- a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/SecondPart/SecondPartQuest.asset
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/SecondPart/SecondPartQuest.asset
@@ -19,5 +19,6 @@ MonoBehaviour:
   questSteps:
   - {fileID: 2190299236600376276, guid: d46e6cf568afe9a489b4956888b44680, type: 3}
   - {fileID: 1940443205054926610, guid: 04c1665d17db44c45981ca470731b060, type: 3}
+  - {fileID: 4409694400009113235, guid: 6397dfdb8fb00074fbb06ca46c01c064, type: 3}
   reward: 200
   startCutScene: {fileID: 6495384598351137644, guid: 7ed84912ace90cb43b7b72e643b1f18b, type: 3}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart.meta
new file mode 100644
index 00000000..f014ceb1
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7894175b4fc9227418c3d1685fb05501
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene.meta
new file mode 100644
index 00000000..239b8337
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f00071c7dfd641489dd29c6480a0863
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab
new file mode 100644
index 00000000..634f2bb3
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab
@@ -0,0 +1,47 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7049229370314528892
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3106496847277703631}
+  - component: {fileID: 53012375230343964}
+  m_Layer: 0
+  m_Name: Start
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3106496847277703631
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7049229370314528892}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &53012375230343964
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7049229370314528892}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ac8b10e4e9c46384f91957c73009bf4b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  finishCutScene: {fileID: 6495384598351137644, guid: a26963b2d4a524c43ac512cc54be4663, type: 3}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab.meta
new file mode 100644
index 00000000..643ff6c9
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/Start.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4182b65f595954540b54f86ae4df11a7
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab
new file mode 100644
index 00000000..6dafb728
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab
@@ -0,0 +1,115 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &6499768542513180538
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 6734429439583254, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Name
+      value: StartCutScene
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.size
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[0]
+      value: "Haneffar: There it is\u2026 I need to take a look around\u2026"
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[1]
+      value: 'Haneffar: *Saw a lot of people at the camp*'
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[2]
+      value: "Haneffar: There is so many of them, I need to take them out\u2026"
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 8137313a78c676347b871b908814e608, type: 3}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab.meta
new file mode 100644
index 00000000..f57ae6e1
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartCutScene.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a26963b2d4a524c43ac512cc54be4663
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs
new file mode 100644
index 00000000..b3cc1bc4
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs
@@ -0,0 +1,12 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class StartThirdQuestStep : QuestStep
+{
+    override public void InitializeQuestStep(string questId)
+    {
+        base.InitializeQuestStep(questId);
+        FinishQuestStep();
+    }
+}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs.meta
new file mode 100644
index 00000000..f8ec9fbe
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StartCutScene/StartThirdQuestStep.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ac8b10e4e9c46384f91957c73009bf4b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne.meta
new file mode 100644
index 00000000..5687fafc
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6826400196c34ee46b1c839ed822da1d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab
new file mode 100644
index 00000000..d8f8ed91
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab
@@ -0,0 +1,49 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &851398358463362485
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 443847650615665061}
+  - component: {fileID: 7566947790418166805}
+  m_Layer: 0
+  m_Name: StepOne
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &443847650615665061
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 851398358463362485}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &7566947790418166805
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 851398358463362485}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1a35c834467967f47a084d3d67975e89, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  finishCutScene: {fileID: 6495384598351137644, guid: 2e7aa425c52ba0e4c8c8657182dcf806, type: 3}
+  killReward: 10
+  timerDuration: 20
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab.meta
new file mode 100644
index 00000000..ddd81343
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOne.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 110cf3434a8edde4db5378d5ac7bcd29
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab
new file mode 100644
index 00000000..40c4ce8d
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab
@@ -0,0 +1,119 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &6499768542513180538
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 6734429439583254, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Name
+      value: StepOneCutScene
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.size
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[0]
+      value: '?: UGHHHH, WHAT IS ALL THE FUSS ABOUT?!'
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[1]
+      value: "Haneffar: Uh oh\u2026"
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[2]
+      value: 'Bandit General: YOU!!'
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[3]
+      value: 'Haneffar: BRING IT ON!!'
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 8137313a78c676347b871b908814e608, type: 3}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab.meta
new file mode 100644
index 00000000..f2f4b10a
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/StepOneCutScene.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2e7aa425c52ba0e4c8c8657182dcf806
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs
new file mode 100644
index 00000000..20e87eef
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs
@@ -0,0 +1,72 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ThirdStepOneScript : QuestStep
+{
+    public int killReward = 20;
+    public int timerDuration = 20;
+    private GameObject player;
+    private EnemyController enemyController;
+    private bool isFinished = false;
+
+    private void OnEnable()
+    {
+        player = GameObject.FindGameObjectWithTag("Player");
+        enemyController = GameObject.Find("Controller").GetComponent<EnemyController>();
+    }
+
+    override public void InitializeQuestStep(string questId)
+    {
+        base.InitializeQuestStep(questId);
+        GameManager.OnEnemyKilled += EnemyKilled;
+
+        enemyController.kepalaKerocoMax = 1;
+        enemyController.kerocoCountMax = 10;
+
+        StartCoroutine(Timer());
+    }
+
+    override protected void FinishQuestStep()
+    {
+        base.FinishQuestStep();
+        GameManager.OnEnemyKilled -= EnemyKilled;
+    }
+
+    private void EnemyKilled(string tag)
+    {
+        if (tag == "Enemy" && enemyController.kerocoCountMax > 0)
+        {
+            enemyController.kerocoCountMax--;
+        }
+
+        if (tag == "KepalaKeroco" && enemyController.kepalaKerocoMax > 0)
+        {
+            enemyController.kepalaKerocoMax--;
+        }
+
+        FPSController playerController = player.GetComponent<FPSController>();
+        playerController.money += killReward;
+
+        int kepalaKerocoCount = GameObject.FindGameObjectsWithTag("KepalaKeroco").Length;
+        int kerocoCount = GameObject.FindGameObjectsWithTag("Enemy").Length;
+
+        // 1 because ada gameobject which untuk reference controller
+        if (kepalaKerocoCount <= 1 && kerocoCount <= 1)
+        {
+            isFinished = true;
+            FinishQuestStep();
+        }
+    }
+
+    private IEnumerator Timer()
+    {
+        yield return new WaitForSeconds(timerDuration);
+
+        if (!isFinished)
+        {
+            isFinished = true;
+            FinishQuestStep();
+        }
+    }
+}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs.meta
new file mode 100644
index 00000000..d9b20e1a
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepOne/ThirdStepOneScript.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1a35c834467967f47a084d3d67975e89
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo.meta
new file mode 100644
index 00000000..97ab9546
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0e2ceaa08859db14f95490160bdbcfcf
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab
new file mode 100644
index 00000000..55ba6c13
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab
@@ -0,0 +1,49 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2358154313255904229
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6281638004602635442}
+  - component: {fileID: -3571532516968491922}
+  m_Layer: 0
+  m_Name: StepTwo
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6281638004602635442
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2358154313255904229}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &-3571532516968491922
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2358154313255904229}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e349a167bf3ce8d4db089e8d0441a0d9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  finishCutScene: {fileID: 6495384598351137644, guid: 10f30b476ab753a4395f2b9b9453d3ea, type: 3}
+  killReward: 10
+  timerDuration: 100
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab.meta
new file mode 100644
index 00000000..0a8aecf4
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwo.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 84b26a40b00f91f48bd50806b593b064
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab
new file mode 100644
index 00000000..76bcdbb0
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab
@@ -0,0 +1,119 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &6499768542513180538
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 6734429439583254, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Name
+      value: StepTwoCutScene
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.size
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[0]
+      value: "Haneffar: Finally\u2026 you\u2019re pretty tough big man\u2026"
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[1]
+      value: "Haneffar: I need to find who ordered this hit\u2026"
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[2]
+      value: 'Haneffar: *found a map and it shows the location of the main base*'
+      objectReference: {fileID: 0}
+    - target: {fileID: 753608043676559249, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: dialogues.Array.data[3]
+      value: "Haneffar: There you are\u2026 tonight you\u2019ll meet your end\u2026"
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352176183680375524, guid: 8137313a78c676347b871b908814e608, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 8137313a78c676347b871b908814e608, type: 3}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab.meta
new file mode 100644
index 00000000..6e25383e
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/StepTwoCutScene.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 10f30b476ab753a4395f2b9b9453d3ea
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs
new file mode 100644
index 00000000..cb37328c
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs
@@ -0,0 +1,85 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ThirdStepTwoScript : QuestStep
+{
+    public int killReward = 20;
+    public int timerDuration = 20;
+    private GameObject player;
+    private EnemyController enemyController;
+    private bool isFinished = false;
+
+    private void OnEnable()
+    {
+        player = GameObject.FindGameObjectWithTag("Player");
+        enemyController = GameObject.Find("Controller").GetComponent<EnemyController>();
+    }
+
+    override public void InitializeQuestStep(string questId)
+    {
+        base.InitializeQuestStep(questId);
+        GameManager.OnEnemyKilled += EnemyKilled;
+
+        enemyController.kepalaKerocoMax = 3;
+        enemyController.generalCountMax = 1;
+
+        StartCoroutine(Timer());
+    }
+
+    override protected void FinishQuestStep()
+    {
+        enemyController.GetComponent<EnemyController>().KillAllKeroco();
+
+        base.FinishQuestStep();
+        GameManager.OnEnemyKilled -= EnemyKilled;
+    }
+
+    private void EnemyKilled(string tag)
+    {
+        if (tag == "Enemy" && enemyController.kerocoCountMax > 0)
+        {
+            enemyController.kerocoCountMax--;
+        }
+
+        if (tag == "KepalaKeroco" && enemyController.kepalaKerocoMax > 0)
+        {
+            enemyController.kepalaKerocoMax--;
+        }
+
+        if (tag == "General" && enemyController.generalCountMax > 0)
+        {
+            enemyController.generalCountMax--;
+        }
+
+        FPSController playerController = player.GetComponent<FPSController>();
+        playerController.money += killReward;
+
+        int generalCount = GameObject.FindGameObjectsWithTag("General").Length;
+        int kepalaKerocoCount = GameObject.FindGameObjectsWithTag("KepalaKeroco").Length;
+        int kerocoCount = GameObject.FindGameObjectsWithTag("Enemy").Length;
+
+        // 1 because ada gameobject which untuk reference controller
+        if (kepalaKerocoCount <= 1 && kerocoCount <= 1 && generalCount <= 1)
+        {
+            isFinished = true;
+            FinishQuestStep();
+        }
+    }
+
+    private IEnumerator Timer()
+    {
+        yield return new WaitForSeconds(timerDuration);
+        if (!isFinished)
+        {
+            CombatBehavior combatBehavior = player.GetComponent<CombatBehavior>();
+            int maxHealth = combatBehavior.maxHealth;
+            combatBehavior.TakeDamage(maxHealth);
+        }
+        else
+        {
+            isFinished = true;
+            FinishQuestStep();
+        }
+    }
+}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs.meta
new file mode 100644
index 00000000..912371cc
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/StepTwo/ThirdStepTwoScript.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e349a167bf3ce8d4db089e8d0441a0d9
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset
new file mode 100644
index 00000000..c8c6295f
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ccf70103ae5540742891c039e66415a2, type: 3}
+  m_Name: ThirdPartQuest
+  m_EditorClassIdentifier: 
+  <id>k__BackingField: ThirdPartQuest
+  displayName: Third Part
+  questPrereq:
+  - {fileID: 11400000, guid: 170b8be828def4843ba3194453ee011e, type: 2}
+  questSteps:
+  - {fileID: 7049229370314528892, guid: 4182b65f595954540b54f86ae4df11a7, type: 3}
+  - {fileID: 851398358463362485, guid: 110cf3434a8edde4db5378d5ac7bcd29, type: 3}
+  - {fileID: 2358154313255904229, guid: 84b26a40b00f91f48bd50806b593b064, type: 3}
+  reward: 200
+  startCutScene: {fileID: 6495384598351137644, guid: 7ed84912ace90cb43b7b72e643b1f18b, type: 3}
diff --git a/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset.meta b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset.meta
new file mode 100644
index 00000000..da9741c6
--- /dev/null
+++ b/IF3210-2024-Unity-AFK/Assets/Resources/Quest/ThirdPart/ThirdPartQuest.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6527b3979efd2394eb71d63c82bf8585
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
-- 
GitLab