Skip to content

Commit b81a9c8

Browse files
committed
smg balance
1 parent 82188ef commit b81a9c8

2 files changed

Lines changed: 77 additions & 9 deletions

File tree

src/test_scenes/ingredients/guns.cpp

Lines changed: 76 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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>();

src/test_scenes/test_scene_flavour_ids.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ enum class test_plain_missiles {
223223
BLUNAZ_MISSILE,
224224
GRADOBICIE_ROUND,
225225
SZCZUR_ROUND,
226+
CYBERSPRAY_ROUND,
226227
ZAMIEC_ROUND,
227228
SZTURM_ROUND,
228229
DEAGLE_ROUND,

0 commit comments

Comments
 (0)