예제 #1
0
        public void ResetProgressionCommunications(Player plr, Realms realm, VictoryPointProgress vpp, string forceT4)
        {
            _logger.Warn("F_CAMPAIGN_STATUS");
            PacketOut Out = new PacketOut((byte)Opcodes.F_CAMPAIGN_STATUS, 159);

            Out.WriteHexStringBytes("0005006700CB00"); // 7

            // Dwarfs vs Greenskins T1

            Out.WriteByte(0);    // 0 and ignored
            Out.WriteByte(100);  // % Order lock
            Out.WriteByte(0);    // % Dest lock
            // Dwarfs vs Greenskins T2
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(12, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(50);
            Out.WriteByte(50);
            // Dwarfs vs Greenskins T3
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(10, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(100);
            // Dwarfs vs Greenskins T4
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(2, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(0);
            // Empire vs Chaos T1
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(8, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(100);
            Out.WriteByte(0);
            // Empire vs Chaos T2
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(14, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(100);
            // Empire vs Chaos T3
            // BuildCaptureStatus(Out, WorldMgr.GetRegion(6, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(100);
            // Empire vs Chaos T4
            // BuildCaptureStatus(Out, WorldMgr.GetRegion(11, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(0);
            // High Elves vs Dark Elves T1
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(3, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(0);
            // High Elves vs Dark Elves T2
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(15, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(0);
            // High Elves vs Dark Elves T3
            // BuildCaptureStatus(Out, WorldMgr.GetRegion(16, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(0);
            // High Elves vs Dark Elves T4
            //BuildCaptureStatus(Out, WorldMgr.GetRegion(4, false), realm);
            Out.WriteByte(0);
            Out.WriteByte(100);
            Out.WriteByte(100);

            Out.Fill(0, 83);

            if (string.IsNullOrEmpty(forceT4))
            {
                Out.WriteByte(3);       //dwarf fort
                Out.WriteByte((byte)1); // KV 0 contested, 1 order, 2 dest
                Out.WriteByte((byte)0); // TM
                Out.WriteByte((byte)2); // BC
                Out.WriteByte(3);       //fort

                Out.WriteByte(3);       //emp fort
                Out.WriteByte((byte)1); // reik
                Out.WriteByte((byte)0); // praag
                Out.WriteByte((byte)2); // cw
                Out.WriteByte(3);       //fort

                Out.WriteByte(3);       //elf fort
                Out.WriteByte((byte)1); // Eataine
                Out.WriteByte((byte)0); // DW
                Out.WriteByte((byte)2); // Caledor
                Out.WriteByte(3);       //fort
            }
            else
            {
                Out.WriteByte(3);                                     //dwarf fort
                Out.WriteByte(Convert.ToByte(forceT4[0].ToString())); // KV 0 contested, 1 order, 2 dest
                Out.WriteByte(Convert.ToByte(forceT4[1].ToString())); // TM
                Out.WriteByte(Convert.ToByte(forceT4[2].ToString())); // BC
                Out.WriteByte(3);                                     //fort

                Out.WriteByte(3);                                     //emp fort
                Out.WriteByte(Convert.ToByte(forceT4[3].ToString())); // reik
                Out.WriteByte(Convert.ToByte(forceT4[4].ToString())); // praag
                Out.WriteByte(Convert.ToByte(forceT4[5].ToString())); // cw
                Out.WriteByte(3);                                     //fort

                Out.WriteByte(3);                                     //elf fort
                Out.WriteByte(Convert.ToByte(forceT4[6].ToString())); // Eataine
                Out.WriteByte(Convert.ToByte(forceT4[7].ToString())); // DW
                Out.WriteByte(Convert.ToByte(forceT4[8].ToString())); // Caledor
                Out.WriteByte(3);                                     //fort
            }
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(0);
            Out.WriteByte(0);

            Out.WriteByte(00);

            Out.Fill(0, 4);

            _logger.Debug("APOCCOMM:" + Out.ToString());

            plr.SendPacket(Out);
        }