Пример #1
0
 protected virtual void HandleCounterOfferMessage(CounterOfferMessage Message)
 {
     foreach (ObjectBase obj in Message.OfferedItems)
     {
         obj.ResolveResources(resourceManager, false);
         obj.DecompressResources();
     }
 }
Пример #2
0
        /// <summary>
        /// Handles a counteroffer (you offered first)
        /// </summary>
        /// <param name="Message"></param>
        protected override void HandleCounterOfferMessage(CounterOfferMessage Message)
        {
            base.HandleCounterOfferMessage(Message);

            if (Data.Trade.TradePartner == null)
            {
                return;
            }

            // accept anything from configured admins in config
            if (Config.IsAdmin(Data.Trade.TradePartner.Name))
            {
                // tell admin
                SendSayGroupMessage(
                    Data.Trade.TradePartner.ID,
                    "Thank you, master " + Data.Trade.TradePartner.Name);

                // accept
                SendAcceptOffer();
            }
        }
Пример #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="Message"></param>
 protected virtual void HandleCounterOfferMessage(CounterOfferMessage Message)
 {
 }
Пример #4
0
        /// <summary>
        /// Handles a counteroffer (you offered first)
        /// </summary>
        /// <param name="Message"></param>
        protected override void HandleCounterOfferMessage(CounterOfferMessage Message)
        {
            base.HandleCounterOfferMessage(Message);

            if (Data.Trade.TradePartner == null)
            {
                return;
            }

            // accept anything from configured admins in config
            if (Config.IsAdmin(Data.Trade.TradePartner.Name))
            {
                // tell admin
                SendSayGroupMessage(
                    new uint[] { Data.Trade.TradePartner.ID },
                    Config.ChatPrefixString + "Thank you, master " + Data.Trade.TradePartner.Name);

                // preserve partnername (gets cleaned next call)
                string partnername = String.Copy(Data.Trade.TradePartner.Name);

                // do trade
                SendAcceptOffer();

                if (!isGiveCashOffer)
                {
                    RoomObject roomObject = Data.RoomObjects.GetItemByName(partnername, false);

                    Thread BuffThread = new Thread(delegate() { PerformBuff(roomObject, partnername); });
                    BuffThread.Start();
                }
                else
                {
                    isGiveCashOffer = false;
                    return;
                }

                // exit
                return;
            }

            uint offeredsum  = 0;
            uint expectedsum = Config.Buffprice;

            // get how much he offers us
            foreach (ObjectBase obj in Data.Trade.ItemsPartner)
            {
                if (obj.Name == NAME_SHILLING)
                {
                    offeredsum += obj.Count;
                }
            }

            // if he offered enough, accept
            if (offeredsum >= expectedsum)
            {
                // tell customer
                SendSayGroupMessage(
                    Data.Trade.TradePartner.ID,
                    Config.ChatPrefixString + "Thank you for business.");

                // preserve partnername (gets cleaned next call)
                string partnername = String.Copy(Data.Trade.TradePartner.Name);

                // do trade
                SendAcceptOffer();

                Log("GOOD", "I sold buffs to " + partnername + " for " + offeredsum + " shillings.");

                RoomObject roomObject = Data.RoomObjects.GetItemByName(partnername, false);

                Thread BuffThread = new Thread(delegate() { PerformBuff(roomObject, partnername); });
                BuffThread.Start();
            }
            else
            {
                // tell customer
                SendSayGroupMessage(
                    Data.Trade.TradePartner.ID,
                    Config.ChatPrefixString + "Sorry, I was expecting " + expectedsum + " shillings from you.");

                SendCancelOffer();
            }
        }
Пример #5
0
        /// <summary>
        /// Handles a counteroffer (you offered first)
        /// </summary>
        /// <param name="Message"></param>
        protected override void HandleCounterOfferMessage(CounterOfferMessage Message)
        {
            base.HandleCounterOfferMessage(Message);

            if (Data.Trade.TradePartner == null)
            {
                return;
            }

            // accept anything from configured admins in config
            if (Config.IsAdmin(Data.Trade.TradePartner.Name))
            {
                // tell admin
                SendSayGroupMessage(
                    new uint[] { Data.Trade.TradePartner.ID },
                    Config.ChatPrefixString + "Thank you, master " + Data.Trade.TradePartner.Name);

                // accept
                SendAcceptOffer();

                // exit
                return;
            }

            uint offeredsum  = 0;
            uint expectedsum = 0;

            // get how much he offers us
            foreach (ObjectBase obj in Data.Trade.ItemsPartner)
            {
                if (obj.Name == NAME_SHILLING)
                {
                    offeredsum += obj.Count;
                }
            }

            // get how much we want for that
            foreach (ObjectBase obj in Data.Trade.ItemsYou)
            {
                ShopItem entry = Config.OfferListGetItemByName(obj.Name);

                if (entry != null)
                {
                    uint count = (obj.IsStackable) ? obj.Count : 1;
                    expectedsum += (entry.UnitPrice * count);
                }
            }

            // if he offered enough, accept
            if (offeredsum >= expectedsum)
            {
                // tell customer
                SendSayGroupMessage(
                    Data.Trade.TradePartner.ID,
                    Config.ChatPrefixString + TELL_THANKS);

                // preserve partnername (gets cleaned next call)
                string partnername = String.Copy(Data.Trade.TradePartner.Name);

                // do trade
                SendAcceptOffer();

                Log("GOOD", "I sold something to " + partnername + " for " + offeredsum + " shillings.");
            }
            else
            {
                // tell customer
                SendSayGroupMessage(
                    Data.Trade.TradePartner.ID,
                    Config.ChatPrefixString + "Sorry, I was expecting " + expectedsum + " shillings from you.");

                SendCancelOffer();
            }
        }