====== BulletParam ====== ===== Fields ===== ^ Field ^ Type ^ Offset ^ Description ^ Notes ^ | sfx_id | ''s32'' | ''0x0'' | The SFX ID of this particular bullet. Sometimes unlisted here and sometimes provided by the EMEVD. | | | spawn_location | ''u8'' | ''0x4'' | Where the bullet will spawn in relation to the parent. | This field uses the following enum: SpawnLocation | | spawn_direction | ''u8'' | ''0x5'' | Affects how the bullet is spawned. | This field uses the following enum: SpawnDirection | | online_visibility | ''u8'' | ''0x6'' | | This field is a boolean. | | spawn_flag_1 | ''u8'' | ''0x7'' | | | | relative_z_coord | ''f32'' | ''0x8'' | Offset the bullet's spawn location. +Z is above the player, -Z is below the player. | | | relative_y_coord | ''f32'' | ''0xc'' | Offset the bullet's spawn location. +Y is to the right of the player, -Y is to the left of the player. | | | relative_x_coord | ''f32'' | ''0x10'' | Offset the bullet's spawn location. +X is in front of the player, -X is behind the player. | | | relative_vertical_angle | ''f32'' | ''0x14'' | In radians. | | | relative_horizontal_angle | ''f32'' | ''0x18'' | In radians. | | | lockon_vertical_angle | ''f32'' | ''0x1c'' | In radians. | | | lockon_horizontal_angle | ''f32'' | ''0x20'' | In radians. | | | vertical_angle_randomizer | ''f32'' | ''0x24'' | In radians. Applies random value between 0 and the specified angle here on shoot to the vertical shoot angle. | | | horizontal_angle_randomizer | ''f32'' | ''0x28'' | In radians. Applies random value between 0 and the specified angle here on shoot to the horizontal shoot angle. | | | Unk00 | ''u8'' | ''0x2c'' | Related to lock-on | | | Unk01 | ''u8'' | ''0x2d'' | Related to lock-on | | | shoot_once_count | ''u8'' | ''0x2e'' | | | | shoot_sequential_count | ''u8'' | ''0x2f'' | | | | shoot_once_relative_vertical_angle | ''f32'' | ''0x30'' | | | | shoot_once_relative_horizontal_angle | ''f32'' | ''0x34'' | | | | shoot_sequential_interval | ''f32'' | ''0x38'' | | | | shoot_sequential_relative_vertical_angle | ''f32'' | ''0x3c'' | | | | shoot_sequential_relative_horizontal_angle | ''f32'' | ''0x40'' | | | | Unk04 | ''u8'' | ''0x44'' | | | | Unk05 | ''u8'' | ''0x45'' | | | | Unk06 | ''u8'' | ''0x46'' | | | | Unk07 | ''u8'' | ''0x47'' | | | | max_life | ''f32'' | ''0x48'' | | | | initial_horizontal_velocity | ''f32'' | ''0x4c'' | | | | horizontal_acceleration_start_delay | ''f32'' | ''0x50'' | | | | horizontal_target_velocity | ''f32'' | ''0x54'' | | | | horizontal_max_velocity | ''f32'' | ''0x58'' | | | | initial_vertical_velocity | ''f32'' | ''0x5c'' | | | | vertical_acceleration_start_delay | ''f32'' | ''0x60'' | | | | vertical_target_velocity | ''f32'' | ''0x64'' | | | | vertical_max_velocity | ''f32'' | ''0x68'' | | | | initial_tan_vertical_velocity | ''f32'' | ''0x6c'' | | | | tan_vertical_acceleration_start_delay | ''f32'' | ''0x70'' | | | | tan_vertical_target_velocity | ''f32'' | ''0x74'' | | | | tan_vertical_max_velocity | ''f32'' | ''0x78'' | | | | initial_tan_horizontal_velocity | ''f32'' | ''0x7c'' | | | | tan_horizontal_acceleration_start_delay | ''f32'' | ''0x80'' | | | | tan_horizontal_target_velocity | ''f32'' | ''0x84'' | | | | tan_horizontal_max_velocity | ''f32'' | ''0x88'' | | | | Unk08 | ''f32'' | ''0x8c'' | | | | max_angle_change | ''f32'' | ''0x90'' | | | | max_tracking_angle_change | ''f32'' | ''0x94'' | In radians. | | | max_tracking_time | ''f32'' | ''0x98'' | | | | Unk09 | ''f32'' | ''0x9c'' | | | | Unk10 | ''f32'' | ''0xa0'' | | | | Unk11 | ''f32'' | ''0xa4'' | | | | Unk12 | ''f32'' | ''0xa8'' | | | | Unk13 | ''f32'' | ''0xac'' | | | | hit_character | ''u8'' | ''0xb0'' | | This field is a boolean. | | hit_wall | ''u8'' | ''0xb1'' | | This field is a boolean. | | hit_floor | ''u8'' | ''0xb2'' | | This field is a boolean. | | hit_water | ''u8'' | ''0xb3'' | | This field is a boolean. | | shoot_sfx_id | ''s32'' | ''0xb4'' | SFX to play on shoot. | | | Unk14 | ''u8'' | ''0xb8'' | | | | Unk15 | ''u8'' | ''0xb9'' | | | | Unk16 | ''u8'' | ''0xba'' | | | | Unk17 | ''u8'' | ''0xbb'' | | | | hit_sfx_id | ''s32'' | ''0xbc'' | SFX to play when the bullet collides with something. | | | expire_sfx_id | ''s32'' | ''0xc0'' | SFX to play when the bullet expires. | | | sfx_duration_on_expiration | ''f32'' | ''0xc4'' | | | | Unk18 | ''f32'' | ''0xc8'' | | | | bullet_attach_param_id | ''s32'' | ''0xcc'' | | This field refers to the following params: [[ds2-refmat:param:BulletAttachParam]] | | Unk19 | ''s32'' | ''0xd0'' | | | | child_bullet_1_bullet_id | ''s32'' | ''0xd4'' | | This field refers to the following params: [[ds2-refmat:param:BulletParam]], [[ds2-refmat:param:EnemyBulletParam]] | | child_bullet_1_damage_id | ''s32'' | ''0xd8'' | | This field refers to the following params: [[ds2-refmat:param:EnemyDamageParam]], [[ds2-refmat:param:PlayerDamageParam]], [[ds2-refmat:param:SystemDamageParam]] | | child_bullet_2_bullet_id | ''s32'' | ''0xdc'' | | This field refers to the following params: [[ds2-refmat:param:BulletParam]], [[ds2-refmat:param:EnemyBulletParam]] | | child_bullet_2_damage_id | ''s32'' | ''0xe0'' | | This field refers to the following params: [[ds2-refmat:param:EnemyDamageParam]], [[ds2-refmat:param:PlayerDamageParam]], [[ds2-refmat:param:SystemDamageParam]] | | child_bullet_3_bullet_id | ''s32'' | ''0xe4'' | | This field refers to the following params: [[ds2-refmat:param:BulletParam]], [[ds2-refmat:param:EnemyBulletParam]] | | child_bullet_3_damage_id | ''s32'' | ''0xe8'' | | This field refers to the following params: [[ds2-refmat:param:EnemyDamageParam]], [[ds2-refmat:param:PlayerDamageParam]], [[ds2-refmat:param:SystemDamageParam]] | | spawn_child_bullet_on_hit | ''u8'' | ''0xec'' | | This field is a boolean. | | spawn_child_bullet_on_expire | ''u8'' | ''0xed'' | | This field is a boolean. | | spawn_child_bullet_on_unknown | ''u8'' | ''0xee'' | | This field is a boolean. | | spawn_child_bullet_on_alive | ''u8'' | ''0xef'' | | This field is a boolean. | | Unk20 | ''s32'' | ''0xf0'' | | | | Unk21 | ''s32'' | ''0xf4'' | | | | Unk22 | ''s32'' | ''0xf8'' | | | | Unk23 | ''s32'' | ''0xfc'' | | | | Unk24 | ''u8'' | ''0x100'' | | | | Unk25 | ''u8'' | ''0x101'' | | | | Unk26 | ''u8'' | ''0x102'' | | | | Unk27 | ''u8'' | ''0x103'' | | | | Unk28 | ''u8'' | ''0x104'' | | | | Unk29 | ''u8'' | ''0x105'' | | | | Unk30 | ''u8'' | ''0x106'' | | | | Unk31 | ''u8'' | ''0x107'' | | | | Unk32 | ''f32'' | ''0x108'' | | | | Unk33 | ''f32'' | ''0x10c'' | | | | Unk34 | ''f32'' | ''0x110'' | | | | Unk35 | ''s32'' | ''0x114'' | | | | Unk36 | ''s32'' | ''0x118'' | | | | Unk37 | ''f32'' | ''0x11c'' | | | | Unk38 | ''f32'' | ''0x120'' | | | | Unk39 | ''f32'' | ''0x124'' | | | | child_bullet_spawn_delay | ''f32'' | ''0x128'' | | | | Unk40 | ''f32'' | ''0x12c'' | | | | Unk41 | ''s32'' | ''0x130'' | | | | Unk42 | ''s32'' | ''0x134'' | | | | Unk43 | ''s32'' | ''0x138'' | | | | Unk44 | ''s32'' | ''0x13c'' | | | ===== Enums ===== ==== SpawnLocation ==== ^ Option ^ Description ^ Notes ^ | ''0'' | Default | | | ''1'' | Shooter Feet | | | ''2'' | Parent | | ==== SpawnDirection ==== ^ Option ^ Description ^ Notes ^ | ''0'' | Default | | | ''1'' | Forward | | | ''2'' | Attached | | | ''3'' | Forward - Fast | | | ''5'' | Forward - Child | |