diff --git a/Assets/Prefabs/Mobs/GenerallMob.prefab b/Assets/Prefabs/Mobs/GenerallMob.prefab
index 82cec88a8f7c72d5aa2191a9b48cf9f4b209b386..0947b149fbc76ca96610fb2068c928b385874fbf 100644
--- a/Assets/Prefabs/Mobs/GenerallMob.prefab
+++ b/Assets/Prefabs/Mobs/GenerallMob.prefab
@@ -1363,6 +1363,7 @@ MonoBehaviour:
   dpsDamage: 2
   kerocoPrefab: {fileID: 2325763269826187407, guid: e98c9a00b4e345048863563f7f852572, type: 3}
   throwerPrefab: {fileID: 2325763269826187407, guid: 623ad408d8aa1e14fab3a04a668252ff, type: 3}
+  hansenPrefab: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
   spawnArea: {fileID: 7277707005263899144}
   spawnCooldown: 14
   ChaseProperties:
diff --git a/Assets/Prefabs/Pets/Hansen.prefab b/Assets/Prefabs/Pets/Hansen.prefab
index 79c9ddec136d479fbde52834da7e398d9fcb5574..fcc4d7f39154d7f667371b2a98bf545d690a0dd1 100644
--- a/Assets/Prefabs/Pets/Hansen.prefab
+++ b/Assets/Prefabs/Pets/Hansen.prefab
@@ -557,6 +557,10 @@ PrefabInstance:
       propertyPath: m_IsActive
       value: 1
       objectReference: {fileID: 0}
+    - target: {fileID: 1434627103891488, guid: 52d340ed9c2714c4f8aabf1f82df1b58, type: 3}
+      propertyPath: m_TagString
+      value: Enemy
+      objectReference: {fileID: 0}
     - target: {fileID: 4368491947231596, guid: 52d340ed9c2714c4f8aabf1f82df1b58, type: 3}
       propertyPath: m_LocalPosition.x
       value: 94.54
@@ -634,6 +638,9 @@ PrefabInstance:
     - targetCorrespondingSourceObject: {fileID: 1434627103891488, guid: 52d340ed9c2714c4f8aabf1f82df1b58, type: 3}
       insertIndex: -1
       addedObject: {fileID: 191768514851741588}
+    - targetCorrespondingSourceObject: {fileID: 1434627103891488, guid: 52d340ed9c2714c4f8aabf1f82df1b58, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 4030753692326633428}
   m_SourcePrefab: {fileID: 100100000, guid: 52d340ed9c2714c4f8aabf1f82df1b58, type: 3}
 --- !u!4 &4112060795234176653 stripped
 Transform:
@@ -697,3 +704,26 @@ MonoBehaviour:
   target: {fileID: 0}
   speed: 5
   boostAmount: 0.2
+--- !u!136 &4030753692326633428
+CapsuleCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4114711531679115201}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Height: 1
+  m_Direction: 1
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/Assets/Scenes/Main 1.unity b/Assets/Scenes/Main 1.unity
index fb66b8aef1b6604c59598d336b388cb0a7d7076d..5715899b13ceb3aaaa7eaf9f656b5c5931b152c1 100644
--- a/Assets/Scenes/Main 1.unity	
+++ b/Assets/Scenes/Main 1.unity	
@@ -684,6 +684,8 @@ MonoBehaviour:
   weaponSwitching: {fileID: 1798128231}
   shop: {fileID: 1982473865}
   boss: {fileID: 286642978}
+  hansen: {fileID: 751208737}
+  hansen2: {fileID: 680231366}
   bossAnim: {fileID: 328399000}
   questStartMark: 00000000020000001000000010000000
   dialogueManager: {fileID: 1606154424}
