From efc9ed9937ae9e1af544e39cab930195c6cab6e6 Mon Sep 17 00:00:00 2001 From: aleprime2007 Date: Sun, 21 Jun 2026 17:09:39 -0400 Subject: [PATCH 1/8] [Sonic Frontiers] Fixed "Gameplay/Skills/Allow Boost to Damage Objects" Not working --- .../Skills/Allow Boost to Damage Objects.hmm | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index 79058be7..b3557211 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -25,23 +25,20 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " }; // { - Sonic.StateID NotifyStateRunDamageCollision(Sonic.StateID in_stateId, Sonic.StateID[] in_stateStackTrace) + Sonic.StateID _stateId = Player.State.GetCurrentStateID(); + if (_boostStates.Contains(_stateId) && IS_STATE_FLAG(IsBoost)) { - if (_boostStates.Contains(in_stateId) && IS_STATE_FLAG(IsBoost)) + if (!_isBoostPrevious) { Player.Collision.SetCollisionSphere(Player.CollisionType.Damage, 1.0f); Player.Collision.SetEntityCollision(false); _isBoostPrevious = true; } - else if (_isBoostPrevious) - { - Player.Collision.SetCollisionSphere(Player.CollisionType.Default, 1.0f); - Player.Collision.SetEntityCollision(true); - _isBoostPrevious = false; - } - - return in_stateId; } - - Player.State.AddStateNotifyAction(NotifyStateRunDamageCollision); -} \ No newline at end of file + else if (_isBoostPrevious) + { + Player.Collision.SetCollisionSphere(Player.CollisionType.Default, 1.0f); + Player.Collision.SetEntityCollision(true); + _isBoostPrevious = false; + } +} From d9a7a879be2d290c704cc5e6b47e00836078ae98 Mon Sep 17 00:00:00 2001 From: aleprime2007 Date: Thu, 2 Jul 2026 13:49:42 -0400 Subject: [PATCH 2/8] [Sonic Frontiers] "Gameplay/Skills/Allow Boost to Damage Objects": Fixed Damage Collision turning off when changing to states that alredy has Damage Collision enabled --- .../Skills/Allow Boost to Damage Objects.hmm | 60 +++++++++++++++---- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index b3557211..1f1cfb84 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -6,7 +6,9 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " using System.Collections.Generic; - static bool _isBoostPrevious = false; + static bool _isDamageEnabled = false; + + static bool _isRunBoost = false; static List _boostStates = new() { @@ -23,22 +25,58 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " Sonic.StateID.StateRun, Sonic.StateID.StateWallMove }; + + static List _damageStates = new() + { + Sonic.StateID.StateJump, + Sonic.StateID.StateDoubleJump, + Sonic.StateID.StateSpinDash, + Sonic.StateID.StateSpinBoostCharge, + Sonic.StateID.StateSpinBoost, + Sonic.StateID.StateHomingAttack, + Sonic.StateID.StateStompingDown, + Sonic.StateID.StateStompingLand, + Sonic.StateID.StateBounceJump, + Sonic.StateID.StateDropDash, + Sonic.StateID.StateSliding + }; // { - Sonic.StateID _stateId = Player.State.GetCurrentStateID(); - if (_boostStates.Contains(_stateId) && IS_STATE_FLAG(IsBoost)) + void EnableDamage() { - if (!_isBoostPrevious) - { - Player.Collision.SetCollisionSphere(Player.CollisionType.Damage, 1.0f); - Player.Collision.SetEntityCollision(false); - _isBoostPrevious = true; - } + Player.Collision.SetCollisionSphere(Player.CollisionType.Damage, 1.0f); + Player.Collision.SetEntityCollision(false); + _isDamageEnabled = true; } - else if (_isBoostPrevious) + + void DisableDamage() { Player.Collision.SetCollisionSphere(Player.CollisionType.Default, 1.0f); Player.Collision.SetEntityCollision(true); - _isBoostPrevious = false; + _isDamageEnabled = false; + } + + Sonic.StateID stateId = Player.State.GetCurrentStateID(); + + if (_boostStates.Contains(stateId) && IS_STATE_FLAG(IsBoost)) + { + if (stateId == Sonic.StateID.StateRun) + { + if (!_isRunBoost) + { + EnableDamage(); + _isRunBoost = true; + } + } + else + { + if (!_isDamageEnabled) EnableDamage(); + _isRunBoost = false; + } + } + else + { + if (_isDamageEnabled && !_damageStates.Contains(stateId)) DisableDamage(); + _isRunBoost = false; } } From 60412d019faf8f6eb99267968bcedf03f156d8d5 Mon Sep 17 00:00:00 2001 From: aleprime2007 Date: Thu, 2 Jul 2026 22:20:14 -0400 Subject: [PATCH 3/8] [Sonic Frontiers] "Gameplay/Skills/Allow Boost to Damage Objects": Fixed Damage Collision turning off when Air Boosting --- .../Skills/Allow Boost to Damage Objects.hmm | 36 +++++++------------ 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index 1f1cfb84..111ca7ce 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -8,23 +8,7 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " static bool _isDamageEnabled = false; - static bool _isRunBoost = false; - - static List _boostStates = new() - { - Sonic.StateID.StateAirBoost, - Sonic.StateID.StateBumpJump, - Sonic.StateID.StateGrind, - Sonic.StateID.StateGrindDamage, - Sonic.StateID.StateGrindJump, - Sonic.StateID.StateGrindRoot, - Sonic.StateID.StateGrindStep, - Sonic.StateID.StateJump, - Sonic.StateID.StateLeftStepRun, - Sonic.StateID.StateRightStepRun, - Sonic.StateID.StateRun, - Sonic.StateID.StateWallMove - }; + static bool _isDamageOverride = false; static List _damageStates = new() { @@ -40,6 +24,12 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " Sonic.StateID.StateDropDash, Sonic.StateID.StateSliding }; + + static List _overrideStates = new() + { + Sonic.StateID.StateRun, + Sonic.StateID.StateAirBoost + }; // { void EnableDamage() @@ -58,25 +48,25 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " Sonic.StateID stateId = Player.State.GetCurrentStateID(); - if (_boostStates.Contains(stateId) && IS_STATE_FLAG(IsBoost)) + if (IS_STATE_FLAG(IsBoost)) { - if (stateId == Sonic.StateID.StateRun) + if (_overrideStates.Contains(stateId)) { - if (!_isRunBoost) + if (!_isDamageOverride) { EnableDamage(); - _isRunBoost = true; + _isDamageOverride = true; } } else { if (!_isDamageEnabled) EnableDamage(); - _isRunBoost = false; + _isDamageOverride = false; } } else { if (_isDamageEnabled && !_damageStates.Contains(stateId)) DisableDamage(); - _isRunBoost = false; + _isDamageOverride = false; } } From 96c8305efc1ebf55f72fbceee344e6f2664c7b97 Mon Sep 17 00:00:00 2001 From: aleprime2007 Date: Fri, 3 Jul 2026 12:31:48 -0400 Subject: [PATCH 4/8] [Sonic Frontiers] "Gameplay/Skills/Allow Boost to Damage Objects": Made suggested changes --- .../Skills/Allow Boost to Damage Objects.hmm | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index 111ca7ce..43b0f65e 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -1,4 +1,4 @@ -Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does "Allows the player to damage enemies and harder physics objects by boosting through them." +Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper, NM & aleprime2007" does "Allows the player to damage enemies and harder physics objects by boosting through them." // #include "BlackboardStatus" noemit @@ -32,18 +32,15 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " }; // { - void EnableDamage() + void SetDamage(bool in_isEnabled) { - Player.Collision.SetCollisionSphere(Player.CollisionType.Damage, 1.0f); - Player.Collision.SetEntityCollision(false); - _isDamageEnabled = true; - } + var col = in_isEnabled + ? Player.CollisionType.Damage + : Player.CollisionType.Default; - void DisableDamage() - { - Player.Collision.SetCollisionSphere(Player.CollisionType.Default, 1.0f); - Player.Collision.SetEntityCollision(true); - _isDamageEnabled = false; + Player.Collision.SetCollisionSphere(col, 1.0f); + Player.Collision.SetEntityCollision(!in_isEnabled); + _isDamageEnabled = in_isEnabled; } Sonic.StateID stateId = Player.State.GetCurrentStateID(); @@ -54,19 +51,19 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper & NM" does " { if (!_isDamageOverride) { - EnableDamage(); + SetDamage(true); _isDamageOverride = true; } } else { - if (!_isDamageEnabled) EnableDamage(); + if (!_isDamageEnabled) SetDamage(true); _isDamageOverride = false; } } else { - if (_isDamageEnabled && !_damageStates.Contains(stateId)) DisableDamage(); + if (_isDamageEnabled && !_damageStates.Contains(stateId)) SetDamage(false); _isDamageOverride = false; } } From 598cce70884b1277e97707f4b6c71ce403f09cb6 Mon Sep 17 00:00:00 2001 From: aleprime2007 Date: Fri, 3 Jul 2026 12:34:22 -0400 Subject: [PATCH 5/8] [Sonic Frontiers] "Gameplay/Skills/Allow Boost to Damage Objects": Removed empty space --- .../Gameplay/Skills/Allow Boost to Damage Objects.hmm | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index 43b0f65e..752b90dd 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -7,7 +7,6 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper, NM & alepri using System.Collections.Generic; static bool _isDamageEnabled = false; - static bool _isDamageOverride = false; static List _damageStates = new() From 7eef535a68a1af316d302c0aa11f3186b8a98a83 Mon Sep 17 00:00:00 2001 From: aleprime2007 <113947415+aleprime2007@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:01:07 -0400 Subject: [PATCH 6/8] [Sonic Frontiers] "Gameplay/Skills/Allow Boost to Damage Objects": Added StateSpinAttack to _damageStates --- .../Gameplay/Skills/Allow Boost to Damage Objects.hmm | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index 752b90dd..ee72972e 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -13,6 +13,7 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper, NM & alepri { Sonic.StateID.StateJump, Sonic.StateID.StateDoubleJump, + Sonic.StateID.StateSpinAttack, Sonic.StateID.StateSpinDash, Sonic.StateID.StateSpinBoostCharge, Sonic.StateID.StateSpinBoost, From c336b4b93f22a3c5ad74bab8f558f98dfc431005 Mon Sep 17 00:00:00 2001 From: aleprime2007 Date: Sun, 5 Jul 2026 19:18:09 -0400 Subject: [PATCH 7/8] [Sonic Frontiers] "Gameplay/Skills/Allow Boost to Damage Objects": Fixed Damage Collision turning off when changing to StateGrind while boosting --- .../Gameplay/Skills/Allow Boost to Damage Objects.hmm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index ee72972e..b9748391 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -28,7 +28,8 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper, NM & alepri static List _overrideStates = new() { Sonic.StateID.StateRun, - Sonic.StateID.StateAirBoost + Sonic.StateID.StateAirBoost, + Sonic.StateID.StateGrind }; // { From 97c58f456e756a3bf41c767715a033509b41e4c3 Mon Sep 17 00:00:00 2001 From: aleprime2007 Date: Sun, 5 Jul 2026 19:37:33 -0400 Subject: [PATCH 8/8] [Sonic Frontiers] "Gameplay/Skills/Allow Boost to Damage Objects": Added StateGrindDoubleJump to _damageStates --- .../Gameplay/Skills/Allow Boost to Damage Objects.hmm | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm index b9748391..17c09171 100644 --- a/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm +++ b/Source/Sonic Frontiers/Gameplay/Skills/Allow Boost to Damage Objects.hmm @@ -13,6 +13,7 @@ Code "Allow Boost to Damage Objects" in "Gameplay/Skills" by "Hyper, NM & alepri { Sonic.StateID.StateJump, Sonic.StateID.StateDoubleJump, + Sonic.StateID.StateGrindDoubleJump, Sonic.StateID.StateSpinAttack, Sonic.StateID.StateSpinDash, Sonic.StateID.StateSpinBoostCharge,