예제 #1
0
 public static void ParseCommand(string msg, string user, string color, string customRewardId)
 {
     if (!Config.generalParams.enableTwitchModifiers)
     {
         return;
     }
     if (customRewardId.Length == 0 && Config.generalParams.useChannelPoints)
     {
         MelonLogger.Msg("No channel points redeemed.");
         return;
     }
     if (msg.Substring(0, 1) == "!")
     {
         string command   = msg.Replace("!", "").Split(" ".ToCharArray())[0];
         string arguments = msg.Replace("!" + command + " ", "");
         if (color.Length == 0)
         {
             color = "\"white\"";
         }
         float amount = ParseAmount(arguments) / 100;
         if (amount < 0 && command != "zoffset")
         {
             return;
         }
         if (amount > 0 || (amount < 0 && command == "zoffset"))
         {
             if (command == "speed")
             {
                 if (amount == 1f)
                 {
                     return;
                 }
                 CommandManager.RegisterModifier(ModifierType.Speed, amount, user, color);
             }
             else if (command == "aa")
             {
                 CommandManager.RegisterModifier(ModifierType.AA, amount, user, color);
             }
             else if (command == "psy")
             {
                 CommandManager.RegisterModifier(ModifierType.Psychedelia, amount, user, color);
             }
             else if (command == "womble")
             {
                 if (amount == 1f)
                 {
                     return;
                 }
                 CommandManager.RegisterModifier(ModifierType.Wobble, amount, user, color);
             }
             else if (command == "particles")
             {
                 CommandManager.RegisterModifier(ModifierType.Particles, amount, user, color);
             }
             else if (command == "zoffset")
             {
                 if (amount == 0)
                 {
                     return;
                 }
                 CommandManager.RegisterModifier(ModifierType.ZOffset, amount, user, color);
             }
             else if (command == "scale")
             {
                 CommandManager.RegisterModifier(ModifierType.Scale, amount, user, color);
             }
             else if (command == "stutterchains")
             {
                 CommandManager.RegisterModifier(ModifierType.StutterChains, amount, user, color);
             }
         }
         else
         {
             if (command == "mines")
             {
                 CommandManager.RegisterModifier(ModifierType.Mines, user, color);
             }
             else if (command == "invisguns")
             {
                 CommandManager.RegisterModifier(ModifierType.InvisGuns, user, color);
             }
             else if (command == "wobble")
             {
                 CommandManager.RegisterModifier(ModifierType.Wobble, user, color);
             }
             else if (command == "wooble")
             {
                 CommandManager.RegisterModifier(ModifierType.Wobble, -2, user, color);
             }
             else if (command == "wrobl")
             {
                 CommandManager.RegisterModifier(ModifierType.Wobble, -3, user, color);
             }
             else if (command == "randomoffset")
             {
                 CommandManager.RegisterModifier(ModifierType.RandomOffset, user, color);
             }
             else if (command == "bettermelees")
             {
                 CommandManager.RegisterModifier(ModifierType.BetterMelees, user, color);
             }
             else if (command == "randomcolors")
             {
                 CommandManager.RegisterModifier(ModifierType.RandomColors, user, color);
             }
             else if (command == "colorswap")
             {
                 CommandManager.RegisterModifier(ModifierType.ColorSwap, user, color);
             }
             else if (command == "streammode")
             {
                 CommandManager.RegisterModifier(ModifierType.StreamMode, user, color);
             }
             else if (command == "hiddenteles")
             {
                 CommandManager.RegisterModifier(ModifierType.HiddenTelegraphs, user, color);
             }
             else if (command == "unifycolors")
             {
                 CommandManager.RegisterModifier(ModifierType.UnifyColors, user, color);
             }
             else if (command == "rtxon")
             {
                 CommandManager.RegisterModifier(ModifierType.TimingAttack, user, color);
             }
             else if (command == "dropnuke")
             {
                 //CommandManager.RegisterModifier(ModifierType.Nuke, user, color);
             }
             else if (command == "lightshow")
             {
                 //CommandManager.RegisterModifier(ModifierType.BopMode, user, color);
             }
         }
     }
 }