public static void Sequencer() { btlseq.wSeqCode = 0; SEQ_WORK[] seqWork = btlseq.seq_work_set.SeqWork; for (Int32 i = 0; i < 4; i++) { if (seqWork[i].CmdPtr != null) { SEQ_WORK seq_WORK = seqWork[i]; seq_WORK.IncCnt = (Int16)(seq_WORK.IncCnt + 1); SEQ_WORK seq_WORK2 = seqWork[i]; seq_WORK2.DecCnt = (Int16)(seq_WORK2.DecCnt - 1); SEQ_WORK seq_WORK3 = seqWork[i]; seq_WORK3.AnmCnt = (Int16)(seq_WORK3.AnmCnt + 1); BTL_DATA regist = seqWork[i].CmdPtr.regist; Int32 num = 1; using (btlseq.sequenceReader = new BinaryReader(new MemoryStream(btlseq.data))) { while (num != 0) { btlseq.sequenceReader.BaseStream.Seek((Int64)(seqWork[i].CurPtr + 4), SeekOrigin.Begin); btlseq.wSeqCode = (Int32)btlseq.sequenceReader.ReadByte(); if (btlseq.wSeqCode > (Int32)btlseq.gSeqProg.Length) { btlseq.wSeqCode = 0; } if (seqWork[i].Flags.WaitLoadVfx && SFX.GetTaskMonsteraStartOK() != 0) { seqWork[i].Flags.DoneLoadVfx = true; seqWork[i].Flags.WaitLoadVfx = false; } if (seqWork[i].CurPtr != seqWork[i].OldPtr && btlseq.gSeqProg[btlseq.wSeqCode].Init != null) { btlseq.gSeqProg[btlseq.wSeqCode].Init(seqWork[i], regist); } seqWork[i].OldPtr = seqWork[i].CurPtr; num = btlseq.gSeqProg[btlseq.wSeqCode].Exec(seqWork[i], regist); } } if (seqWork[i].TurnTime != 0) { Vector3 eulerAngles = regist.rot.eulerAngles; eulerAngles.y = (Single)(seqWork[i].TurnOrg + seqWork[i].TurnRot * (Int16)seqWork[i].TurnCnt / (Int16)seqWork[i].TurnTime); regist.rot = Quaternion.Euler(eulerAngles); SEQ_WORK seq_WORK4 = seqWork[i]; Byte turnCnt; seq_WORK4.TurnCnt = (Byte)((turnCnt = seq_WORK4.TurnCnt) + 1); if (turnCnt >= seqWork[i].TurnTime) { seqWork[i].TurnTime = 0; } } if (seqWork[i].SfxTime != 0) { SEQ_WORK seq_WORK5 = seqWork[i]; if ((seq_WORK5.SfxTime = (Byte)(seq_WORK5.SfxTime - 1)) == 0) { btl_util.SetBattleSfx(regist, seqWork[i].SfxNum, seqWork[i].SfxVol); } } if (seqWork[i].SVfxTime != 0) { SEQ_WORK seq_WORK6 = seqWork[i]; if ((seq_WORK6.SVfxTime = (Byte)(seq_WORK6.SVfxTime - 1)) == 0) { Int16[] arg = new Int16[] { (Int16)seqWork[i].SVfxParam, 0, 0, 0 }; btl_vfx.SetBattleVfx(seqWork[i].CmdPtr, (UInt32)seqWork[i].SVfxNum, arg); } } if (seqWork[i].FadeTotal != 0) { SEQ_WORK seq_WORK7 = seqWork[i]; seq_WORK7.FadeStep = (Byte)(seq_WORK7.FadeStep - 1); btl_util.SetEnemyFadeToPacket(regist, (Int32)(seqWork[i].FadeStep * 32 / seqWork[i].FadeTotal)); if (seqWork[i].FadeStep == 0) { seqWork[i].FadeTotal = 0; } } } } }