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

As first showcased after a leak earlier this week, Activision has officially announced a new pre-order bonus for Call of Duty: Modern Warfare today.

The company announced that those who pre-order Call of Duty: Modern Warfare digitally or physically on PlayStation 4 first (with other platforms to follow) will receive classic Captain Price character to use in Call of Duty: Black Ops 4’s Blackout mode.

‘Playable Blackout Character Classic Captain Price” is how the stores are describing the new bonus. Digital pre-orders also include a Prestige Token to use in Black Ops 4.

Pre-order any version of Call of Duty®: Modern Warfare® and immediately unlock the classic version of Captain Price as a playable character in Blackout! The character will be playable on PlayStation 4 today, with other platforms to follow on July 18.

This is the very first Modern Warfare character to become available in Black Ops 4’s Blackout mode, which thus far has been limited to Treyarch-related characters and themes. It’s not clear if there’s any more MW characters planned for Blackout as of now.

FAQ: How to Redeem Classic Price

Here’s how to claim Classic Price in Call of Duty: Black Op 4 Blackout:

Already Preordered a Digital Edition? If you already pre-ordered any of the digital versions of Call of Duty: Modern Warfare, you will be retroactively granted Classic Price.

Already Preordered a Physical Edition? If you already pre-ordered any of the physical versions of Call of Duty: Modern Warfare from a participating retailer, simply contact the retailer from which you purchased, with your receipt or proof of purchase, and request a redeem code to unlock Classic Price. Then log in via your Network or Activision account and redeem the code.

About to Preorder a Digital or Physical Edition? If you haven’t yet pre-ordered a digital or physical version of Call of Duty: Modern Warfare, simply go to any participating retailer (or you can go here, for example), and redeem Classic Price with your purchase now!

More info here.

Today, the studio also showcased the very first look at the new Gunfight mode in Call of Duty: Modern Warfare, part of the Multiplayer experience.

comments below