示例#1
0
 public static void DisableScoreSubmissionIfNeeded()
 {
     if (PluginConfig.Instance.SlowmoDuringThrow)
     {
         ScoreSubmission.DisableSubmission("TrickSaber");
     }
 }
#pragma warning restore IDE0051 // Used by MonoBehaviour

        private void Load()
        {
            // Check for modes that would force changes to the config for the current map
            for (int i = 0; i < SceneManager.sceneCount; i++)
            {
                // Disable hitbox scaling and cosmetic length scaling in multiplayer
                if (SceneManager.GetSceneAt(i).name == "MultiplayerGameplay")
                {
                    LengthMultiplier    = 1;
                    EnableHitboxScaling = false;
                    IsMultiplayerEnv    = true;
                    Logger.log.Info("Multiplayer environment detected, disabling hitbox scaling and cosmetic length scaling.");
                }

                // Disable hitbox scaling in mission gameplay
                if (SceneManager.GetSceneAt(i).name == "MissionGameplay")
                {
                    EnableHitboxScaling = false;
                    Logger.log.Info("Campaign environment detected, disabling hitbox scaling.");
                }
            }

            // Allow the user to run in any other mode, but don't allow ScoreSubmission if hitbox scaling is enabled
            if (EnableHitboxScaling)
            {
                ScoreSubmission.DisableSubmission(Plugin.PluginName);
                Logger.log.Info("ScoreSubmission has been disabled.");
            }

            StartCoroutine(ApplyGameCoreModifications());
        }
示例#3
0
        private void CheckActivation()
        {
            IDifficultyBeatmap difficultyBeatmap = BS_Utils.Plugin.LevelData.GameplayCoreSceneSetupData.difficultyBeatmap;

            ExtraSongData.DifficultyData difficultyData = Collections.RetrieveDifficultyData(difficultyBeatmap);

            if (difficultyData != null)
            {
                if (Config.swingMode)
                {
                    active = true;
                    ExtraBeatmapData.ParseExtraDataForSong();
                    ScoreSubmission.DisableSubmission("360 Mode");
                }
                else
                {
                    if (difficultyData.additionalDifficultyData._requirements.Contains("360 Mode"))
                    {
                        active = true;
                        ExtraBeatmapData.ParseExtraDataForSong();
                    }
                    else
                    {
                        active = false;
                    }
                }
            }
            else
            {
                active = false;
            }
        }
示例#4
0
        internal static void SetupMods()
        {
            bool disableScore = false;

            BS_Utils.Plugin.LevelDidFinishEvent += Plugin_LevelDidFinishEvent;

            MissHell.SetupHell();
            ChallengeMode.SetupMode();

            if (FuckeryUI.OneAtATime.Enabled)
            {
                OAAT();
            }

            if (FuckeryUI.InvisibleSabers.Enabled)
            {
                InvisbleSabers();
            }

            if (FuckeryUI.ModsEnabled())
            {
                disableScore = true;
            }

            if (disableScore)
            {
                ScoreSubmission.DisableSubmission("Nova's Fuckery");
            }
        }
示例#5
0
        public static bool PreLevelFailed()
        {
            if (!Gamemode.IsPartyActive)
            {
                ScoreSubmission.DisableSubmission("NoFailPlus");
            }

            return(!Plugin.config.Value.Enable);
        }
示例#6
0
 void OnGameLoaded(Scene loadedScene)
 {
     if (PluginConfig.Instance.Enabled)
     {
         ScoreSubmission.DisableSubmission("BSCM");
         var gameCore = loadedScene.GetRootGameObjects().First();
         _remoteSaber = new RemoteSaber(gameCore);
     }
 }
示例#7
0
 private void SceneManager_activeSceneChanged(Scene arg0, Scene arg1)
 {
     if (arg1.name == "GameCore")
     {
         CustomNotes.Data.CustomNote activeNote = CustomNotes.Utilities.NoteAssetLoader.CustomNoteObjects[CustomNotes.Utilities.NoteAssetLoader.SelectedNote];
         if (activeNote.Descriptor.NoteName.ToLower().Contains("ddr notes"))
         {
             ScoreSubmission.DisableSubmission("DDR Saber");
         }
     }
 }
