// 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); };});

Treyarch has just given some concrete dates on new modes and events coming this week to Call of Duty Black Ops 4.

The highlight here is undoubtedly the return of Ambush mode in Blackout on May 14. Unofficially called “Ambush 2.0” the ruleset here has changed up a bit since last we saw it. Here’s how Treyarch is describing it:

We’ve updated Ambush for Operation Spectre Rising, and it’s coming back to all platforms later this month with a new ruleset. Players will now have access to all Sniper Rifles (with the exception of the SDM) plus Shotguns and the Bowie Knife, and we’re removing Concussion Grenades, Cluster Grenades, ATVs, and ARAV vehicles to focus the action on pure gunplay this time around. Jump in, get some matches under your belt, and let us know what you think of the new revisions once it’s live.

Alongside the return of a fan-favorite LTM, Zombies players are welcomed to 2X Nebulium Plasma from May 16 through May 23. These resources are used to purchase Elixers and Talismans in Black Ops 4.

Lastly, Multiplayer fanatics will receive a new featured playlist on May 17. Barebones Deathmatch Moshpit takes the Barebones rule set and bundles together Team Deathmatch and Kill Confirmed into one nice playlist.

Since the announcement doesn’t specify any specific platforms, it looks like all three of these updates will go live on Xbox One, PC, and PS4 at the same time!

comments below
Brooklyn boy, born and raised. @MrBrawl96 everywhere on the World Wide Web.