From 1a1e7f33e9aaa816ba75c755f2b6a2204916792d Mon Sep 17 00:00:00 2001
From: satrianababan <13521168@std.stei.itb.ac.id>
Date: Fri, 10 May 2024 22:14:43 +0700
Subject: [PATCH] feat : fix pet movement, pet skills

---
 Assets/DragonFollowPlayer.cs            |  21 ++
 Assets/DragonFollowPlayer.cs.meta       |  11 +
 Assets/Scenes/Level01.unity             |  62 ++++-
 Assets/Scenes/Level02.unity             | 310 +++++++++++++++---------
 Assets/Scenes/Level03.unity             | 260 +++++++++++---------
 Assets/Scenes/Level04.unity             | 255 ++++++++++++++++++-
 Assets/Scripts/Pet/PetDragonMovement.cs | 117 +++++++--
 Assets/Scripts/Pet/PetWizardHeal.cs     |  20 +-
 Assets/WizardAuraFollowBoss.cs          |  21 ++
 Assets/WizardAuraFollowBoss.cs.meta     |  11 +
 10 files changed, 804 insertions(+), 284 deletions(-)
 create mode 100644 Assets/DragonFollowPlayer.cs
 create mode 100644 Assets/DragonFollowPlayer.cs.meta
 create mode 100644 Assets/WizardAuraFollowBoss.cs
 create mode 100644 Assets/WizardAuraFollowBoss.cs.meta

diff --git a/Assets/DragonFollowPlayer.cs b/Assets/DragonFollowPlayer.cs
new file mode 100644
index 0000000..6c7175d
--- /dev/null
+++ b/Assets/DragonFollowPlayer.cs
@@ -0,0 +1,21 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.AI;
+
+public class DragonFollowPlayer : MonoBehaviour
+{
+    public Transform target;
+    NavMeshAgent nav;
+    // Start is called before the first frame update
+    void Start()
+    {
+        nav = GetComponent<NavMeshAgent>();
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        nav.SetDestination(target.position);
+    }
+}
diff --git a/Assets/DragonFollowPlayer.cs.meta b/Assets/DragonFollowPlayer.cs.meta
new file mode 100644
index 0000000..9fb443d
--- /dev/null
+++ b/Assets/DragonFollowPlayer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d42e8a88bd6bc1a40ba59b4701de82f7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/Level01.unity b/Assets/Scenes/Level01.unity
index d3d26b0..2d69ad8 100644
--- a/Assets/Scenes/Level01.unity
+++ b/Assets/Scenes/Level01.unity
@@ -3373,7 +3373,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -3637228}
+  m_AnchoredPosition: {x: 0, y: -3769904}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
 --- !u!114 &435589487
@@ -3476,7 +3476,16 @@ PrefabInstance:
     m_RemovedComponents: []
     m_RemovedGameObjects: []
     m_AddedGameObjects: []
-    m_AddedComponents: []
+    m_AddedComponents:
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 506902354}
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 506902353}
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 506902352}
   m_SourcePrefab: {fileID: 100100000, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
 --- !u!1 &456337178
 GameObject:
@@ -4028,6 +4037,53 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 506376952}
   m_CullTransparentMesh: 1
+--- !u!1 &506902344 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+  m_PrefabInstance: {fileID: 449742293}
+  m_PrefabAsset: {fileID: 0}
+--- !u!114 &506902352
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 506902344}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d42e8a88bd6bc1a40ba59b4701de82f7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  target: {fileID: 983415138}
+--- !u!114 &506902353
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 506902344}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fc59709211b6a7647a3e4d32a89a0844, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  projectile: {fileID: 0}
+  chaseRadius: 5
+--- !u!114 &506902354
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 506902344}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d123db8bad4f0004e92ce093196c8b23, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Damageables: []
+  closestDamageable: {fileID: 0}
+  player: {fileID: 0}
 --- !u!1 &521434603
 GameObject:
   m_ObjectHideFlags: 0
@@ -15272,7 +15328,7 @@ MonoBehaviour:
   starText: {fileID: 374433001}
   completedText: {fileID: 2023060740}
   timeTextParent: {fileID: 1683328810}
