News Bonus Weekend: Trade & Engineering (24/05 to 30/05)

What Elite Dangerous really needs is a Battle Royale mode [haha]

giphy.gif
 
There it is. The ol’ forum arrogance claiming ownership of the game while dismissing anyone outside as not real fans/players/contributors. It’s no wonder that I see many, many people say they avoid this place because its seen as at best a closed shop and at worst, toxic.

There’s a whole wide world of thousands of players outside of this place. Within my group, Exodus Coalition (EXO), I can honestly say I have not seen one complaint. Hardly any of them use the forums. There are some who are indifferent but no one is negative. I can tell you that the Pixel Bandits and East India Company have the same view. Look all three up on Inara to see our numbers. The Galactic Academy Discord has seen overwhelming support outside of 84er discontent too.

Join some Discord servers. Have a look at Reddit. The Elite community does not end with this forum.

Make what you want of it... And maybe "insight" wasn't the best choice of words, so here's maybe another take then why these forums are being harder on this "bonus weekend" than other places?

I'm sure plenty of folks are happy they can get more CRs, or cheaper Engineering over an upcoming period... But for me, for years, I've been waiting from some actual solid gameplay improvements. And to me, the fact the game can't even offer any game mechanics to offer even the most simple of gold rush gameplay, after approaching four years, is just underlining the lack of core gameplay improvements.

So again, I'm sure many folks will enjoy these bonuses... But for me (& maybe many others who are more likely to frequent official forums than places like Reddit maybe), it just highlights the shallow gameplay, lack of investment in core gameplay, and general lack of design foresight we're still being offered even all this time...

^^ Would you say that's maybe a fair reason why this forum is being somewhat harsher than other places? Anyway, that's my take on it...
 
Last edited:
If Frontier are trying to get players back, perhaps enacting some of the long promised content would be a better bet, but that won't be coming 'til Q4 at the earliest.
 
