From a871d6dc6853d0631d98bdaf29fa98f47ba7cf1e Mon Sep 17 00:00:00 2001
From: Henry <henrytshotwell@gmail.com>
Date: Mon, 18 Mar 2024 15:22:42 -0400
Subject: [PATCH] Pushing more Power Ups!

---
 .../FMOD/Resources/FMODStudioSettings.asset   |  26 +-
 Assets/Prefabs/Player.prefab                  |   4 +-
 Assets/Prefabs/PowerUps/Candy.prefab          | 127 ++++++++
 Assets/Prefabs/PowerUps/Candy.prefab.meta     |   7 +
 Assets/Prefabs/PowerUps/Coffee.prefab         | 129 ++++++++
 Assets/Prefabs/PowerUps/Coffee.prefab.meta    |   7 +
 .../Prefabs/PowerUps/Glider Power Up.prefab   | 122 +++++++
 .../PowerUps/Glider Power Up.prefab.meta      |   7 +
 Assets/Prefabs/PowerUps/Pellet.prefab         | 129 ++++++++
 Assets/Prefabs/PowerUps/Pellet.prefab.meta    |   7 +
 Assets/Scenes/TestMovement.unity              | 302 ++++++++++++++++++
 Assets/Scripts/GM.cs                          |  14 +-
 Assets/Scripts/ObjectPoints.cs                |   3 +-
 Assets/Scripts/PointTracker.cs                |   7 +-
 Assets/Scripts/PowerUps/Glider.cs             |  32 ++
 Assets/Scripts/PowerUps/Glider.cs.meta        |  11 +
 Assets/Scripts/PowerUps/Speed.cs              |  51 +++
 Assets/Scripts/PowerUps/Speed.cs.meta         |  11 +
 Assets/Scripts/Roll.cs                        |  43 ++-
 19 files changed, 1002 insertions(+), 37 deletions(-)
 create mode 100644 Assets/Prefabs/PowerUps/Candy.prefab
 create mode 100644 Assets/Prefabs/PowerUps/Candy.prefab.meta
 create mode 100644 Assets/Prefabs/PowerUps/Coffee.prefab
 create mode 100644 Assets/Prefabs/PowerUps/Coffee.prefab.meta
 create mode 100644 Assets/Prefabs/PowerUps/Glider Power Up.prefab
 create mode 100644 Assets/Prefabs/PowerUps/Glider Power Up.prefab.meta
 create mode 100644 Assets/Prefabs/PowerUps/Pellet.prefab
 create mode 100644 Assets/Prefabs/PowerUps/Pellet.prefab.meta
 create mode 100644 Assets/Scripts/PowerUps/Glider.cs
 create mode 100644 Assets/Scripts/PowerUps/Glider.cs.meta
 create mode 100644 Assets/Scripts/PowerUps/Speed.cs
 create mode 100644 Assets/Scripts/PowerUps/Speed.cs.meta

diff --git a/Assets/Plugins/FMOD/Resources/FMODStudioSettings.asset b/Assets/Plugins/FMOD/Resources/FMODStudioSettings.asset
index 62907ca..28d92fe 100644
--- a/Assets/Plugins/FMOD/Resources/FMODStudioSettings.asset
+++ b/Assets/Plugins/FMOD/Resources/FMODStudioSettings.asset
@@ -271,21 +271,21 @@ MonoBehaviour:
   SharedLibraryUpdateStage: 0
   SharedLibraryTimeSinceStart: 0
   CurrentVersion: 131617
-  HideSetupWizard: 0
+  HideSetupWizard: 1
   LastEventReferenceScanVersion: 131617
   Platforms:
-  - {fileID: 2297543248913217023}
-  - {fileID: 7009008874783674222}
+  - {fileID: -8870101360627724893}
   - {fileID: -7663414660926368212}
+  - {fileID: -6828867695889598049}
   - {fileID: 563435138412766352}
