@@ -3002,18 +3002,17 @@ void item::ammo_info( std::vector<iteminfo> &info, const iteminfo_query *parts,
3002
3002
iteminfo::is_decimal, ammo.range_multiplier );
3003
3003
}
3004
3004
if( parts->test( iteminfo_parts::AMMO_DAMAGE_DISPERSION ) ) {
3005
- info.emplace_back( "AMMO", _( "Dispersion: " ), "",
3006
- iteminfo::lower_is_better, ammo.dispersion );
3005
+ info.emplace_back( "AMMO", _( "Dispersion: " ), "<num> MOA ",
3006
+ iteminfo::is_decimal | iteminfo:: lower_is_better, ammo.dispersion / 100.0 );
3007
3007
}
3008
3008
if( parts->test( iteminfo_parts::AMMO_DAMAGE_RECOIL ) ) {
3009
- info.emplace_back( "AMMO", _( "Recoil: " ), "",
3010
- iteminfo::lower_is_better | iteminfo::no_newline, ammo.recoil );
3009
+ info.emplace_back( "AMMO", _( "Recoil: " ), "<num> MOA ",
3010
+ iteminfo::is_decimal | iteminfo:: lower_is_better | iteminfo::no_newline, ammo.recoil / 100.0 );
3011
3011
}
3012
3012
if( parts->test( iteminfo_parts::AMMO_DAMAGE_CRIT_MULTIPLIER ) ) {
3013
3013
info.emplace_back( "AMMO", space + _( "Critical multiplier: " ), ammo.critical_multiplier );
3014
3014
}
3015
3015
if( parts->test( iteminfo_parts::AMMO_BARREL_DETAILS ) ) {
3016
- std::string barrel_details;
3017
3016
const units::length small = 150_mm;
3018
3017
const units::length medium = 400_mm;
3019
3018
const units::length large = 600_mm;
@@ -3032,24 +3031,27 @@ void item::ammo_info( std::vector<iteminfo> &info, const iteminfo_query *parts,
3032
3031
const std::string small_string = string_format( " <info>%d %s</info>: ",
3033
3032
convert_length( small ),
3034
3033
length_units( small ) );
3035
- info.emplace_back( "AMMO", small_string, _( " damage: <num>" ), iteminfo::no_newline,
3034
+ info.emplace_back( "AMMO", small_string, _( " damage = <num>" ), iteminfo::no_newline,
3036
3035
small_damage );
3037
- info.emplace_back( "AMMO", "", _( " dispersion: <num>" ),
3038
- iteminfo::no_name | iteminfo::lower_is_better, small_dispersion );
3036
+ info.emplace_back( "AMMO", "", _( " dispersion = <num> MOA" ),
3037
+ iteminfo::no_name | iteminfo::is_decimal | iteminfo::lower_is_better,
3038
+ small_dispersion / 100.0 );
3039
3039
const std::string medium_string = string_format( " <info>%d %s</info>: ",
3040
3040
convert_length( medium ),
3041
3041
length_units( medium ) );
3042
- info.emplace_back( "AMMO", medium_string, _( " damage: <num>" ), iteminfo::no_newline,
3042
+ info.emplace_back( "AMMO", medium_string, _( " damage = <num>" ), iteminfo::no_newline,
3043
3043
medium_damage );
3044
- info.emplace_back( "AMMO", "", _( " dispersion: <num>" ),
3045
- iteminfo::no_name | iteminfo::lower_is_better, medium_dispersion );
3044
+ info.emplace_back( "AMMO", "", _( " dispersion = <num> MOA" ),
3045
+ iteminfo::no_name | iteminfo::is_decimal | iteminfo::lower_is_better,
3046
+ medium_dispersion / 100.0 );
3046
3047
const std::string large_string = string_format( " <info>%d %s</info>: ",
3047
3048
convert_length( large ),
3048
3049
length_units( large ) );
3049
- info.emplace_back( "AMMO", large_string, _( " damage: <num>" ), iteminfo::no_newline,
3050
+ info.emplace_back( "AMMO", large_string, _( " damage = <num>" ), iteminfo::no_newline,
3050
3051
large_damage );
3051
- info.emplace_back( "AMMO", "", _( " dispersion: <num>" ),
3052
- iteminfo::no_name | iteminfo::lower_is_better, large_dispersion );
3052
+ info.emplace_back( "AMMO", "", _( " dispersion = <num> MOA" ),
3053
+ iteminfo::no_name | iteminfo::is_decimal | iteminfo::lower_is_better,
3054
+ large_dispersion / 100.0 );
3053
3055
}
3054
3056
}
3055
3057
}
@@ -3288,22 +3290,22 @@ void item::gun_info( const item *mod, std::vector<iteminfo> &info, const iteminf
3288
3290
3289
3291
if( parts->test( iteminfo_parts::GUN_DISPERSION ) ) {
3290
3292
info.emplace_back( "GUN", _( "Dispersion: " ), "",
3291
- iteminfo::no_newline | iteminfo::lower_is_better,
3292
- mod->gun_dispersion( false, false ) );
3293
+ iteminfo::is_decimal | iteminfo::lower_is_better | iteminfo::no_newline ,
3294
+ mod->gun_dispersion( false, false ) / 100.0 );
3293
3295
}
3294
3296
if( mod->ammo_required() ) {
3295
3297
int ammo_dispersion = curammo->ammo->dispersion_considering_length( barrel_length() );
3296
3298
// ammo_dispersion and sum_of_dispersion don't need to translate.
3297
3299
if( parts->test( iteminfo_parts::GUN_DISPERSION_LOADEDAMMO ) ) {
3298
3300
info.emplace_back( "GUN", "ammo_dispersion", "",
3299
- iteminfo::no_newline | iteminfo::lower_is_better |
3300
- iteminfo::no_name | iteminfo:: show_plus,
3301
- ammo_dispersion );
3301
+ iteminfo::is_decimal | iteminfo::lower_is_better | iteminfo::no_name | iteminfo::no_newline |
3302
+ iteminfo::show_plus,
3303
+ ammo_dispersion / 100.0 );
3302
3304
}
3303
3305
if( parts->test( iteminfo_parts::GUN_DISPERSION_TOTAL ) ) {
3304
- info.emplace_back( "GUN", "sum_of_dispersion", _( " = <num>" ),
3305
- iteminfo::lower_is_better | iteminfo::no_name,
3306
- loaded_mod->gun_dispersion( true, false ) );
3306
+ info.emplace_back( "GUN", "sum_of_dispersion", _( " = <num> MOA " ),
3307
+ iteminfo::is_decimal | iteminfo:: lower_is_better | iteminfo::no_name,
3308
+ loaded_mod->gun_dispersion( true, false ) / 100.0 );
3307
3309
}
3308
3310
}
3309
3311
info.back().bNewLine = true;
@@ -3318,20 +3320,20 @@ void item::gun_info( const item *mod, std::vector<iteminfo> &info, const iteminf
3318
3320
if( parts->test( iteminfo_parts::GUN_DISPERSION_SIGHT ) ) {
3319
3321
if( point_shooting_limit <= eff_disp ) {
3320
3322
info.emplace_back( "GUN", _( "Sight dispersion (point shooting): " ), "",
3321
- iteminfo::no_newline | iteminfo::lower_is_better,
3322
- point_shooting_limit );
3323
+ iteminfo::is_decimal | iteminfo:: no_newline | iteminfo::lower_is_better,
3324
+ point_shooting_limit / 100.0 );
3323
3325
} else {
3324
3326
info.emplace_back( "GUN", _( "Sight dispersion: " ), "",
3325
- iteminfo::no_newline | iteminfo::lower_is_better,
3326
- act_disp );
3327
+ iteminfo::is_decimal | iteminfo:: no_newline | iteminfo::lower_is_better,
3328
+ act_disp / 100.0 );
3327
3329
3328
3330
if( adj_disp ) {
3329
3331
info.emplace_back( "GUN", "sight_adj_disp", "",
3330
- iteminfo::no_newline | iteminfo::lower_is_better |
3331
- iteminfo::no_name | iteminfo::show_plus, adj_disp );
3332
- info.emplace_back( "GUN", "sight_eff_disp", _( " = <num>" ),
3333
- iteminfo::lower_is_better | iteminfo::no_name,
3334
- eff_disp );
3332
+ iteminfo::is_decimal | iteminfo:: no_newline | iteminfo::lower_is_better |
3333
+ iteminfo::no_name | iteminfo::show_plus, adj_disp / 100.0 );
3334
+ info.emplace_back( "GUN", "sight_eff_disp", _( " = <num> MOA " ),
3335
+ iteminfo::is_decimal | iteminfo:: lower_is_better | iteminfo::no_name,
3336
+ eff_disp / 100.0 );
3335
3337
}
3336
3338
}
3337
3339
}
@@ -3340,21 +3342,21 @@ void item::gun_info( const item *mod, std::vector<iteminfo> &info, const iteminf
3340
3342
info.back().bNewLine = true;
3341
3343
if( loaded_mod->gun_recoil( player_character ) ) {
3342
3344
if( parts->test( iteminfo_parts::GUN_RECOIL ) ) {
3343
- info.emplace_back( "GUN", _( "Effective recoil: " ), "",
3344
- iteminfo::no_newline | iteminfo::lower_is_better,
3345
- loaded_mod->gun_recoil( player_character ) );
3345
+ info.emplace_back( "GUN", _( "Effective recoil: " ), "<num> MOA ",
3346
+ iteminfo::is_decimal | iteminfo:: no_newline | iteminfo::lower_is_better,
3347
+ loaded_mod->gun_recoil( player_character ) / 100.0 );
3346
3348
}
3347
3349
if( bipod && parts->test( iteminfo_parts::GUN_RECOIL_BIPOD ) ) {
3348
- info.emplace_back( "GUN", "bipod_recoil", _( " (with bipod <num>)" ),
3349
- iteminfo::lower_is_better | iteminfo::no_name,
3350
- loaded_mod->gun_recoil( player_character, true ) );
3350
+ info.emplace_back( "GUN", "bipod_recoil", _( " (with bipod <num> MOA )" ),
3351
+ iteminfo::is_decimal | iteminfo:: lower_is_better | iteminfo::no_name,
3352
+ loaded_mod->gun_recoil( player_character, true ) / 100.0 );
3351
3353
}
3352
3354
3353
3355
if( parts->test( iteminfo_parts::GUN_RECOIL_THEORETICAL_MINIMUM ) ) {
3354
3356
info.back().bNewLine = true;
3355
- info.emplace_back( "GUN", _( "Theoretical minimum recoil: " ), "",
3356
- iteminfo::no_newline | iteminfo::lower_is_better, loaded_mod->gun_recoil( player_character, true ,
3357
- true ) );
3357
+ info.emplace_back( "GUN", _( "Theoretical minimum recoil: " ), "<num> MOA ",
3358
+ iteminfo::is_decimal | iteminfo::no_newline | iteminfo::lower_is_better ,
3359
+ loaded_mod->gun_recoil( player_character, true, true ) / 100.0 );
3358
3360
}
3359
3361
if( parts->test( iteminfo_parts:: GUN_IDEAL_STRENGTH ) ) {
3360
3362
info.emplace_back( "GUN", "ideal_strength", _( " (when strength reaches: <num>)" ),
@@ -3576,13 +3578,13 @@ void item::gunmod_info( std::vector<iteminfo> &info, const iteminfo_query *parts
3576
3578
}
3577
3579
3578
3580
if( mod.dispersion != 0 && parts->test( iteminfo_parts::GUNMOD_DISPERSION ) ) {
3579
- info.emplace_back( "GUNMOD", _( "Dispersion modifier: " ), "",
3580
- iteminfo::lower_is_better | iteminfo::show_plus,
3581
- mod.dispersion );
3581
+ info.emplace_back( "GUNMOD", _( "Dispersion modifier: " ), "<num> MOA ",
3582
+ iteminfo::is_decimal | iteminfo:: lower_is_better | iteminfo::show_plus,
3583
+ mod.dispersion / 100.0 );
3582
3584
}
3583
3585
if( mod.sight_dispersion != -1 && parts->test( iteminfo_parts::GUNMOD_DISPERSION_SIGHT ) ) {
3584
- info.emplace_back( "GUNMOD", _( "Sight dispersion: " ), "",
3585
- iteminfo::lower_is_better, mod.sight_dispersion );
3586
+ info.emplace_back( "GUNMOD", _( "Sight dispersion: " ), "<num> MOA ",
3587
+ iteminfo::is_decimal | iteminfo:: lower_is_better, mod.sight_dispersion / 100.0 );
3586
3588
}
3587
3589
if( mod.field_of_view > 0 && parts->test( iteminfo_parts::GUNMOD_FIELD_OF_VIEW ) ) {
3588
3590
if( mod.field_of_view >= MAX_RECOIL ) {
0 commit comments