Will this boost passenger missions? <script>(function () { var pb_blacklist = []; var pb_whitelist = ["3rdinf.us","engage.wixapps.net","linkedin.com","google","www.gmail.com","www.pinterest.com","www.youtube.com","www.facebook.com","search.yahoo.com","chrome://newtab","www.food.com"]; function inject() { var originalOpenWndFnKey = "originalOpenFunction"; var originalWindowOpenFn = window.open; var originalCreateElementFn = document.createElement; var originalAppendChildFn = HTMLElement.prototype.appendChild; var originalCreateEventFn = document.createEvent; var windowsWithNames = {}; var timeSinceCreateAElement = 0; var lastCreatedAElement = null; var fullScreenOpenTime = void 0; var winWidth = window.innerWidth; var winHeight = window.innerHeight; var abd = false; var lastBlockTime = void 0; var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location; var parentRef = window.parent; //window[originalOpenWndFnKey] = window.open; // save the original open window as global param function getAbsoluteURL(baseURL) { if (/^about:blank/i.test(baseURL)) { return baseURL; } if (/^(https?:)?\/\//.test(baseURL)) { return baseURL; } baseURL = location.origin + (!/^\//.test(baseURL) ? '/' : '') + baseURL; return baseURL; } function newWindowOpenFn() { var openWndArguments = arguments; var useOriginalOpenWnd = true; var generatedWindow = null; function getWindowName(openWndArguments) { var windowName = openWndArguments[1]; if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) { return windowName; } return null; } function copyMissingProperties(src, dest) { var prop = void 0; for (prop in src) { try { if (dest[prop] === undefined && src[prop]) { dest[prop] = src[prop]; } } catch (e) {} } return dest; } function isParentWindow() { try { return !!(parent.Window && capturingElement instanceof parent.Window); } catch (e) { return false; } } function isOverlayish(el) { var style = el && el.style; if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) { return true; } return false; } var capturingElement = null; // the element who registered to the event var srcElement = null; // the clicked on element var closestParentLink = null; if (window.event != null) { capturingElement = window.event.currentTarget; srcElement = window.event.srcElement; } if (srcElement != null && srcElement instanceof HTMLElement) { closestParentLink = srcElement.closest('a'); if (closestParentLink && closestParentLink.href) { openWndArguments[3] = closestParentLink.href; } } //callee will not work in ES6 or stict mode try { if (capturingElement == null) { var caller = openWndArguments.callee; while (caller.arguments != null && caller.arguments.callee.caller != null) { caller = caller.arguments.callee.caller; } if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) { capturingElement = caller.arguments[0].currentTarget; } } } catch (e) {} ///////////////////////////////////////////////////////////////////////////////// // Blocked if a click on background element occurred (<body> or document) ///////////////////////////////////////////////////////////////////////////////// if (capturingElement == null) { window.pbreason = 'Blocked a new window opened without any user interaction'; useOriginalOpenWnd = false; } else if (capturingElement != null && (capturingElement instanceof Window || isParentWindow(capturingElement) || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) { window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element'; useOriginalOpenWnd = false; } else if (isOverlayish(capturingElement)) { window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay'; useOriginalOpenWnd = false; } else { useOriginalOpenWnd = true; } ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block if a full screen was just initiated while opening this url. ///////////////////////////////////////////////////////////////////////////////// var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement; if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) { window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.'; /* JRA REMOVED if (window[script_params.fullScreenFnKey]) { window.clearTimeout(window[script_params.fullScreenFnKey]); } */ if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } useOriginalOpenWnd = false; } ///////////////////////////////////////////////////////////////////////////////// var openUrl = openWndArguments[0]; var inWhitelist = isInWhitelist(openUrl); if (inWhitelist) { useOriginalOpenWnd = true; } else if (isInBlacklist(openUrl)) { useOriginalOpenWnd = false; } if (useOriginalOpenWnd == true) { generatedWindow = originalWindowOpenFn.apply(this, openWndArguments); // save the window by name, for latter use. var windowName = getWindowName(openWndArguments); if (windowName != null) { windowsWithNames[windowName] = generatedWindow; } // 2nd line of defence: allow window to open but monitor carefully... ///////////////////////////////////////////////////////////////////////////////// // Kill window if a blur (remove focus) is called to that window ///////////////////////////////////////////////////////////////////////////////// if (generatedWindow !== window) { var openTime = new Date().getTime(); var originalWndBlurFn = generatedWindow.blur; generatedWindow.blur = function () { if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) { window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured'; generatedWindow.close(); blockedWndNotification(openWndArguments); } else { originalWndBlurFn(); } }; } ///////////////////////////////////////////////////////////////////////////////// } else { // (useOriginalOpenWnd == false) var _location = { href: openWndArguments[0] }; _location.replace = function (url) { _location.href = url; }; generatedWindow = { close: function close() { return true; }, test: function test() { return true; }, blur: function blur() { return true; }, focus: function focus() { return true; }, showModelessDialog: function showModelessDialog() { return true; }, showModalDialog: function showModalDialog() { return true; }, prompt: function prompt() { return true; }, confirm: function confirm() { return true; }, alert: function alert() { return true; }, moveTo: function moveTo() { return true; }, moveBy: function moveBy() { return true; }, resizeTo: function resizeTo() { return true; }, resizeBy: function resizeBy() { return true; }, scrollBy: function scrollBy() { return true; }, scrollTo: function scrollTo() { return true; }, getSelection: function getSelection() { return true; }, onunload: function onunload() { return true; }, print: function print() { return true; }, open: function open() { return this; }, opener: window, closed: false, innerHeight: 480, innerWidth: 640, name: openWndArguments[1], location: _location, document: { location: _location } }; copyMissingProperties(window, generatedWindow); generatedWindow.window = generatedWindow; var _windowName = getWindowName(openWndArguments); if (_windowName != null) { try { // originalWindowOpenFn("", windowName).close(); windowsWithNames[_windowName].close(); } catch (err) {} } var fnGetUrl = function fnGetUrl() { var url = void 0; if (!(generatedWindow.location instanceof Object)) { url = generatedWindow.location; } else if (!(generatedWindow.document.location instanceof Object)) { url = generatedWindow.document.location; } else if (_location.href != null) { url = _location.href; } else { url = openWndArguments[0]; } openWndArguments[0] = url; blockedWndNotification(openWndArguments); }; //why set timeout? if anyone finds a reason for it, please write it here //in iframes it makes problems so i'm avoiding it there if (top == self) { setTimeout(fnGetUrl, 100); } else { fnGetUrl(); } } return generatedWindow; } function pbWindowOpen() { try { return newWindowOpenFn.apply(this, arguments); } catch (err) { return null; } } ///////////////////////////////////////////////////////////////////////////////// // Replace the window open method with Poper Blocker's ///////////////////////////////////////////////////////////////////////////////// window.open = pbWindowOpen; ///////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// // Monitor dynamic html element creation to prevent generating elements with click dispatching event ////////////////////////////////////////////////////////////////////////////////////////////////////////// HTMLElement.prototype.appendChild = function () { var newElement = originalAppendChildFn.apply(this, arguments); if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) { try { var code = '(function () {\n var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';\n var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';\n ' + inject.toString() + ';\n inject();\n })();'; var s = document.createElement('script');s.text = code; newElement.contentWindow.document.body.appendChild(s); } catch (e) {} } return newElement; }; document.createElement = function () { var newElement = originalCreateElementFn.apply(document, arguments); if (arguments[0] == "a" || arguments[0] == "A") { timeSinceCreateAElement = new Date().getTime(); var originalDispatchEventFn = newElement.dispatchEvent; newElement.dispatchEvent = function (event) { if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") { if (!isInWhitelist(newElement.href)) { window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag"; blockedWndNotification({ "0": newElement.href }); return true; } } return originalDispatchEventFn.call(this, event); }; lastCreatedAElement = newElement; } return newElement; }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block artificial mouse click on frashly created elements ///////////////////////////////////////////////////////////////////////////////// document.createEvent = function () { try { if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement <= 50) { var openUrlDomain = void 0, topUrl = void 0, topDomain = void 0; try { openUrlDomain = new URL(lastCreatedAElement.href).hostname; } catch (e) {} try { topUrl = window.location != window.parent.location ? document.referrer : document.location.href; } catch (e) {} try { topDomain = new URL(topUrl).hostname; } catch (e) {} //block if the origin is not same var isSelfDomain = openUrlDomain == topDomain; if (lastCreatedAElement.href.trim() && !isInWhitelist(lastCreatedAElement.href) && !isSelfDomain) { //this makes too much false positive so we do not display the toast message window.pbreason = 'Blocked because \'a\' element was recently created and ' + arguments[0] + ' event was created shortly after'; arguments[0] = lastCreatedAElement.href; blockedWndNotification({ "0": lastCreatedAElement.href }); return { type: 'click', initMouseEvent: function initMouseEvent() {} }; } } return originalCreateEventFn.apply(document, arguments); } catch (err) {} }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Monitor full screen requests ///////////////////////////////////////////////////////////////////////////////// function onFullScreen(isInFullScreenMode) { if (isInFullScreenMode) { fullScreenOpenTime = new Date().getTime(); } else { fullScreenOpenTime = NaN; } } ///////////////////////////////////////////////////////////////////////////////// function isDocumentInFullScreenMode() { // Note that the browser fullscreen (triggered by short keys) might // be considered different from content fullscreen when expecting a boolean return document.fullScreenElement && document.fullScreenElement !== null || // alternative standard methods document.mozFullscreenElement != null || document.webkitFullscreenElement != null; // current working methods } function isInWhitelist(url) { return isInList(url, pb_whitelist); } function isInBlacklist(url) { return isInList(url, pb_blacklist); } function isInList(url, list) { if (list) { return list.some(function (li) { return new RegExp("https?://(www\.|.*\.)?" + li + "+").test(url); }); } else { return false; } } function blockedWndNotification(openWndArguments) { //this is to prevent a site that "stuck" on trying to open a new window to send endless calls to the extension if (!lastBlockTime || lastBlockTime < Date.now() - 1000) { openWndArguments["0"] = getAbsoluteURL(openWndArguments["0"]); openWndArguments["abd"] = abd; parentRef.postMessage({ type: "blockedWindow", args: JSON.stringify(openWndArguments) }, parentOrigin); } lastBlockTime = Date.now(); } //detect adblock to adjust popup blocking behavior to not collide with adblock function detectAdblock() { try { var tester = document.createElement('div'); tester.innerHTML = ' '; tester.className = 'adsbox'; tester.style.cssText = "position:absolute;top-1000px;left:-1000px;"; document.body.appendChild(tester); window.setTimeout(function () { if (tester.offsetHeight === 0) { abd = true; } tester.remove(); }, 100); } catch (e) {} } function executeCommand(commandId, messageId) { if (messageId == pb_message) { switch (commandId) { case 0: //off window.open = originalWindowOpenFn; document.createElement = originalCreateElementFn; document.createEvent = originalCreateEventFn; HTMLElement.prototype.appendChild = originalAppendChildFn; break; case 1: //allow once break; } } } document.addEventListener("fullscreenchange", function () { onFullScreen(document.fullscreen); }, false); document.addEventListener("mozfullscreenchange", function () { onFullScreen(document.mozFullScreen); }, false); document.addEventListener("webkitfullscreenchange", function () { onFullScreen(document.webkitIsFullScreen); }, false); //document.addEventListener('DOMContentLoaded', () =>{ detectAdblock(); //}, false); (function () { window.pbExternalCommand = function (commandId, messageId) { executeCommand(commandId, messageId); }; })(); }; inject(); })();</script>
 
Can we get some details on how the Engineering will actually work?

1) Will it work when converting an old G5? Normally this would bump it back to G4, but if G4 is now G5 -- then what happens?
2) What about remote Engineering? How is that affected?
3) What about Engineer Rep? Will you need G5 access to do a G5 upgrade with G4 mats? And will rolling increase your Rep with the Engineer?

