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

Firebreak is a formidable close-range combatant with area of effect abilities capable of clearing any objective with ease.

Firebreak is close-range Specialist and you should keep that and other small tips in mind when using him. In this short guide, we’ll look over Firebreak’s Purifier ability and his Reactor Core equipment.

Specialist Ability: Purifier

via Gfycat

The Purifier is a powerful area-of-effect damage tool with a short range and fast damage ticks. It can be a serious threat in objective game types where players are huddled together…when it works.

As we all know, the Purifier in Black Ops 4 sometimes has some problems with its hit detection. You must keep this in mind when using the ability.

To maximize your chances of hitting targets, aim for center mass. This’ll give you the widest possible range and help find any misshapen hitboxes. You should also use more fuel than you might think necessary to ensure that targets actually die from your Purifier.

Once you’ve got the weapon working (hopefully), you can move to using it effectively. Do not pull out the Purifier in long range sightlines as you will have no way of shooting back with the flamethrower in hand. Instead, wait for close range opportunities. Preferably, you should use the Purifier to clear objectives as enemies will be more grouped up.

Don’t get too frustrated with yourself if you don’t hit targets, it’s probably the weapon rather than you in the Purifier’s case.

Special Issue Equipment: Reactor Core

The Reactor Core is a simple, yet effective area denial device. The equipment emits dangerous radiation to a wide zone in a bubble around Firebreak. Anyone caught in this bubble is damaged per second by the radiation. So, how do we best put this equipment to use?

The same way the Purifier is best used, in breaking objective holds. While the Reactor Core can be used to simply kill lone wolf players, the most efficient use comes from burning targets trapped inside their own objectives.

When the enemy holds a Hardpoint, for example, situate yourself near a wall outside of the hardpoint. Activate the ability right before your team pushes to the retake the objective and you will be sure to pick up a few EKIAs. The area of effect is very large, so be sure to experiment with differing angles on each objective.

Be wary of Tactical Mask users as the perk counters the Reactor Core. These players will receive significantly less damage from your core. You will have to rely on teammates to help finish off these targets as the core will rarely kill Tac Mask players.

Be sure to follow @CharlieIntel for more tips, guides, and news.

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.