diff --git a/Assets/Prefabs/ShopKeeper/Item Template.prefab b/Assets/Prefabs/ShopKeeper/Item Template.prefab
index cfa3ad1d25252eb874ad0dc6e1e3bac85dfbd474..96673e1911c3d432d5683e8c70a90ffd27491c29 100644
--- a/Assets/Prefabs/ShopKeeper/Item Template.prefab	
+++ b/Assets/Prefabs/ShopKeeper/Item Template.prefab	
@@ -175,8 +175,8 @@ RectTransform:
   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: 195.9473, y: 346.3669}
+  m_AnchoredPosition: {x: 0, y: -13.110413}
+  m_SizeDelta: {x: 195.9473, y: 320.1462}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3829713824781694797
 CanvasRenderer:
@@ -462,7 +462,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 1}
   m_AnchorMax: {x: 0.5, y: 1}
-  m_AnchoredPosition: {x: 46.6, y: -268}
+  m_AnchoredPosition: {x: 48, y: -257}
   m_SizeDelta: {x: 80, y: 22.6077}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4233481473921023371
diff --git a/Assets/Scenes/Level01.unity b/Assets/Scenes/Level01.unity
index 5bd6268b28ec6ac2827eee85c322d101c5373383..0c83145485afe78759b334e2e13663f5375cd560 100644
--- a/Assets/Scenes/Level01.unity
+++ b/Assets/Scenes/Level01.unity
@@ -478,7 +478,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   enemy: {fileID: 153412, guid: 548c56f4bcf4db24b8aa057e9846a005, type: 3}
-  spawnTime: 10
+  spawnTime: 15
   spawnPoints:
   - {fileID: 345275349}
   - {fileID: 1725468539}
@@ -498,7 +498,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   enemy: {fileID: 100000, guid: ea3c2728ef33e3a4d99527a86cda6465, type: 3}
-  spawnTime: 3
+  spawnTime: 12
   spawnPoints:
   - {fileID: 345275349}
   - {fileID: 1725468539}
@@ -518,7 +518,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   enemy: {fileID: 100002, guid: e5171f72421770240bd7c3989fe351e3, type: 3}
-  spawnTime: 2
+  spawnTime: 10
   spawnPoints:
   - {fileID: 345275349}
   - {fileID: 1725468539}
@@ -565,7 +565,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   enemy: {fileID: 100002, guid: 6f16db424f602b84a9c3d36cee353965, type: 3}
-  spawnTime: 3
+  spawnTime: 15
   spawnPoints:
   - {fileID: 345275349}
   - {fileID: 1725468539}
