public PBEExecutedMove(ushort turnNumber, PBEMove move, PBEFailReason failReason, IList <PBETargetSuccess> targets) { TurnNumber = turnNumber; Move = move; FailReason = failReason; Targets = new ReadOnlyCollection <PBETargetSuccess>(targets); }
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(); } }