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

Gold, Diamond, Dark Matter, and more are now equippable in Zombies!

Since Call of Duty 4 introduced gold camos, players have sought after these pinnacle rewards for years. With Diamond camos in Black Ops II and finally Dark Matter in Black Ops 4, these weapon designs are the creme of the crop.

With the latest Game Settings Update, Zombies mode has finally got some Mastery camo love and we’re here to break it all down for you.

The first thing you’ll notice is that your Multiplayer and Blackout Mastery camo don’t cross over here. That’s because Treyarch wants “to make sure that equipping these camos in each mode proves that you put in the effort required to earn them.”

Essentially, if you’re rocking a Diamond camo in Multiplayer, it’s because you have put the time into Multiplayer, if you have a Gold camo in Zombies, it’s because you put the time in there, so on and so forth.

The way you unlock these camos is identical to how they’re unlocked in Multiplayer. Gold camo requires unlocking all previous camos for the specific gun. Diamond camo requires gold on all guns in that guns class and Dark Matter is unlocked through acquiring Gold camos for all weapons in the game.

First stage of Gold camo on an ICR (via MrRoflWaffles)

These mastery camos also change throughout the match depending on certain factors. The Gold camo has three forms, not pack-a-punched. Pack-a-punched once make its animated, and fully PaP’ed adds an electric effect.

Final stage of Diamond camo (via MrRoflWaffles)

The Diamond camo changes colors at 250,500,750,1000,1500,and 2000 kills throughout the game, while the Dark Matter camo changes colors at 50, 100, 200, 300, 400, and 500 headshots. Also, important to note that these camos don’t get replaced with a PaP’ed camo when upgraded whereas Performance and Technical camos do.

Final stage of Dark Matter Camo (via MrRoflWaffles)

Aside from Mastery camos, Reactive Camos also make their way into Zombies. To unlock Reactive Camos that you own you have to complete the associated challenge when the “wrapped” version is equipped. These range from 100 headshots for the Skullcracker camo to getting 5 headshots withing 7 seconds 25 times for the Vanguard camo. Mastercraft camos are also readily available once purchased.

For more Zombies content, check out our Zombies Pro Quiz and our IX Gauntlet Breakdown!

comments below
Brooklyn boy, born and raised. @MrBrawl96 everywhere on the World Wide Web.