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

Crash is a specialist who brings team wide assistance and requires deft timing to play correctly.

The specialist who goes by the codename of Crash carries a relatively simple kit: A TAK-5 boost which provides an instant heal to all teammates to 200 health and an Assault Pack which provides ammo which scores additional points on kills.

Here, we will look over the best ways to use these abilities.

Specialist Ability: TAK-5

The TAK-5 provides a team-wide overheal to 200 health, but the effect is much less impactful than other Specialists if used at the wrong time. Many other specialists can afford a small error in timing, but for Crash, such a thing can ruin the whole show.

To ensure you get the most out of your TAK-5 boost, you must think about both team positioning and objective locations. Once you acquire the TAK-5 and are ready to use it, look at the mini-map to see where your teammates are. If they are dead or away from the fight, wait to pop the boost.

Your best bet for a successful TAK-5 use comes when the majority of your team is together. A stacked team of 200 health players becomes a hassle to shred through and gives you a massive advantage in teamfights. Additionally, informing teammates through in-game voice chat of your intentions can help maximize the gains.

If needed, the TAK-5 boost can also be used to break through Firebreak’s Reactor Core as it heals burns.

Special Issue Equipment: Assault Pack

The Assault Pack is among the least lethal equipment options in the game. It provides additional ammo supplies to you and your teammates. The ammo gives a small +25 point boost for every EKIA. The ammo pack can be destroyed by enemies.

For optimal usage, the pack should be place within your team’s spawn. The location should provide ample cover for the pack as enemy fire can quickly destroy it. The small boost in points may not be immediately eye-popping, but it can do wonders for low-tier scorestreaks.

The pack can also be used in the middle of combat if you see that teammates are running low on ammo. This generally requires voice communication, but if you see a teammate who is doing well in need of extra mags, don’t hesitate to throw them a lifeline. Chances are they are close to a scorestreak and looking desperately for a downed enemy’s weapon.

We hope this simple tips will help you use Crash to maximum effect. As always, don’t be afraid to experiment a bit with Specialist usage in public matches. Who knows? Maybe you will find the new, best way to use a certain item and create a whole new meta.

Follow @CharlieIntel on Twitter for news, guides, and more.

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.