-  - {fileID: -8870101360627724893}
-  - {fileID: 8789507240585719988}
-  - {fileID: 8210042079060086575}
+  - {fileID: 2297543248913217023}
+  - {fileID: 2795354703405257322}
   - {fileID: 5602401102599764949}
   - {fileID: 6431923452097642372}
-  - {fileID: 2795354703405257322}
-  - {fileID: -6828867695889598049}
+  - {fileID: 7009008874783674222}
   - {fileID: 7255203107312506986}
+  - {fileID: 8210042079060086575}
+  - {fileID: 8789507240585719988}
   MigratedPlatforms: 080000001200000006000000050000000b000000000000000a000000090000000c000000150000000200000001000000
 --- !u!114 &563435138412766352
 MonoBehaviour:
@@ -722,16 +722,16 @@ MonoBehaviour:
     HasValue: 0
   displaySortOrder: 0
   childIdentifiers:
+  - 52eb9df5db46521439908db3a29a1bbb
   - 46fbfdf3fc43db0458918377fd40293e
+  - e7a046c753c3c3d4aacc91f6597f310d
   - 2fea114e74ecf3c4f920e1d5cc1c4c40
-  - 52eb9df5db46521439908db3a29a1bbb
-  - b7716510a1f36934c87976f3a81dbf3d
-  - de700ef3f37a49b58a57ae3addf01ad9
+  - c88d16e5272a4e241b0ef0ac2e53b73d
   - 0f8eb3f400726694eb47beb1a9f94ce8
   - fd7c55dab0fce234b8c25f6ffca523c1
-  - c88d16e5272a4e241b0ef0ac2e53b73d
-  - e7a046c753c3c3d4aacc91f6597f310d
   - 2c5177b11d81d824dbb064f9ac8527da
+  - de700ef3f37a49b58a57ae3addf01ad9
+  - b7716510a1f36934c87976f3a81dbf3d
   codecChannels:
     Value: []
     HasValue: 0
diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab
index 4ecb28a..34c32b0 100644
--- a/Assets/Prefabs/Player.prefab
+++ b/Assets/Prefabs/Player.prefab
@@ -16,9 +16,9 @@ GameObject:
   - component: {fileID: 3430607008353783612}
   - component: {fileID: 2096702230839371941}
   - component: {fileID: 5813634793374795872}
-  m_Layer: 0
+  m_Layer: 6
   m_Name: Player
