@@ -1190,6 +1190,73 @@ namespace test_flavours {
11901190 meta.set (missile);
11911191 }
11921192
1193+ {
1194+ auto & meta = get_test_flavour (flavours, test_plain_missiles::CYBERSPRAY_ROUND);
1195+
1196+
1197+ {
1198+ invariants::flags flags_def;
1199+ flags_def.values .set (entity_flag::IS_IMMUNE_TO_PAST);
1200+ meta.set (flags_def);
1201+ }
1202+
1203+ test_flavours::add_sprite (meta, caches, test_scene_image_id::SHOTGUN_RED_ROUND, bullet_violet).neon_color = bullet_violet_neon;
1204+
1205+ {
1206+ {
1207+ invariants::trace trace_def;
1208+
1209+ trace_def.max_multiplier_x = {0 .670f , 1 .8f };
1210+ trace_def.max_multiplier_y = {0 .f , 0 .09f };
1211+ trace_def.lengthening_duration_ms = {36 .f , 466 .f };
1212+ trace_def.additional_multiplier = vec2 (1 .f , 1 .f );
1213+ trace_def.finishing_trace_flavour = to_entity_flavour_id (test_finishing_traces::SZCZUR_ROUND_FINISHING_TRACE);
1214+
1215+ meta.set (trace_def);
1216+ }
1217+ }
1218+
1219+ test_flavours::add_bullet_round_physics (meta);
1220+ meta.template get <invariants::rigid_body>().damping .linear = 2 .0f ;
1221+
1222+ invariants::missile missile;
1223+
1224+ {
1225+ auto & dest_eff = missile.damage .effects .destruction ;
1226+ dest_eff.particles .modifier .color = pink;
1227+ dest_eff.particles .id = to_particle_effect_id (test_scene_particle_effect_id::ELECTRIC_PROJECTILE_DESTRUCTION);
1228+ }
1229+
1230+ missile.trace_particles .id = to_particle_effect_id (test_scene_particle_effect_id::ELECTRIC_PROJECTILE_TRACE);
1231+ missile.trace_particles .modifier .color = muzzle_violet;
1232+ missile.trace_particles .modifier .scale_amounts *= 0 .5f ;
1233+
1234+ missile.muzzle_leave_particles .id = to_particle_effect_id (test_scene_particle_effect_id::COVERT_PISTOL_MUZZLE_LEAVE_EXPLOSION);
1235+ missile.trace_particles_fly_backwards = true ;
1236+ missile.muzzle_leave_particles .modifier .color = pink;
1237+ missile.damage .pass_through_held_item_sound .id = to_sound_id (test_scene_sound_id::BULLET_PASSES_THROUGH_HELD_ITEM);
1238+
1239+ missile.ricochet_sound .id = to_sound_id (test_scene_sound_id::ELECTRIC_RICOCHET);
1240+ missile.ricochet_particles .id = to_particle_effect_id (test_scene_particle_effect_id::ELECTRIC_RICOCHET);
1241+ missile.ricochet_particles .modifier .color = pink;
1242+ missile.ricochet_born_cooldown_ms = 17 .f ;
1243+
1244+ missile.trace_sound .id = to_sound_id (test_scene_sound_id::ELECTRIC_PROJECTILE_FLIGHT);
1245+ missile.damage .effects .destruction .sound .id = to_sound_id (test_scene_sound_id::ELECTRIC_DISCHARGE_EXPLOSION);
1246+ missile.max_lifetime_ms = 600 .f ;
1247+ missile.damage .base = 10 ;
1248+
1249+ auto & trace_modifier = missile.trace_sound .modifier ;
1250+
1251+ trace_modifier.doppler_factor = 0 .6f ;
1252+ trace_modifier.max_distance = 1020 .f ;
1253+ trace_modifier.reference_distance = 100 .f ;
1254+ trace_modifier.distance_model = augs::distance_model::INVERSE_DISTANCE_CLAMPED;
1255+ trace_modifier.fade_on_exit = false ;
1256+
1257+ meta.set (missile);
1258+ }
1259+
11931260 {
11941261 auto & meta = get_test_flavour (flavours, test_plain_missiles::SZCZUR_ROUND);
11951262
@@ -2492,7 +2559,7 @@ namespace test_flavours {
24922559 cartridge.shell_trace_particles .modifier .color = muzzle_cyan;
24932560
24942561 // cartridge.shell_flavour = to_entity_flavour_id(test_remnant_bodies::CYAN_SHELL);
2495- cartridge.round_flavour = to_entity_flavour_id (test_plain_missiles::SZCZUR_ROUND );
2562+ cartridge.round_flavour = to_entity_flavour_id (test_plain_missiles::CYBERSPRAY_ROUND );
24962563
24972564 meta.set (cartridge);
24982565 }
@@ -3497,7 +3564,7 @@ namespace test_flavours {
34973564 gun_def.shell_spread_degrees = 20 .f ;
34983565 gun_def.shell_velocity = {300 .f , 1700 .f };
34993566 gun_def.damage_multiplier = 2 .0f ;
3500- gun_def.head_radius_multiplier = 0 . 85f ;
3567+ gun_def.head_radius_multiplier = 1 . 0f ;
35013568 gun_def.num_last_bullets_to_trigger_low_ammo_cue = 10 ;
35023569 gun_def.low_ammo_cue_sound .id = to_sound_id (test_scene_sound_id::LOW_AMMO_CUE);
35033570 gun_def.kickback_towards_wielder = kickback_mult * 1 .f ;
@@ -3517,7 +3584,7 @@ namespace test_flavours {
35173584 test_flavours::add_lying_item_dynamic_body (meta);
35183585 set_density_mult (meta, 0 .8f );
35193586 make_default_gun_container (meta, item_holding_stance::RIFLE_LIKE, 1500 .f , 0 .f , true );
3520- meta.get <invariants::item>().standard_price = 2500 ;
3587+ meta.get <invariants::item>().standard_price = 2600 ;
35213588 set_chambering_duration_ms (meta, 600 .f );
35223589
35233590 auto & item = meta.get <invariants::item>();
@@ -3557,8 +3624,8 @@ namespace test_flavours {
35573624 gun_def.shell_spread_degrees = 20 .f ;
35583625 gun_def.shell_velocity = {300 .f , 1700 .f };
35593626 gun_def.damage_multiplier = 2.4 ;
3560- gun_def.headshot_multiplier = 2 . 5f ;
3561- gun_def.head_radius_multiplier = 0 . 85f ;
3627+ gun_def.headshot_multiplier = 3 . 0f ;
3628+ gun_def.head_radius_multiplier = 1 . 0f ;
35623629 gun_def.num_last_bullets_to_trigger_low_ammo_cue = 7 ;
35633630 gun_def.low_ammo_cue_sound .id = to_sound_id (test_scene_sound_id::LOW_AMMO_CUE);
35643631 gun_def.kickback_towards_wielder = kickback_mult * 2 .f ;
@@ -3620,8 +3687,8 @@ namespace test_flavours {
36203687 gun_def.shell_spread_degrees = 20 .f ;
36213688 gun_def.shell_velocity = {300 .f , 1700 .f };
36223689 gun_def.damage_multiplier = 2.4 ;
3623- gun_def.headshot_multiplier = 2 . 5f ;
3624- gun_def.head_radius_multiplier = 0 . 85f ;
3690+ gun_def.headshot_multiplier = 3 . 0f ;
3691+ gun_def.head_radius_multiplier = 1 . 0f ;
36253692 gun_def.num_last_bullets_to_trigger_low_ammo_cue = 7 ;
36263693 gun_def.low_ammo_cue_sound .id = to_sound_id (test_scene_sound_id::LOW_AMMO_CUE);
36273694 gun_def.kickback_towards_wielder = kickback_mult * 2 .f ;
@@ -3680,7 +3747,7 @@ namespace test_flavours {
36803747 gun_def.shell_spread_degrees = 20 .f ;
36813748 gun_def.shell_velocity = {300 .f , 1700 .f };
36823749 gun_def.damage_multiplier = 1.2 ;
3683- gun_def.head_radius_multiplier = 0 . 4f ;
3750+ gun_def.head_radius_multiplier = 1 . 0f ;
36843751 gun_def.num_last_bullets_to_trigger_low_ammo_cue = 7 ;
36853752 gun_def.low_ammo_cue_sound .id = to_sound_id (test_scene_sound_id::LOW_AMMO_CUE);
36863753 gun_def.kickback_towards_wielder = kickback_mult * 1 .f ;
@@ -3700,7 +3767,7 @@ namespace test_flavours {
37003767 test_flavours::add_lying_item_dynamic_body (meta);
37013768 set_density_mult (meta, 1 .6f );
37023769 make_default_gun_container (meta, item_holding_stance::RIFLE_LIKE, 1000 .f , 0 .f , false );
3703- meta.get <invariants::item>().standard_price = 2300 ;
3770+ meta.get <invariants::item>().standard_price = 2400 ;
37043771 set_chambering_duration_ms (meta, 300 .f );
37053772
37063773 auto & item = meta.get <invariants::item>();
0 commit comments