@@ -2293,6 +2293,9 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   pauseMenu: {fileID: 591423028}
+  hudCanvas: {fileID: 264136412}
+  cheats: {fileID: 614175244}
+  isPaused: 0
 --- !u!223 &264729923 stripped
 Canvas:
   m_CorrespondingSourceObject: {fileID: 3226171550272037462, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
@@ -7947,6 +7950,10 @@ PrefabInstance:
       propertyPath: shopManager
       value: 
       objectReference: {fileID: 798289378}
+    - target: {fileID: 3685030869706006963, guid: f0abd49340d3e184fa702d7fdc61499b, type: 3}
+      propertyPath: pauseManager
+      value: 
+      objectReference: {fileID: 264136416}
     - target: {fileID: 3685030869706006963, guid: f0abd49340d3e184fa702d7fdc61499b, type: 3}
       propertyPath: playerHealth
       value: 
@@ -7955,6 +7962,10 @@ PrefabInstance:
       propertyPath: WeaponManager
       value: 
       objectReference: {fileID: 1608477377}
+    - target: {fileID: 3685030869706006963, guid: f0abd49340d3e184fa702d7fdc61499b, type: 3}
+      propertyPath: weaponManager
+      value: 
+      objectReference: {fileID: 1608477377}
     - target: {fileID: 3685030869706006963, guid: f0abd49340d3e184fa702d7fdc61499b, type: 3}
       propertyPath: playerMovement
       value: 
@@ -11215,18 +11226,26 @@ PrefabInstance:
       propertyPath: m_LocalPosition.z
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 659049484802868554, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_Sprite
+      value: 
+      objectReference: {fileID: 0}
     - target: {fileID: 788451540850862775, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_SizeDelta.y
-      value: -377.6389
+      value: -403.15
       objectReference: {fileID: 0}
     - target: {fileID: 788451540850862775, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: 188.81946
+      value: 201.58
       objectReference: {fileID: 0}
     - target: {fileID: 862538851093984440, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_Enabled
       value: 1
       objectReference: {fileID: 0}
+    - target: {fileID: 1178717496164610987, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_Sprite
+      value: 
+      objectReference: {fileID: 0}
     - target: {fileID: 1212646825944863205, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_IsActive
       value: 1
@@ -11237,27 +11256,35 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 2526570798605016776, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMax.y
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 2526570798605016776, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMin.y
-      value: 1
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2526570798605016776, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 323.0601
       objectReference: {fileID: 0}
     - target: {fileID: 2526570798605016776, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 112.97365
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 2526570798605016776, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -173.18346
+      value: -161.53004
       objectReference: {fileID: 0}
     - target: {fileID: 2533470587971281730, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_SizeDelta.y
-      value: -218.1306
+      value: -196.85
       objectReference: {fileID: 0}
     - target: {fileID: 2533470587971281730, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -109.065285
+      value: -98.425
+      objectReference: {fileID: 0}
+    - target: {fileID: 3226171550272037462, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_SortingOrder
+      value: 10
       objectReference: {fileID: 0}
     - target: {fileID: 3308455176689711772, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_IsActive
@@ -11267,21 +11294,29 @@ PrefabInstance:
       propertyPath: m_IsActive
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 4065410176905423724, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_Sprite
+      value: 
+      objectReference: {fileID: 0}
     - target: {fileID: 4485382539556145118, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMax.y
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 4485382539556145118, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMin.y
-      value: 1
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4485382539556145118, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 322.4444
       objectReference: {fileID: 0}
     - target: {fileID: 4485382539556145118, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 112.97365
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 4485382539556145118, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -173.18346
+      value: -161.53004
       objectReference: {fileID: 0}
     - target: {fileID: 5712293994674342005, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMax.x
@@ -11293,19 +11328,19 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 5712293994674342005, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_SizeDelta.x
-      value: 30
+      value: 1069.7365
       objectReference: {fileID: 0}
     - target: {fileID: 5712293994674342005, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_SizeDelta.y
-      value: 10
+      value: 323.0601
       objectReference: {fileID: 0}
     - target: {fileID: 5712293994674342005, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: -695.26825
+      value: -547.31573
       objectReference: {fileID: 0}
     - target: {fileID: 5712293994674342005, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: 6
+      value: 33
       objectReference: {fileID: 0}
     - target: {fileID: 5757823145624144122, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_UiScaleMode
@@ -11341,19 +11376,23 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 6812590292140128754, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMax.y
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 6812590292140128754, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMin.y
-      value: 1
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6812590292140128754, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 321.5121
       objectReference: {fileID: 0}
     - target: {fileID: 6812590292140128754, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 112.97365
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 6812590292140128754, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -173.18346
+      value: -161.53004
       objectReference: {fileID: 0}
     - target: {fileID: 6913258776438867350, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_Pivot.x
@@ -11471,37 +11510,49 @@ PrefabInstance:
       propertyPath: m_IsActive
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 7734649888587118177, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_CullTransparentMesh
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 7846561445780367296, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMax.y
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 7846561445780367296, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMin.y
-      value: 1
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7846561445780367296, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 322.0967
       objectReference: {fileID: 0}
     - target: {fileID: 7846561445780367296, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 112.97365
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 7846561445780367296, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -173.18346
+      value: -161.53004
       objectReference: {fileID: 0}
     - target: {fileID: 7885068554289718964, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMax.y
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 7885068554289718964, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchorMin.y
-      value: 1
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7885068554289718964, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 320.8222
       objectReference: {fileID: 0}
     - target: {fileID: 7885068554289718964, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 112.97365
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 7885068554289718964, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -173.18346
+      value: -161.53004
       objectReference: {fileID: 0}
     - target: {fileID: 8249280381695449885, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: m_ChildAlignment
@@ -11543,6 +11594,7 @@ Transform:
   m_Children:
   - {fileID: 14871712}
   - {fileID: 636207316}
+  - {fileID: 1656483646}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1212966710
@@ -13224,6 +13276,64 @@ Transform:
   - {fileID: 384557718}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1656483645
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1656483646}
+  - component: {fileID: 1656483647}
+  m_Layer: 0
+  m_Name: LevelManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1656483646
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1656483645}
+  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: 1165414997}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1656483647
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1656483645}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4c72301907703bc499d2ca179570c95c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  levels:
+  - MainMenu
+  - Cutscene01
+  - Cutscene02
+  - Cutscene03
+  - Level01
+  - Cutscene04
+  - Level01
+  - Cutscene05
+  - Level01
+  - Cutscene06
+  - Level02
+  - Cutscene07
+  - Cutscene08
 --- !u!1 &1695883712
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity
index 1fc8c0b38c18365bd358a8ddd340aa8db1bfeb0e..771bcbfc708202ef27b4a7ce5a90d72e72650b33 100644
--- a/Assets/Scenes/MainMenu.unity
+++ b/Assets/Scenes/MainMenu.unity
@@ -1006,6 +1006,64 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 309555273}
   m_CullTransparentMesh: 1
+--- !u!1 &309830952
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 309830954}
+  - component: {fileID: 309830953}
+  m_Layer: 0
+  m_Name: LevelManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &309830953
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 309830952}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4c72301907703bc499d2ca179570c95c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  levels:
+  - MainMenu
+  - Cutscene01
+  - Cutscene02
+  - Cutscene03
+  - Level01
+  - Cutscene04
+  - Level01
+  - Cutscene05
+  - Level01
+  - Cutscene06
+  - Level02
+  - Cutscene07
+  - Cutscene08
+--- !u!4 &309830954
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 309830952}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 415.86005, y: 228.66164, z: -2.693035}
+  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!1 &329895729
 GameObject:
   m_ObjectHideFlags: 0
@@ -7018,3 +7076,4 @@ SceneRoots:
   - {fileID: 167408043}
   - {fileID: 1097292934}
   - {fileID: 1460444564}
+  - {fileID: 309830954}
diff --git a/Assets/Scriptable Objects/Fighter.asset b/Assets/Scriptable Objects/Fighter.asset
index b11c3a23de8562d655388a0e2d0305d7516eee5c..ba6e8e28f09c8eade83329f856417a4ad1207de9 100644
--- a/Assets/Scriptable Objects/Fighter.asset	
+++ b/Assets/Scriptable Objects/Fighter.asset	
@@ -13,8 +13,7 @@ MonoBehaviour:
   m_Name: Fighter
   m_EditorClassIdentifier: 
   title: Fighter
-  description: Fighter is a strong pet with a fire element that can help player to
-    fight enemies
-  image: {fileID: 21300000, guid: 072317a3bd5fb86489a6f88f724221e8, type: 3}
+  description: Fighter is a strong pet that can help player to fight enemies
+  image: {fileID: 21300000, guid: 92c525885d3f4ec4fac0df3d68824f7f, type: 3}
   price: 50
   itemPrefab: {fileID: 4893785644411561827, guid: 0b5e7ba132663464dadc282f3aa60701, type: 3}
diff --git a/Assets/Scriptable Objects/Healer.asset b/Assets/Scriptable Objects/Healer.asset
index 884e4aa892f1f3abef5a89311eaaf6617045ddd7..0e2fcf4cc577c8cbffa46dd6df0851ef380ddfbd 100644
--- a/Assets/Scriptable Objects/Healer.asset	
+++ b/Assets/Scriptable Objects/Healer.asset	
@@ -13,7 +13,7 @@ MonoBehaviour:
   m_Name: Healer
   m_EditorClassIdentifier: 
   title: Healer
-  description: Healer is the weakest pet and can't do anything to help player
-  image: {fileID: 21300000, guid: 0a43723e9f82f04469e70be12651b634, type: 3}
+  description: Healer is a support pet that can heal player overtime
+  image: {fileID: 21300000, guid: c579a115ee1847a44be2cdbd71b0aee6, type: 3}
   price: 50
   itemPrefab: {fileID: 8853103978792596861, guid: e423576042eb4d944a7b6de92623a3a6, type: 3}
diff --git a/Assets/Scripts/Cheats/Cheats.cs b/Assets/Scripts/Cheats/Cheats.cs
index f9efd7e2c0e82c4f372ba21aa4ee5fc594ec4871..9042d7448d773f9ecac6c6164e1fb0349350d661 100644
--- a/Assets/Scripts/Cheats/Cheats.cs
+++ b/Assets/Scripts/Cheats/Cheats.cs
@@ -9,20 +9,21 @@ public class Cheats : MonoBehaviour
 {
     public Canvas cheatCanvas;
     public PlayerHealth playerHealth;
-    public WeaponManager WeaponManager;
+    public WeaponManager weaponManager;
     public ShopManager shopManager;
     public PlayerMovement playerMovement;
+    public PauseManager pauseManager;
     private int initDamagePerShot = 20;
     private float cheatCoins = Mathf.Infinity;
     private bool isCheatCoins = false;
     private bool isTwoTimeSpeed = false;
     public bool playerInsideCheatCollider = false;
-    private bool isCheatOpened = false;
+    public bool isCheatOpened = false;
 
     public void Update()
     {
 
-        if (Input.GetKeyDown(KeyCode.P))
+        if (Input.GetKeyDown(KeyCode.P) && pauseManager.isPaused == false)
         {
 
             if (playerInsideCheatCollider)
@@ -65,7 +66,7 @@ public class Cheats : MonoBehaviour
 
     public void oneHitKill()
     {
-        WeaponManager.Cheat();
+        weaponManager.Cheat();
     }
 
     public void motherlode()
diff --git a/Assets/Scripts/Global/MainMenu.cs b/Assets/Scripts/Global/MainMenu.cs
index 68b68fe5b1d2c0f280ea2a95085fda03e1cbcb19..33e8ad6fd56b5cc1d95298efe67fa29a04177834 100644
--- a/Assets/Scripts/Global/MainMenu.cs
+++ b/Assets/Scripts/Global/MainMenu.cs
@@ -1,3 +1,4 @@
+using Nightmare;
 using UnityEngine;
 using UnityEngine.Audio;
 using UnityEngine.SceneManagement;
@@ -33,7 +34,7 @@ public class MainMenu : MonoBehaviour
 
     public void PlayGame()
     {
-        SceneManager.LoadScene("Cutscene01");
+        LevelManager.Instance.Next();
     }
 
     public void QuitGame()
diff --git a/Assets/Scripts/Managers/CutsceneManager.cs b/Assets/Scripts/Managers/CutsceneManager.cs
index 2cf4d1660a2147ec29d48b189d3e91f30b9eb662..93855b8b197ecfc881018fd26d5991fc0867a946 100644
--- a/Assets/Scripts/Managers/CutsceneManager.cs
+++ b/Assets/Scripts/Managers/CutsceneManager.cs
@@ -1,3 +1,4 @@
+using Nightmare;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -6,35 +7,8 @@ using UnityEngine.SceneManagement;
 
 public class CutsceneManager : MonoBehaviour
 {
-    readonly int maxScene = 8;
-
     public void NextScene()
     {
-        // Get the current scene
-        Scene currentScene = SceneManager.GetActiveScene();
-
-        // Extract the number from the scene name
-        string sceneName = currentScene.name;
-        string numberString = sceneName[^2..];
-
-        // Convert the number string to an integer
-        int sceneNumber = Int32.Parse(numberString) + 1;
-        if (sceneNumber > maxScene)
-        {
-            SceneManager.LoadScene("Level01");
-            return;
-        }
-
-        string newSceneName = "Cutscene";
-
-        if (sceneNumber < 10)
-        {
-            newSceneName += "0" + sceneNumber;
-        } else
-        {
-            newSceneName += sceneNumber;
-        }
-
-        SceneManager.LoadScene(newSceneName);
+        LevelManager.Instance.Next();
     }
 }
diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs
index f005c830e97552b611a789dde7235ee4014427c1..0aae29ad05f7cd1e69f2ba02d2c890473d6cbcca 100644
--- a/Assets/Scripts/Managers/GameOverManager.cs
+++ b/Assets/Scripts/Managers/GameOverManager.cs
@@ -37,17 +37,12 @@ namespace Nightmare
 
         public void ResetLevel()
         {
-            //ScoreManager.score = 0;
-            //LevelManager lm = FindObjectOfType<LevelManager>();
-            //lm.LoadInitialLevel();
-            //anim.SetBool("GameOver", false);
-            //playerHealth.ResetPlayer();
-            SceneManager.LoadScene("Level01");
+            LevelManager.Instance.ResetLevel();
         }
 
         public void ExitGame()
         {
-            SceneManager.LoadScene("MainMenu");
+            LevelManager.Instance.Exit();
         }
 
         public void ShowGameOverButtons()
diff --git a/Assets/Scripts/Managers/GrenadeManager.cs b/Assets/Scripts/Managers/GrenadeManager.cs
deleted file mode 100644
index 982c2d0fc5fe68f19a8325df44db7b731a1caf15..0000000000000000000000000000000000000000
--- a/Assets/Scripts/Managers/GrenadeManager.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using UnityEngine;
-using UnityEngine.UI;
-using System.Collections;
-
-namespace Nightmare
-{
-    public class GrenadeManager : MonoBehaviour
-    {
-        public static int grenades;        // The player's score.
-
-
-        Text gText;                      // Reference to the Text component.
-
-
-        void Awake()
-        {
-            // Set up the reference.
-            gText = GetComponent<Text>();
-
-            // Reset the score.
-            grenades = 0;
-        }
-
-
-        void Update()
-        {
-            // Set the displayed text to be the word "Score" followed by the score value.
-            gText.text = "Grenades: " + grenades;
-        }
-    }
-}
\ No newline at end of file
diff --git a/Assets/Scripts/Managers/GrenadeManager.cs.meta b/Assets/Scripts/Managers/GrenadeManager.cs.meta
deleted file mode 100644
index e5a8b21783d64b0c627b13aecdee8acd97085aa4..0000000000000000000000000000000000000000
--- a/Assets/Scripts/Managers/GrenadeManager.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 1e0abf995d32749428603ba20a9d41fc
-timeCreated: 1518919815
-licenseType: Pro
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Scripts/Managers/LevelManager.cs b/Assets/Scripts/Managers/LevelManager.cs
index 78ba5868edffd9d204cc7a6cb663afc9b4d75186..31aaf38a753926031230d8ad634d632f22109d53 100644
--- a/Assets/Scripts/Managers/LevelManager.cs
+++ b/Assets/Scripts/Managers/LevelManager.cs
@@ -1,96 +1,137 @@
-using System.Collections.Generic;
-using UnityEngine;
+using UnityEngine;
 using UnityEngine.SceneManagement;
 
 namespace Nightmare
 {
     public class LevelManager : MonoBehaviour
     {
-        public string[] levels;
-
-        private int currentLevel = 0;
-        private Scene currentScene;
-        private PlayerMovement playerMove;
-        private Vector3 playerRespawn;
-        private CinematicController cinema;
-
-        void OnEnable()
-        {
-            SceneManager.sceneLoaded += OnSceneLoaded;
-            SceneManager.sceneUnloaded += OnSceneUnloaded;
-        }
-
-        void Start()
+        public string[] levels = {
+            "MainMenu",
+            "Cutscene01",
+            "Cutscene02",
+            "Cutscene03",
+            "Level01",
+            "Cutscene04",
+            "Level01",
+            "Cutscene05",
+            "Level01",
+            "Cutscene06",
+            "Level02",
+            "Cutscene07",
+            "Cutscene08"
+        };
+
+        private static LevelManager instance;
+        private int currentIndex = 0;
+
+        public static LevelManager Instance
         {
-            cinema = FindObjectOfType<CinematicController>();
-            SceneManager.LoadSceneAsync(levels[0], LoadSceneMode.Additive);
-            playerMove = FindObjectOfType<PlayerMovement>();
-            playerRespawn = playerMove.transform.position;
-        }
-
-        public void AdvanceLevel()
-        {
-            LoadLevel(currentLevel + 1);
+            get
+            {
+                if (instance == null)
+                {
+                    instance = FindObjectOfType<LevelManager>();
+                    if (instance == null)
+                    {
+                        GameObject managerObject = new GameObject("LevelManager");
+                        instance = managerObject.AddComponent<LevelManager>();
+                    }
+                }
+                return instance;
+            }
         }
 
-        public void LoadInitialLevel()
+        private void Awake()
         {
-            LoadLevel(0);
+            if (instance == null)
+            {
+                instance = this;
+                DontDestroyOnLoad(gameObject);
+            }
+            else
+            {
+                Destroy(gameObject);
+            }
         }
 
-        private void LoadLevel(int level)
+        private void Update()
         {
-            currentLevel = level;
-
-            //Load next level in background
-            string loadingScene = levels[level % levels.Length];
-            SceneManager.LoadSceneAsync(loadingScene, LoadSceneMode.Additive);
+            // Check if the Enter key is pressed
+            if (Input.GetKeyDown(KeyCode.Comma))
+            {
+                // Call the Next() method
+                Next();
+            }
         }
 
-        void OnSceneLoaded(Scene scene, LoadSceneMode mode)
+        public void LoadScene()
         {
-            if (mode != LoadSceneMode.Additive)
-                return;
-
-            playerMove.transform.position = playerRespawn;
-            SceneManager.SetActiveScene(scene);
-
-            DisableOldScene();
-
-            currentScene = scene;
+            if (levels[currentIndex].StartsWith("Cutscene"))
+            {
+                bool skip = true;
+                for (int i = 0; i < SceneManager.sceneCount; i++)
+                {
+                    Scene scene = SceneManager.GetSceneAt(i);
+                    if (scene.name.StartsWith("Level"))
+                    {
+                        skip = false;
+                        break;
+                    }
+                }
 
-            // Play realtime cinematic?
-            if (currentLevel > 1)
-                cinema.StartCinematic(CinematicController.CinematicType.Realtime);
+                if (skip)
+                {
+                    SceneManager.LoadSceneAsync(levels[currentIndex], LoadSceneMode.Single);
+                } else
+                {
+                    SceneManager.LoadSceneAsync(levels[currentIndex], LoadSceneMode.Additive);
+                }
+            }
             else
-                cinema.StartCinematic(CinematicController.CinematicType.PreRendered);
-        }
-
-        private void DisableOldScene()
-        {
-            if (currentScene.IsValid())
             {
-                // Disable old scene.
-                GameObject[] oldSceneObjects = currentScene.GetRootGameObjects();
-                for (int i = 0; i < oldSceneObjects.Length; i++)
+                Scene currentLevel = SceneManager.GetSceneAt(0);
+                for (int i = 0; i < SceneManager.sceneCount; i++)
                 {
-                    oldSceneObjects[i].SetActive(false);
+                    Scene scene = SceneManager.GetSceneAt(i);
+                    if (!scene.name.StartsWith("Cutscene"))
+                    {
+                        currentLevel = scene;
+                    } else if (SceneManager.sceneCount != 1)
+                    {
+                        SceneManager.UnloadSceneAsync(scene);
+                    }
                 }
 
-                // Unload it.
-                SceneManager.UnloadSceneAsync(currentScene);
+                if (currentLevel.name != levels[currentIndex])
+                {
+                    SceneManager.LoadSceneAsync(levels[currentIndex], LoadSceneMode.Single);
+                }
             }
         }
 
-        void OnSceneUnloaded(Scene scene)
+        public void Next()
         {
+            currentIndex++;
+            if (currentIndex < levels.Length)
+            {
+                LoadScene();
+            }
+            else
+            {
+                Exit();
+            }
+        }
 
+        public void Exit()
+        {
+            currentIndex = 0;
+            SceneManager.LoadScene(levels[currentIndex], LoadSceneMode.Single);
         }
 
-        void OnDisable()
+        public void ResetLevel()
         {
-            SceneManager.sceneLoaded -= OnSceneLoaded;
-            SceneManager.sceneUnloaded -= OnSceneUnloaded;
+            currentIndex = 1;
+            SceneManager.LoadScene(levels[currentIndex], LoadSceneMode.Single);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/Managers/PauseManager.cs b/Assets/Scripts/Managers/PauseManager.cs
index 4d475019831e9269cd7d7a54601cd267a1975c24..5d4b5e35284cce88599a732058efc7f0ecf30cf1 100644
--- a/Assets/Scripts/Managers/PauseManager.cs
+++ b/Assets/Scripts/Managers/PauseManager.cs
@@ -7,25 +7,34 @@ using UnityEngine.UI;
 public class PauseManager : MonoBehaviour
 {
     public GameObject pauseMenu;
+    public Canvas hudCanvas;
+    public Cheats cheats;
+    public bool isPaused = false;
 
     void Update()
     {
         if (Input.GetKeyDown(KeyCode.Escape))
         {
-            if (Time.timeScale == 1) Pause();
+            if (!isPaused) Pause();
             else Resume();
         }
     }
 
     public void Pause()
     {
+        hudCanvas.sortingOrder = 100;
         pauseMenu.SetActive(true);
+        isPaused = true;
         Time.timeScale = 0;
     }
 
     public void Resume()
     {
+        hudCanvas.sortingOrder = 0;
         pauseMenu.SetActive(false);
-        Time.timeScale = 1;
+        isPaused = false;
+        if (!cheats.isCheatOpened){
+            Time.timeScale = 1;
+        }
     }
 }
diff --git a/Assets/Scripts/Managers/ScoreManager.cs b/Assets/Scripts/Managers/ScoreManager.cs
index 03d08ad792204f16f66a83b96aa04cd45ad05123..9c9593c6923ac80a542aa155ddc1cbbaa928b082 100644
--- a/Assets/Scripts/Managers/ScoreManager.cs
+++ b/Assets/Scripts/Managers/ScoreManager.cs
@@ -44,7 +44,6 @@ namespace Nightmare
         {
             levelThreshhold = score + LEVEL_INCREASE;
             LevelManager lm = FindObjectOfType<LevelManager>();
-            lm.AdvanceLevel();
         }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/ShopKeeper/CollisionDetection.cs b/Assets/Scripts/ShopKeeper/CollisionDetection.cs
index 3cdc447d43f10f2632087d1cb3d75d0e3e96de5f..1181fc7aa7fc4bb76a168adc0c0d1160919ade4b 100644
--- a/Assets/Scripts/ShopKeeper/CollisionDetection.cs
+++ b/Assets/Scripts/ShopKeeper/CollisionDetection.cs
@@ -23,7 +23,7 @@ public class CollisionDetection : MonoBehaviour
 
         if (timerUI.text != "Shop is closed")
         {
-            if (Input.GetKeyDown(KeyCode.Z))
+            if (Input.GetKeyDown(KeyCode.Z) && Time.timeScale == 1)
             {
 
                 if (playerInsideCollider)
diff --git a/Assets/Sprites/attack.png b/Assets/Sprites/attack.png
deleted file mode 100644
index db5486c26761c0f907c7f360a4c736915bd98566..0000000000000000000000000000000000000000
Binary files a/Assets/Sprites/attack.png and /dev/null differ
diff --git a/Assets/Sprites/attack.png.meta b/Assets/Sprites/attack.png.meta
deleted file mode 100644
index 60a795526544ebf23f3a507d33c235519146c0c8..0000000000000000000000000000000000000000
--- a/Assets/Sprites/attack.png.meta
+++ /dev/null
@@ -1,127 +0,0 @@
-fileFormatVersion: 2
-guid: 072317a3bd5fb86489a6f88f724221e8
-TextureImporter:
-  internalIDToNameTable: []
-  externalObjects: {}
-  serializedVersion: 13
-  mipmaps:
-    mipMapMode: 0
-    enableMipMap: 0
-    sRGBTexture: 1
-    linearTexture: 0
-    fadeOut: 0
-    borderMipMap: 0
-    mipMapsPreserveCoverage: 0
-    alphaTestReferenceValue: 0.5
-    mipMapFadeDistanceStart: 1
-    mipMapFadeDistanceEnd: 3
-  bumpmap:
-    convertToNormalMap: 0
-    externalNormalMap: 0
-    heightScale: 0.25
-    normalMapFilter: 0
-    flipGreenChannel: 0
-  isReadable: 0
-  streamingMipmaps: 0
-  streamingMipmapsPriority: 0
-  vTOnly: 0
-  ignoreMipmapLimit: 0
-  grayScaleToAlpha: 0
-  generateCubemap: 6
-  cubemapConvolution: 0
-  seamlessCubemap: 0
-  textureFormat: 1
-  maxTextureSize: 2048
-  textureSettings:
-    serializedVersion: 2
-    filterMode: 1
-    aniso: 1
-    mipBias: 0
-    wrapU: 1
-    wrapV: 1
-    wrapW: 0
-  nPOTScale: 0
-  lightmap: 0
-  compressionQuality: 50
-  spriteMode: 1
-  spriteExtrude: 1
-  spriteMeshType: 1
-  alignment: 0
-  spritePivot: {x: 0.5, y: 0.5}
-  spritePixelsToUnits: 100
-  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
-  spriteGenerateFallbackPhysicsShape: 1
-  alphaUsage: 1
-  alphaIsTransparency: 1
-  spriteTessellationDetail: -1
-  textureType: 8
-  textureShape: 1
-  singleChannelComponent: 0
-  flipbookRows: 1
-  flipbookColumns: 1
-  maxTextureSizeSet: 0
-  compressionQualitySet: 0
-  textureFormatSet: 0
-  ignorePngGamma: 0
-  applyGammaDecoding: 0
-  swizzle: 50462976
-  cookieLightType: 0
-  platformSettings:
-  - serializedVersion: 3
-    buildTarget: DefaultTexturePlatform
-    maxTextureSize: 2048
-    resizeAlgorithm: 0
-    textureFormat: -1
-    textureCompression: 1
-    compressionQuality: 50
-    crunchedCompression: 0
-    allowsAlphaSplitting: 0
-    overridden: 0
-    ignorePlatformSupport: 0
-    androidETC2FallbackOverride: 0
-    forceMaximumCompressionQuality_BC6H_BC7: 0
-  - serializedVersion: 3
-    buildTarget: Standalone
-    maxTextureSize: 2048
-    resizeAlgorithm: 0
-    textureFormat: -1
-    textureCompression: 1
-    compressionQuality: 50
-    crunchedCompression: 0
-    allowsAlphaSplitting: 0
-    overridden: 0
-    ignorePlatformSupport: 0
-    androidETC2FallbackOverride: 0
-    forceMaximumCompressionQuality_BC6H_BC7: 0
-  - serializedVersion: 3
-    buildTarget: WebGL
-    maxTextureSize: 2048
-    resizeAlgorithm: 0
-    textureFormat: -1
-    textureCompression: 1
-    compressionQuality: 50
-    crunchedCompression: 0
-    allowsAlphaSplitting: 0
-    overridden: 0
-    ignorePlatformSupport: 0
-    androidETC2FallbackOverride: 0
-    forceMaximumCompressionQuality_BC6H_BC7: 0
-  spriteSheet:
-    serializedVersion: 2
-    sprites: []
-    outline: []
-    physicsShape: []
-    bones: []
-    spriteID: 5e97eb03825dee720800000000000000
-    internalID: 0
-    vertices: []
-    indices: 
-    edges: []
-    weights: []
-    secondaryTextures: []
-    nameFileIdTable: {}
-  mipmapLimitGroupName: 
-  pSDRemoveMatte: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Sprites/buff.png b/Assets/Sprites/buff.png
deleted file mode 100644
index 545227641fd80b1fe3b0b36638c3eef6db54f626..0000000000000000000000000000000000000000
Binary files a/Assets/Sprites/buff.png and /dev/null differ
diff --git a/Assets/Sprites/fighter_pet.jpg b/Assets/Sprites/fighter_pet.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a8b17bc1d959587c6a22d35d462eb574efd960f6
Binary files /dev/null and b/Assets/Sprites/fighter_pet.jpg differ
diff --git a/Assets/Sprites/buff.png.meta b/Assets/Sprites/fighter_pet.jpg.meta
similarity index 98%
rename from Assets/Sprites/buff.png.meta
rename to Assets/Sprites/fighter_pet.jpg.meta
index 94a7f68a79fdf39f4d7f71330a1b70daa89e919c..2c939af0fac728e529163ae8ab32ef0d6ee29052 100644
--- a/Assets/Sprites/buff.png.meta
+++ b/Assets/Sprites/fighter_pet.jpg.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 995423665c388b142a7343323d997aeb
+guid: 92c525885d3f4ec4fac0df3d68824f7f
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}
diff --git a/Assets/Sprites/healer.png b/Assets/Sprites/healer.png
deleted file mode 100644
index 1df519807617e6a84ac079d364dc80f0a892db52..0000000000000000000000000000000000000000
Binary files a/Assets/Sprites/healer.png and /dev/null differ
diff --git a/Assets/Sprites/healer_pet.jpg b/Assets/Sprites/healer_pet.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..da3ce77c9738909c1d089501d0f57e0075130a0f
Binary files /dev/null and b/Assets/Sprites/healer_pet.jpg differ
diff --git a/Assets/Sprites/healer.png.meta b/Assets/Sprites/healer_pet.jpg.meta
similarity index 98%
rename from Assets/Sprites/healer.png.meta
rename to Assets/Sprites/healer_pet.jpg.meta
index f033f3ebca9292fbfff1f2b6b4472518d88a20f1..11622904cb9c973d1b6ee5c9e46b0edcf89b94c8 100644
--- a/Assets/Sprites/healer.png.meta
+++ b/Assets/Sprites/healer_pet.jpg.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 0a43723e9f82f04469e70be12651b634
+guid: c579a115ee1847a44be2cdbd71b0aee6
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index e3269c93da0696cc9800511d9c9b30bc2f3c6d69..bc915f164c30c08772499ce93c9d96800b8e9c53 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2022.3.25f1
-m_EditorVersionWithRevision: 2022.3.25f1 (530ae0ba3889)
+m_EditorVersion: 2022.3.24f1
+m_EditorVersionWithRevision: 2022.3.24f1 (334eb2a0b267)