-  m_TagString: Untagged
+  m_TagString: Player
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
diff --git a/Assets/Prefabs/PowerUps/Candy.prefab b/Assets/Prefabs/PowerUps/Candy.prefab
new file mode 100644
index 0000000..504b360
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Candy.prefab
@@ -0,0 +1,127 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7518164597055986459
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7796537192829222194}
+  - component: {fileID: 2823951479409631062}
+  - component: {fileID: 7134944030866953716}
+  - component: {fileID: 435466455731680535}
+  - component: {fileID: 7887574547364381421}
+  m_Layer: 0
+  m_Name: Candy
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7796537192829222194
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7518164597055986459}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 11.52, y: -1.85, z: -7.67}
+  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!33 &2823951479409631062
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7518164597055986459}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &7134944030866953716
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7518164597055986459}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: a0b772a08c51b4c11b816d6afeeacac9, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!135 &435466455731680535
+SphereCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7518164597055986459}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &7887574547364381421
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7518164597055986459}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ecf2472dc6cc0e24e8bf9aa0dc6ca890, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  speedMultiplier: 1.5
+  activeTime: 7
+  speedFallOffTime: 1
+  refillStamina: 0
+  freezeStamina: 0
+  respawn: 0
+  resawnTime: 10
diff --git a/Assets/Prefabs/PowerUps/Candy.prefab.meta b/Assets/Prefabs/PowerUps/Candy.prefab.meta
new file mode 100644
index 0000000..cd3751a
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Candy.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4077f9bc11e9d9d418a24e54846d7e3b
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/PowerUps/Coffee.prefab b/Assets/Prefabs/PowerUps/Coffee.prefab
new file mode 100644
index 0000000..2db2987
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Coffee.prefab
@@ -0,0 +1,129 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2486460201850225505
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3033834372138217894}
+  - component: {fileID: 3888425295817592096}
+  - component: {fileID: 1475220123313515978}
+  - component: {fileID: 5863025753516396829}
+  - component: {fileID: 3435658887274521548}
+  m_Layer: 0
+  m_Name: Coffee
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3033834372138217894
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2486460201850225505}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 10.314886, y: -1.86, z: -1.79}
+  m_LocalScale: {x: 2, y: 1, z: 2}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &3888425295817592096
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2486460201850225505}
+  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1475220123313515978
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2486460201850225505}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 4d10aa2560de9406cb96c0980af2f47a, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!136 &5863025753516396829
+CapsuleCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2486460201850225505}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5000001
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
+--- !u!114 &3435658887274521548
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2486460201850225505}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ecf2472dc6cc0e24e8bf9aa0dc6ca890, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  speedMultiplier: 2
+  activeTime: 5
+  speedFallOffTime: 1
+  refillStamina: 0
+  freezeStamina: 1
+  respawn: 0
+  resawnTime: 10
diff --git a/Assets/Prefabs/PowerUps/Coffee.prefab.meta b/Assets/Prefabs/PowerUps/Coffee.prefab.meta
new file mode 100644
index 0000000..9748f14
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Coffee.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 064597d975c9d31499a430db43b88047
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/PowerUps/Glider Power Up.prefab b/Assets/Prefabs/PowerUps/Glider Power Up.prefab
new file mode 100644
index 0000000..38c40a2
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Glider Power Up.prefab	
@@ -0,0 +1,122 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &8692914280509006222
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5743897451373972934}
+  - component: {fileID: 5535407622516808546}
+  - component: {fileID: 6895669916784899468}
+  - component: {fileID: 7449041938157016616}
+  - component: {fileID: 6742806923464900295}
+  m_Layer: 0
+  m_Name: Glider Power Up
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &5743897451373972934
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8692914280509006222}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -4.57, y: -1.2078862, z: 1.6315377}
+  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!33 &5535407622516808546
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8692914280509006222}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &6895669916784899468
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8692914280509006222}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: a0b772a08c51b4c11b816d6afeeacac9, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &7449041938157016616
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8692914280509006222}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &6742806923464900295
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8692914280509006222}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e79583905492b334ca47e09b863e2824, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  activeTime: 10
+  glideFallSpeed: -1
diff --git a/Assets/Prefabs/PowerUps/Glider Power Up.prefab.meta b/Assets/Prefabs/PowerUps/Glider Power Up.prefab.meta
new file mode 100644
index 0000000..318631a
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Glider Power Up.prefab.meta	
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6fee40f24686b8f4fa42444bea3cd440
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/PowerUps/Pellet.prefab b/Assets/Prefabs/PowerUps/Pellet.prefab
new file mode 100644
index 0000000..ae3c5c9
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Pellet.prefab
@@ -0,0 +1,129 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &298692771959910523
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5128530458926381508}
+  - component: {fileID: 7872367343204177880}
+  - component: {fileID: 4576424366455171675}
+  - component: {fileID: 1120421470001558426}
+  - component: {fileID: 3228155007827935312}
+  m_Layer: 0
+  m_Name: Pellet
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &5128530458926381508
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 298692771959910523}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 4.02, y: -2.25, z: -5.91}
+  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!33 &7872367343204177880
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 298692771959910523}
+  m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4576424366455171675
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 298692771959910523}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 2bcda8e80b4ec4bd3a6d158316a6c29d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!136 &1120421470001558426
+CapsuleCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 298692771959910523}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &3228155007827935312
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 298692771959910523}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ecf2472dc6cc0e24e8bf9aa0dc6ca890, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  speedMultiplier: 1
+  activeTime: 3
+  speedFallOffTime: 1
+  refillStamina: 1
+  freezeStamina: 0
+  respawn: 1
+  resawnTime: 3
diff --git a/Assets/Prefabs/PowerUps/Pellet.prefab.meta b/Assets/Prefabs/PowerUps/Pellet.prefab.meta
new file mode 100644
index 0000000..309a746
--- /dev/null
+++ b/Assets/Prefabs/PowerUps/Pellet.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 27582e192e140e44b8716432ed6f0d63
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/TestMovement.unity b/Assets/Scenes/TestMovement.unity
index f8775d3..d93a916 100644
--- a/Assets/Scenes/TestMovement.unity
+++ b/Assets/Scenes/TestMovement.unity
@@ -2140,6 +2140,63 @@ MonoBehaviour:
   currentTime: 0
   currentPoints: 0
   doneMoving: 0
