public PBEExecutedMove(ushort turnNumber, PBEMove move, PBEFailReason failReason, IList <PBETargetSuccess> targets)
 {
     TurnNumber = turnNumber;
     Move       = move;
     FailReason = failReason;
     Targets    = new ReadOnlyCollection <PBETargetSuccess>(targets);
 }
示例#2
0
 internal PBEMoveFailedPacket(PBEPokemon moveUser, PBEPokemon pokemon2, PBEFailReason failReason)
 {
     var bytes = new List<byte>();
     bytes.AddRange(BitConverter.GetBytes(Code));
     bytes.Add((byte)(MoveUser = moveUser.FieldPosition));
     bytes.Add((MoveUserTeam = moveUser.Team).Id);
     bytes.Add((byte)(Pokemon2 = pokemon2.FieldPosition));
     bytes.Add((Pokemon2Team = pokemon2.Team).Id);
     bytes.Add((byte)(FailReason = failReason));
     bytes.InsertRange(0, BitConverter.GetBytes((short)bytes.Count));
     Buffer = new ReadOnlyCollection<byte>(bytes);
 }
        public PBEMoveFailedPacket(PBEPokemon moveUser, PBEPokemon pokemon2, PBEFailReason failReason)
        {
            var bytes = new List <byte>();

            bytes.AddRange(BitConverter.GetBytes(Code));
            bytes.Add((byte)(MoveUser = moveUser.FieldPosition));
            bytes.Add((MoveUserTeam = moveUser.Team).Id);
            bytes.Add((byte)(Pokemon2 = pokemon2.FieldPosition));
            bytes.Add((Pokemon2Team = pokemon2.Team).Id);
            bytes.Add((byte)(FailReason = failReason));
            Buffer = BitConverter.GetBytes((short)bytes.Count).Concat(bytes);
        }
 public PBEMoveFailedPacket(byte[] buffer, PBEBattle battle)
 {
     Buffer = buffer;
     using (var r = new BinaryReader(new MemoryStream(buffer)))
     {
         r.ReadInt16(); // Skip Code
         MoveUser     = (PBEFieldPosition)r.ReadByte();
         MoveUserTeam = battle.Teams[r.ReadByte()];
         Pokemon2     = (PBEFieldPosition)r.ReadByte();
         Pokemon2Team = battle.Teams[r.ReadByte()];
         FailReason   = (PBEFailReason)r.ReadByte();
     }
 }