示例#8
0
        internal static void SetupMods()
        {
            bool disableScore = false;

            if (noraUI.ModsEnabled())
            {
                disableScore = true;
            }

            if (disableScore)
            {
                ScoreSubmission.DisableSubmission("Nora's Fuckery");
            }
        }
示例#9
0
 public void GameSceneLoaded()
 {
     _currentScene = _gameSceneName;
     DestroyPlayerControllers();
     DestroyScoreScreens();
     if (Client.Instance != null && Client.Instance.connected)
     {
         StartCoroutine(WaitForControllers());
         needToSendUpdates = true;
         if (Config.Instance.SubmitScores == 0 || Config.Instance.SpectatorMode || Client.disableScoreSubmission)
         {
             ScoreSubmission.DisableSubmission("Beat Saber Multiplayer");
         }
     }
 }
        public void OnActiveSceneChanged(Scene oldScene, Scene newScene)
        {
            _init = false;

            if (newScene.name == "GameCore")
            {
                Config.Read();

                if (Config.parabola || Config.noBlue || Config.noRed || Config.redToBlue || Config.blueToRed || Config.centering ||
                    Config.feet || Config.noDirection || Config.flatNotes || Config.superhot || Config.vacuum)
                {
                    ScoreSubmission.DisableSubmission(Plugin.Name);
                }

                StartCoroutine(OnGameCoreCoroutine());
            }
        }
示例#11
0
 private static void OnGameSceneActive()
 {
     if (CurrentSceneState == SceneState.Game)
     {
         return;
     }
     if (GameNoteControllerAwakePatch.colorSuckers == null)
     {
         GameNoteControllerAwakePatch.colorSuckers = new List <ColorSucker>();
     }
     else
     {
         GameNoteControllerAwakePatch.colorSuckers.Clear();
     }
     if (config.Value.Enabled && (FightSabersGameplaySetup.instance.ColorSuckerEnabled ||
                                  FightSabersGameplaySetup.instance.NoteShrinkerEnabled ||
                                  FightSabersGameplaySetup.instance.TimeWarperEnabled))
     {
         config.Value.Enabled = false;
         OverlayViewController.instance.fsDisableContainerState  = !config.Value.Enabled;
         OverlayViewController.instance.experienceContainerState = config.Value.Enabled;
         configProvider.Store(config.Value);
     }
     if (config.Value.Enabled)
     {
         ScoreSubmission.DisableSubmission("FightSabers");
         MonsterGenerator.Create();
         QuestManager.instance.LinkGameEventsForActivatedQuests();
     }
     else if (FightSabersGameplaySetup.instance.ColorSuckerEnabled || FightSabersGameplaySetup.instance.NoteShrinkerEnabled || FightSabersGameplaySetup.instance.TimeWarperEnabled)
     {
         ScoreSubmission.DisableSubmission("FightSabers");
         var go = new GameObject("[FS|ModifierManager]");
         var modifierManager = go.AddComponent <ModifierManager>();
         var modifiers       = new List <Type>();
         if (FightSabersGameplaySetup.instance.ColorSuckerEnabled)
         {
             modifiers.Add(typeof(ColorSucker));
         }
         if (FightSabersGameplaySetup.instance.NoteShrinkerEnabled)
         {
             modifiers.Add(typeof(NoteShrinker));
         }
         if (FightSabersGameplaySetup.instance.TimeWarperEnabled)
         {
             modifiers.Add(typeof(TimeWarper));
         }
         modifierManager.modifiers            = modifiers.ToArray();
         modifierManager.noteShrinkerStrength = FightSabersGameplaySetup.instance.NoteShrinkerStrength;
         modifierManager.colorSuckerStrength  = FightSabersGameplaySetup.instance.ColorSuckerStrength;
         modifierManager.timeWarperStrength   = FightSabersGameplaySetup.instance.TimeWarperStrength;
         new UnityTask(modifierManager.ConfigureModifiers(0.05f));
         var scoreControllerManager = go.AddComponent <ScoreControllerManager>();
         scoreControllerManager.BombCut += self => {
             modifierManager.ReduceColorSuckerColorness();
         };
         scoreControllerManager.NoteCut += self => {
             modifierManager.ImproveColorSuckerColorness();
         };
         scoreControllerManager.NoteMissed += self => {
             modifierManager.ReduceColorSuckerColorness();
         };
     }
     CurrentSceneState = SceneState.Game;
 }