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

Call of Duty: Modern Warfare features many ways to earn new content just by playing and completing set of challenges. 

There’s Daily Challenges, described in our post here, but there’s also another feature in Call of Duty: Modern Warfare: Missions. 

Missions are multi-step challenges that can be completed for XP rewards and bonus special rewards. At launch, there will be a set of missions that you can chose and activate. You can only have one mission activated at a time. 

Each Mission Challenge will have between 5-8 objectives. Completing each objective will earn you XP bonuses or a cosmetic item. Every single Mission Challenge has a final loot reward: a special cosmetic weapon variant. 

The cosmetic weapon variant is different for each of the Mission Challenges you complete. 

Objectives within each mission feature different things like get 30 personal radars or get 30 kills with an Assault Rifle providing additional things to work towards in Call of Duty: Modern Warfare. Again, this is all for just playing the game. 

Infinity Ward confirmed to CharlieIntel during our recent event that Mission Challenges in Call of Duty: Modern Warfare will be updated with a new set during the new post launch content seasons. But there’s a key thing to note, per Infinity Ward: the Missions will not be removed from the tab when the season ends. So if you pick up the game during Christmas or join in late, you will see all the Missions that have been released since launch and you can activate and complete any of them on your timetable – not restricted to each Season. 

Keep up to date with our Call of Duty: Modern Warfare launch coverage on our Modern Warfare game page.

comments below