Thanks for any clarification.
 
If Frontier are trying to get players back, perhaps enacting some of the long promised content would be a better bet, but that won't be coming 'til Q4 at the earliest.

Yes, or offering rewards/a gold rush by some actual in game engaging and enjoyable mechanics might be more effective.

eg: Over a weekend a a Galnet new article has news leading to an actual in game gold rush mechanic allowing players to get some additional bonuses. Rather than just a lazy x1.2 multiplier flag being turned on.
 
Yes, or offering rewards/a gold rush by some actual in game engaging and enjoyable mechanics might be more effective.

eg: Over a weekend a a Galnet new article has news leading to an actual in game gold rush mechanic allowing players to get some additional bonuses. Rather than just a lazy x1.2 multiplier flag being turned on.

Well they tried that, and guess what, people moaned. Remember the Titan GPU treasure hunt?
 
Well... let us see what Galnet says when this bonus period starts? Usually, we KNOW that there will be CGs every week, but we do not know about the background / lore until Thursdays... This Bonus week might be a new thing that will happen from time to time?

What I see right now, is just a simple heads up about it, nothing more, nothing less.

As others have asked.... does this bonus affect mined goods (Palladium, Platinum and Painite in particular)?
 
Well they tried that, and guess what, people moaned. Remember the Titan GPU treasure hunt?

