Server.Guilds.Guild.CanVote C# (CSharp) Méthode

CanVote() public méthode

public CanVote ( Server.Mobile m ) : bool
m Server.Mobile
Résultat bool
		public bool CanVote( Mobile m )
		{
			return ( m != null && !m.Deleted && m.Guild == this );
		}
		public bool CanBeVotedFor( Mobile m )

Usage Example

Exemple #1
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (sender.Mobile is not PlayerMobile pm || !IsMember(pm, Guild) || !IsMember(m_Member, Guild))
            {
                return;
            }

            RankDefinition playerRank = pm.GuildRank;
            RankDefinition targetRank = m_Member.GuildRank;

            switch (info.ButtonID)
            {
            case 1:                     //Promote
            {
                if (playerRank.GetFlag(RankFlags.CanPromoteDemote) && ((playerRank.Rank - 1) > targetRank.Rank || (playerRank == RankDefinition.Leader && playerRank.Rank > targetRank.Rank)))
                {
                    targetRank = RankDefinition.Ranks[targetRank.Rank + 1];

                    if (targetRank == RankDefinition.Leader)
                    {
                        if (m_ToLeader)
                        {
                            m_Member.GuildRank = targetRank;
                            pm.SendLocalizedMessage(1063156, m_Member.Name);                                       // The guild information for ~1_val~ has been updated.
                            pm.SendLocalizedMessage(1063156, pm.Name);                                             // The guild information for ~1_val~ has been updated.
                            Guild.Leader = m_Member;
                        }
                        else
                        {
                            pm.SendLocalizedMessage(1063144);                                             // Are you sure you wish to make this member the new guild leader?
                            pm.SendGump(new GuildMemberInfoGump(Player, Guild, m_Member, false, true));
                        }
                    }
                    else
                    {
                        m_Member.GuildRank = targetRank;
                        pm.SendLocalizedMessage(1063156, m_Member.Name);                                         // The guild information for ~1_val~ has been updated.
                    }
                }
                else
                {
                    pm.SendLocalizedMessage(1063143);                                     // You don't have permission to promote this member.
                }
                break;
            }

            case 2:                     //Demote
            {
                if (playerRank.GetFlag(RankFlags.CanPromoteDemote) && playerRank.Rank > targetRank.Rank)
                {
                    if (targetRank == RankDefinition.Lowest)
                    {
                        if (RankDefinition.Lowest.Name.Number == 1062963)
                        {
                            pm.SendLocalizedMessage(1063333);                                             // You can't demote a ronin.
                        }
                        else
                        {
                            pm.SendMessage("You can't demote a {0}.", RankDefinition.Lowest.Name);
                        }
                    }
                    else
                    {
                        m_Member.GuildRank = RankDefinition.Ranks[targetRank.Rank - 1];
                        pm.SendLocalizedMessage(1063156, m_Member.Name);                                         // The guild information for ~1_val~ has been updated.
                    }
                }
                else
                {
                    pm.SendLocalizedMessage(1063146);                                     // You don't have permission to demote this member.
                }
                break;
            }

            case 3:                     //Set Guild title
            {
                if (playerRank.GetFlag(RankFlags.CanSetGuildTitle) && (playerRank.Rank > targetRank.Rank || m_Member == Player))
                {
                    pm.SendLocalizedMessage(1011128);                                     // Enter the new title for this guild member or 'none' to remove a title:

                    pm.BeginPrompt(new PromptCallback(SetTitle_Callback));
                }
                else if (m_Member.GuildTitle == null || m_Member.GuildTitle.Length <= 0)
                {
                    pm.SendLocalizedMessage(1070746);                                     // You don't have the permission to set that member's guild title.
                }
                else
                {
                    pm.SendLocalizedMessage(1063148);                                     // You don't have permission to change this member's guild title.
                }

                break;
            }

            case 4:                     //Vote
            {
                if (m_Member == pm.GuildFealty && Guild.Leader != m_Member)
                {
                    pm.SendLocalizedMessage(1063158);                            // You have cleared your vote for guild leader.
                }
                else if (Guild.CanVote(m_Member))                                //( playerRank.GetFlag( RankFlags.CanVote ) )
                {
                    if (m_Member == Guild.Leader)
                    {
                        pm.SendLocalizedMessage(1063424);                                         // You can't vote for the current guild leader.
                    }
                    else if (!Guild.CanBeVotedFor(m_Member))
                    {
                        pm.SendLocalizedMessage(1063425);                                         // You can't vote for an inactive guild member.
                    }
                    else
                    {
                        pm.GuildFealty = m_Member;
                        pm.SendLocalizedMessage(1063159, m_Member.Name);                                         // You cast your vote for ~1_val~ for guild leader.
                    }
                }
                else
                {
                    pm.SendLocalizedMessage(1063149);                                     // You don't have permission to vote.
                }
                break;
            }

            case 5:                     //Kick
            {
                if ((playerRank.GetFlag(RankFlags.RemovePlayers) && playerRank.Rank > targetRank.Rank) || (playerRank.GetFlag(RankFlags.RemoveLowestRank) && targetRank == RankDefinition.Lowest))
                {
                    if (m_toKick)
                    {
                        Guild.RemoveMember(m_Member);
                        pm.SendLocalizedMessage(1063157);                                         // The member has been removed from your guild.
                    }
                    else
                    {
                        pm.SendLocalizedMessage(1063152);                                         // Are you sure you wish to kick this member from the guild?
                        pm.SendGump(new GuildMemberInfoGump(Player, Guild, m_Member, true, false));
                    }
                }
                else
                {
                    pm.SendLocalizedMessage(1063151);                                     // You don't have permission to remove this member.
                }
                break;
            }
            }
        }