+--- !u!1001 &1809529767
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4338126215055673874, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_Name
+      value: Tape dispenser Variant
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: -12.6
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: -2.96
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 1.7
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4340678659522678504, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 9ca90b3ecceec834086f723c6ea5a3a9, type: 3}
 --- !u!1 &1881952914
 GameObject:
   m_ObjectHideFlags: 0
@@ -2574,6 +2631,18 @@ PrefabInstance:
     serializedVersion: 3
     m_TransformParent: {fileID: 0}
     m_Modifications:
+    - target: {fileID: 22423270197361221, guid: ef6f3a50a67136d46b5c3a49ae69f317, type: 3}
+      propertyPath: powerUpDecay
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 22423270197361221, guid: ef6f3a50a67136d46b5c3a49ae69f317, type: 3}
+      propertyPath: powerUpDecayTime
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 22423270197361221, guid: ef6f3a50a67136d46b5c3a49ae69f317, type: 3}
+      propertyPath: powerUpActiveTime
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 822631405258357118, guid: ef6f3a50a67136d46b5c3a49ae69f317, type: 3}
       propertyPath: m_LocalPosition.x
       value: 0
@@ -2623,6 +2692,63 @@ PrefabInstance:
     m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: ef6f3a50a67136d46b5c3a49ae69f317, type: 3}
+--- !u!1001 &2510730070770546001
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 2486460201850225505, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_Name
+      value: Coffee
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 10.314886
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: -1.86
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -1.79
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3033834372138217894, guid: 064597d975c9d31499a430db43b88047, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 064597d975c9d31499a430db43b88047, type: 3}
 --- !u!1001 &2645743919560437174
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -2772,6 +2898,177 @@ PrefabInstance:
     m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 06692ad41b0a861469a27086300d9bd0, type: 3}
+--- !u!1001 &2719740160583704535
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 7518164597055986459, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_Name
+      value: Candy
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 11.52
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: -1.85
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -7.67
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7796537192829222194, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 4077f9bc11e9d9d418a24e54846d7e3b, type: 3}
+--- !u!1001 &5040726066816074872
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0.24
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 5.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 19.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5743897451373972934, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8692914280509006222, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+      propertyPath: m_Name
+      value: Glider Power Up
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 6fee40f24686b8f4fa42444bea3cd440, type: 3}
+--- !u!1001 &7183143651183729180
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 298692771959910523, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_Name
+      value: Pellet
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 4.02
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: -2.25
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -5.91
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5128530458926381508, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 27582e192e140e44b8716432ed6f0d63, type: 3}
 --- !u!1660057539 &9223372036854775807
 SceneRoots:
   m_ObjectHideFlags: 0
@@ -2797,3 +3094,8 @@ SceneRoots:
   - {fileID: 689104400258981583}
   - {fileID: 763532945}
   - {fileID: 335410113}
+  - {fileID: 1809529767}
+  - {fileID: 5040726066816074872}
+  - {fileID: 2510730070770546001}
+  - {fileID: 7183143651183729180}
+  - {fileID: 2719740160583704535}
diff --git a/Assets/Scripts/GM.cs b/Assets/Scripts/GM.cs
index 0bc5060..67ade82 100644
--- a/Assets/Scripts/GM.cs
+++ b/Assets/Scripts/GM.cs
@@ -96,7 +96,7 @@ public IEnumerator ComboSizeIncrease()
         
         var sizeIncrease = 1.23f;
         txtChildren[1].fontSize *= sizeIncrease;
