Example #1
0
        /// <summary>
        /// Add a player to a guild with the specified rank
        /// </summary>
        /// <param name="addPlayer"></param>
        /// <param name="rank"></param>
        /// <returns></returns>
        public bool AddPlayer(GamePlayer addPlayer, DBRank rank)
        {
            if (addPlayer == null || addPlayer.Guild != null)
            {
                return(false);
            }

            if (log.IsDebugEnabled)
            {
                log.Debug("Adding player to the guild, guild name=\"" + Name + "\"; player name=" + addPlayer.Name);
            }

            try
            {
                AddOnlineMember(addPlayer);
                addPlayer.GuildName = Name;
                addPlayer.GuildID   = GuildID;
                addPlayer.GuildRank = rank;
                addPlayer.Guild     = this;
                addPlayer.SaveIntoDatabase();
                GuildMgr.AddPlayerToAllGuildPlayersList(addPlayer);
                addPlayer.Out.SendMessage("You have agreed to join " + Name + "!", eChatType.CT_Group, eChatLoc.CL_SystemWindow);
                addPlayer.Out.SendMessage("Your current rank is " + addPlayer.GuildRank.Title + "!", eChatType.CT_Group, eChatLoc.CL_SystemWindow);
                SendMessageToGuildMembers(addPlayer.Name + " has joined the guild!", eChatType.CT_Group, eChatLoc.CL_SystemWindow);
            }
            catch (Exception e)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error("AddPlayer", e);
                }

                return(false);
            }

            return(true);
        }