// initialize jwplayer var playerInstance = jwplayer('player'); // player dom elements var playerContainerEl = document.querySelector('.player-container'); // returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); } // returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); } // configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' }); // when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED }); // get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl); // set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px'; // below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop; if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); } // namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false; // window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); }; });

A Black Ops 4 glitch is randomly switching player’s classes mid-match without their approval.

While Treyarch works to fix spawning issues, game crashes, and other issues in Black Ops 4, it seems like they may have added some new bugs to the mix.

Joseph “TurnUp2eZ” Sicre, former eUnited’s Cadets team member, first reported the glitch on Twitter, uploading a video with the caption: “The game really said if I’m going up there I need an ICR, game literally switched for me.”

The clip below shows TurnUp2eZ running around the map Gridlock, before mantling over a cement structure. While running, we can see he is holding the SAUG 9mm submachine gun, and the suddenly post-mantle he is now equipped with an ICR assault rifle.

This is not the only instance of this glitch. Xposed, a streamer that plays for Team Kaliber, encountered this oddity when he was playing Search and Destroy on Gridlock. While also holding the SAUG 9mm, he mantled over some debris, and upon landing was equipped with the Cordite. This happened without picking up any weapons off the floor or switching classes.

In the clip below, Xposed is seen going back through his stream to find the moment when it happened, then uploading it to social media to prove that he didn’t imagine selecting the SAUG, screaming: “Look at that! I told you I wasn’t tripping! Are you kidding me?”

In both cases, the players had the SAUG 9mm equipped on the map Gridlock, so the issue may lie there, however it may be an issue with mantaling as well.

Gridlock is currently included in the CWL ruleset, meaning competitive matches are set to take place on this map. If this issue persists, Treyarch it is unknown what Treyarch will do in regards to it being in the rotation before the first Call of Duty World League event of the season, which will take place in Las Vegas from December 7-9.

Treyarch has yet to comment on the glitch, but fans of the game are hopeful that a fix will be released in a future update.

comments below