-  nextButtonPanel: {fileID: 706766587}
+  nextButtonPanel: {fileID: 0}
 --- !u!1 &1972235736
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Level02.unity b/Assets/Scenes/Level02.unity
index c98ff66..b2b716f 100644
--- a/Assets/Scenes/Level02.unity
+++ b/Assets/Scenes/Level02.unity
@@ -1622,6 +1622,53 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 184887909}
   m_CullTransparentMesh: 1
+--- !u!1 &187264301 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+  m_PrefabInstance: {fileID: 1761828029}
+  m_PrefabAsset: {fileID: 0}
+--- !u!114 &187264302
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 187264301}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d42e8a88bd6bc1a40ba59b4701de82f7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  target: {fileID: 983415138}
+--- !u!114 &187264303
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 187264301}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d123db8bad4f0004e92ce093196c8b23, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Damageables: []
+  closestDamageable: {fileID: 0}
+  player: {fileID: 0}
+--- !u!114 &187264304
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 187264301}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fc59709211b6a7647a3e4d32a89a0844, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  projectile: {fileID: 0}
+  chaseRadius: 5
 --- !u!1 &198688427
 GameObject:
   m_ObjectHideFlags: 0
@@ -3507,7 +3554,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -1787308}
+  m_AnchoredPosition: {x: 0, y: -1822076}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
 --- !u!114 &435589487
@@ -8160,6 +8207,135 @@ Transform:
   m_CorrespondingSourceObject: {fileID: 4152487034167244, guid: 1df3c9e3c99fce14cb9c1f900f8859cc, type: 3}
   m_PrefabInstance: {fileID: 377498641}
   m_PrefabAsset: {fileID: 0}
+--- !u!1001 &957765978
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_Name
+      value: HealingWizard
+      objectReference: {fileID: 0}
+    m_RemovedComponents:
+    - {fileID: 6565987977077161826, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    - {fileID: 6565987977077161836, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    - {fileID: 6565987977077161839, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    - {fileID: 6565987977077161838, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents:
+    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 957765982}
+    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 957765981}
+    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 957765980}
+  m_SourcePrefab: {fileID: 100100000, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+--- !u!1 &957765979 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+  m_PrefabInstance: {fileID: 957765978}
+  m_PrefabAsset: {fileID: 0}
+--- !u!114 &957765980
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 957765979}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c8396816ceb3e6547ae71c2293162039, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  startingHealth: 100
+  currentHealth: 0
+  deathClip: {fileID: 0}
+  flashSpeed: 5
+  flashColour: {r: 1, g: 0, b: 0, a: 0.1}
+  sinkSpeed: 2.5
+  startingHealth: 100
+  currentHealth: 0
+  deathClip: {fileID: 0}
+  flashSpeed: 5
+  flashColour: {r: 1, g: 0, b: 0, a: 0.1}
+  sinkSpeed: 2.5
+--- !u!114 &957765981
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 957765979}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8919b27e153cc6e408932cca7b79e7e3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  player: {fileID: 0}
+  timeBetweenHeal: 2
+  healAmount: 10
+--- !u!114 &957765982
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 957765979}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3b778cfa4099b7d42b5e015ee4c225f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  target: {fileID: 0}
+  player: {fileID: 0}
+  speed: 6
 --- !u!1 &960047555
 GameObject:
   m_ObjectHideFlags: 0
@@ -9528,10 +9704,10 @@ RectTransform:
   m_Children: []
   m_Father: {fileID: 435589486}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 20, y: -25}
+  m_SizeDelta: {x: 0, y: 30}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1127408210
 MonoBehaviour:
@@ -11952,117 +12128,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1512961169}
   m_CullTransparentMesh: 1
