public void CheckSizeCommands(String message)
        {
            if (message.Contains("!gmm smaller") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("NormalSize"))
            {
                //      Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.ScaleNotes(0.7f, MultiMain.Config.smallerNoteDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.smallerNotesCooldown, "NormalSize", "Temporarily Scaling Notes"));
                Plugin.sizeActivated           = true;
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }

            if (message.Contains("!gmm larger") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("NormalSize") && !Plugin.sizeActivated)
            {
                //      Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.ScaleNotes(1.3f, MultiMain.Config.largerNotesDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.largerNotesCooldown, "NormalSize", "Temporarily Scaling Notes"));
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }

            if (message.Contains("!gmm random") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("Random"))
            {
                //       Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.RandomNotes(MultiMain.Config.randomNotesDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.randomNotesCooldown, "Random", "Randomly Scaling Notes"));
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }
        }
Beispiel #2
0
        public void Update()
        {
            if (!activated)
            {
                return;
            }

            if (Config.charges >= Config.maxCharges)
            {
                if (multiGMPDisplay.chargeText.text.Contains("Charging"))
                {
                    currentPowerUp = MultiPowers.GeneratePowerUp();
                    multiGMPDisplay.chargeText.text = currentPowerUp;
                }


                if ((GamePlayModifiersPlus.Plugin.leftController.triggerValue >= 0.8 || GamePlayModifiersPlus.Plugin.rightController.triggerValue >= 0.8))
                {
                    MultiClientInterface.SendCommand("!gmm " + currentPowerUp.ToLower());
                    Config.charges = 0;
                    currentPowerUp = "Charging...";
                    multiGMPDisplay.chargeText.text = currentPowerUp;
                }
            }
        }
        public void CheckGameplayCommands(String message)
        {
            if (message.Contains("!gmm da") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("DA"))
            {
                MultiMain.Log("Trying DA");
                //      Plugin.beepSound.Play();

                MultiMain.Powers.StartCoroutine(MultiPowers.TempDA(MultiMain.Config.daDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.daCooldown, "DA", "DA Active."));
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }

            if (message.Contains("!gmm njsrandom") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("RandomNJS"))
            {
                //         Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.NjsRandom(MultiMain.Config.njsRandomDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.njsRandomCooldown, "NJSRandom", "Random Note Jump Speed Active."));
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }
            if (message.Contains("!gmm noarrows") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("NoArrows"))
            {
                //       Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.TempNoArrows(MultiMain.Config.noArrowsDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.noArrowsCooldown, "NoArrows", "Temporary No Arrows Activated"));
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }
            if (message.Contains("!gmm funky") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("Funky"))
            {
                //           Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.Funky(MultiMain.Config.funkyDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.funkyCooldown, "Funky", "Funky Mode Activated"));
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }
            if (message.Contains("!gmm rainbow") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("Rainbow"))
            {
                //          Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.Rainbow(MultiMain.Config.rainbowDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.rainbowCooldown, "Rainbow", "Rainbow Activated"));

                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }

            if (message.Contains("!gmm bombs") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("Bombs") && MultiMain.Config.bombChance > 0)
            {
                //                Plugin.beepSound.Play();
                MultiMain.Powers.StartCoroutine(MultiPowers.RandomBombs(MultiMain.Config.bombDuration));
                MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.bombCooldown, "Bombs", "Sneaking Bombs into the map."));
                Plugin.commandsLeftForMessage -= 1;
                globalActive = true;
            }
        }
 public void CheckGlobalCoolDown()
 {
     if (MultiMain.Config.globalCommandCooldown > 0 && Plugin.cooldowns.GetCooldown("Global") == false && globalActive)
     {
         var text = GameObject.Find("Chat Powers").GetComponent <MultiGMPDisplay>().cooldownText;
         MultiMain.Powers.StartCoroutine(MultiPowers.GlobalCoolDown());
         text.text += " " + "Global" + " | ";
     }
     globalActive = false;
 }