-        yield return new WaitForSeconds(0.2f);
+        yield return new WaitForSeconds(0.33f);
         txtChildren[1].fontSize = comboFontStartSize;
         
     }
@@ -117,7 +117,7 @@ public static IEnumerator AddScore(PointTracker source, float basePoints)
         while(points > 0)
         {
             currentComboPoints ++; points --;
-            yield return new WaitForSeconds(0.02f);
+            yield return new WaitForFixedUpdate();
         }
 
         trackingObjects.Remove(source);
@@ -131,7 +131,7 @@ public IEnumerator TallyScore()
         while(currentComboPoints > 0)
         {
             score ++; currentComboPoints --;
-            yield return new WaitForSeconds(0.02f);
+            yield return new WaitForFixedUpdate();;
         }
     }
 
@@ -141,11 +141,11 @@ public static IEnumerator SlowMo()
         {
             Slowing = true;
 
-            var currentSlow = 0f; var inc = 0.02f;
-            while (currentSlow < SlowMoTime)
+            var currentSlow = 0f;;
+            while (currentSlow / 50f < SlowMoTime)
             {
-                currentSlow += inc;
-                yield return new WaitForSeconds(inc);
+                currentSlow ++;
+                yield return new WaitForFixedUpdate();;
                 Time.timeScale = SlowingCurve.Evaluate(currentSlow / SlowMoTime);
             }
 
diff --git a/Assets/Scripts/ObjectPoints.cs b/Assets/Scripts/ObjectPoints.cs
index e7293f1..d8e803c 100644
--- a/Assets/Scripts/ObjectPoints.cs
+++ b/Assets/Scripts/ObjectPoints.cs
@@ -65,7 +65,8 @@ void Update()
                     if (currentPoints > maxPoints) { currentPoints = maxPoints; doneMoving = true; }
                 }
 
-                if (dist > minDistance && currentTime > 0) { currentTime = 0; }
+                if (dist > minDistance && currentTime > 0 && !doneMoving) { currentTime = 0; }
+
             }           
             
         } 
diff --git a/Assets/Scripts/PointTracker.cs b/Assets/Scripts/PointTracker.cs
index 67dfacb..7480db1 100644
--- a/Assets/Scripts/PointTracker.cs
+++ b/Assets/Scripts/PointTracker.cs
@@ -48,15 +48,12 @@ void Update()
             transform.position = Camera.main.WorldToScreenPoint(tracking.transform.position);
             points = (int)tracking.currentPoints;
 
-            if (tracking.doneMoving) 
+            if (!tracking.doneMoving) 
             { 
-                //if (!scored) { StartCoroutine(startScore()); } 
-            }
-            else 
-            {
                 if (tracking.currentTime > 0) { if (blinkCo == null) { blinkCo = blinkText(); StartCoroutine(blinkCo); } }
                 else if (blinkCo != null) { StopCoroutine(blinkCo); blinkCo = null; myTxt.color = startColor; }
             }
+
         }
 
         myTxt.text = points + "";
