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