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; } }
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; }
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; } } }
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; }