// 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 new patch update for Call of Duty: Black Ops 3 is now live on PlayStation 4 and Xbox One. This is patch version number 1.17.




  • Improved stability with group invites.
  • Fixed an issue which prevented Scorestreak progress from resetting on death during CWL game modes.
  • Improved stability when switching game modes.
  • Focused development effort to improving overall online networking performance and in-game stability, including but not limited to:
    • Discovered and eliminated a handful of behind-the-scenes errors causing the game to occasionally hitch under certain circumstances.
    • Rewrote a portion of the rendering system to streamline CPU performance.


  • Black Market Attachment Variants will no longer be returned to default in Gunsmith after playing a match. 

[PS4 ONLY] Maps:

  • Rupture
    • Updates to Manticore functionality:
      • Updated Manticore score and XP values.
      • Adjusted 3rd person camera during ADS.
      • Manticore will no longer collide with prone teammates.
      • Adjusted the Kill-Cam when one Manticore kills another Manticore.
    • Annihilator and Gravity Spikes now do more damage to the Manticore.
    • Fixed exploits where players were able to access unintended areas of the map.
  • Citadel
    • Fixed exploits where players were able to access unintended areas of the map.
  • Miniature
    • Adjusted the Hardpoint capture zone near the southern ice-box.
    • Lethals, Tacticals, Scorestreaks, and the Uplink Satellite will no longer fall through the pool noodle.
    • Fixed exploits where players were able to access unintended areas of the map.
  • Outlaw
    • Adjusted the Hardpoint capture zone in the Hotel.


Zetsubou No Shima:

  • Fixed an issue with spiders not spawning in correctly during natural play.

Gorod Krovi:

  • Fixed an issue where players could lose their equipped weapons after being revived.

[PS4 ONLY] Revelations:

  • Fixed various progression breaks during the Easter Egg.
  • Fixed an issue that would cause the game to freeze at high rounds.
  • Fixed issues relating to hot joining.
  • Fixed an issue with the Level 1 challenge completion.
  • Various collision/map exploit fixes.
  • Fixed an Apothicon Servant exploit.
  • Fixed an issue with the game timer when a player joins a game in progress.
  • Fixed various death barriers throughout the level.
  • Various fixes for the Keeper Protector.
  • Fixed exploits relating to Gobble Gum Usage.
  • Fixed an issue with the AI getting stuck in Verruckt portion of the map.
  • Fixed an exploit with the Ragnarok.
  • The Rift E9 will now do proper damage to the Margwa.
  • Resolved a freeze that would occur during the final Easter Egg boss battle.
  • Fixed an issue where players could die while teleporting.

SOURCE: PS4 // Xbox One

comments below