--- a/src/activity_actor.cpp +++ b/src/activity_actor.cpp @@ -1174,10 +1174,11 @@ } if( !perfect ) { + who.practice( skill_mechanics, 6, 12 ); + } else { // You don't gain much skill since the item does all the hard work for you - xp_gain += std::pow( 2, who.get_skill_level( skill_mechanics ) ) + 1; + who.practice( skill_mechanics, 3, 12 ); } - who.practice( skill_mechanics, xp_gain ); if( !perfect && g->m.has_flag( "ALARMED", target ) && ( lock_roll + dice( 1, 30 ) ) > pick_roll ) { sounds::sound( who.pos(), 40, sounds::sound_t::alarm, _( "an alarm sound!" ),