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

League Play released for PS4 last Thursday and arrives on Xbox later this week.

The mode is played competitively and draws in the fiercest competition you can face in-game. As such, it is important to come prepared with proper competitive minded classes. We’ve seen that some of you may need a helping hand in this department and we’ll gladly lend it (we’re looking at you, MX9 Suppressed with NVIR players…).

he mode is played competitively and draws in the fiercest competition you can face in-game. As such, it is important to come prepared with proper competitive minded classes. We’ve seen that some of you may need a helping hand in this department and we’ll gladly lend it (we’re looking at you, MX9 Suppressed with NVIR players…).

We’ll split the guide into sections based on playstyle and roles. An image of each class is shown with a brief description below.

Note on Dead Silence: While many pros players do not use Dead Silence in respawn modes, we recommend it in League Play. As communication may be minimal, you will have to “carry” many teammates through matches and maintaining a silent footstep will help you solo-carry.

Main AR

This is the most straight-forward long range AR class for use in competitive Black Ops 4. The class offers superior range and the most long range firepower apart from snipers (and perhaps the newly buffed Swordfish). The class does lack utility so be sure to slay out and keep spawn control to ensure you are contributing enough to your team.

Game modes: SnD, Control, Hardpoint

This class is essentially the Maddox version of the first class. Great for slaying out the enemy team inside and outside the objective. Fast ADS speeds with quick close to medium range kill times. The class is best used at medium range for maximum damage, but can contend with most SMGs.

Game modes: SnD, Control, Hardpoint

The Swordfish is a newcomer in a sense to the competitive weapon pool. The ADS strafe speed and ADS-in time of Quickdraw 2 were both buffed and have made it a threat. The Swordfish can take targets down to 10-15 health in a single burst and has very little recoil. The weapon is best used in SnD to hold sightlines, but can be used in respawn due to recent buffs.

Game modes: SnD, Control, Hardpoint


This Saug class is all about using the speed of the SMG to kill targets and get out fast. The Quickdraw gives you near instant ADS-in times and double Stocks give you strafe speed rivaling sprint speeds. The class does lack a perk 1, so you will have to be careful of explosives and stuns. Be sure to use your speed to your advantage and play close range. Be a nuisance.

Game modes: SnD, Control, Hardpoint

This Saug class is a little more objective-oriented. The double stuns give you utility and forces enemies to switch to Tac Mask, opening up opportunities for your Battery’s War Machine. The playstyle will be quite similar to the first Saug class, but remember to use your stuns whenever possible.

Game modes: Control, Hardpoint

Support AR

Competitive Black Ops 4 features a lot of stun grenades in addition to the common Cluster Grenades. This class should always be slotted and ready to go just in case the enemy is fond of stuns. While your team can rock Tac Mask, Trophy Systems offer objective-wide defenses against all incoming projectiles. Be sure to throw your trophies into hardpoints and control points to help with incoming enemy attacks.

Game modes: Control, Hardpoint

This class offers a mix of slaying power and utility due to the versatility of the Maddox. The stun will allow you to take on several targets at once and push out enemy locations to give your team some breathing room in objective gamemodes.

Game modes: Control, Hardpoint


Sometimes, a little extra firepower is called for. That’s where the Paladin comes in. If you are finding it hard to hold onto long sightlines in SnD, think about equipping this sniper class. The Stabilizer will allow for straight shots and the FMJ will wall-bang targets that attempt to flee when they see the sniper’s barrel pointed in their direction.

The Mozu gives you a clean secondary option for when the enemy gets in close range. The pistol is a three bullet kill at close/medium range, so don’t be afraid to challenge gun fights against ARs and SMGs.

Well, there you have it. We hope these classes will help you as you grind to be the number 1 player in your Ladder. Note that these classes may need tweaks depending your playstyle & meta swifts.

comments below
A life-long Call of Duty player, Bachelor of Game Design, and a lover of eSports. Floodsye is my real name, Tommi is just the gamertag my parents gave me.