Esempio n. 1
0
        [PacketHandler(RealmServerOpCode.WarChatRequest)] //6718
        public static void WarChatRequestRequest(IRealmClient client, RealmPacketIn packet)
        {
            var faction = packet.ReadInt16(); //default : 1Len : 2
            var sessId  = packet.ReadInt16(); //default : 26Len : 2

            packet.Position += 20;
            var message = packet.ReadAsdaString(200, client.Locale); //default : Len : 204

            if (message.Length < 1 ||
                Commands.RealmCommandHandler.HandleCommand(client.ActiveCharacter, message,
                                                           client.ActiveCharacter.Target as Character))
            {
                return;
            }
            if (!client.ActiveCharacter.IsAsda2BattlegroundInProgress)
            {
                // client.ActiveCharacter.YouAreFuckingCheater("Trying to war chat in not war.");
                return;
            }
            if (client.ActiveCharacter.ChatBanned)
            {
                client.ActiveCharacter.SendInfoMsg("You are Banned");
                return;
            }
            var locale = Asda2EncodingHelper.MinimumAvailableLocale(client.Locale, message);

            SendWarChatResponseResponse(client.ActiveCharacter.CurrentBattleGround, client.ActiveCharacter.Name, message,
                                        client.ActiveCharacter.Asda2FactionId, locale);
        }
Esempio n. 2
0
        public static void PrivateShopChatReqRequest(IRealmClient client, RealmPacketIn packet)
        {
            packet.Position += 22;
            string str = packet.ReadAsciiString(client.Locale);

            if (client.ActiveCharacter.PrivateShop == null)
            {
                client.ActiveCharacter.YouAreFuckingCheater("Trying to chat to private shop while not exist shop.", 2);
            }
            else
            {
                Locale locale = Asda2EncodingHelper.MinimumAvailableLocale(client.Locale, str);
                client.ActiveCharacter.PrivateShop.SendMessage(str, client.ActiveCharacter, locale);
            }
        }
        public static void WarChatRequestRequest(IRealmClient client, RealmPacketIn packet)
        {
            int num1 = (int)packet.ReadInt16();
            int num2 = (int)packet.ReadInt16();

            packet.Position += 20;
            string str = packet.ReadAsdaString(200, client.Locale);

            if (str.Length < 1 ||
                RealmCommandHandler.HandleCommand((IUser)client.ActiveCharacter, str,
                                                  (IGenericChatTarget)(client.ActiveCharacter.Target as Character)) ||
                !client.ActiveCharacter.IsAsda2BattlegroundInProgress)
            {
                return;
            }
            Locale locale = Asda2EncodingHelper.MinimumAvailableLocale(client.Locale, str);

            Asda2BattlegroundHandler.SendWarChatResponseResponse(client.ActiveCharacter.CurrentBattleGround,
                                                                 client.ActiveCharacter.Name, str, (int)client.ActiveCharacter.Asda2FactionId, locale);
        }
Esempio n. 4
0
        [PacketHandler(RealmServerOpCode.SendRoomChatMessage)]//6246
        public static void SendRoomChatMessageRequest(IRealmClient client, RealmPacketIn packet)
        {
            var color = packet.ReadInt32();                      //default : -10240Len : 4

            packet.Position += 4;                                //nk9 default : 0Len : 4
            var message = packet.ReadAsciiString(client.Locale); //default : Len : 0

            if (client.ActiveCharacter.ChatRoom == null)
            {
                client.ActiveCharacter.SendInfoMsg("You are not in chat room.");
                return;
            }
            if (client.ActiveCharacter.ChatBanned)
            {
                client.ActiveCharacter.SendInfoMsg("you are banned");
                return;
            }
            var locale = Asda2EncodingHelper.MinimumAvailableLocale(client.Locale, message);

            SendRoomChatMsgResponse(client, client.ActiveCharacter.AccId, color, message, locale);
        }
Esempio n. 5
0
        [PacketHandler(RealmServerOpCode.GlobalChatWithItem)] //6560
        public static void GlobalChatWithItemRequest(IRealmClient client, RealmPacketIn packet)
        {
            packet.Position -= 24;
            var success = client.ActiveCharacter.Asda2Inventory.UseGlobalChatItem();

            if (!success)
            {
                return;
            }
            //var accId = packet.ReadInt32();//default : 0Len : 4
            packet.Position += 1;                            //nk1 default : 0Len : 1
            var msg = packet.ReadAsciiString(client.Locale); //default : Len : 0

            if (msg.Length < 1 ||
                RealmCommandHandler.HandleCommand(client.ActiveCharacter, msg,
                                                  client.ActiveCharacter.Target as Character))
            {
                return;
            }
            if (msg.Length > 200)
            {
                client.ActiveCharacter.YouAreFuckingCheater("Global chat message more than 200 symbols.", 80);
                return;
            }
            if (client.ActiveCharacter.ChatBanned)
            {
                client.ActiveCharacter.SendInfoMsg("Your chat is banned.");
                return;
            }
            if (GuessEventManager.Started)
            {
                GuessEventManager.TryGuess(msg, client.ActiveCharacter);
            }
            var locale = Asda2EncodingHelper.MinimumAvailableLocale(client.Locale, msg);

            SendGlobalChatWithItemResponseResponse(CreateSenderName(client.ActiveCharacter), msg, client.ActiveCharacter.ChatColor, locale);
        }