Wasn't that the one where people tried to find an uber rare item? That's slightly different to a mechanic aimed at giving anyone who participates some form of bonus (to a greater or less degree).

With (injected) gold rush gameplay the suggestion is that it could be as simple as just trying to find as many valuable POIs as you can as soon as possible (eg: to collect palladium floating around wrecks). Or even find some stateful mining locations to mine down to nothing before they're all gone...

IMHO investing in some gameplay mechanics along these lines is far more worthy than instead of investing in a x1.2 multiplier server flag. The mechanics - if done properly - could be re-used to give greater worth. eg:-
  • Be re-used for CGs, where CMDRs instead need to get the "gold" and bring it back to contribute to the CG.
  • Even periodically offer it to individual CMDRs. ie: Rarely you get a mission to go to a mini "gold rush" aimed at just you. Do you do it alone or invite a Wing of friends?
  • Likewise, but offer it to a Squadron.
ie: Invest in gameplay assets than can be leveraged as much as possible...
 
Last edited:
Wasn't that the one where people tried to find an uber rare item? That's slightly different to a mechanic aimed at giving anyone who participates some form of bonus (to a greater or less degree).

With (injected) gold rush gameplay the suggestion is that it could be as simple as just trying to find as many valuable POIs as you can as soon as possible (eg: to collect palladium floating around wrecks). Or even find some stateful mining locations to mine down to nothing before they're all gone...

