From ace7c8fb0365bac8db15e3f2355f18322ed2a0c1 Mon Sep 17 00:00:00 2001 From: Thepuppetqueen57 Date: Wed, 8 Oct 2025 22:31:04 -0700 Subject: [PATCH] Made the ultra berry increase your speed for 10 seconds It stacks just like in normal bd btw. So if you get 2 ultra berries you will have the effect for 20 seconds. Also this was surprisingly easy to add. --- Scripts/BerryLogic.cs | 10 ++++++++++ Scripts/Globals.cs | 3 +++ Scripts/Player.cs | 16 ++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/Scripts/BerryLogic.cs b/Scripts/BerryLogic.cs index 75f0559..5c0b7eb 100644 --- a/Scripts/BerryLogic.cs +++ b/Scripts/BerryLogic.cs @@ -20,6 +20,16 @@ public partial class BerryLogic : Node2D { Globals.HighScore += ScoreAdder; } + if (BerryType == "ultra") { + if (Globals.ActiveEffect == "ultra") { + Globals.EffectTimer += 10f; + } else { + Globals.EffectTimer = 10f; + } + + Globals.ActiveEffect = "ultra"; + } + QueueFree(); } } diff --git a/Scripts/Globals.cs b/Scripts/Globals.cs index 7e157f8..f7f55c2 100644 --- a/Scripts/Globals.cs +++ b/Scripts/Globals.cs @@ -7,6 +7,9 @@ public partial class Globals : Node { public static bool VersionChecked = false; public static float MovementSpeed = 800f; + public static float DefaultMovementSpeed = MovementSpeed; + public static string ActiveEffect = "none"; + public static float EffectTimer = 0f; public static int Score = 0; public static int HighScore = 0; diff --git a/Scripts/Player.cs b/Scripts/Player.cs index 35b6426..cd1e1fe 100644 --- a/Scripts/Player.cs +++ b/Scripts/Player.cs @@ -28,5 +28,21 @@ public partial class Player : Node2D { } Position = Pos; + + // Effect handling + if (Globals.ActiveEffect != "none") { + Globals.EffectTimer -= (float)delta; + } + + if (Globals.EffectTimer < 0f) { + Globals.EffectTimer = 0f; + Globals.ActiveEffect = "none"; + } + + if (Globals.ActiveEffect == "none") { + Globals.MovementSpeed = Globals.DefaultMovementSpeed; + } if (Globals.ActiveEffect == "ultra") { + Globals.MovementSpeed = Globals.DefaultMovementSpeed * 2f; + } } }