mackal

Untitled

Apr 26th, 2014
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.10 KB | None | 0 0
  1.         override public bool DumpAAs(string fileName)
  2.         {
  3.             List<byte[]> AAPackets = GetPacketsOfType("OP_SendAATable", PacketDirection.ServerToClient);
  4.  
  5.  
  6.             if (AAPackets.Count < 1)
  7.                 return false;
  8.  
  9.             StreamWriter OutputFile;
  10.  
  11.             try
  12.             {
  13.                 OutputFile = new StreamWriter(fileName);
  14.             }
  15.             catch
  16.             {
  17.                 return false;
  18.  
  19.             }
  20.  
  21.             OutputFile.WriteLine("-- There are " + AAPackets.Count + " OP_SendAATable packets.");
  22.             OutputFile.WriteLine("");
  23.  
  24.             foreach (byte[] Packet in AAPackets)
  25.             {
  26.                 ByteStream Buffer = new ByteStream(Packet);
  27.  
  28.                 UInt32 AAID = Buffer.ReadUInt32();
  29.                 byte Unknown004 = Buffer.ReadByte();
  30.                 UInt32 HotKeySID = Buffer.ReadUInt32();
  31.                 UInt32 HotKeySID2 = Buffer.ReadUInt32();
  32.                 UInt32 TitleSID = Buffer.ReadUInt32();
  33.                 UInt32 DescSID = Buffer.ReadUInt32();
  34.                 UInt32 ClassType = Buffer.ReadUInt32();
  35.                 UInt32 Cost = Buffer.ReadUInt32();
  36.                 UInt32 Seq = Buffer.ReadUInt32();
  37.                 UInt32 CurrentLevel = Buffer.ReadUInt32();
  38.                 UInt32 unknown037 = Buffer.ReadUInt32();
  39.  
  40.                 UInt32 PreReqSkill = Buffer.ReadUInt32();
  41.                 UInt32 unknown045 = Buffer.ReadUInt32();
  42.                 UInt32 PreReqMinPoint = Buffer.ReadUInt32();
  43.  
  44.                 UInt32 Type = Buffer.ReadUInt32();
  45.                 UInt32 SpellID = Buffer.ReadUInt32();
  46.                 UInt32 Unknown057 = Buffer.ReadUInt32();
  47.                 UInt32 SpellType = Buffer.ReadUInt32();
  48.                 UInt32 SpellRefresh = Buffer.ReadUInt32();
  49.                 UInt16 Classes = Buffer.ReadUInt16();
  50.                 UInt16 Berserker = Buffer.ReadUInt16();
  51.                 UInt32 MaxLevel = Buffer.ReadUInt32();
  52.                 UInt32 LastID = Buffer.ReadUInt32();
  53.                 UInt32 NextID = Buffer.ReadUInt32();
  54.                 UInt32 Cost2 = Buffer.ReadUInt32();
  55.                 Buffer.SkipBytes(7);
  56.                 UInt32 AAExpansion = Buffer.ReadUInt32();
  57.                 UInt32 SpecialCategory = Buffer.ReadUInt32();
  58.                 Buffer.SkipBytes(8);
  59.                 UInt32 TotalAbilities = Buffer.ReadUInt32();
  60.  
  61.                 OutputFile.WriteLine(String.Format("AAID: {0}", AAID));
  62.                 OutputFile.WriteLine(" Unknown004:\t" + Unknown004);
  63.                 OutputFile.WriteLine(" HotkeySID:\t" + HotKeySID);
  64.                 OutputFile.WriteLine(" HotkeySID2:\t" + HotKeySID2);
  65.                 OutputFile.WriteLine(" TitleSID:\t" + TitleSID);
  66.                 OutputFile.WriteLine(" DescSID:\t" + DescSID);
  67.                 OutputFile.WriteLine(" ClassType:\t" + ClassType);
  68.                 OutputFile.WriteLine(" Cost:\t\t" + Cost);
  69.                 OutputFile.WriteLine(" Seq:\t\t" + Seq);
  70.                 OutputFile.WriteLine(" CurrentLevel:\t" + CurrentLevel);
  71.                 OutputFile.WriteLine(" Unknown037:\t" + unknown037);
  72.                 OutputFile.WriteLine(" Unknown045:\t" + unknown045);
  73.                 OutputFile.Write(" PreReqSkill (SEQs):\t");
  74.                 OutputFile.Write("{0} ", PreReqSkill);
  75.  
  76.                 OutputFile.WriteLine("");
  77.  
  78.                 OutputFile.Write(" PreReqSkills MinPoints:\t");
  79.                 OutputFile.Write("{0} ", PreReqMinPoint);
  80.  
  81.                 OutputFile.WriteLine("");
  82.  
  83.                 OutputFile.WriteLine(" Type:\t\t" + Type);
  84.                 OutputFile.WriteLine(" SpellID:\t" + SpellID);
  85.                 OutputFile.WriteLine(" Unknown057:\t" + Unknown057);
  86.                 OutputFile.WriteLine(" SpellType:\t" + SpellType);
  87.                 OutputFile.WriteLine(" SpellRefresh:\t" + SpellRefresh);
  88.                 OutputFile.WriteLine(" Classes:\t" + Classes);
  89.                 OutputFile.WriteLine(" Berserker:\t" + Berserker);
  90.                 OutputFile.WriteLine(" MaxLevel:\t" + MaxLevel);
  91.                 OutputFile.WriteLine(" LastID:\t" + LastID);
  92.                 OutputFile.WriteLine(" NextID:\t" + NextID);
  93.                 OutputFile.WriteLine(" Cost2:\t\t" + Cost2);
  94.                 OutputFile.WriteLine(" AAExpansion:\t" + AAExpansion);
  95.                 OutputFile.WriteLine(" SpecialCat:\t" + SpecialCategory);
  96.                 OutputFile.WriteLine("");
  97.                 OutputFile.WriteLine(" TotalAbilities:\t" + TotalAbilities);
  98.                 OutputFile.WriteLine("");
  99.  
  100.                 for (int i = 0; i < TotalAbilities; ++i)
  101.                 {
  102.                     UInt32 Ability = Buffer.ReadUInt32();
  103.                     Int32 Base1 = Buffer.ReadInt32();
  104.                     Int32 Base2 = Buffer.ReadInt32();
  105.                     UInt32 Slot = Buffer.ReadUInt32();
  106.  
  107.                     OutputFile.WriteLine(String.Format("    Ability:\t{0}\tBase1:\t{1}\tBase2:\t{2}\tSlot:\t{3}", Ability, Base1, Base2, Slot));
  108.  
  109.                 }
  110.                 OutputFile.WriteLine("");
  111.                 OutputFile.Flush();
  112.             }
  113.  
  114.             OutputFile.Close();
  115.  
  116.             return true;
  117.         }
Advertisement
Add Comment
Please, Sign In to add comment