コード例 #1
0
        public override string Arm(ServerBattle battle, Say e, string arguments = null)
        {
            userList = new List <string>();

            if (string.IsNullOrEmpty(arguments?.Trim()))
            {
                // ringing idle
                foreach (var p in battle.Users.Values)
                {
                    if (p.IsSpectator)
                    {
                        continue;
                    }
                    var ingameEntry = battle.spring.Context.ActualPlayers.FirstOrDefault(x => x.Name == p.Name);
                    if ((p.SyncStatus != SyncStatuses.Synced || p.IsSpectator) || (battle.spring.IsRunning && ingameEntry?.IsSpectator == false && ingameEntry?.IsIngameReady == false))
                    {
                        userList.Add(p.Name);
                    }
                }
            }
            else
            {
                userList = battle.GetAllUserNames().Where(x => x.Contains(arguments)).ToList();
            }

            return($"Do you want to ring {userList.Count} players?");
        }
コード例 #2
0
        public override string Arm(ServerBattle battle, Say e, string arguments = null)
        {
            if (string.IsNullOrEmpty(arguments))
            {
                battle.Respond(e, "You must specify a player name");
                return(null);
            }

            target = battle.GetAllUserNames().FirstOrDefault(x => x.ToLower().Contains(arguments.ToLower()));
            if (target == null)
            {
                battle.Respond(e, "Player " + arguments + " not found!");
                return(null);
            }
            if (target == battle.FounderName)
            {
                battle.Respond(e, "Cannot kick the host");
                return(null);
            }

            if (e != null && battle.spring.IsRunning && battle.spring.LobbyStartContext?.Players.Any(x => x.Name == e.User && !x.IsSpectator) == false)
            {
                battle.Respond(e, "Only players can invoke this during a game");
                return(null);
            }
            return($"Do you want to kick {target}?");
        }
コード例 #3
0
        public override string Arm(ServerBattle battle, Say e, string arguments = null)
        {
            if (string.IsNullOrEmpty(arguments))
            {
                battle.Respond(e, "You must specify a player name");
                return null;
            }

            target = battle.GetAllUserNames().FirstOrDefault(x => x.Contains(arguments));
            if (target == null) target = arguments;
            return $"do you want to kick {target}?";
        }
コード例 #4
0
        public override string Arm(ServerBattle battle, Say e, string arguments = null)
        {
            if (string.IsNullOrEmpty(arguments))
            {
                target = null;
                return($"do you want to spectate AFK?");
            }

            target = battle.GetAllUserNames().FirstOrDefault(x => x.Contains(arguments));
            if (target == null)
            {
                battle.Respond(e, "Player not found");
                return(null);
            }
            return($"do you want to spectate {target}?");
        }
コード例 #5
0
        public override string Arm(ServerBattle battle, Say e, string arguments = null)
        {
            if (string.IsNullOrEmpty(arguments))
            {
                target = null;
                return $"do you want to spectate AFK?";
            }

            target = battle.GetAllUserNames().FirstOrDefault(x => x.Contains(arguments));
            if (target == null)
            {
                battle.Respond(e, "Player not found");
                return null;
            }
            return $"do you want to spectate {target}?";
        }
コード例 #6
0
        public override string Arm(ServerBattle battle, Say e, string arguments = null)
        {
            userList = new List<string>();

            if (string.IsNullOrEmpty(arguments?.Trim()))
            {
                // ringing idle
                foreach (var p in battle.Users.Values)
                {
                    if (p.IsSpectator) continue;
                    var ingameEntry = battle.spring.Context.ActualPlayers.FirstOrDefault(x => x.Name == p.Name);
                    if ((p.SyncStatus != SyncStatuses.Synced || p.IsSpectator) || (battle.spring.IsRunning && ingameEntry?.IsSpectator == false && ingameEntry?.IsIngameReady == false)) userList.Add(p.Name);
                }
            }
            else userList = battle.GetAllUserNames().Where(x => x.Contains(arguments)).ToList();

            return $"do you want to ring {userList.Count} players?";
        }
コード例 #7
0
        public override string Arm(ServerBattle battle, Say e, string arguments = null)
        {
            if (string.IsNullOrEmpty(arguments))
            {
                battle.Respond(e, "You must specify a player name");
                return(null);
            }

            target = battle.GetAllUserNames().FirstOrDefault(x => x.Contains(arguments));
            if (target == null)
            {
                target = arguments;
            }
            if (target == battle.FounderName)
            {
                battle.Respond(e, "Cannot kick the host");
                return(null);
            }
            return($"do you want to kick {target}?");
        }