Esempio n. 1
0
 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;
           }
      }
 }