@@ -1784,6 +1786,96 @@ MonoBehaviour:
   m_hasFontAssetChanged: 0
   m_baseMaterial: {fileID: 0}
   m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1001 &201770540
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 1175606920}
+    m_Modifications:
+    - target: {fileID: 191768514851741588, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: target
+      value: 
+      objectReference: {fileID: 1841674094}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 47.38
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 22.22
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: -90
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_Name
+      value: Hansen
+      objectReference: {fileID: 0}
+    - target: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_IsActive
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_TagString
+      value: Enemy
+      objectReference: {fileID: 0}
+    - target: {fileID: 5857959205333623046, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 5857959205333623046, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 9013331798879609954, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 9013331798879609954, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+--- !u!4 &201770541 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+  m_PrefabInstance: {fileID: 201770540}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &202422895
 GameObject:
   m_ObjectHideFlags: 0
@@ -7541,6 +7633,11 @@ MonoBehaviour:
   m_hasFontAssetChanged: 0
   m_baseMaterial: {fileID: 0}
   m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &680231366 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+  m_PrefabInstance: {fileID: 821152590}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &748939475
 GameObject:
   m_ObjectHideFlags: 0
@@ -7643,6 +7740,11 @@ MonoBehaviour:
           m_StringArgument: 
           m_BoolArgument: 0
         m_CallState: 2
+--- !u!1 &751208737 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+  m_PrefabInstance: {fileID: 201770540}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &754132476
 GameObject:
   m_ObjectHideFlags: 0
@@ -8275,6 +8377,96 @@ Transform:
   m_Children: []
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: -0.547, z: 0}
+--- !u!1001 &821152590
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 1175606920}
+    m_Modifications:
+    - target: {fileID: 191768514851741588, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: target
+      value: 
+      objectReference: {fileID: 1841674094}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 47.38
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 22.22
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 40
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: -90
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_Name
+      value: Hansen (1)
+      objectReference: {fileID: 0}
+    - target: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_IsActive
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4114711531679115201, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_TagString
+      value: Enemy
+      objectReference: {fileID: 0}
+    - target: {fileID: 5857959205333623046, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 5857959205333623046, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 9013331798879609954, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 9013331798879609954, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+--- !u!4 &821152591 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 4112060795234176653, guid: 759a19641eb808e47b0b7ebd00769739, type: 3}
+  m_PrefabInstance: {fileID: 821152590}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &829854773
 GameObject:
   m_ObjectHideFlags: 0
@@ -15040,6 +15232,8 @@ Transform:
   - {fileID: 1841674092}
   - {fileID: 1738628410}
   - {fileID: 1752539955}
+  - {fileID: 201770541}
+  - {fileID: 821152591}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1192642865
@@ -26633,7 +26827,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 2998286262155772704, guid: 5397d653643e3fc41b28092f72b8191b, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 24.84
+      value: 25
       objectReference: {fileID: 0}
     - target: {fileID: 2998286262155772704, guid: 5397d653643e3fc41b28092f72b8191b, type: 3}
       propertyPath: m_LocalRotation.w
@@ -27749,6 +27943,17 @@ Transform:
   m_CorrespondingSourceObject: {fileID: 2998286262155772704, guid: 5397d653643e3fc41b28092f72b8191b, type: 3}
   m_PrefabInstance: {fileID: 1841674091}
   m_PrefabAsset: {fileID: 0}
+--- !u!114 &1841674094 stripped
+MonoBehaviour:
+  m_CorrespondingSourceObject: {fileID: -6686281574365877710, guid: 5397d653643e3fc41b28092f72b8191b, type: 3}
+  m_PrefabInstance: {fileID: 1841674091}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 286642978}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 650cbee356c161842b1b59fe95c503b8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &1851030069
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Cutscene/InGameTimelineManager.cs b/Assets/Scripts/Cutscene/InGameTimelineManager.cs
index 3851333bb43fe939fc24f85fcc1d60f36e6bbf0e..35cfc3bea4e0c47aad315111a2ccc72457245a9d 100644
--- a/Assets/Scripts/Cutscene/InGameTimelineManager.cs
+++ b/Assets/Scripts/Cutscene/InGameTimelineManager.cs
@@ -20,6 +20,8 @@ public class InGameTimelineManager : TimelineManager
     [SerializeField] private WeaponSwitching weaponSwitching;
     [SerializeField] private Shop shop;
     [SerializeField] private GameObject boss;
+    [SerializeField] private GameObject hansen;
+    [SerializeField] private GameObject hansen2;
     [SerializeField] private Animator bossAnim;
     [SerializeField] private int[] questStartMark;
     [SerializeField] private DialogueManager dialogueManager;
@@ -129,6 +131,8 @@ public class InGameTimelineManager : TimelineManager
                 boss.GetComponent<Mob>().enabled = false;
                 boss.SetActive(true);
                 bossAnim.SetBool("Idle", true);
+
+                
                 break;
             case 18:
                 audioManager.PlayBGMCrossfade("Termini");
@@ -143,8 +147,12 @@ public class InGameTimelineManager : TimelineManager
                 player.transform.position = pos3;
 
                 boss.GetComponent<Mob>().enabled = true;
+                boss.SetActive(true);
                 bossAnim.SetBool("Idle", false);
 
+                hansen.SetActive(true);
+                hansen2.SetActive(true);
+
                 break;
             default:
                 break;
