public void ChangeRank(GuildRankChangePacket pkt) { using(Database dbx = new Database()) { if (psr.Account.Guild.Name == "") { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "You don't have a guild!" }); return; } switch (psr.Account.Guild.Rank) { case 0: psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "Only officers, leaders and founders can promote/demote other members!" }); return; case 10: psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "Only officers, leaders and founders can promote/demote other members!" }); return; case 20: switch (pkt.Rank) { case 0: dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 10: if (dbx.GetAccount(pkt.Name).Guild.Rank == psr.Account.Guild.Rank) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "You can't demote members with your same rank!" }); return; } dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 20: psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "Only leaders and founders can promote other members to officers!" }); return; case 30: psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "Only leaders and founders can promote other members to leaders!" }); return; case 40: psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "You can't promote someone to founder!" }); return; } return; case 30: switch (pkt.Rank) { case 0: dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 10: dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 20: if (dbx.GetAccount(pkt.Name).Guild.Rank == psr.Account.Guild.Rank) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "You can't demote members with your same rank!" }); return; } dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 30: dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 40: psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "You can't promote someone to founder!" }); return; } return; case 40: switch (pkt.Rank) { case 0: dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 10: dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 20: dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 30: if (dbx.GetAccount(pkt.Name).Guild.Rank == psr.Account.Guild.Rank) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "You can't demote members with your same rank!" }); return; } dbx.ChangeGuildRank(pkt.Name, pkt.Rank); foreach (var i in RealmManager.Clients.Values) { if (i.Account.Guild.Name == psr.Account.Guild.Name && i.Account.Guild.Id == psr.Account.Guild.Id) { psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = dbx.ChangeRankTextBuilder(psr.Account, dbx.GetAccount(pkt.Name), pkt.Rank) }); } } return; case 40: psr.SendPacket(new TextPacket() { BubbleTime = 0, Name = "", Stars = -1, Text = "You can't promote someone to founder!" }); return; } return; } } }