Beispiel #5
0
 public static void Activate()
 {
     Log("Activating Multi UI");
     if (multiObject != null)
     {
         multiGMPDisplay = multiObject.AddComponent <MultiGMPDisplay>();
     }
     else
     {
         Log("Multi Object null, creating it");
         multiObject     = new GameObject("Multi Powers");
         Powers          = multiObject.AddComponent <MultiPowers>();
         multiGMPDisplay = multiObject.AddComponent <MultiGMPDisplay>();
     }
     Powers.StartCoroutine(MultiPowers.ChargeOverTime());
     activated = true;
 }
 public void CheckSpeedCommands(String message)
 {
     if (message.Contains("!gmm faster") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("Speed"))
     {
         //                Plugin.beepSound.Play();
         MultiMain.Powers.StartCoroutine(MultiPowers.SpeedChange(MultiMain.Config.fasterDuration, MultiMain.Config.fasterMultiplier));
         MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.fasterCooldown, "Speed", "Temporary faster song speed Active."));
         Plugin.commandsLeftForMessage -= 1;
         globalActive = true;
     }
     if (message.Contains("!gmm slower") && message.Contains(MultiClientInterface.version) && !Plugin.cooldowns.GetCooldown("Speed"))
     {
         //                Plugin.beepSound.Play();
         MultiMain.Powers.StartCoroutine(MultiPowers.SpeedChange(MultiMain.Config.slowerDuration, MultiMain.Config.slowerMultiplier));
         MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.slowerCooldown, "Speed", "Temporary slower song speed Active."));
         Plugin.commandsLeftForMessage -= 1;
         globalActive = true;
     }
 }
        public void CheckHealthCommands(String message)
        {
            if (!Plugin.cooldowns.GetCooldown("Health"))
            {
                if (message.Contains("!gmm instafail") && message.Contains(MultiClientInterface.version))
                {
                    //         Plugin.beepSound.Play();
                    MultiMain.Powers.StartCoroutine(MultiPowers.TempInstaFail(MultiMain.Config.instaFailDuration));
                    MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.instaFailCooldown, "Health", "Insta Fail Active."));
                    Plugin.healthActivated         = true;
                    Plugin.commandsLeftForMessage -= 1;
                    globalActive = true;
                }

                if (message.Contains("!gmm invincible") && message.Contains(MultiClientInterface.version) && !Plugin.healthActivated && !Plugin.cooldowns.GetCooldown("Health"))
                {
                    //          Plugin.beepSound.Play();
                    MultiMain.Powers.StartCoroutine(MultiPowers.TempInvincibility(MultiMain.Config.invincibleDuration));
                    MultiMain.Powers.StartCoroutine(MultiPowers.CoolDown(MultiMain.Config.invincibleCooldown, "Health", "Invincibility Active."));
                    Plugin.commandsLeftForMessage -= 1;
                    globalActive = true;
                }
            }
        }
Beispiel #8
0
        private void SceneManager_activeSceneChanged(Scene oldScene, Scene newScene)
        {
            if (multiGMPDisplay != null)
            {
                multiGMPDisplay.DestroyDis();
                GameObject.Destroy(multiGMPDisplay);
            }


            Config.charges = 0;
            activated      = false;
            MultiClientInterface.initialized = false;
            multiActive = BeatSaberMultiplayer.Client.Instance?.Connected;

            if (multiActive.Value)
            {
                MultiClientInterface.ResetName();
                if (newScene.name == "EmptyTransition")
                {
                    Log("Resetting Multi Powers Object");
                    if (multiObject != null)
                    {
                        GameObject.Destroy(multiObject);
                    }
                }
            }

            if (multiObject == null)
            {
                Log("Null Creation of Multi Powers Object");
                multiObject = new GameObject("Multi Powers");
                Powers      = multiObject.AddComponent <MultiPowers>();
            }

            //        }
            //        catch(Exception ex)
            //        {
            //           Log(ex.ToString());
            //        }


            if (newScene.name == "GameCore")
            {
                Log("GameCore");
                if (!GMPUI.allowMulti)
                {
                    Log("Multi Not Allowed, Returning");
                    return;
                }
                if (multiActive.Value)
                {
                    GamePlayModifiersPlus.TwitchStuff.GMPDisplay ChatDisplay = GameObject.Find("Chat Powers").GetComponent <GamePlayModifiersPlus.TwitchStuff.GMPDisplay>();
                    if (ChatDisplay != null)
                    {
                        ChatDisplay.Destroy();
                        GameObject.Destroy(ChatDisplay);
                    }
                    //    Log("MultiMain - Multi Level Started");
                    MultiClientInterface.Client_ClientLevelStarted();
                }
                else
                {
                    Log("Multi Not Active, Returning");
                }
            }
        }
 public static void Activate()
 {
     multiGMPDisplay = multiObject.AddComponent <MultiGMPDisplay>();
     Powers.StartCoroutine(MultiPowers.ChargeOverTime());
     activated = true;
 }