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

All of the Operators available in Call of Duty: Modern Warfare can be unlocked just by completing the specific challenge for each of them. 

Some of the challenges for the Operators involve MP challenges, some involve Campaign, and others are tied to Special Ops, meaning if you want to have all Operators unlocked, then you have to play all modes of the game to get there. 

Here’s how to unlock each of Operators in Call of Duty: Modern Warfare: 


  • Thorn: Complete the Piccadilly Campaign Mission 
  • Charly: Play 25 Public Matches 
  • Otter: Complete Operation: Paladin in Western Verdansk 
  • Domino: Win 5 matches of Gunfight 
  • Golem: Complete Operation: Headhunter in Downtown Verdansk 
  • Wyatt: Complete The Wolf’s Den Campaign Mission 
  • D-Day: Complete the Hunting Party Campaign Mission 
  • Alice: Complete Operation Harbringer in Eastern Verdansk 
  • Raine: Get 500 LMG Kills 


  • Minotaur: Get 300 Assault Rifle Kills in Multiplayer 
  • Bale: Complete the Into the Furnace Campaign Mission 
  • Rodion: Complete the Operation: Just Reward in Downtown Verdansk 
  • Azur: Complete the Old Comrades Mission in the Campaign 
  • Grinch: Get 100 Headshots in Multiplayer 
  • Zane: Complete all the given Co-Op Operations in Verdansk 
  • Yegor: Complete the Proxy War Campaign Mission 
  • Kreuger: Execute 25 Finishing Moves 
  • Syd: Kill 5 Juggernauts in any Co-Op Mission 

This is one of the first times that there are unlocks in MP that are tied to other modes throughout the game. So if you want every single one of the Operators unlocked and playable, you’ll have to play through the campaign and special ops to get those in action. 

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

comments below