From 6ad6857599524ce5a40feaf2ed2d20600e3b3125 Mon Sep 17 00:00:00 2001 From: happy-bob007 <95256015+happy-bob007@users.noreply.github.com> Date: Wed, 10 Sep 2025 18:01:34 -0500 Subject: [PATCH] time freeze berry added --- Assets/Resources/Berries/TimeFreezeBerry.png | Bin 0 -> 8916 bytes .../Berries/TimeFreezeBerry.png.meta | 156 ++++++++++++++++++ Assets/Scripts/BazookaManager.cs | 18 ++ Assets/Scripts/GamePlayer.cs | 126 ++++++++++++-- Assets/Scripts/StatsMenu.cs | 1 + 5 files changed, 284 insertions(+), 17 deletions(-) create mode 100644 Assets/Resources/Berries/TimeFreezeBerry.png create mode 100644 Assets/Resources/Berries/TimeFreezeBerry.png.meta diff --git a/Assets/Resources/Berries/TimeFreezeBerry.png b/Assets/Resources/Berries/TimeFreezeBerry.png new file mode 100644 index 0000000000000000000000000000000000000000..afc0c51924a364a61b59cfa35b2a38a76e036030 GIT binary patch literal 8916 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 iC;$Ke21!IgR09B<_TQJ7cI77k0000 0f) + { + timefreezeLeft -= Time.deltaTime; + boostText.text = "Time Freeze expires in " + string.Format("{0:0.0}", timefreezeLeft) + "s"; + } else { boostText.text = ""; @@ -294,11 +301,13 @@ public class GamePlayer : MonoBehaviour nextSpawnTime = Time.time + 1f / spawnRate; } float spawnProbability = Random.value; + if ((int)timefreezeLeft != 0) return; if (!pausePanel.activeSelf) { GameObject newBerry = new("Berry"); newBerry.transform.SetParent(berryParent.transform); SpriteRenderer spriteRenderer = newBerry.AddComponent(); + if (spawnProbability <= 0.525f) { spriteRenderer.sprite = Resources.Load("Berries/Berry"); @@ -329,13 +338,16 @@ public class GamePlayer : MonoBehaviour spriteRenderer.sprite = Resources.Load("Berries/PurpleBerry"); newBerry.tag = "PurpleBerry"; } - else + else if (spawnProbability <= 0.985f) { spriteRenderer.sprite = Resources.Load("Berries/TimeSlowBerry"); newBerry.tag = "TimeSlowBerry"; } - - + else + { + spriteRenderer.sprite = Resources.Load("Berries/TimeFreezeBerry"); + newBerry.tag = "TimeFreezeBerry"; + } spriteRenderer.sortingOrder = -5; @@ -369,6 +381,7 @@ public class GamePlayer : MonoBehaviour GameObject[] speedyBerries = GameObject.FindGameObjectsWithTag("SpeedyBerry"); GameObject[] timeslowBerries = GameObject.FindGameObjectsWithTag("TimeSlowBerry"); GameObject[] purpleBerries = GameObject.FindGameObjectsWithTag("PurpleBerry"); + GameObject[] timefreezeBerries = GameObject.FindGameObjectsWithTag("TimeFreezeBerry"); if (!pausePanel.activeSelf) { @@ -391,7 +404,12 @@ public class GamePlayer : MonoBehaviour totalNormalBerries++; UpdateStats(1, 0); } - if (speedyLeft > 0) + + if (timefreezeLeft > 0) + { + normalBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) { normalBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); } @@ -401,10 +419,10 @@ public class GamePlayer : MonoBehaviour } else { - normalBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + normalBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } - } + foreach (GameObject poisonBerry in poisonBerries) { if (poisonBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) @@ -418,7 +436,12 @@ public class GamePlayer : MonoBehaviour totalPoisonBerries++; UpdateStats(0, 0); } - if (speedyLeft > 0) + + if (timefreezeLeft > 0) + { + poisonBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) { poisonBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); } @@ -428,9 +451,10 @@ public class GamePlayer : MonoBehaviour } else { - poisonBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + poisonBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject slowBerry in slowBerries) { if (slowBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) @@ -450,7 +474,12 @@ public class GamePlayer : MonoBehaviour UpdateStats(-1, 0); } } - if (speedyLeft > 0) + + if (timefreezeLeft > 0) + { + slowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) { slowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); } @@ -460,9 +489,10 @@ public class GamePlayer : MonoBehaviour } else { - slowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + slowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject ultraBerry in ultraBerries) { if (ultraBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) @@ -487,7 +517,12 @@ public class GamePlayer : MonoBehaviour UpdateStats(5, 0); } } - if (speedyLeft > 0) + + if (timefreezeLeft > 0) + { + ultraBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) { ultraBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); } @@ -497,9 +532,10 @@ public class GamePlayer : MonoBehaviour } else { - ultraBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + ultraBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject speedyBerry in speedyBerries) { if (speedyBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) @@ -517,7 +553,12 @@ public class GamePlayer : MonoBehaviour totalSpeedyBerries++; UpdateStats(10, 0); } - if (speedyLeft > 0) + + if (timefreezeLeft > 0) + { + speedyBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) { speedyBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); } @@ -527,9 +568,10 @@ public class GamePlayer : MonoBehaviour } else { - speedyBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + speedyBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject timeslowBerry in timeslowBerries) { if (timeslowBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) @@ -546,7 +588,12 @@ public class GamePlayer : MonoBehaviour totalTimeSlowBerries++; UpdateStats(1, 0); } - if (speedyLeft > 0) + + if (timefreezeLeft > 0) + { + timeslowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) { timeslowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); } @@ -556,9 +603,10 @@ public class GamePlayer : MonoBehaviour } else { - timeslowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + timeslowBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject purpleBerry in purpleBerries) { if (purpleBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) @@ -572,7 +620,12 @@ public class GamePlayer : MonoBehaviour totalPurpleBerries++; UpdateStats(15, 0); } - if (speedyLeft > 0) + + if (timefreezeLeft > 0) + { + purpleBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) { purpleBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); } @@ -585,6 +638,42 @@ public class GamePlayer : MonoBehaviour purpleBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + + foreach (GameObject timefreezeBerry in timefreezeBerries) + { + if (timefreezeBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) + { + Destroy(timefreezeBerry); + } + else if (UnityEngine.Vector3.Distance(bird.transform.position, timefreezeBerry.transform.position) < 1.5f) + { + AudioSource.PlayClipAtPoint(Resources.Load("Sounds/Eat"), Camera.main.transform.position, 1.2f * BazookaManager.Instance.GetSettingSFXVolume()); + Destroy(timefreezeBerry); + boostLeft = 0f; + speedyLeft = 0f; + timeslowLeft = 0f; + timefreezeLeft = 5f; + totalTimeFreezeBerries++; + } + + if (timefreezeLeft > 0) + { + timefreezeBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) + { + timefreezeBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); + } + else if (timeslowLeft > 0) + { + timefreezeBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -2f); + } + else + { + timefreezeBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + } + } + } else { @@ -597,6 +686,7 @@ public class GamePlayer : MonoBehaviour .Concat(speedyBerries) .Concat(timeslowBerries) .Concat(purpleBerries) + .Concat(timefreezeBerries) .ToArray(); foreach (GameObject berry in allberries) { @@ -615,6 +705,7 @@ public class GamePlayer : MonoBehaviour score = 0; boostLeft = 0f; timeslowLeft = 0f; + timefreezeLeft = 0f; slownessLeft = 0f; speedyLeft = 0f; UpdateStats(0, 1); @@ -626,6 +717,7 @@ public class GamePlayer : MonoBehaviour .Concat(GameObject.FindGameObjectsWithTag("SpeedyBerry")) .Concat(GameObject.FindGameObjectsWithTag("TimeSlowBerry")) .Concat(GameObject.FindGameObjectsWithTag("PurpleBerry")) + .Concat(GameObject.FindGameObjectsWithTag("TimeFreezeBerry")) .ToArray(); foreach (GameObject berry in allberries) { diff --git a/Assets/Scripts/StatsMenu.cs b/Assets/Scripts/StatsMenu.cs index 7c9d75b..ef30a99 100644 --- a/Assets/Scripts/StatsMenu.cs +++ b/Assets/Scripts/StatsMenu.cs @@ -17,6 +17,7 @@ public class StatsMenu : MonoBehaviour text.AppendLine("Total Speedy Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalSpeedyBerries())); text.AppendLine("Total Time Slow Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalTimeSlowBerries())); text.AppendLine("Total Purple Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalPurpleBerries())); + text.AppendLine("Total Time Freeze Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalTimeFreezeBerries())); text.AppendLine("Total Attempts: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalAttepts())); statText.text = text.ToString(); }