var pysTikTokRest = {"restApiUrl":"https://excel.tv/wp-json/pys-tiktok/v1/event","debug":""};
var pysFacebookRest = {"restApiUrl":"https://excel.tv/wp-json/pys-facebook/v1/event","debug":""};
//# sourceURL=jquery-core-js-extra
var sibErrMsg = {"invalidMail":"Please fill out valid email address","requiredField":"Please fill out required fields","invalidDateFormat":"Please fill out valid date format","invalidSMSFormat":"Please fill out valid phone number"};
var ajax_sib_front_object = {"ajax_url":"https://excel.tv/wp-admin/admin-ajax.php","ajax_nonce":"41140418ac","flag_url":"https://excel.tv/wp-content/plugins/mailin/img/flags/"};
//# sourceURL=sib-front-js-js-extra
(function () {
'use strict';
// Feature-detect: mark html so CSS collapses kick in
document.documentElement.classList.add('ignite-js');
function initReadMore() {
// Only run on mobile viewports
if (window.innerWidth > 768) return;
var summaries = document.querySelectorAll('.ub_review_block .ub_review_summary');
if (!summaries.length) return;
summaries.forEach(function (summary, idx) {
// Skip if already processed
if (summary.dataset.readmoreInit) return;
summary.dataset.readmoreInit = 'true';
// Target ONLY the long-description div, not the whole summary.
// The summary contains: .ub_review_summary_title (heading), one or more
// .ub_review_overall_value paragraphs (the body text), and
// .ub_review_cta_panel (the View Course button). We wrap just the body
// so the title and CTA stay visible at all times.
var bodyEls = summary.querySelectorAll(':scope > .ub_review_overall_value, :scope > p:not(.ub_review_summary_title), :scope > .ub_review_description');
if (!bodyEls.length) return;
// The wrap will sit immediately before the first body el and absorb all
// contiguous body siblings up to (but not including) the CTA panel.
var wrapperId = 'ignite-summary-' + idx;
var wrap = document.createElement('div');
wrap.className = 'ub_review_summary-wrap is-collapsed';
wrap.id = wrapperId;
var firstBody = bodyEls[0];
summary.insertBefore(wrap, firstBody);
// Move each body element into the wrap (preserves order, leaves title
// and CTA in place as siblings of the wrap).
bodyEls.forEach(function (el) { wrap.appendChild(el); });
// Measure: only collapse if the body is actually tall enough to need it.
var lineHeight = parseFloat(getComputedStyle(wrap).lineHeight) || 24;
var collapsedPx = lineHeight * 4.65;
if (wrap.scrollHeight <= collapsedPx + 4) {
wrap.classList.remove('is-collapsed');
return;
}
var btn = document.createElement('button');
btn.className = 'ignite-readmore-btn';
btn.setAttribute('aria-expanded', 'false');
btn.setAttribute('aria-controls', wrapperId);
btn.textContent = 'Read more';
// Insert button RIGHT AFTER the wrap (before the CTA panel) so the
// visual order is: title → collapsed body → Read more → View Course.
wrap.parentNode.insertBefore(btn, wrap.nextSibling);
btn.addEventListener('click', function () {
var collapsed = wrap.classList.contains('is-collapsed');
if (collapsed) {
wrap.classList.remove('is-collapsed');
btn.setAttribute('aria-expanded', 'true');
btn.textContent = 'Read less';
} else {
wrap.classList.add('is-collapsed');
btn.setAttribute('aria-expanded', 'false');
btn.textContent = 'Read more';
// Scroll card into view if collapsed region is now above viewport
var rect = summary.closest('.ub_review_block').getBoundingClientRect();
if (rect.top < 0) {
summary.closest('.ub_review_block').scrollIntoView({ behavior: 'smooth', block: 'start' });
}
}
});
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initReadMore);
} else {
initReadMore();
}
})();
: Updated stash tabs now support item stacking for gems, runes, and materials, which was a highly requested community feature.
Early versions had quirks with how certain skills mapped to the Joy-Con buttons. Update 1.02 helped standardize the controller "feel," making it more responsive.
This is subtle but vital. D2R on Switch suffered from a slight "mushiness" in controls compared to PC mouse-clicking. Update 1.02 refined the dead zones on the analog sticks and improved the responsiveness of the bumper-trigger mapping for skill swapping. It feels snappier, allowing for the precise kiting that high-level Diablo play demands. diablo ii resurrected switch nsp update 102 better
The Nintendo Switch version of Diablo II: Resurrected will always be the "cloudy" version compared to the sharp 4K glory of the PC or PS5 versions. The dynamic resolution can dip low in Act 4 and 5. However, Update 1.02 represents the developers catching up to the hardware limitations. They optimized the backend, trimmed the memory bloat, and stabilized the network code.
The Diablo II: Resurrected Switch NSP Update 1.0.2 is a welcome improvement for Nintendo Switch players. With its bug fixes, balance adjustments, and quality-of-life improvements, the update enhances the overall gaming experience. If you're a fan of the game or a new player looking to jump in, the updated version provides a more polished and engaging experience. : Updated stash tabs now support item stacking
Have you noticed improved battery life or Terror Zone performance with this update? Check our forums for the latest benchmarking on the Switch OLED model running the 1.0.2 NSP.
: Ensure your console is running the latest available build to avoid save corruption issues seen in earlier base builds . This is subtle but vital
: To handle high traffic during ladder resets, a login queue was implemented, though users can bypass this to play offline immediately. Historical Context (Original v1.02)
: Dedicated tabs for materials, gems, and runes, which now support stackable items to save space.
In the world of Nintendo Switch NSPs (the file format used for game backups and installations), version numbers can sometimes be confusing. The "1.02" update for D2R was one of the earliest post-launch patches designed to address the most glaring "Day 1" issues reported by the community. 1. Performance Stability
var wpilFrontend = {"ajaxUrl":"/wp-admin/admin-ajax.php","postId":"44613","postType":"post","openInternalInNewTab":"0","openExternalInNewTab":"0","disableClicks":"0","openLinksWithJS":"0","trackAllElementClicks":"0","clicksI18n":{"imageNoText":"Image in link: No Text","imageText":"Image Title: ","noText":"No Anchor Text Found"}};
//# sourceURL=wpil-frontend-script-js-extra