Example #1
0
 public void CancelTrade()
 {
     if (FisrtChar != null)
     {
         Asda2TradeHandler.SendTradeRejectedResponse(FisrtChar.Client);
         FisrtChar.Asda2TradeWindow = null;
     }
     if (SecondChar != null)
     {
         Asda2TradeHandler.SendTradeRejectedResponse(SecondChar.Client);
         SecondChar.Asda2TradeWindow = null;
     }
     CleanUp();
 }
Example #2
0
        public void CancelTrade()
        {
            if (this.FisrtChar != null)
            {
                Asda2TradeHandler.SendTradeRejectedResponse(this.FisrtChar.Client);
                this.FisrtChar.Asda2TradeWindow = (Asda2TradeWindow)null;
            }

            if (this.SecondChar != null)
            {
                Asda2TradeHandler.SendTradeRejectedResponse(this.SecondChar.Client);
                this.SecondChar.Asda2TradeWindow = (Asda2TradeWindow)null;
            }

            this.CleanUp();
        }
Example #3
0
        public static void TradeRequestRequest(IRealmClient client, RealmPacketIn packet)
        {
            if (client.ActiveCharacter.Asda2TradeWindow != null)
            {
                if (client.ActiveCharacter.Asda2TradeWindow.Expired)
                {
                    client.ActiveCharacter.Asda2TradeWindow.CancelTrade();
                }
                else
                {
                    client.ActiveCharacter.SendSystemMessage("You already trading.");
                    Asda2TradeHandler.SendTradeRejectedResponse(client);
                    return;
                }
            }

            ushort         sessId               = packet.ReadUInt16();
            Asda2TradeType tradeType            = (Asda2TradeType)packet.ReadByte();
            Character      characterBySessionId = World.GetCharacterBySessionId(sessId);

            if (characterBySessionId == null)
            {
                client.ActiveCharacter.SendSystemMessage("Sorry, but i can't find character you want trade.");
                Asda2TradeHandler.SendTradeRejectedResponse(client);
            }
            else if (characterBySessionId.Map != client.ActiveCharacter.Map)
            {
                characterBySessionId.YouAreFuckingCheater("Trying to buy items from character with another map.", 50);
                Asda2TradeHandler.SendTradeRejectedResponse(client);
            }
            else if (!characterBySessionId.EnableGeneralTradeRequest && tradeType == Asda2TradeType.RedularTrade)
            {
                client.ActiveCharacter.SendSystemMessage(string.Format("{0} rejected all general trade requests.",
                                                                       (object)characterBySessionId.Name));
                Asda2TradeHandler.SendTradeRejectedResponse(client);
            }
            else if (!characterBySessionId.EnableGearTradeRequest && tradeType == Asda2TradeType.ShopItemsTrade)
            {
                client.ActiveCharacter.SendSystemMessage(string.Format("{0} rejected all gear trade requests.",
                                                                       (object)characterBySessionId.Name));
                Asda2TradeHandler.SendTradeRejectedResponse(client);
            }
            else if (client.ActiveCharacter.PrivateShop != null)
            {
                client.ActiveCharacter.YouAreFuckingCheater(
                    "Target character is in private shop and can't accept trade.", 20);
                Asda2TradeHandler.SendTradeRejectedResponse(client);
            }
            else if (client.ActiveCharacter.IsAsda2BattlegroundInProgress)
            {
                client.ActiveCharacter.SendInfoMsg("Can't trade on war.");
                Asda2TradeHandler.SendTradeRejectedResponse(client);
            }
            else if (characterBySessionId.PrivateShop != null)
            {
                Asda2TradeHandler.SendTradeRejectedResponse(client);
            }
            else
            {
                Asda2TradeWindow asda2TradeWindow = new Asda2TradeWindow()
                {
                    FisrtChar  = client.ActiveCharacter,
                    SecondChar = characterBySessionId
                };
                asda2TradeWindow.Init();
                client.ActiveCharacter.Asda2TradeWindow = asda2TradeWindow;
                characterBySessionId.Asda2TradeWindow   = asda2TradeWindow;
                asda2TradeWindow.TradeType = tradeType;
                Asda2TradeHandler.SendTradeRequestResponse(characterBySessionId.Client, client.ActiveCharacter,
                                                           tradeType);
            }
        }