Exemplo n.º 1
0
        public void GuildRemove(RealmTime t, GuildRemovePacket pkt)
        {
            string pname = pkt.Name;

            try
            {
                Player p = RealmManager.FindPlayer(pname);
                if (p != null && p.Guild == Guild)
                {
                    Database db = new Database();
                    Guild    g  = db.ChangeGuild(p.Client.Account, p.Client.Account.Guild.Id, p.GuildRank, true);
                    p.Guild                = "";
                    p.GuildRank            = 0;
                    p.Client.Account.Guild = g;
                    p.UpdateCount++;
                    p.SendGuild("You have been kicked from the guild.");
                    foreach (var pl in RealmManager.GuildMembersOf(Guild))
                    {
                        pl.SendGuild(p.nName + " has been kicked from the guild by " + nName + ".");
                    }
                }
                else
                {
                    try
                    {
                        Database db    = new Database();
                        Account  other = db.GetAccount(pname);
                        if (other.Guild.Name == Guild)
                        {
                            db.ChangeGuild(other, other.Guild.Id, other.Guild.Rank, true);
                            foreach (var pl in RealmManager.GuildMembersOf(Guild))
                            {
                                pl.SendGuild(pname + " has been kicked from the guild by " + nName + ".");
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        client.SendPacket(new TextPacket()
                        {
                            BubbleTime = 0,
                            Stars      = -1,
                            Name       = "*Error*",
                            Text       = e.Message
                        });
                    }
                }
            }
            catch (Exception e)
            {
                client.SendPacket(new TextPacket()
                {
                    BubbleTime = 0,
                    Stars      = -1,
                    Name       = "*Error*",
                    Text       = e.Message
                });
            }
        }