diff --git a/src/avatar_action.cpp b/src/avatar_action.cpp index 385993dccb27a..7bc194a3e4cc8 100644 --- a/src/avatar_action.cpp +++ b/src/avatar_action.cpp @@ -772,6 +772,9 @@ bool avatar_action::fire( avatar &you, map &m ) m.draw( g->w_terrain, you.pos() ); std::vector trajectory = target_handler().target_ui( you, args ); + //may be changed in target_ui + gun = args.relevant->gun_current_mode(); + if( trajectory.empty() ) { bool not_aiming = you.activity.id() != activity_id( "ACT_AIM" ); if( not_aiming && gun->has_flag( "RELOAD_AND_SHOOT" ) ) {