diff --git a/Assets/Scripts/PowerUps/Glider.cs b/Assets/Scripts/PowerUps/Glider.cs
new file mode 100644
index 0000000..698fb1f
--- /dev/null
+++ b/Assets/Scripts/PowerUps/Glider.cs
@@ -0,0 +1,32 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Glider : MonoBehaviour
+{
+    [Range(0f, 20f)] public float activeTime = 10f;
+
+    [Range(0f, -20f)] public float glideFallSpeed = -1f;
+    private void OnTriggerEnter(Collider other)
+    {
+        if (other.gameObject.CompareTag("Player"))
+        {
+            StartCoroutine(GliderActive(other));
+            gameObject.transform.position = new Vector3(0, -10000, 0);
+
+        }
+    }
+
+    public IEnumerator GliderActive(Collider collision)
+    {
+        var roller = collision.gameObject.GetComponent<Roll>();
+
+        roller.glideFallSpeed = glideFallSpeed;
+        roller.gliding = true;
+
+        yield return new WaitForSeconds(activeTime);
+        
+        roller.gliding = false;
+        Destroy(gameObject);
+    }
+}
diff --git a/Assets/Scripts/PowerUps/Glider.cs.meta b/Assets/Scripts/PowerUps/Glider.cs.meta
new file mode 100644
index 0000000..247560a
--- /dev/null
+++ b/Assets/Scripts/PowerUps/Glider.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e79583905492b334ca47e09b863e2824
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/PowerUps/Speed.cs b/Assets/Scripts/PowerUps/Speed.cs
new file mode 100644
index 0000000..6490f34
--- /dev/null
+++ b/Assets/Scripts/PowerUps/Speed.cs
@@ -0,0 +1,51 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Speed : MonoBehaviour
+{
+    [Range(1f, 10f)] public float speedMultiplier = 1f;
+
+    [Range(0f, 20f)] public float activeTime = 3f;
+    [Range(0f, 10f)] public float speedFallOffTime = 1f;
+
+    public bool refillStamina = false;
+    public bool freezeStamina = false;
+    public bool respawn = false;
+    public float resawnTime = 10f;
+
+    private void OnTriggerEnter(Collider other)
+    {
+        if (other.gameObject.CompareTag("Player"))
+        {
+            var roller = other.gameObject.GetComponent<Roll>();
+
+            roller.powerUpDecay = speedFallOffTime;
+            roller.powerUpDecayTime = speedFallOffTime;
+            roller.powerUpActiveTime = activeTime;
+            roller.powerUpSpeedMulti = speedMultiplier;
+
+            if (refillStamina) { roller.sprintTimeCurrent = roller.sprintTimeTotal; }
+            if (freezeStamina) { StartCoroutine(LockStamina(roller)); }
+            else if (respawn) { StartCoroutine(RespawnTimer()); }
+            else { Destroy(gameObject); }
+        }
+    }
+
+    public IEnumerator LockStamina(Roll roller)
+    {
+        roller.staminaLocked = true;
+        gameObject.transform.position = new Vector3(0, -10000, 0);
+        yield return new WaitForSeconds(activeTime);
+        roller.staminaLocked = false;
+        Destroy(gameObject);
+    }
+
+    public IEnumerator RespawnTimer()
+    {
+        var startPos = transform.position;
+        gameObject.transform.position = new Vector3(0, -10000, 0);
+        yield return new WaitForSeconds(resawnTime);
+        gameObject.transform.position = startPos;
+    }
+}
diff --git a/Assets/Scripts/PowerUps/Speed.cs.meta b/Assets/Scripts/PowerUps/Speed.cs.meta
new file mode 100644
index 0000000..aa32818
--- /dev/null
+++ b/Assets/Scripts/PowerUps/Speed.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ecf2472dc6cc0e24e8bf9aa0dc6ca890
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Roll.cs b/Assets/Scripts/Roll.cs
index e99be50..c72f46e 100644
--- a/Assets/Scripts/Roll.cs
+++ b/Assets/Scripts/Roll.cs
@@ -20,9 +20,15 @@ public class Roll : MonoBehaviour
 
     [Range(0f,1f)]public float sprintPercentMin = 0.1f;
     public float sprintTimeTotal = 3f;
-    private float sprintTimeCurrent;
+    [HideInInspector] public float sprintTimeCurrent;
     public float sprintRecovery = 1f;
     private bool sprinting = false;
+    [HideInInspector] public bool staminaLocked = false;
+
+    [HideInInspector] public float powerUpSpeedMulti = 1f;
+    [HideInInspector] public float powerUpDecay = 1f;
+    [HideInInspector] public float powerUpDecayTime = 1f;
+    [HideInInspector] public float powerUpActiveTime = 1f;
 
     public float boostDecayTime = 1f;
     [HideInInspector]public float boostDecay;
