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

Call of Duty: Black Ops 4 has, arguably, one of the most diverse ways of getting content in terms of the Black Market for a Treyarch game. There’s the Blackjack’s Shop, which allows players to directly purchase cosmetic items that rotate out, the Black Market Tiers to progress through over 200 Tiers per operation for free (or skip with CP), and then there’s Special Orders.

The Blackjack’s Shop is probably one of the best additions to this title, as it allows players to pick and chose the items they want, and since all of the items are currently cosmetic only, there’s no issue with this shop for now. And the Blackjack’s Shop resembles the original way microtransactions were introduced by Activision into Call of Duty — Black Ops 2 and Ghosts let players directly buy whichever cosmetic items they wanted to from the shop. Although some of the cosmetic items in the shop are not that worth it, the items don’t affect gameplay and the cosmetic items are there for those who are interested in it. It gives people direct access to select cosmetic items.

The Black Market Tier system is also an interesting new addition to Call of Duty. It’s seems to have a good intention in design, as players can unlock more tiers as they rank up, but a flaw in it is the amount of time it takes per tier and some of the not-so-good items that are available per tiers. Some of the changes Treyarch should introduce to the tier system are: Treyarch should do what Fortnite does and give players currency (in this case, Call of Duty Points) at certain tier numbers to use then in the Shop; improve the quality of the items in the tiers to make them more attractive and worthy of grinding towards; and increase the tier rank up speed in general. But, the tier system is not a bad idea overall — there just needs to be some improvements to it.

The last way to get items — Special Orders — seem flawed in its design. Treyarch’s intention here seems to be designing special cosmetic items that are to be separate from the main tier system and from the shop. The items have ranged from cosmetic sets to now introducing signature weapons. The biggest issue with the Special Order system is that players can only get these orders with Call of Duty Points. Black Ops 4 lacks any in-game currency that players earn while playing — which was present in Black Ops 3 (cryptokeys), Infinite Warfare (salvage), Modern Warfare Remastered (Depot Credits), and WWII (Armory Credits). If you want a special order, you have to buy it with Call of Duty Points (CP). And not only do you have to buy it with CP, you then have to go through and play more games to level up the tiers of the order in order to unlock all of the content in the order.

Now, that’s a rip-off.

Players are already paying money in order to get the content, but then, players have to progress through another tier system in order to just use the content they just paid for. Why not make the content immediately available if you’re using Call of Duty Points to unlock them? It would be a different story here if Special Orders could be unlocked with some in-game earn-able currency and then having to progress through it. Players are asked to buy an order, followed by playing several games just to get the content they just paid for. Black Ops 4’s lack of in-game earn-able currency hurts the game the most. An in-game currency would solve a lot of the system’s problems, allowing players to be able to get the cosmetic content without having to use CP to get every single item.

And, let’s talk about the signature weapon Special Orders…Treyarch introduced a new Special Order on Black Ops 4 on PS4 called Fall Firestorm, which grants two signature weapons + some cosmetic items for $20. Many people were outraged over the fact that one of the signature weapons was a GameStop pre-order bonus, but for me, that is not the issue here. Activision always has, and will, release many of the pre-order bonuses from retailers in-game for all players at some point. They’ve done it all the time — from the pre-order bonus maps, to even the Nuketown Camo Pack in Black Ops 3. The issue I see here is: $20 for 2 weapon camos + calling cards and emotes is a rip off.

Call of Duty: Black Ops 2 had cosmetic packs that included camo, reticles, and a calling card for $2. Black Ops 4’s system is asking for too much money for too little.

Special Orders needs a full rework in Call of Duty: Black Ops 4 to allow more options to unlock the content — without having to only use CP to get the content. Until then, spending money on the Orders is a complete rip-off.

One of the things that appears to be present is that Treyarch’s Call of Duty games have the most microtransactions in them. Black Ops 3 system was full on RNG and only allowed players to unlock new content through Supply Drop system, even locking new weapons behind the drops. Treyarch seems to be avoiding that again in Black Ops 4 as, for the moment, there’s no Supply Drops in Black Ops 4 that players can buy. There are “Reserves” but those are obtainable through the tier system. And, for now, no new weapons have been added to Black Ops 4, but we all know those are coming. It will be very interesting to see how they handle that addition. Hopefully we don’t have a repeat of Black Ops 3.

comments below