public void AddMemberToGuild(Player player, Guild guild, Player inviter = null) { if (guild == null || player == null) { return; } if (guild.GuildMembers != null && guild.GuildMembers.Count > 30) { return; } lock (guild.MembersLock) { if (guild.GuildMembers == null || guild.GuildMembers.Count == 0) { guild.GuildMembers = new Dictionary <Player, int> { { player, 1 } } } ; else { guild.GuildMembers.Add(player, 2); } } AddHistoryEvent(guild, new HistoryEvent { Args = GuildHistoryStrings.UserXInvitedUserY(player.PlayerData.Name) /* TODO: * inviter != null * ? GuildHistoryStrings.UserXInvitedUserY(player.PlayerData.Name) * : GuildHistoryStrings.GuildCreate(player.PlayerData.Name)*/ }); player.Guild = guild; Communication.Global.VisibleService.Send(player, new SpCharacterGuildInfo(player, guild.GuildName, "Recruit")); Communication.Global.RelationService.ResendRelation(player); }
private void AddNewRank(Guild guild, GuildMemberRank rank) { if (guild == null) { return; } if (rank.RankName == "Guildmaster") { rank.RankPrivileges = 7; } guild.GuildRanks.Add(rank); AddHistoryEvent(guild, new HistoryEvent { Args = GuildHistoryStrings.AddNewRank(rank.RankName) }); UpdateGuild(guild); }