---- !u!1001 &1523135702
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    serializedVersion: 3
-    m_TransformParent: {fileID: 0}
-    m_Modifications:
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 3
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_Name
-      value: HealingWizard
-      objectReference: {fileID: 0}
-    - target: {fileID: 6565987977077161824, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_Speed
-      value: 10
-      objectReference: {fileID: 0}
-    - target: {fileID: 6565987977077161824, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_StoppingDistance
-      value: 1
-      objectReference: {fileID: 0}
-    m_RemovedComponents:
-    - {fileID: 6565987977077161826, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    - {fileID: 6565987977077161836, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    - {fileID: 6565987977077161839, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    - {fileID: 6565987977077161838, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    m_RemovedGameObjects:
-    - {fileID: 3876139547675789168, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    m_AddedGameObjects: []
-    m_AddedComponents:
-    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      insertIndex: -1
-      addedObject: {fileID: 1523135705}
-    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      insertIndex: -1
-      addedObject: {fileID: 1523135704}
-  m_SourcePrefab: {fileID: 100100000, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
---- !u!1 &1523135703 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-  m_PrefabInstance: {fileID: 1523135702}
-  m_PrefabAsset: {fileID: 0}
---- !u!114 &1523135704
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1523135703}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 8919b27e153cc6e408932cca7b79e7e3, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  player: {fileID: 0}
-  timeBetweenHeal: 10
-  healAmount: 10
---- !u!114 &1523135705
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1523135703}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 3b778cfa4099b7d42b5e015ee4c225f2, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  target: {fileID: 0}
-  player: {fileID: 0}
-  speed: 6
 --- !u!1 &1529723108
 GameObject:
   m_ObjectHideFlags: 0
@@ -14530,7 +14595,16 @@ PrefabInstance:
     m_RemovedComponents: []
     m_RemovedGameObjects: []
     m_AddedGameObjects: []
-    m_AddedComponents: []
+    m_AddedComponents:
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 187264304}
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 187264303}
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 187264302}
   m_SourcePrefab: {fileID: 100100000, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
 --- !u!1 &1762411323
 GameObject:
@@ -16943,5 +17017,5 @@ SceneRoots:
   - {fileID: 706766591}
   - {fileID: 307935225}
   - {fileID: 840882477}
-  - {fileID: 1523135702}
   - {fileID: 1761828029}
+  - {fileID: 957765978}
diff --git a/Assets/Scenes/Level03.unity b/Assets/Scenes/Level03.unity
index 6b64383..3d8f913 100644
--- a/Assets/Scenes/Level03.unity
+++ b/Assets/Scenes/Level03.unity
@@ -3583,7 +3583,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -1865372}
+  m_AnchoredPosition: {x: 0, y: -2053972}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
 --- !u!114 &435589487
@@ -9064,6 +9064,65 @@ MonoBehaviour:
   m_DefaultSpriteDPI: 96
   m_DynamicPixelsPerUnit: 1
   m_PresetInfoIsWorld: 0
+--- !u!1 &1046838168 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+  m_PrefabInstance: {fileID: 1568612885}
+  m_PrefabAsset: {fileID: 0}
+--- !u!114 &1046838169
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1046838168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c8396816ceb3e6547ae71c2293162039, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  startingHealth: 100
+  currentHealth: 0
+  deathClip: {fileID: 0}
+  flashSpeed: 5
+  flashColour: {r: 1, g: 0, b: 0, a: 0.1}
+  sinkSpeed: 2.5
+  startingHealth: 100
+  currentHealth: 0
+  deathClip: {fileID: 0}
+  flashSpeed: 5
+  flashColour: {r: 1, g: 0, b: 0, a: 0.1}
+  sinkSpeed: 2.5
+--- !u!114 &1046838170
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1046838168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8919b27e153cc6e408932cca7b79e7e3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  player: {fileID: 0}
+  timeBetweenHeal: 2
+  healAmount: 10
+--- !u!114 &1046838171
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1046838168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3b778cfa4099b7d42b5e015ee4c225f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  target: {fileID: 0}
+  player: {fileID: 0}
+  speed: 6
 --- !u!1 &1062849428
 GameObject:
   m_ObjectHideFlags: 0
@@ -10707,6 +10766,9 @@ PrefabInstance:
     - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
       insertIndex: -1
       addedObject: {fileID: 1268714446}
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1268714448}
   m_SourcePrefab: {fileID: 100100000, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
 --- !u!1 &1268714445 stripped
 GameObject:
@@ -10743,6 +10805,19 @@ MonoBehaviour:
   target: {fileID: 0}
   player: {fileID: 0}
   speed: 6
+--- !u!114 &1268714448
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1268714445}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d42e8a88bd6bc1a40ba59b4701de82f7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  target: {fileID: 983415138}
 --- !u!1 &1273166028
 GameObject:
   m_ObjectHideFlags: 0
@@ -12524,6 +12599,76 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1557367703}
   m_Mesh: {fileID: 4300000, guid: a6ec141e423c0ef46a377ffd284c2e2a, type: 3}
+--- !u!1001 &1568612885
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      propertyPath: m_Name
+      value: HealingWizard
+      objectReference: {fileID: 0}
+    m_RemovedComponents:
+    - {fileID: 6565987977077161826, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    - {fileID: 6565987977077161836, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    - {fileID: 6565987977077161839, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    - {fileID: 6565987977077161838, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents:
+    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1046838171}
+    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1046838170}
+    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1046838169}
+  m_SourcePrefab: {fileID: 100100000, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
 --- !u!1 &1570447205
 GameObject:
   m_ObjectHideFlags: 0
@@ -15115,117 +15260,6 @@ BoxCollider:
   serializedVersion: 3
   m_Size: {x: 0.47538227, y: 1.7488923, z: 0.45545995}
   m_Center: {x: 0.6942558, y: 0.0026117912, z: -0.0072852913}
---- !u!1001 &1858955576
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    serializedVersion: 3
-    m_TransformParent: {fileID: 0}
-    m_Modifications:
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 3
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_Name
-      value: HealingWizard
-      objectReference: {fileID: 0}
-    - target: {fileID: 6565987977077161824, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_Speed
-      value: 10
-      objectReference: {fileID: 0}
-    - target: {fileID: 6565987977077161824, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      propertyPath: m_StoppingDistance
-      value: 1
-      objectReference: {fileID: 0}
-    m_RemovedComponents:
-    - {fileID: 6565987977077161826, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    - {fileID: 6565987977077161836, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    - {fileID: 6565987977077161839, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    - {fileID: 6565987977077161838, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    m_RemovedGameObjects:
-    - {fileID: 3876139547675789168, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    m_AddedGameObjects: []
-    m_AddedComponents:
-    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      insertIndex: -1
-      addedObject: {fileID: 1858955579}
-    - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-      insertIndex: -1
-      addedObject: {fileID: 1858955578}
-  m_SourcePrefab: {fileID: 100100000, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
---- !u!1 &1858955577 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-  m_PrefabInstance: {fileID: 1858955576}
-  m_PrefabAsset: {fileID: 0}
---- !u!114 &1858955578
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1858955577}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 8919b27e153cc6e408932cca7b79e7e3, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  player: {fileID: 0}
-  timeBetweenHeal: 10
-  healAmount: 10
---- !u!114 &1858955579
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1858955577}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 3b778cfa4099b7d42b5e015ee4c225f2, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  target: {fileID: 0}
-  player: {fileID: 0}
-  speed: 6
 --- !u!1 &1862892887
 GameObject:
   m_ObjectHideFlags: 0
@@ -17227,4 +17261,4 @@ SceneRoots:
   - {fileID: 307935225}
   - {fileID: 840882477}
   - {fileID: 1268714444}
-  - {fileID: 1858955576}
+  - {fileID: 1568612885}
diff --git a/Assets/Scenes/Level04.unity b/Assets/Scenes/Level04.unity
index 64bbf54..81867bc 100644
--- a/Assets/Scenes/Level04.unity
+++ b/Assets/Scenes/Level04.unity
@@ -176,6 +176,68 @@ BoxCollider:
   serializedVersion: 3
   m_Size: {x: 50, y: 3, z: 1}
   m_Center: {x: 0, y: -13.5, z: 0}
+--- !u!1001 &9208974
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 1560023147}
+    m_Modifications:
+    - target: {fileID: 7986504087968017091, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_Name
+      value: Healing circle
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+--- !u!4 &9208975 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 8037160467862551414, guid: 12a56ee4630040c4eb17ae9707ed4cef, type: 3}
+  m_PrefabInstance: {fileID: 9208974}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &16078002
 GameObject:
   m_ObjectHideFlags: 0
@@ -3502,7 +3564,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -3888476}
+  m_AnchoredPosition: {x: 0, y: -4037552}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
 --- !u!114 &435589487
@@ -5105,6 +5167,68 @@ BoxCollider:
   serializedVersion: 3
   m_Size: {x: 0.86312497, y: 2.6614559, z: 5.6904745}
   m_Center: {x: -1.353471, y: 1.1527214, z: -0.0008883532}
+--- !u!1001 &626137768
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 1392831822}
+    m_Modifications:
+    - target: {fileID: 4932088507883938021, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_Name
+      value: Freeze circle
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+--- !u!4 &626137769 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
+  m_PrefabInstance: {fileID: 626137768}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &636207312
 GameObject:
   m_ObjectHideFlags: 0
@@ -5334,7 +5458,10 @@ PrefabInstance:
     - {fileID: 6565987977077161838, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
     m_RemovedGameObjects:
     - {fileID: 3876139547675789168, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
-    m_AddedGameObjects: []
+    m_AddedGameObjects:
+    - targetCorrespondingSourceObject: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 9208975}
     m_AddedComponents:
     - targetCorrespondingSourceObject: {fileID: 6564527777199245118, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
       insertIndex: -1
@@ -9282,10 +9409,10 @@ RectTransform:
   m_Children: []
   m_Father: {fileID: 435589486}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 20, y: -25}
+  m_SizeDelta: {x: 0, y: 30}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1127408210
 MonoBehaviour:
@@ -9865,6 +9992,53 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1187042890}
   m_CullTransparentMesh: 1
+--- !u!1 &1190891702 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+  m_PrefabInstance: {fileID: 1681781994}
+  m_PrefabAsset: {fileID: 0}
+--- !u!114 &1190891710
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1190891702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d42e8a88bd6bc1a40ba59b4701de82f7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  target: {fileID: 983415138}
+--- !u!114 &1190891711
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1190891702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fc59709211b6a7647a3e4d32a89a0844, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  projectile: {fileID: 0}
+  chaseRadius: 5
+--- !u!114 &1190891712
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1190891702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d123db8bad4f0004e92ce093196c8b23, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Damageables: []
+  closestDamageable: {fileID: 0}
+  player: {fileID: 0}
 --- !u!1 &1212966710
 GameObject:
   m_ObjectHideFlags: 0
@@ -10931,7 +11105,12 @@ GameObject:
   m_CorrespondingSourceObject: {fileID: 8634337098157262005, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
   m_PrefabInstance: {fileID: 2144992214}
   m_PrefabAsset: {fileID: 0}
---- !u!114 &1392831815
+--- !u!4 &1392831822 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 8635907162178100909, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
+  m_PrefabInstance: {fileID: 2144992214}
+  m_PrefabAsset: {fileID: 0}
+--- !u!114 &1392831823
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -10940,12 +11119,39 @@ MonoBehaviour:
   m_GameObject: {fileID: 1392831814}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 3b778cfa4099b7d42b5e015ee4c225f2, type: 3}
+  m_Script: {fileID: 11500000, guid: 3d6c3acf6ae54374fa16847fbc181296, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  target: {fileID: 744905643}
-  player: {fileID: 0}
+  target: {fileID: 0}
+  ZomBoss: {fileID: 0}
   speed: 6
+--- !u!114 &1392831824
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1392831814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d70451fed4b351c44a31bbe093148694, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  player: {fileID: 0}
+  buffMultiplier: 1.2
+--- !u!114 &1392831825
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1392831814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c7b48ed2376e87e42a1cb28a3c62d7d4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  target: {fileID: 744905643}
 --- !u!1 &1393078305
 GameObject:
   m_ObjectHideFlags: 0
@@ -12128,6 +12334,11 @@ MonoBehaviour:
   target: {fileID: 0}
   player: {fileID: 0}
   speed: 6
+--- !u!4 &1560023147 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 6562163028296039410, guid: 104302b61f98b9d4aa8d05d2399da197, type: 3}
+  m_PrefabInstance: {fileID: 645057249}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &1570447205
 GameObject:
   m_ObjectHideFlags: 0
@@ -12969,7 +13180,16 @@ PrefabInstance:
     m_RemovedComponents: []
     m_RemovedGameObjects: []
     m_AddedGameObjects: []
-    m_AddedComponents: []
+    m_AddedComponents:
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1190891712}
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1190891711}
+    - targetCorrespondingSourceObject: {fileID: 3878630058993967848, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1190891710}
   m_SourcePrefab: {fileID: 100100000, guid: 4e419e9017ae57241a3bb11b099c5d4d, type: 3}
 --- !u!1 &1683328810
 GameObject:
@@ -16683,11 +16903,20 @@ PrefabInstance:
     - {fileID: 4006903749936520786, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
     m_RemovedGameObjects:
     - {fileID: 6097473850256497615, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
-    m_AddedGameObjects: []
+    m_AddedGameObjects:
+    - targetCorrespondingSourceObject: {fileID: 8635907162178100909, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 626137769}
     m_AddedComponents:
     - targetCorrespondingSourceObject: {fileID: 8634337098157262005, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
       insertIndex: -1
-      addedObject: {fileID: 1392831815}
+      addedObject: {fileID: 1392831825}
+    - targetCorrespondingSourceObject: {fileID: 8634337098157262005, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1392831824}
+    - targetCorrespondingSourceObject: {fileID: 8634337098157262005, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 1392831823}
   m_SourcePrefab: {fileID: 100100000, guid: 28a81099d60193a43a41ac743efd3786, type: 3}
 --- !u!1660057539 &9223372036854775807
 SceneRoots:
diff --git a/Assets/Scripts/Pet/PetDragonMovement.cs b/Assets/Scripts/Pet/PetDragonMovement.cs
index f015cbd..19bbaee 100644
--- a/Assets/Scripts/Pet/PetDragonMovement.cs
+++ b/Assets/Scripts/Pet/PetDragonMovement.cs
@@ -2,44 +2,123 @@ using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.AI;
+using System.Linq;
+using Nightmare;
 
 public class PetDragonMovement : MonoBehaviour
 {
-    private static readonly int IsWalking = Animator.StringToHash("IsWalking");
-    public Transform target;
-    public GameObject player;
-    public GameObject enemy;
-    public float speed = 6f;
     NavMeshAgent nav;
     Animator _anim;
+    PetDragonAttack petDragonAttack;
     bool move = false;
-    bool _enemyInRange = false;
-    Vector3 enemyPosition;
-    Rigidbody _dragonRigidBody;
-    Vector3 _movement;
+    public List<EnemyHealth> Damageables = new List<EnemyHealth>();
+    public EnemyHealth closestDamageable;
+    Rigidbody dragonRigidBody;
+    public GameObject player;
 
     // Start is called before the first frame update
     void Start()
     {
-        player = GameObject.FindGameObjectWithTag("Player");
-        enemy = GameObject.FindGameObjectWithTag("Enemy");
         nav = GetComponent<NavMeshAgent>();
         _anim = GetComponent<Animator>();
-        _dragonRigidBody = GetComponent<Rigidbody>();
+        petDragonAttack = GetComponent<PetDragonAttack>();
+        dragonRigidBody = GetComponent<Rigidbody>();
+    }
+
+    void LookAt(Transform target)
+    {
+        //Debug.Log($"{target.position} - {transform.position}");
+        var targetVector = new Vector3(target.position.x, 0, target.position.z);
+        var sourceVector = new Vector3(transform.position.x, 0, transform.position.z);
+        Quaternion lookRotation = Quaternion.LookRotation(targetVector - sourceVector);
+        dragonRigidBody.MoveRotation(Quaternion.Slerp(transform.rotation, lookRotation, 0.4f));
     }
 
-    private void FixedUpdate()
+    // Update is called once per frame
+    void Update()
     {
-        if ((player.transform.position - transform.position).magnitude >= 3)
+        move = false;
+
+        if (Damageables.Count > 0)
         {
-            _anim.SetBool(IsWalking, true);
-            //_anim.SetTrigger("Walk");
-            Debug.Log("Move to player");
-            nav.SetDestination(player.transform.position);
+            if (closestDamageable == null)
+            {
+                float closestDistance = float.MaxValue;
+                for (int i = 0; i < Damageables.Count; i++)
+                {
+                    var damagable = Damageables[i];
+                    if (damagable != null)
+                    {
+                        var damagableTransform = damagable.transform;
+                        float distance = Vector3.Distance(transform.position, damagableTransform.position);
+
+                        if (distance < closestDistance)
+                        {
+                            closestDistance = distance;
+                            closestDamageable = damagable;
+                        }
+                    }
+                }
+            }
+
+            if (closestDamageable != null)
+            {
+                if (nav.enabled)
+                {
+                    move = true;
+                    _anim.SetBool("IsMoving", move);
+                    nav.SetDestination(closestDamageable.transform.position);
+                }
+            }
+            else
+            {
+                _anim.SetBool("IsMoving", move);
+            }
         }
         else
         {
-            nav.SetDestination(enemy.transform.position);
+            closestDamageable = null;
+            _anim.SetBool("IsMoving", move);
+        }
+
+        if (closestDamageable == null || closestDamageable.currentHealth < 0)
+        {
+            Damageables.Remove(closestDamageable);
+            closestDamageable = null;
+        }
+    }
+
+    private void OnTriggerEnter(Collider other)
+    {
+        if (
+            other.CompareTag("ZomBear")
+            || other.CompareTag("ZomBunny")
+            || other.CompareTag("Hellephant")
+            || other.CompareTag("Wizard")
+            )
+        {
+            var enemyHealth = other.GetComponent<EnemyHealth>();
+            if (enemyHealth != null)
+            {
+                Damageables.Add(enemyHealth);
+            }
+        }
+    }
+
+    private void OnTriggerExit(Collider other)
+    {
+        if (
+            other.CompareTag("ZomBear")
+            || other.CompareTag("ZomBunny")
+            || other.CompareTag("Hellephant")
+            || other.CompareTag("Wizard")
+            )
+        {
+            var enemyHealth = other.GetComponent<EnemyHealth>();
+            if (enemyHealth != null)
+            {
+                Damageables.Remove(enemyHealth);
+            }
         }
     }
 }
diff --git a/Assets/Scripts/Pet/PetWizardHeal.cs b/Assets/Scripts/Pet/PetWizardHeal.cs
index 5357124..cdb0871 100644
--- a/Assets/Scripts/Pet/PetWizardHeal.cs
+++ b/Assets/Scripts/Pet/PetWizardHeal.cs
@@ -7,7 +7,7 @@ using Nightmare; // Import the Nightmare namespace if necessary
 public class PetWizardHeal : MonoBehaviour
 {
     public GameObject player;
-    public float timeBetweenHeal = 10f;
+    public float timeBetweenHeal = 2f;
     public int healAmount = 10;
     float _timer;
     PlayerHealth playerHealth;
@@ -19,7 +19,7 @@ public class PetWizardHeal : MonoBehaviour
         player = GameObject.FindGameObjectWithTag("Player");
         playerHealth = player.GetComponent<PlayerHealth>();
         _healAudio = GetComponent<AudioSource>();
-        _timer = 10f;
+        _timer = 2f;
         if ((transform.position - player.transform.position).magnitude <= 6)
         {
             _playerInRange = true;
@@ -57,20 +57,4 @@ public class PetWizardHeal : MonoBehaviour
         _timer = 0f;
         playerHealth.TakeHealth(healAmount);
     }
-
-    //private void OnTriggerEnter(Collider other)
-    //{
-    //    if (other.gameObject == player)
-    //    {
-    //        _playerInRange = true;
-    //    }
-    //}
-
-    //private void OnTriggerExit(Collider other)
-    //{
-    //    if (other.gameObject == player)
-    //    {
-    //        _playerInRange = false;
-    //    }
-    //}
 }
diff --git a/Assets/WizardAuraFollowBoss.cs b/Assets/WizardAuraFollowBoss.cs
new file mode 100644
index 0000000..c61b4b9
--- /dev/null
+++ b/Assets/WizardAuraFollowBoss.cs
@@ -0,0 +1,21 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.AI;
+
+public class WizardAuraFollowBoss : MonoBehaviour
+{
+    public Transform target;
+    NavMeshAgent nav;
+    // Start is called before the first frame update
+    void Start()
+    {
+        nav = GetComponent<NavMeshAgent>();
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        nav.SetDestination(target.position);
+    }
+}
diff --git a/Assets/WizardAuraFollowBoss.cs.meta b/Assets/WizardAuraFollowBoss.cs.meta
new file mode 100644
index 0000000..af93a65
--- /dev/null
+++ b/Assets/WizardAuraFollowBoss.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c7b48ed2376e87e42a1cb28a3c62d7d4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
-- 
GitLab