public override void Write(BinaryWriter writer)
{
writer.Write(AtkId_Bullet);
writer.Write(SfxId_Bullet);
writer.Write(SfxId_Hit);
writer.Write(SfxId_Flick);
writer.Write(Life);
writer.Write(Dist);
writer.Write(ShootInterval);
writer.Write(GravityInRange);
writer.Write(GravityOutRange);
writer.Write(HormingStopRange);
writer.Write(InitVellocity);
writer.Write(AccelInRange);
writer.Write(AccelOutRange);
writer.Write(MaxVellocity);
writer.Write(MinVellocity);
writer.Write(AccelTime);
writer.Write(HomingBeginDist);
writer.Write(HitRadius);
writer.Write(HitRadiusMax);
writer.Write(SpreadTime);
writer.Write(ExpDelay);
writer.Write(HormingOffsetRange);
writer.Write(DmgHitRecordLifeTime);
writer.Write(ExternalForce);
writer.Write(SpEffectIDForShooter);
writer.Write(AutoSearchNPCThinkID);
writer.Write(HitBulletID);
writer.Write(SpEffectId0);
writer.Write(SpEffectId1);
writer.Write(SpEffectId2);
writer.Write(SpEffectId3);
writer.Write(SpEffectId4);
writer.Write(NumShoot);
writer.Write(HomingAngle);
writer.Write(ShootAngle);
writer.Write(ShootAngleInterval);
writer.Write(ShootAngleXInterval);
writer.Write(DamageDamp);
writer.Write(SpelDamageDamp);
writer.Write(FireDamageDamp);
writer.Write(ThunderDamageDamp);
writer.Write(StaminaDamp);
writer.Write(KnockbackDamp);
writer.Write(ShootAngleXZ);
writer.Write(LockShootLimitAng);
writer.Write(IsPenetrate);
writer.Write(PrevVelocityDirRate);
writer.Write((Byte)AtkAttribute);
writer.Write((Byte)SpAttribute);
writer.Write((Byte)Material_AttackType);
writer.Write((Byte)Material_AttackMaterial);
writer.Write((Byte)Material_Size);
writer.Write((Byte)LaunchConditionType);
writer.Write(BitFields);
writer.Write(Pad);
}