public static void CheckGMPModifiers() { // Log($"badNote: {energyCounter.GetField("_badNoteEnergyDrain")}"); // Log($"missNote: {energyCounter.GetField("_missNoteEnergyDrain")}"); // Log($"goodNote: {energyCounter.GetField("_goodNoteEnergyCharge")}"); // Log($"obstaclePerSec: {energyCounter.GetField("_obstacleEnergyDrainPerSecond")}"); // Log($"hitBomb: {energyCounter.GetField("_hitBombEnergyDrain")}"); if (GMPUI.bulletTime || GMPUI.removeCrouchWalls || GMPUI.swapSabers || GMPUI.fiveLanes || GMPUI.angleShift || GMPUI.laneShift || GMPUI.sixLanes || GMPUI.fourLayers || GMPUI.reverse || GMPUI.chatIntegration || GMPUI.funky || GMPUI.oneColor || GMPUI.gnomeOnMiss || GMPUI.njsRandom || GMPUI.noArrows || GMPUI.randomSize || GMPUI.fixedNoteScale != 1f || GMPUI.offsetrandom) { // ApplyPatches(); UnityEngine.Random.InitState(Plugin.levelData.GameplayCoreSceneSetupData.difficultyBeatmap.beatmapData.notesCount); BS_Utils.Gameplay.ScoreSubmission.DisableSubmission("GameplayModifiersPlus"); if (GMPUI.njsRandom || GMPUI.offsetrandom) { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.RandomNjsOrOffset()); } if (GMPUI.removeCrouchWalls) { if (levelData.GameplayCoreSceneSetupData.gameplayModifiers.enabledObstacleType != GameplayModifiers.EnabledObstacleType.NoObstacles) { levelData.GameplayCoreSceneSetupData.gameplayModifiers.enabledObstacleType = GameplayModifiers.EnabledObstacleType.FullHeightOnly; } } if (GMPUI.sixLanes || GMPUI.fourLayers || GMPUI.fiveLanes || GMPUI.laneShift || GMPUI.angleShift) { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.ExtraLanes()); } if (GMPUI.noArrows) { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.NoArrows()); } if (GMPUI.swapSabers) { Log("Testing Ground Active"); try { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.TestingGround(10f)); } catch (Exception ex) { Log(ex.ToString()); } } if (GMPUI.oneColor) { Log("One Color Activating"); SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.OneColor()); } if (GMPUI.reverse) { Log("Map Reversal"); SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.PermaReverse()); } if (GMPUI.gnomeOnMiss == true) { if (spawnController != null) { spawnController.noteWasMissedEvent += delegate(BeatmapObjectSpawnController beatmapObjectSpawnController2, INoteController noteController) { if (noteController.noteData.noteType != NoteType.Bomb) { try { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.SpecialEvent()); Log("Gnoming"); } catch (Exception ex) { Log(ex.ToString()); } } }; spawnController.noteWasCutEvent += delegate(BeatmapObjectSpawnController beatmapObjectSpawnController2, INoteController noteController, NoteCutInfo noteCutInfo) { if (!noteCutInfo.allIsOK) { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.SpecialEvent()); Log("Gnoming"); } }; } } modifiersInit = true; } if (GMPUI.tunnel) { Log("Tunnel Activating"); SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.PermaEncasement(0f)); } }
public static IEnumerator CheckGMPModifiers() { yield return(new WaitForSeconds(0.1f)); if (GMPUI.EndlessMode || GMPUI.removeCrouchWalls || GMPUI.swapSabers || GMPUI.fiveLanes || GMPUI.angleShift || GMPUI.laneShift || GMPUI.sixLanes || GMPUI.fourLayers || GMPUI.reverse || GMPUI.chatIntegration || GMPUI.funky || GMPUI.njsRandom || GMPUI.noArrows || GMPUI.randomSize || GMPUI.fixedNoteScale != 1f || GMPUI.offsetrandom) { // ApplyPatches(); UnityEngine.Random.InitState(Plugin.levelData.GameplayCoreSceneSetupData.difficultyBeatmap.beatmapData.beatmapObjectsData.Count()); BS_Utils.Gameplay.ScoreSubmission.DisableSubmission("GameplayModifiersPlus"); if (GMPUI.njsRandom || GMPUI.offsetrandom) { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.RandomNjsOrOffset()); } if (GMPUI.removeCrouchWalls) { if (Plugin.levelData.GameplayCoreSceneSetupData.gameplayModifiers.enabledObstacleType != GameplayModifiers.EnabledObstacleType.NoObstacles) { Plugin.levelData.GameplayCoreSceneSetupData.gameplayModifiers.SetProperty("enabledObstacleType", GameplayModifiers.EnabledObstacleType.FullHeightOnly); } } if (GMPUI.sixLanes || GMPUI.fourLayers || GMPUI.fiveLanes || GMPUI.laneShift || GMPUI.angleShift) { bool notSafe = false; var songdata = SongCore.Collections.RetrieveDifficultyData(BS_Utils.Plugin.LevelData.GameplayCoreSceneSetupData.difficultyBeatmap); if (songdata == null) { notSafe = false; } else { if (songdata.additionalDifficultyData._requirements.Count() > 0) { notSafe = true; } } if (!notSafe) { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.ExtraLanes()); } else { Plugin.log.Warn("Not activating Mapping Extensions Modifiers for Map with Requirements"); } } if (GMPUI.noArrows) { SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.NoArrows()); } if (GMPUI.swapSabers) { Plugin.Log("Testing Ground Active"); try { Plugin.twitchPowers.StartCoroutine(TwitchPowers.TestingGround(10f)); } catch (Exception ex) { Plugin.Log(ex.ToString()); } } if (GMPUI.reverse) { Plugin.Log("Map Reversal"); SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.PermaReverse()); } } if (GMPUI.tunnel) { Plugin.Log("Tunnel Activating"); SharedCoroutineStarter.instance.StartCoroutine(TwitchPowers.PermaEncasement(0f)); } if (GMPUI.EndlessMode) { BS_Utils.Gameplay.ScoreSubmission.DisableSubmission("GameplayModifiersPlus"); new GameObject("GMP Endless Behavior").AddComponent <EndlessBehavior>(); } }