Example #1
0
        public void Start()
        {
            if (m_player.Group != null)
            {
                if (m_player != null)
                {
					bool groupHasBanner = false;

                    foreach (GamePlayer groupPlayer in m_player.Group.GetPlayersInTheGroup())
                    {
                        if (groupPlayer.GuildBanner != null)
						{
							groupHasBanner = true;
							break;
						}
					}

                    if (groupHasBanner == false)
                    {
						if (m_item == null)
						{
							GuildBannerItem item = new GuildBannerItem(GuildBannerTemplate);

							item.OwnerGuild = m_player.Guild;
							item.SummonPlayer = m_player;
							m_item = item;
						}

						m_player.GuildBanner = this;
						m_player.Stealth(false);
						AddHandlers();

                        if (m_timer != null)
                        {
                            m_timer.Stop();
                            m_timer = null;
                        }

                        m_timer = new RegionTimer(m_player, new RegionTimerCallback(TimerTick));
                        m_timer.Start(1);

                    }
                    else
                    {
                        m_player.Out.SendMessage("Someone in your group already has a guild banner active!", eChatType.CT_Loot, eChatLoc.CL_SystemWindow);
                    }
                }
                else
                {
                    if (m_timer != null)
                    {
                        m_timer.Stop();
                        m_timer = null;
                    }
                }
            }
            else if (m_player.Client.Account.PrivLevel == (int)ePrivLevel.Player)
            {
                m_player.Out.SendMessage("You have left the group and your guild banner disappears!", eChatType.CT_Loot, eChatLoc.CL_SystemWindow);
                m_player.GuildBanner = null;
                if (m_timer != null)
                {
                    m_timer.Stop();
                    m_timer = null;
                }
            }
        }
        public void Start()
        {
            if (m_player.Group != null)
            {
                if (m_player != null)
                {
                    bool groupHasBanner = false;

                    foreach (GamePlayer groupPlayer in m_player.Group.GetPlayersInTheGroup())
                    {
                        if (groupPlayer.GuildBanner != null)
                        {
                            groupHasBanner = true;
                            break;
                        }
                    }

                    if (groupHasBanner == false)
                    {
                        if (m_item == null)
                        {
                            GuildBannerItem item = new GuildBannerItem(GuildBannerTemplate);

                            item.OwnerGuild   = m_player.Guild;
                            item.SummonPlayer = m_player;
                            m_item            = item;
                        }

                        m_player.GuildBanner = this;
                        m_player.Stealth(false);
                        AddHandlers();

                        if (m_timer != null)
                        {
                            m_timer.Stop();
                            m_timer = null;
                        }

                        m_timer = new RegionTimer(m_player, new RegionTimerCallback(TimerTick));
                        m_timer.Start(1);
                    }
                    else
                    {
                        m_player.Out.SendMessage("Someone in your group already has a guild banner active!", eChatType.CT_Loot, eChatLoc.CL_SystemWindow);
                    }
                }
                else
                {
                    if (m_timer != null)
                    {
                        m_timer.Stop();
                        m_timer = null;
                    }
                }
            }
            else if (m_player.Client.Account.PrivLevel == (int)ePrivLevel.Player)
            {
                m_player.Out.SendMessage("You have left the group and your guild banner disappears!", eChatType.CT_Loot, eChatLoc.CL_SystemWindow);
                m_player.GuildBanner = null;
                if (m_timer != null)
                {
                    m_timer.Stop();
                    m_timer = null;
                }
            }
        }