/// <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); }
private static DBRank CreateRank(Guild guild, int rankLevel) { DBRank rank = new DBRank(); rank.AcHear = false; rank.AcSpeak = false; rank.Alli = false; rank.Claim = false; rank.Emblem = false; rank.GcHear = true; rank.GcSpeak = false; rank.GuildID = guild.GuildID; rank.Invite = false; rank.OcHear = false; rank.OcSpeak = false; rank.Promote = false; rank.RankLevel = (byte)rankLevel; rank.Release = false; rank.Remove = false; rank.Title = "Rank " + rankLevel.ToString(); rank.Upgrade = false; rank.View = false; rank.View = false; rank.Dues = false; if (rankLevel < 9) { rank.GcSpeak = true; rank.View = true; if (rankLevel < 8) { rank.Emblem = true; if (rankLevel < 7) { rank.AcHear = true; if (rankLevel < 6) { rank.AcSpeak = true; if (rankLevel < 5) { rank.OcHear = true; if (rankLevel < 4) { rank.OcSpeak = true; if (rankLevel < 3) { rank.Invite = true; rank.Promote = true; if (rankLevel < 2) { rank.Release = true; rank.Upgrade = true; rank.Claim = true; if (rankLevel < 1) { rank.Remove = true; rank.Alli = true; rank.Dues = true; rank.Withdraw = true; rank.Title = "Guildmaster"; rank.Buff = true; } } } } } } } } } return(rank); }