/// <summary>
        /// c_skill packet
        /// </summary>
        /// <param name="cSkillPacket"></param>
        public void OpenBazaar(CSkillPacket cSkillPacket)
        {
            if (ServerManager.Instance.InShutdown || Session.Character == null || Session.Character.InExchangeOrTrade)
            {
                return;
            }
            SpinWait.SpinUntil(() => !ServerManager.Instance.InBazaarRefreshMode);
            if (Session.Character.Authority >= AuthorityType.Vip && Session.Character.StaticBonusList.All(s => s.StaticBonusType != StaticBonusType.BazaarMedalGold))
            {
                Session.Character.StaticBonusList.Add(new StaticBonusDTO
                {
                    CharacterId     = Session.Character.CharacterId,
                    DateEnd         = DateTime.Now.AddDays(30),
                    StaticBonusType = StaticBonusType.BazaarMedalGold
                });
            }
            StaticBonusDTO medalBonus = Session.Character.StaticBonusList.FirstOrDefault(s => s.StaticBonusType == StaticBonusType.BazaarMedalGold || s.StaticBonusType == StaticBonusType.BazaarMedalSilver);

            if (medalBonus != null)
            {
                byte medal = medalBonus.StaticBonusType == StaticBonusType.BazaarMedalGold || (int)Session.Character.Authority >= 1 ? (byte)MedalType.Gold : (byte)MedalType.Silver;
                int  time  = (int)Session.Character.Authority >= 1 ? 720 : (int)(medalBonus.DateEnd - DateTime.Now).TotalHours;
                Session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("NOTICE_BAZAAR"), 0));
                Session.SendPacket($"wopen 32 {medal} {time}");
            }
            else
            {
                Session.SendPacket(UserInterfaceHelper.Instance.GenerateInfo(Language.Instance.GetMessageFromKey("INFO_BAZAAR")));
            }
        }
        /// <summary>
        /// c_skill packet
        /// </summary>
        /// <param name="cSkillPacket"></param>
        public void OpenBazaar(CSkillPacket cSkillPacket)
        {
            SpinWait.SpinUntil(() => !ServerManager.Instance.InBazaarRefreshMode);
            StaticBonusDTO medal = Session.Character.StaticBonusList.FirstOrDefault(s => s.StaticBonusType == StaticBonusType.BazaarMedalGold || s.StaticBonusType == StaticBonusType.BazaarMedalSilver);

            if (medal != null)
            {
                byte Medal = medal.StaticBonusType == StaticBonusType.BazaarMedalGold ? (byte)MedalType.Gold : (byte)MedalType.Silver;
                int  Time  = (int)(medal.DateEnd - DateTime.Now).TotalHours;
                Session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("NOTICE_BAZAAR"), 0));
                Session.SendPacket($"wopen 32 {Medal} {Time}");
            }
            else
            {
                Session.SendPacket(UserInterfaceHelper.Instance.GenerateInfo(Language.Instance.GetMessageFromKey("INFO_BAZAAR")));
            }
        }