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

Treyarch has revealed that there are 10 Specialists that are playable in the Call of Duty: Black Ops 4 Private MP Beta.

Here’s an overview of all 10:

Ruin

  • Special Issue Equipment: Grapple Gun – allows user to quickly grapple and zip to locations nearby.
  • Special Issue Weaponry: Grav Slam – Kinetic device that delivers a lethal blast radius around the point of impact.

Seraph

  • Special Issue Equipment: Tac Deploy – Deployable beacon that gives your teammates the ability to redeploy to the surrounding area.
  • Special Issue Weaponry: Annihilator – Massive high-caliber revolver that fires devastating rounds with increased bullet penetration.

Firebreak

  • Special Issue Equipment: Reactor Core – Emits a damaging radiation field that wounds enemies and reduces their maximum health for a time and prevents healing.
  • Special Issue Weaponry: Purifier – Flamethrower that shoots a steady stream of flame, scorching enemies within close range.

Battery

  • Special Issue Equipment: Cluster Grenade – Powerful explosive grenade that sticks to surfaces and releases sub-munitions upon detonation.
  • Special Issue Weaponry: War Machine – High explosive grenade launcher.

Recon

  • Special Issue Equipment: Sensor Dart – Reveals enemies within its proximity.
  • Special Issue Weaponry: Vision Pulse – Pulse the map to reveal all the enemies for yourself and teammates.

Torque

  • Special Issue Equipment: Razor Wire – Damages and slows enemies that attempt to cross it.
  • Special Issue Weaponry: Barricade – Reinforced cover for protection while securing objectives. Built in microwave field slows and damages enemies.

Crash

  • Special Issue Equipment: Assault Pack – Supplies ammo packs that provide bonus score for taking down enemies.
  • Special Issue Weaponry: TAK-5 – Heals and boosts max health for the user and their team.

Ajax

  • Special Issue Equipment: 9-Bang – Tactical grenade that flashes and stuns. Can be cooked for multiple detonations.
  • Special Issue Weaponry: Ballistic Shield – Durable transforming defensive shield with a built-in machine pistol.

Nomad

  • Special Issue Equipment: Mesh Mine – Explosive traps that connect to create lethal tripwires.
  • Special Issue Weaponry: K9-Unit – Attack dog that can be commanded to follow you or patrol a designated location.

Prophet

  • Special Issue Equipment: Seeker Shock Mine – A deployable tactical that hunts down enemies and shocks them with temporary paralysis.
  • Special Issue Weaponry: Tempest – A tactical rifle that shoots electrically charged shock rounds to incapacitate enemies and any squad mates within their proximity.

SOURCE: Treyarch

comments below