/// <inheritdoc/>
        public void WriteDataToStream(BinaryWriter writer)
        {
            EarthboundPlainTextEncoding PlainTextEncoding = new EarthboundPlainTextEncoding();

            writer.Write(PlainTextEncoding.GetBytesPadded(Name, 5));
            writer.Write(Level);
            writer.Write(Experience);
            writer.Write(HP.MaxValue);
            writer.Write(PP.MaxValue);
            writer.Write((byte)PermanentStatusEffect);
            writer.Write((byte)PossessionStatus);
            writer.Write((byte)BattleStatusEffect);
            writer.Write(FeelingStrange);
            writer.Write(CantConcentrateTurns);
            writer.Write(Homesick);
            //TODO: Shield
            Offense.WriteDataToStream(writer);
            Defense.WriteDataToStream(writer);
            Speed.WriteDataToStream(writer);
            Guts.WriteDataToStream(writer);
            Luck.WriteDataToStream(writer);
            Vitality.WriteDataToStream(writer);
            IQ.WriteDataToStream(writer);
            Inventory.WriteDataToStream(writer);
            HP.WriteDataToStream(writer);
            PP.WriteDataToStream(writer);
            throw new NotImplementedException("Weaknesses, miss rates, permanent boosts, shields, etc");
        }