diff --git a/Assets/Scripts/Mobs/General/GeneralController.cs b/Assets/Scripts/Mobs/General/GeneralController.cs
index e4284adc1b41d7860c9450c6541a01a8634433ae..40a9a9d5c8c9b2030f972bdcd89a71d440e9f0cf 100644
--- a/Assets/Scripts/Mobs/General/GeneralController.cs
+++ b/Assets/Scripts/Mobs/General/GeneralController.cs
@@ -17,6 +17,7 @@ public class GeneralController : Mob
     [Header("Spawn Properties")]
     [SerializeField] private GameObject kerocoPrefab;
     [SerializeField] private GameObject throwerPrefab;
+    [SerializeField] private GameObject hansenPrefab;
     [SerializeField] private SphereRadius spawnArea;
     [SerializeField] private float spawnCooldown;
     private float spawnTimer;
@@ -45,8 +46,32 @@ public class GeneralController : Mob
         agent = GetComponent<NavMeshAgent>();
         playerMask = LayerMask.GetMask("Player");
         spawnTimer = spawnCooldown / 2;
+
+        if (hansenPrefab != null)
+        {
+            GameObject hansen = Instantiate(hansenPrefab, transform.position, Quaternion.identity); // Spawns Hansen at the General's position
+            Hansen hansenScript = hansen.GetComponent<Hansen>();
+            if (hansenScript != null)
+            {
+                // Properly get the MobEffectable component and pass it
+                MobEffectable effectableComponent = this.GetComponent<MobEffectable>();
+                if (effectableComponent != null)
+                {
+                    hansenScript.Initialize(effectableComponent);  // Pass the appropriate MobEffectable component
+                }
+                else
+                {
+                    Debug.LogError("MobEffectable component not found on GeneralController.");
+                }
+            }
+            else
+            {
+                Debug.LogError("Hansen script not found on the instantiated object.");
+            }
+        }
     }
 
+
     override protected void Start()
     {
         base.Start();
diff --git a/Assets/Scripts/Pets/Hansen Vendi Agus/Hansen.cs b/Assets/Scripts/Pets/Hansen Vendi Agus/Hansen.cs
index b30fde0586bf79bff22b9354e35750aee3f55174..a41378a4d517e5af7f4875bf11fb2110ef195e7e 100644
--- a/Assets/Scripts/Pets/Hansen Vendi Agus/Hansen.cs	
+++ b/Assets/Scripts/Pets/Hansen Vendi Agus/Hansen.cs	
@@ -10,22 +10,42 @@ public class Hansen : Pet
     [SerializeField] private float boostAmount = 0.2f;
     private Transform targetTransform;
 
-    protected override void Awake() {
+    protected override void Awake()
+    {
         agent = GetComponent<NavMeshAgent>();
         agent.speed = speed;
-        targetTransform = target.transform;
     }
 
-    protected override void Start() {
+    // Initialize method to set up Hansen with a specific target
+    public void Initialize(MobEffectable newTarget)
+    {
+        target = newTarget;
+        if (target != null)
+        {
+            targetTransform = target.transform;
+            target.AddEffect(new MobAttackBoost(boostAmount));  // Applying effect to the target
+        }
+    }
+
+    protected override void Start()
+    {
         base.Start();
-        target.AddEffect(new MobAttackBoost(boostAmount));
     }
 
-    private void Update() {
-        if (agent == null) {
+    private void Update()
+    {
+        if (agent == null)
+        {
             Destroy(gameObject);
-        } else {
+        }
+        else if (targetTransform != null)
+        {
             agent.SetDestination(targetTransform.position);
         }
     }
-}
\ No newline at end of file
+
+    public void Die()
+    {
+        Destroy(gameObject);
+    }
+}
diff --git a/Assets/Scripts/Pets/Pet.cs b/Assets/Scripts/Pets/Pet.cs
index e5837d1e634e2a4c5077887b96b843ea19141683..8602e53cb880b9033f3df45f54165264eba6ca8b 100644
--- a/Assets/Scripts/Pets/Pet.cs
+++ b/Assets/Scripts/Pets/Pet.cs
@@ -24,7 +24,18 @@ public abstract class Pet : Damageable
         ui.easeFillSlider.value = maxHealth;
     }
 
-    public override void TakeDamage(float damage)
+    protected override void Awake()
+    {
+        base.Awake();
+        Events.OnDeath.AddListener(Die);  // Subscribe to the OnDeath event
+    }
+
+    protected void OnDestroy()
+    {
+        Events.OnDeath.RemoveListener(Die);  // Clean up the listener to prevent memory leaks
+    }
+
+    public void TakeDamage(float damage)
     {
         base.TakeDamage(damage);
         ui.fillSlider.value = currentHealth;