예제 #1
0
        public static void SerializeStages(Session right, PacketWrite ks)
        {
            int Position = 0;

            Position = ks.Get_Position();
            int StageNum = 0;

            ks.Int(85);
            ks.Int(7);
            ks.HexArray("00 00 00");
            ks.Byte(1);
            ks.Byte(1);
            ks.Byte(1);
            ks.HexArray("00 00 00 00 00 00 00 00 00 00");
            for (int i = 8; i <= 106; i++)
            {
                StageNum = 0;
                for (int j = 0; j < right.PStages.StageList.Count; j++)
                {
                    if (right.PStages.StageList[j].StageID == i)
                    {
                        if (right.PStages.StageList[j].StageID == 28)
                        {
                            continue;
                        }
                        if ((right.PStages.StageList[j].StageID > 30) && (right.PStages.StageList[j].StageID < 36))
                        {
                            continue;
                        }
                        if ((right.PStages.StageList[j].StageID == 37) || (right.PStages.StageList[j].StageID == 38))
                        {
                            continue;
                        }
                        if ((right.PStages.StageList[j].StageID == 65) || (right.PStages.StageList[j].StageID == 66))
                        {
                            continue;
                        }
                        if (right.PStages.StageList[j].StageID == 77)
                        {
                            continue;
                        }
                        if ((right.PStages.StageList[j].StageID == 96) || (right.PStages.StageList[j].StageID == 97))
                        {
                            continue;
                        }
                        if ((right.PStages.StageList[j].StageID == 104) || (right.PStages.StageList[j].StageID == 105))
                        {
                            continue;
                        }

                        ks.Int(right.PStages.StageList[j].StageID);
                        ks.HexArray("00 00 00");
                        ks.Byte(right.PStages.StageList[j].DificutyLv1);
                        ks.Byte(right.PStages.StageList[j].DificutyLv2);
                        ks.Byte(right.PStages.StageList[j].DificutyLv3);
                        ks.HexArray("00 00 00 00 00 00 00 00 00 00");
                        StageNum = 1;
                        break;
                    }
                }
                if (StageNum == 0)
                {
                    if (i == 28)
                    {
                        continue;
                    }
                    if ((i > 30) && (i < 36))
                    {
                        continue;
                    }
                    if ((i == 37) || (i == 38))
                    {
                        continue;
                    }
                    if ((i == 65) || (i == 66))
                    {
                        continue;
                    }
                    if (i == 77)
                    {
                        continue;
                    }
                    if ((i == 96) || (i == 97))
                    {
                        continue;
                    }
                    if ((i == 104) || (i == 105))
                    {
                        continue;
                    }

                    ks.Int(i);
                    ks.HexArray("00 00 00 00 00 00 00 00 00 00 00 00 00 00 00");
                }
            }
        }