public byte[] ToByteArray() { List <byte> result = new List <byte>(25); result.Add(PA); result.Add(MA); result.Add(Speed); result.Add(Move); result.Add(Jump); result.AddRange(PermanentStatuses.ToByteArray()); result.AddRange(StatusImmunity.ToByteArray()); result.AddRange(StartingStatuses.ToByteArray()); result.Add(Absorb.ToByte()); result.Add(Cancel.ToByte()); result.Add(Half.ToByte()); result.Add(Weak.ToByte()); result.Add(Strong.ToByte()); return(result.ToArray()); }