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

With help from XclusiveAce’s extensive breakdown video, let’s look at how to best use one of the weaker ARs of Black Ops 4.

Sooner or later, most players will run into the problem of having to use the weaker weapons in Call of Duty. Though this can stem from many reasons, the primary one generally has to do with getting those sweet camos.

So let’s take a look at the KN-57, a weaker class of AR in Black Ops 4 with some strengths that can be exploited to flip the tables on the Maddox or ICR.

The KN-57 lies towards the end of the pack with a lower firerate than most ARs and mediocre damage values at medium to long range combat. Though the 40 damage at close range may be effective against weaker SMGs such as the MX9, it gets mauled by the Saug 9mm and Spitfire. So, what are these strengths I mentioned before?

The KN-57’s strengths lies in its attachment set. Rapid Fire speeds up time to kill to a lightning quick 327ms at close range…now that is the type of speeds that can start to compete with the likes of the 9mm. Additionally, the KN-57 comes with Grip, Quickdraw, and Stock options.

As seen in XclusiveAce’s excellent breakdown of the speed stats, the Stock gives the player 30% more movement speed while ADS’d. Quickdraw brings the ADS time to a nice, snappy 225ms. The benefit of Gungho is somewhat diminished however due to the comparatively low decrease to the sprintout time.

As for the Grip, it brings in some much needed recoil control due to the KN-57’s natural bounce. The recoil is pattern is similar to the AK-47 and other AK series rifles, which inspires the design of the KN-57.

So let’s craft the perfect class around this information to finish out our breakdown.

The attachments here lean into every possible strength of the KN-57. Quicker ADS speed, better recoil control, faster strafing, and speedier kill times are all included in the loadout. Throw on Primary Gunfighter 1 and 2 to ensure you can have Grip, Quickdraw, Stock, and Rapid Fire on your class.

Next, a quick glance at the perks.

When crafting the class, we need to get the most bang for our class points. Ghost in Black Ops 4 is an ineffective choice due to the need to sprint at all times to remain hidden. Dead Silence, while effective, can be substituted or removed in respawn game modes due to the loud environment/fast pace.

Tac Mask counters a wide range of annoyances from the 9-Bangs of Ajax to the Reactor Core of Firebreak. No other perk gives as much utility in one class point.

Dexterity allows for faster mantles and slides. This means, in conjunction with Quickdraw, you can slide-cancel very quickly.

Slide-cancelling is a mechanic in Black Ops 4 where the player slides and then quickly presses the left-trigger to ADS. This quickly stops the slide and pops the player into gunfighting position. The reason the mechanic gives a big advantage is due to the slide’s low stance, smaller hitbox, and fast speed with Dexterity.

To top the class off, bring Stim Shot to heal quicker and more often.

Now, get out there and get that Dark Matter…or just shred through the competition with this Rapid Fire beast.

As always, thank you to XclusiveAce for the wonderful breakdown and stats work he does. You can find his full video below for even more details on the KN-57.

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.