public override void Parse(GameBitBuffer buffer)
 {
     LuaName = buffer.ReadCharArray(64);
     Powerdef = new PowerDef();
     Powerdef.Parse(buffer);
     Field2 = buffer.ReadBool();
     Field3 = buffer.ReadBool();
     Chararray2 = buffer.ReadCharArray(256);
     ScriptFormulaCount = buffer.ReadInt(32);
     serScriptFormulaDetails = new SerializeData();
     serScriptFormulaDetails.Parse(buffer);
     //still checking variablearrays
     this.ScriptFormulaDetails = new List<ScriptFormulaDetails>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ScriptFormulaDetails.Count; loop12++)
     {
         _ScriptFormulaDetails[loop12] = new ScriptFormulaDetails();
         _ScriptFormulaDetails[loop12].Parse(buffer);
     }
     Field8 = buffer.ReadInt(32);
     serCompiledScript = new SerializeData();
     serCompiledScript.Parse(buffer);
     //still checking variablearrays
     this.CompiledScript = new List<byte>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _CompiledScript.Count; loop12++)
     {
         _CompiledScript[loop12] = (byte)buffer.ReadInt(0);
     }
     SNOQuestMetaData = buffer.ReadInt(32);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     LuaName = stream.ReadString(64);
     stream.Position = offset + 80;
     Powerdef = new PowerDef();
     Powerdef.FileRead(stream, stream.Position);
     stream.Position = offset + 424;
     Field2 = stream.ReadValueS32() == 1;
     stream.Position = offset + 428;
     Field3 = stream.ReadValueS32() == 1;
     stream.Position = offset + 432;
     Chararray2 = stream.ReadString(256);
     stream.Position = offset + 688;
     ScriptFormulaCount = stream.ReadValueS32();
     stream.Position = offset + 692;
     serScriptFormulaDetails = new SerializeData();
     serScriptFormulaDetails.FileRead(stream, stream.Position);
     stream.Position = offset + 704;
     //still checking variablearrays
     ScriptFormulaDetails = new List<ScriptFormulaDetails>();
     for(int i = 0; i < (int)(serScriptFormulaDetails.Field1 / 776); i++)
     {
     stream.Position = serScriptFormulaDetails.Field0 + 16 + (776*i) ;
         ScriptFormulaDetails temp12_ScriptFormulaDetails;
         temp12_ScriptFormulaDetails = new ScriptFormulaDetails();
         temp12_ScriptFormulaDetails.FileRead(stream, stream.Position);
         _ScriptFormulaDetails.Add(temp12_ScriptFormulaDetails);
     }
     stream.Position = offset + 712;
     Field8 = stream.ReadValueS32();
     stream.Position = offset + 728;
     serCompiledScript = new SerializeData();
     serCompiledScript.FileRead(stream, stream.Position);
     stream.Position = offset + 720;
     //still checking variablearrays
     CompiledScript = new List<byte>();
     for(int i = 0; i < (int)(serCompiledScript.Field1 / 1); i++)
     {
     stream.Position = serCompiledScript.Field0 + 16 + (1*i) ;
         byte temp12_CompiledScript;
         temp12_CompiledScript = (byte)stream.ReadByte();
         _CompiledScript.Add(temp12_CompiledScript);
     }
     stream.Position = offset + 736;
     SNOQuestMetaData = stream.ReadValueS32();
 }