--- a/src/character.cpp +++ b/src/character.cpp @@ -5101,14 +5101,18 @@ } } // Not in a vehicle, start checking furniture/terrain/traps at this point in decreasing order - else if( furn_at_pos != f_null ) { + else if( furn_at_pos != f_null && furn_at_pos.obj().comfort >= 5 ) { comfort += 0 + furn_at_pos.obj().comfort; } // Web sleepers can use their webs if better furniture isn't available else if( websleep && web >= 3 ) { comfort += 1 + static_cast( comfort_level::slightly_comfortable ); + } else if( furn_at_pos != f_null && furn_at_pos.obj().comfort >= 4 ) { + comfort += 0 + furn_at_pos.obj().comfort; } else if( !trap_at_pos.is_null() ) { comfort += 0 + trap_at_pos.comfort; + } else if( furn_at_pos != f_null && furn_at_pos.obj().comfort >= 1 ) { + comfort += 0 + furn_at_pos.obj().comfort; } else { // Not a comfortable sleeping spot comfort -= here.move_cost( p );