Example #1
0
 private static void SecureTrade_Open(int serial, PacketReader pvSrc)
 {
     string str;
     string str2;
     int num = pvSrc.ReadInt32();
     int num2 = pvSrc.ReadInt32();
     bool flag = pvSrc.ReadBoolean();
     Mobile player = World.Player;
     Mobile mobile2 = World.FindMobile(serial);
     if (((player == null) || ((str = player.Name) == null)) || ((str = str.Trim()).Length <= 0))
     {
         str = "Me";
     }
     if (flag)
     {
         str2 = pvSrc.ReadString();
     }
     else if (((mobile2 == null) || ((str2 = mobile2.Name) == null)) || ((str2 = str2.Trim()).Length <= 0))
     {
         str2 = "Them";
     }
     GSecureTrade toAdd = new GSecureTrade(num, null, str, str2);
     IFont uniFont = Engine.GetUniFont(1);
     IHue hue = Hues.Load(1);
     IHue hue2 = Hues.Load(0);
     Item item = World.WantItem(num);
     GSecureTradeCheck partner = new GSecureTradeCheck(250, 2, null, null);
     GSecureTradeCheck check2 = new GSecureTradeCheck(2, 2, item, partner);
     toAdd.Children.Add(check2);
     toAdd.Children.Add(partner);
     IContainer container = new GContainer(item, 0x52, hue2);
     toAdd.m_Container = container.Gump;
     container.Gump.X = 13;
     container.Gump.Y = 0x21;
     ((GContainer) container).m_TradeContainer = true;
     container.Gump.SetTag("Check1", check2);
     container.Gump.SetTag("Check2", partner);
     toAdd.Children.Add(container.Gump);
     item.Container = container;
     Item item2 = World.WantItem(num2);
     IContainer container2 = new GContainer(item2, 0x52, hue2) {
         Gump = { X = 0x8e, Y = 0x21 }
     };
     container2.Gump.SetTag("Check1", check2);
     container2.Gump.SetTag("Check2", partner);
     ((GContainer) container2).m_HitTest = false;
     ((GContainer) container2).m_TradeContainer = true;
     toAdd.Children.Add(container2.Gump);
     item2.Container = container2;
     if (Engine.Features.AOS)
     {
         toAdd.Tooltip = new ItemTooltip(item2);
     }
     Gumps.Desktop.Children.Add(toAdd);
 }
Example #2
0
        private static void Container_Open(PacketReader pvSrc)
        {
            int serial = pvSrc.ReadInt32();
            int gumpID = pvSrc.ReadInt16();
            int num3 = 0;
            if (gumpID == 0x30)
            {
                num3 = serial;
                serial = m_BuyMenuSerial;
            }
            Item item = World.WantItem(serial);
            int num4 = 10 + ((Engine.m_OpenedGumps++ % 20) * 10);
            if (item.Container != null)
            {
                item.Container.Close();
            }
            switch (gumpID)
            {
                case -1:
                    item.QueueOpenSB = true;
                    break;

                case 8:
                {
                    Mobile mobile = World.FindMobile(serial);
                    mobile.BigStatus = true;
                    mobile.OpenStatus(false);
                    break;
                }
                case 0x30:
                    if ((m_BuyMenuPrices != null) && (m_BuyMenuNames != null))
                    {
                        ArrayList items = item.Items;
                        int count = items.Count;
                        if (count > m_BuyMenuPrices.Length)
                        {
                            count = m_BuyMenuPrices.Length;
                        }
                        if (count > m_BuyMenuNames.Length)
                        {
                            count = m_BuyMenuNames.Length;
                        }
                        BuyInfo[] infoArray = new BuyInfo[count];
                        BuyInfo info = null;
                        for (int i = 0; i < count; i++)
                        {
                            infoArray[i] = new BuyInfo((Item) items[i], m_BuyMenuPrices[i], m_BuyMenuNames[i]);
                            if (((infoArray[i].ItemID == 0x2124) && (Engine.m_BuyHorse != null)) && (Engine.m_BuyHorse.Serial == num3))
                            {
                                info = infoArray[i];
                                info.dToBuy = 1.0;
                                info.ToBuy = 1;
                                Engine.m_BuyHorse = null;
                            }
                        }
                        if (info == null)
                        {
                            Gumps.Desktop.Children.Add(new GBuyGump(num3, infoArray));
                        }
                        else
                        {
                            Engine.AddTextMessage("Purchasing items.");
                            Network.Send(new PBuyItems(num3, infoArray));
                        }
                        m_BuyMenuPrices = null;
                        m_BuyMenuNames = null;
                    }
                    break;

                default:
                    IContainer container;
                    Engine.Sounds.PlayContainerOpen(gumpID);
                    if (((gumpID == 9) && (item.LastTextHue != null)) && ((item.LastTextHue.HueID() & 0x7fff) == 0x59))
                    {
                        container = new GContainer(item, gumpID, Hues.GetNotoriety(Notoriety.Innocent));
                    }
                    else
                    {
                        container = new GContainer(item, gumpID);
                    }
                    Gumps.Desktop.Children.Add(container.Gump);
                    item.Container = container;
                    break;
            }
        }