From 817a44130fe6bbc52ecb010f4952e4303a142d98 Mon Sep 17 00:00:00 2001 From: hwabis Date: Tue, 15 Oct 2024 22:55:42 -0400 Subject: [PATCH] ban giant diagonal twists (was only possible with no pads excluded) --- .../Beatmaps/NextHitObjectGenerator.cs | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.PumpTrainer/Beatmaps/NextHitObjectGenerator.cs b/osu.Game.Rulesets.PumpTrainer/Beatmaps/NextHitObjectGenerator.cs index 955a3be..2dd434a 100644 --- a/osu.Game.Rulesets.PumpTrainer/Beatmaps/NextHitObjectGenerator.cs +++ b/osu.Game.Rulesets.PumpTrainer/Beatmaps/NextHitObjectGenerator.cs @@ -378,7 +378,47 @@ private void banColumnsCausingBannedPatterns(List candidateColumns, Foot } } - // Ban diagonal twists + // Ban giant diagonal twists no matter what + if (previousColumn == Column.P1C) + { + if (previousPreviousColumn == Column.P1DL) + { + candidateColumns.Remove(Column.P2UL); + } + else if (previousPreviousColumn == Column.P1UL) + { + candidateColumns.Remove(Column.P2DL); + } + else if (previousPreviousColumn == Column.P2DL) + { + candidateColumns.Remove(Column.P1UL); + } + else if (previousPreviousColumn == Column.P2UL) + { + candidateColumns.Remove(Column.P1DL); + } + } + else if (previousColumn == Column.P2C) + { + if (previousPreviousColumn == Column.P2DR) + { + candidateColumns.Remove(Column.P1UR); + } + else if (previousPreviousColumn == Column.P2UR) + { + candidateColumns.Remove(Column.P1DR); + } + else if (previousPreviousColumn == Column.P1DR) + { + candidateColumns.Remove(Column.P2UR); + } + else if (previousPreviousColumn == Column.P1UR) + { + candidateColumns.Remove(Column.P2DR); + } + } + + // Ban diagonal twists (single pad) if (random.NextDouble() > Settings.DiagonalTwistFrequency) { if (previousColumn == Column.P1C)