@@ -34,6 +40,8 @@ public class Roll : MonoBehaviour
     [HideInInspector] public Rigidbody myBod;
 
     private bool grounded;
+    [HideInInspector] public bool gliding = false;
+    [HideInInspector] public float glideFallSpeed;
 
     public GameObject slamEffect;
     public float slamDownSpeed = 100f;
@@ -91,7 +99,6 @@ public Vector3 MoveInput()
 
     public void Movement()
     {
-
         var bonusSpeed = 1f;
         if (Input.GetButton("Speed"))
         { 
@@ -100,7 +107,11 @@ public void Movement()
         }
         else { sprintDecay -= Time.deltaTime; }
 
-        if (MoveInput() == Vector3.zero) { if(grounded) {speedDecay -= Time.deltaTime; } }
+        //Debug.Log(Mathf.Lerp(1f, powerUpSpeedMulti, powerUpDecay / powerUpDecayTime));
+        bonusSpeed *= Mathf.Lerp(1f, powerUpSpeedMulti, powerUpDecay / powerUpDecayTime);
+
+        if (MoveInput() == Vector3.zero) 
+        { if(grounded) { speedDecay -= Time.deltaTime; } }
         else 
         {
             speedDecay = speedDecayTime;
@@ -109,19 +120,29 @@ public void Movement()
 
         boostDecay -= Time.deltaTime;
         
-        var baseAir = 0f; if (!grounded) { baseAir = maxSpeed; }
-        var baseSpeed = Mathf.Lerp(baseAir, maxSpeed, speedDecay / speedDecayTime);
+        //var baseAir = 0f; if (!grounded) { baseAir = maxSpeed; }
+        var baseSpeed = Mathf.Lerp(0f, maxSpeed, speedDecay / speedDecayTime);
+
         var sprintMax = Mathf.Lerp(baseSpeed, baseSpeed + maxSprintBonus, sprintDecay / sprintDecayTime);
+        
+        sprintMax *= Mathf.Lerp(1f, powerUpSpeedMulti, powerUpDecay / powerUpDecayTime);
+        if (powerUpActiveTime > 0f) { powerUpActiveTime -= Time.deltaTime; }
+        else if ( powerUpDecay > 0f) { powerUpDecay -= Time.deltaTime; }
+
         var currentMaxSpeed = Mathf.Lerp(sprintMax, sprintMax + boostBonus, boostDecay / boostDecayTime);
         
+        var saveY = myBod.velocity.y;
         myBod.velocity = Vector3.ClampMagnitude(myBod.velocity, currentMaxSpeed);
+        
+        if (gliding && saveY < 0) { saveY = Mathf.Clamp(saveY, glideFallSpeed, 0f); }
+        myBod.velocity = new Vector3(myBod.velocity.x, saveY, myBod.velocity.z);
     }
 
     public void Jump()
     {
         if (grounded) 
         {
-            speedDecay = speedDecayTime;
+            //speedDecay = speedDecayTime;
             myBod.AddForce(new Vector3(0, JumpForce, 0));
         }   
     }
@@ -158,9 +179,13 @@ public void SprintStamina()
 
         if (GM.sprintPercent <= 0 && sprinting) { sprinting = false; }
 
-        if (sprinting) { sprintTimeCurrent -= Time.deltaTime; }
-        else { sprintTimeCurrent += sprintRecovery * Time.deltaTime; }
-        sprintTimeCurrent = Mathf.Clamp(sprintTimeCurrent, 0, sprintTimeTotal);
+        if (!staminaLocked)
+        {
+            if (sprinting) { sprintTimeCurrent -= Time.deltaTime; }
+            else { sprintTimeCurrent += sprintRecovery * Time.deltaTime; }
+            sprintTimeCurrent = Mathf.Clamp(sprintTimeCurrent, 0, sprintTimeTotal);
+        }
+        
     }
 
 }
-- 
GitLab