Example #1
0
 private bool HandleClientEventDuelRequest(NetworkCommunicator peer, DuelRequest message)
 {
     if (peer == null || peer.GetComponent <MissionPeer>() == null || (peer.GetComponent <MissionPeer>().ControlledAgent == null || message.RequestedAgent == null))
     {
         return(false);
     }
     this.DuelRequestReceived(peer.GetComponent <DuelMissionRepresentative>().ControlledAgent, message.RequestedAgent);
     return(true);
 }
Example #2
0
        public static void OpenDuelRequest(int id)
        {
            logger.Trace("Open Duel Request Form");

            DuelRequest request = new DuelRequest(Client.DuelRequestAdmin, id);

            request.Topmost = true;
            request.Show();
            Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(() => request.Activate()));
        }
Example #3
0
        private void OnMessage(string data)
        {
            ChatMessage message = JsonConvert.DeserializeObject <ChatMessage>(data);

            if (message.From == null)
            {
                return;
            }
            if (message.From.Username.Equals(Program.Config.Username))
            {
                return;
            }

            if (message.Message.ToLower().Contains(Program.Config.Username.ToLower()) && message.Message.ToLower().Contains("duel") &&
                (Client.HostEnabled || message.From.Username.Equals(Program.Config.BotOwner)))
            {
                ServerInfo server = Client.GetServer();
                if (server != null)
                {
                    DuelRequest request = new DuelRequest(message.From.Username, server.ServerName, Client.GetRandomDuelName(true));
                    Chat.Send(DevServerPacket.RequestDuel, JsonConvert.SerializeObject(request));
                }
            }
            if (message.Type == (int)MessageType.PrivateMessage)
            {
                if (message.From.Username.Equals(Program.Config.BotOwner))
                {
                    if (message.Message.ToLower().Equals("autohost"))
                    {
                        Client.HostEnabled = !Client.HostEnabled;
                        Client.SendChatPrivateMessage(message.From.Username, "Auto host is now " + (Client.HostEnabled ? "enabled" : "disabled") + ".");
                    }
                    else if (message.Message.ToLower().StartsWith("msg "))
                    {
                        Client.SendChatMessage(message.Message.Substring(4));
                    }
                }
                else
                {
                    if (message.Message.ToLower().StartsWith("login "))
                    {
                        string passEntered = message.Message.Substring(6);
                        if (passEntered == Program.Config.OwnerPass)
                        {
                            Program.Config.BotOwner = message.From.Username;
                            Config.SaveConfig(Program.Config);
                            Client.SendChatPrivateMessage(message.From.Username, "You are now the bot owner.");
                        }
                    }
                }
            }
        }
Example #4
0
        private void OnStartDuel(string data)
        {
            DuelRequest duel   = JsonConvert.DeserializeObject <DuelRequest>(data);
            ServerInfo  server = Client.GetServer(duel.Server);

            if (server != null)
            {
                Logger.WriteLine("Duel requested. Room informations are " + duel.DuelFormatString + ".");
                GameClient game = new GameClient(Client, server, duel.DuelFormatString);
                game.Start();
                Client.AddGameClient(game);
            }
        }
Example #5
0
        public void OnMatchStart(DuelRequest request)
        {
            ServerInfo server = null;

            if (Program.ServerList.ContainsKey(request.server))
            {
                server = Program.ServerList[request.server];
            }
            if (server != null)
            {
                LauncherHelper.GenerateConfig(server, request.duelformatstring, 1);
                LauncherHelper.RunGame("-f");
            }
            ResetQueue();
        }
Example #6
0
        private void OnDuelRequest(string data)
        {
            DuelRequest duel = JsonConvert.DeserializeObject <DuelRequest>(data);

            if (duel.Username.Equals(Program.Config.BotOwner))
            {
                Chat.Send(DevServerPacket.AcceptDuel);
            }
            else if (!Client.HostEnabled)
            {
                Client.SendChatPrivateMessage(duel.Username, "Sorry but duels are currently disabled. Try again later.");
                Chat.Send(DevServerPacket.RefuseDuel);
            }
            else if (duel.DuelFormatString.StartsWith("200OOO8000,0,5,1,UL,"))
            {
                Chat.Send(DevServerPacket.AcceptDuel);
            }
            else
            {
                Client.SendChatPrivateMessage(duel.Username, "Sorry, I only accept allowed single TCG/OCG duels. Please change your request settings. (Options > Request Settings)");
                Chat.Send(DevServerPacket.RefuseDuel);
            }
        }
Example #7
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="Statistics" /> class.
        /// </summary>
        public Statistics()
        {
            _startTime = Environment.TickCount;

            WoWEventHandler.Instance.OnXpGain += (sender, args) =>
            {
                XpGained += args.Xp;
                OnPropertyChanged(nameof(XpGained));
                OnPropertyChanged(nameof(XpHour));
            };

            WoWEventHandler.Instance.LevelUp += (sender, args) =>
            {
                LevelUps++;
                OnPropertyChanged(nameof(LevelUps));
            };

            WoWEventHandler.Instance.OnDeath += (sender, args) =>
            {
                Deaths++;
                OnPropertyChanged(nameof(Deaths));
            };

            WoWEventHandler.Instance.OnDisconnect += (sender, args) =>
            {
                Disconnects++;
                OnPropertyChanged(nameof(Disconnects));
            };

            WoWEventHandler.Instance.OnDuelRequest += (sender, args) =>
            {
                var req = new DuelRequest(args.Player);
                _duelRequests.Add(req);
                OnPropertyChanged(nameof(DuelRequests));
                OnPropertyChanged(nameof(DuelRequestsCount));
            };

            WoWEventHandler.Instance.OnGuildInvite += (sender, args) =>
            {
                var invite = new GuildInvite(args.Player, args.Guild);
                _guildInvites.Add(invite);
                OnPropertyChanged(nameof(GuildInvites));
                OnPropertyChanged(nameof(GuildInvitesCount));
            };

            WoWEventHandler.Instance.OnUnitKilled += (sender, args) =>
            {
                UnitsKilled++;
                OnPropertyChanged(nameof(UnitsKilled));
            };

            WoWEventHandler.Instance.OnLoot += (sender, args) =>
            {
                var loot = new Loot(args.ItemName, args.ItemId, args.Count);
                _lootList.Add(loot);
                OnPropertyChanged(nameof(LootList));
                OnPropertyChanged(nameof(LootListCount));
            };

            WoWEventHandler.Instance.OnPartyInvite += (sender, args) =>
            {
                var party = new PartyInvite(args.Player);
                _partyInvites.Add(party);
                OnPropertyChanged(nameof(PartyInvites));
                OnPropertyChanged(nameof(PartyInvitesCount));
            };

            _runningTimer = new Timer(1000 * 5)
            {
                AutoReset = true
            };
            _runningTimer.Elapsed += (sender, args) =>
            {
                OnPropertyChanged(nameof(RunningSince));
                var player = ObjectManager.Instance.Player;
                if (player == null)
                {
                    return;
                }
                ToonName = player.Name;
                var money = player.Money;
                if (_startCopperCount == null)
                {
                    _startCopperCount = money;
                }
                CopperGained = money - _startCopperCount.Value;
            };
            _runningTimer.Start();

            WoWEventHandler.Instance.OnTradeShow += (sender, args) =>
            {
                TradeRequests++;
                OnPropertyChanged(nameof(TradeRequests));
            };
        }