Esempio n. 1
0
    public static void Mine(TwitchModule module, string user, bool isWhisper)
    {
        if (isWhisper)
        {
            IRCConnection.SendMessage($"Sorry {user}, using mine on modules is not allowed in whispers", user, false);
            return;
        }

        // The module belongs to this user and there’s a takeover attempt in progress: cancel the takeover attempt
        if (module.PlayerName == user && module.TakeInProgress != null)
        {
            IRCConnection.SendMessageFormat(TwitchPlaySettings.data.ModuleIsMine, module.PlayerName, module.Code, module.HeaderText);
            module.StopCoroutine(module.TakeInProgress);
            module.TakeInProgress = null;
        }

        // The module isn’t claimed: just claim it
        else if (module.PlayerName == null)
        {
            IRCConnection.SendMessage(module.ClaimModule(user).Second);
        }

        // Someone else has a claim on the module
        else if (module.PlayerName != user)
        {
            IRCConnection.SendMessageFormat(TwitchPlaySettings.data.AlreadyClaimed, module.Code, module.PlayerName, user, module.HeaderText);
        }

        // If the user has a claim on the module but there’s no takeover attempt, just ignore this command
    }
Esempio n. 2
0
    private static void ClaimViewOrPin(TwitchModule module, string user, bool isWhisper, bool view, bool pin)
    {
        if (isWhisper)
        {
            IRCConnection.SendMessage($"Sorry {user}, claiming modules is not allowed in whispers", user, false);
            return;
        }

        var result = module.ClaimModule(user);

        IRCConnection.SendMessage(result.Second);
        if (result.First && view)
        {
            module.ViewPin(user, pin);
        }
    }
Esempio n. 3
0
    public static void Take(TwitchModule module, string user, bool isWhisper)
    {
        if (isWhisper)
        {
            IRCConnection.SendMessageFormat("Sorry {0}, taking modules is not allowed in whispers.", user);
        }
        else if (TwitchPlaySettings.data.AnarchyMode)
        {
            IRCConnection.SendMessageFormat("Sorry {0}, taking modules is not allowed in anarchy mode.", user);
        }

        // Attempt to take over from another user
        else if (module.PlayerName != null && user != module.PlayerName)
        {
            module.AddToClaimQueue(user);
            if (module.TakeInProgress == null)
            {
                IRCConnection.SendMessageFormat(TwitchPlaySettings.data.TakeModule, module.PlayerName, user, module.Code, module.HeaderText);
                module.TakeInProgress = module.TakeModule();
                module.StartCoroutine(module.TakeInProgress);
            }
            else
            {
                IRCConnection.SendMessageFormat(TwitchPlaySettings.data.TakeInProgress, user, module.Code, module.HeaderText);
            }
        }

        // Module is already claimed by the same user
        else if (module.PlayerName != null)
        {
            if (!module.PlayerName.Equals(user))
            {
                module.AddToClaimQueue(user);
            }
            IRCConnection.SendMessageFormat(TwitchPlaySettings.data.ModuleAlreadyOwned, user, module.Code, module.HeaderText);
        }

        // Module is not claimed at all: just claim it
        else
        {
            IRCConnection.SendMessage(module.ClaimModule(user).Second);
        }
    }