internal Bullet(ParameterTable table, int index, AssetLoader loader, int next)
: base(table, index, loader)
{
BinaryReader reader = loader.Reader;
AtkId_Bullet = reader.ReadInt32();
SfxId_Bullet = reader.ReadInt32();
SfxId_Hit = reader.ReadInt32();
SfxId_Flick = reader.ReadInt32();
Life = reader.ReadSingle();
Dist = reader.ReadSingle();
ShootInterval = reader.ReadSingle();
GravityInRange = reader.ReadSingle();
GravityOutRange = reader.ReadSingle();
HormingStopRange = reader.ReadSingle();
InitVellocity = reader.ReadSingle();
AccelInRange = reader.ReadSingle();
AccelOutRange = reader.ReadSingle();
MaxVellocity = reader.ReadSingle();
MinVellocity = reader.ReadSingle();
AccelTime = reader.ReadSingle();
HomingBeginDist = reader.ReadSingle();
HitRadius = reader.ReadSingle();
HitRadiusMax = reader.ReadSingle();
SpreadTime = reader.ReadSingle();
ExpDelay = reader.ReadSingle();
HormingOffsetRange = reader.ReadSingle();
DmgHitRecordLifeTime = reader.ReadSingle();
ExternalForce = reader.ReadSingle();
SpEffectIDForShooter = reader.ReadInt32();
AutoSearchNPCThinkID = reader.ReadInt32();
HitBulletID = reader.ReadInt32();
SpEffectId0 = reader.ReadInt32();
SpEffectId1 = reader.ReadInt32();
SpEffectId2 = reader.ReadInt32();
SpEffectId3 = reader.ReadInt32();
SpEffectId4 = reader.ReadInt32();
NumShoot = reader.ReadUInt16();
HomingAngle = reader.ReadInt16();
ShootAngle = reader.ReadInt16();
ShootAngleInterval = reader.ReadInt16();
ShootAngleXInterval = reader.ReadInt16();
DamageDamp = reader.ReadSByte();
SpelDamageDamp = reader.ReadSByte();
FireDamageDamp = reader.ReadSByte();
ThunderDamageDamp = reader.ReadSByte();
StaminaDamp = reader.ReadSByte();
KnockbackDamp = reader.ReadSByte();
ShootAngleXZ = reader.ReadSByte();
LockShootLimitAng = reader.ReadByte();
IsPenetrate = reader.ReadByte();
PrevVelocityDirRate = reader.ReadByte();
AtkAttribute = (AttackAttackAttributes)reader.ReadByte();
SpAttribute = (AttackParameterSpecialAttributes)reader.ReadByte();
Material_AttackType = (AttackType)reader.ReadByte();
Material_AttackMaterial = (WeaponMaterialAttack)reader.ReadByte();
Material_Size = (AttackSize)reader.ReadByte();
LaunchConditionType = (BulletLaunchConditionType)reader.ReadByte();
BitFields = reader.ReadBytes(3);
Pad = reader.ReadBytes(3);
}