// 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 released the latest Game Settings Update for Call of Duty: Black Ops 4 on December 10 on PlayStation 4, Xbox One, and PC.

Treyarch has revealed that they have removed the limit on the Pick-a-Weapon bribe for a limited time, brought in new 2XP playlists, and more.

Unlimited Pick-a-Weapon Bribe

Post image

Ready to earn more Black Market weapons? Starting today, we’re removing the limit on the Pick-a-Weapon Bribe in Blackjack’s Shop for a limited time, so you can unlock as many weapons as you’d like for 50 Reserve Cases per Bribe, including the new MicroMG 9mm SMG and Eye of Apophis amulet weapon.

As a reminder, each Pick-a-Weapon Bribe contains a weapon of your choice in a Crate that also includes 2 Reserve items, along with a bonus of 5 Duplicate-Protected Crates for 15 additional Reserve items, all in exchange for 50 Reserve Cases. This bundle allows players to select from a collection of 48 weapons, including base Reserve weapons, MKII Weapons, Signature Weapons, and Mastercrafts. Which one are you unlocking first?

2XP Sticks and Stones in Multiplayer

Post image

This one’s for the party game fans. 2XP Sticks and Stones joins the rotation as our latest Featured Playlist in MP! If you haven’t played this free-for-all game mode before, the rules are simple:

  • All players start with the Reaver C86 crossbow, Ballistic Knife, and Combat Axe.
  • Kills with the crossbow or Ballistic Knife are worth 100 points. Kills with the Combat Axe are worth 50 points and bankrupt your opponent’s score to zero.
  • Players are marked as red dots in a periodic UAV sweep, with the top player marked in gold.
  • The player with the highest score at the end of the match wins!

Pick up some quick tips and tricks here, and watch for 2XP Infected: Final Stand to drop into next week’s spotlight on Tuesday.

Stay Up to Date

There’s a long list of upcoming 2XP Featured Playlists and additional 2XP and Quad Feed events to watch for going forward, so be sure to follow us on Twitter and turn on notifications to be the first to know what’s new every week. While we’ll continue to post updates like this one on Reddit from time to time, your Twitter feed will always be the best place to find out what’s new.

See below for the details on today’s update:

Post image

GLOBAL

  • Black Market
    • Pick-a-Weapon Bribe
      • Removed the limit on the number of times a player can acquire the Pick-a-Weapon Bribe in Blackjack’s Shop for a limited time.

MULTIPLAYER

  • Featured Playlists
    • PS4/Xbox One
      • Sticks and Stones (2XP)
      • Nuketown
      • Barebones Moshpit
      • Bolt-Action Barebones Moshpit
      • Mercenary Deathmatch Moshpit
    • PC
      • Sticks and Stones (2XP)
      • Nuketown
      • Mercenary Deathmatch Moshpit

BLACKOUT

  • Featured Playlists
    • PS4/Xbox One
      • Hot & Heavy
      • Alcatraz Portal Quads
      • Quads
      • Duos
      • Solo
    • PC
      • Alcatraz Portal Quads
      • Hot & Heavy Moshpit
      • Quads

ZOMBIES

  • Featured Playlist
    • Voyage of Despair

SOURCE: Treyarch

comments below