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

Activision has announced that the first DLC pack for Call of Duty: Black Ops 3, Awakening, is coming to PlayStation 3 on Tuesday, April 5th. Call of Duty: Black Ops 3 Awakening DLC brings four multiplayer maps – Rise, Gauntlet, Skyjacked, and Splash – and new Zombies map, Der Eisendrache.

Multiplayer Maps:

  • Gauntlet: Grounded in a military training facility, Gauntlet plays up the core philosophy of Treyarch’s classic three lane map structure with distinct variety in visuals and gameplay. Each of the three primary lanes has a unique environment as players battle through a sprawling jungle, sub-zero artic zone and rainy urban cityscape.
  • Splash: Set in an abandoned water theme park, this vibrant and playful map delivers an imaginative environment complete with waterslides, a wrecked pirate ship, and a lazy river ride that winds through a fantastical forgotten city. Splash is designed to drive an open flow of combat, including plenty of opportunities for underwater gameplay.
  • Rise: Set in the snowy outskirts of Zurich, Rise is a Coalescence Corporation construction project for a massive subterranean research campus. The design of the map caters to a mix of classic Call of Duty cover combat alongside strategic core movement opportunities, with each section of the map offering distinctly different styles of gameplay.
  • Skyjacked: Set on a security VTOL in the clouds over urban Zurich, Skyjacked is a reimagined version of the popular Call of Duty®: Black Ops II multiplayer map Hijacked, and retains the same fast and frenetic gameplay from one of the most popular maps in Call of Duty® history, but with a twist. Skyjacked gives players the opportunity to explore the map in a variety of new ways thanks to the all-new core movement system in Black Ops III.

Zombies:

  • Der Eisendrache, the first chapter of Call of Duty: Black Ops III‘s Zombies DLC adventure will take players on an epic journey with the Origin characters Richtofen, Nicolai, Takeo, and Dempsey. Set in an eerie medieval castle built upon an ancient site of unspeakable horror, massive deposits of Element 115 have recently been discovered, delivering inspired new gameplay and – in Zombies tradition – a variety of exciting plot twists

Call of Duty: Black Ops 3 Awakening costs $14.99 and can only be bought as a separate download on PS3 as the Season Pass is not available on last-gen platforms. Players that do purchase Awakening on PS3 will receive an Awakening static theme for free.

Call of Duty: Black Ops 3 Awakening DLC is available now on PS4, Xbox One, and PC and is coming April 5th to PS3.

SOURCE: Activision

comments below