diff --git a/src/character_functions.cpp b/src/character_functions.cpp index f74e2feef76b..282ee7771ce7 100644 --- a/src/character_functions.cpp +++ b/src/character_functions.cpp @@ -438,8 +438,12 @@ std::string fmt_wielded_weapon( const Character &who ) } const item &weapon = who.primary_weapon(); if( weapon.is_gun() ) { - std::string str = string_format( "(%d) [%s] %s", weapon.gun_current_mode()->ammo_remaining(), - weapon.gun_current_mode().tname(), weapon.type_name() ); + std::string str = weapon.is_gunmod() + ? string_format( "(%d) %s", + weapon.ammo_remaining(), weapon.type_name() ) + : string_format( "(%d) [%s] %s", + weapon.gun_current_mode()->ammo_remaining(), + weapon.gun_current_mode().tname(), weapon.type_name() ); // Is either the base item or at least one auxiliary gunmod loaded (includes empty magazines) bool base = weapon.ammo_capacity() > 0 && !weapon.has_flag( flag_RELOAD_AND_SHOOT );