Пример #1
0
        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);
        }
Пример #2
0
        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);
        }