public void AttemptToSolve( PlayerMobile from ) { if ( m_Sleuths.Contains( from ) ) { from.SendMessage( "You have already gleaned all you can from that." ); return; } double minChance = m_RequiredForensicEval; double maxChance = m_RequiredForensicEval + 30; if ( from.CheckSkill( SkillName.Forensics, minChance, maxChance ) ) // Passed the basic { from.SendMessage( m_SuccessMessage ); if ( from.CheckSkill( SkillName.Forensics, minChance, maxChance ) ) // Try again for exceptional { from.SendMessage( m_GreatSuccessMessage ); } m_Sleuths.Add( from ); } else { from.SendMessage( m_FailureMessage ); } }