IMHO investing in some gameplay mechanics along these lines is far more worthy than instead of investing in a x1.2 multiplier server flag. The mechanics - if done properly - could be re-used to give greater worth:-
  • Eg: Be re-used for CGs, where CMDRs instead need to get the "gold" and bring it back to contribute to the CG.
  • Even periodically offer it to individual CMDRs. ie: Rarely you get a mission to go to a mini "gold rush" aimed at just you. Do you do it alone or invite a Wing of friends?
  • Likewise, but offer it to a Squadron.

ie: Invest in gameplay assets than can be leveraged as much as possible...

True, but the minute FD deviate from 'the perceived norm' people kick off. That treasure hunt following clues was great. But people whinged it was 'out of character' just like this.

Your idea is great though, and you should put it on the suggestions page as it would be a nice rare mission to get.
 
What Elite Dangerous really needs is a Battle Royale mode [haha]

I'd say "CQC", but that has a hard time matchmaking 8 players, never mind 100... :D

I was getting all excited about re-engineering a bunch of my legacy-engineered ships. But then I realised...
a) I used all by G5 mats last weekend engineering my new MinerConda, and as a result...
b) I'd still have to GRIND LIKE THERE'S NO TOMORROW to get the G4 materials I'd need to make a dent in my plans.

So I'll be milking the trade deals, thanks. Now if someone can just confirm that 'trade' includes 'passengers' for this purpose, I'll be all set....
 
Last edited:
Make what you want of it... And maybe "insight" wasn't the best choice of works, so here's maybe another take then why these forums are being harder on this "bonus weekend" than other places?

I'm sure plenty of folks are happy they can get more CRs, or cheaper Engineering over an upcoming period... But for me, for years, I've been waiting from some actual solid gameplay improvements. And to me, the fact the game can't even offer any game mechanics to offer even the most simple of gold rush gameplay, after approaching four years, is just underlining the lack of core gameplay improvements.

So again, I'm sure many folks will enjoy these bonuses... But for me (& maybe many others who are more likely to frequent official forums than places like Reddit maybe), it just highlights the shallow gameplay, lack of investment in core gameplay, and general lack of design foresight we're still being offered even all this time...

^^ Would you say that's maybe a fair reason why this forum is being somewhat harsher than other places? Anyway, that's my take on it...

I completely agree with you about shallow gameplay and core development and so do a lot of people outside the forum. That’s a separate issue so what’s your point? Or could it be that you are really just reaffirming my inference that you believe only forum users really understand what Elite is and should be?

My point is I see a lot of evidence that the ‘forum community’ for want of a better term, equate themselves with the Elite Community and think of themselves as special in some way. Like they know the game better and their values are somehow more representative than those who don’t frequent this place. The implication of your post is that someone who goes to Reddit instead of the forum is somehow more casual compared with your 4 years of playtime; that they are more simple people who are satisfied with superficial fluff rather than good gameplay. Can you really not see the condescending attitude you’re giving off? I’m curious, does my being an Xbox player somehow lessen the weight of my view to you as well?
 
Make what you want of it... And maybe "insight" wasn't the best choice of works, so here's maybe another take then why these forums are being harder on this "bonus weekend" than other places?

I'm sure plenty of folks are happy they can get more CRs, or cheaper Engineering over an upcoming period... But for me, for years, I've been waiting from some actual solid gameplay improvements. And to me, the fact the game can't even offer any game mechanics to offer even the most simple of gold rush gameplay, after approaching four years, is just underlining the lack of core gameplay improvements.

So again, I'm sure many folks will enjoy these bonuses... But for me (& maybe many others who are more likely to frequent official forums than places like Reddit maybe), it just highlights the shallow gameplay, lack of investment in core gameplay, and general lack of design foresight we're still being offered even all this time...

^^ Would you say that's maybe a fair reason why this forum is being somewhat harsher than other places? Anyway, that's my take on it...

Im sure most would support overall improvements.

This just looks to be a bit of fun intended to generate interest and give players a bit more of a return for their time.

Why cant we have this in the mean time while other stuff is being worked on?

C&P has been revised,engineering has been revised,mining and exploration are next for revision. There trying something with PP. Id say they are trying to improve the core experience givin this evidence. Weather we all like the changes is a different story.
 
Last edited:
Back
Top Bottom