It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
I don't understand why they don't set it so the Mystery Games CANNOT give you something you already have.
This is why I never risk it.

Yes I know it is a Mystery but it should never give you something you already have.
avatar
Chandoraa: Are you offering to give those away? If so, I'd gladly take Saints Row the 3rd and/or Jade Empire off your hands.
avatar
yyahoo: Read the OP:

"This thread is for tracking what people have received when buying a $3 Mystery Game in the Big Winter Sale. If you've bought one, let us know what you got! If the game isn't on the list yet, please make it bold so that I am more likely to notice it. Ta! "
I totally got the wrong thread. I thought I was answering to this one, and I was surprised Rejitj was posting that list of non-free games on that one. Now I feel very stupid T_T.
I got these:

Massive Assault
Consortium: Master Edition, The
Just got Golden Wake
No, no, no, ... no more Mystery Game.
Not, I will not buy one more, NO !
avatar
The-Business: angular.element(document.querySelectorAll('.hide-on-pinata-finished')) returns the object <button.header__button.btn.btn--green.btn--tall.hide-on-pinata-finished>
But calling .scope() on it returns undefined.
avatar
adaliabooks: Damn, need to turn off debug first.. I forgot.

You need to run:
angular.reloadWithDebugInfo()
First and let the page reload and then it should work.
If you have my fundamentals script on you shouldn't need to do that though..
Sorry, I still get "TypeError: angular.element(...).scope(...) is undefined" with and without your userscript.
avatar
adaliabooks: Ok... I can't actually associate the Ids with games directly (GoG are apparently not that stupid) but if people can find the ids of the game before they buy them you can then tie them up to the id and people can see what they will get before they buy...

But it does require that people find the ids and buy the game (so they can be associated).

I can tell you there are 56 possible games.

If you want to help just run this script snippet in the console (on the front page before clicking to add the Pinata) to find the ID and say what game you got when you bought it.

angular.element(document.querySelectorAll('.hide-on-pinata-finished')).scope().pinata._pinataProducts._availab lePiniataId;
(remove any line breaks the forum has added)
I attempted the same in the previous (Pinata) sale and Johny. from GOG informed me that this will not work as the decision is made as part of the purchase operation on the server, not as part of the pre-checkout on the client. But it might be different this time.
Post edited December 02, 2015 by mrkgnao
I have sorted my buying date and the last game I bought is from months ago where and when doe the mystery game turn up?
avatar
IAmSinistar: That one is more for dumping free games, such as the unlocks from this sale. I'd say either try the regular trading threads, or maybe someone can start one specifically tailored to swapping Mystery Games.
avatar
yyahoo: My bad.
Nae worries, I was just clarifying. Threads tend to organically change and drift over time anyway.
Rogue Galaxy
Jade Empire: Special Edition
Elminage Gothic
Crimsonland Bought as a gift, so that one will eventually go to someone else.
I received:

DREAMFALL: THE LONGEST JOURNEY
I received Gray Matter
avatar
mrkgnao: I attempted the same in the previous (Pinata) sale and Johny. from GOG informed me that this will not work as the decision is made as part of the purchase operation on the server, not as part of the pre-checkout on the client. But it might be different this time.
After looking at the code, it seems the IDs are only there to limit the number of pinatas one can add to the basket. The ids seem to be always ordered and get added in that order:

a.prototype._checkPinatasInCart = function () {
var a,
b,
c,
d;
for (this._availablePiniataId = null, d = this._pinataIds, a = 0, c = d.length; c > a; a++) if (b = d[a], !this._cart.has(b)) {
this._availablePiniataId = b;
break
}
return this._callPinataLeftListeners(this.isPinataAvailable())
},
The web devs use an IDE with autocomplete but without spellchecking, else debugging typos like 'piata' and 'piniata' would be a pain.
avatar
mrkgnao: I attempted the same in the previous (Pinata) sale and Johny. from GOG informed me that this will not work as the decision is made as part of the purchase operation on the server, not as part of the pre-checkout on the client. But it might be different this time.
avatar
The-Business: After looking at the code, it seems the IDs are only there to limit the number of pinatas one can add to the basket. The ids seem to be always ordered and get added in that order:

a.prototype._checkPinatasInCart = function () {
var a,
b,
c,
d;
for (this._availablePiniataId = null, d = this._pinataIds, a = 0, c = d.length; c > a; a++) if (b = d[a], !this._cart.has(b)) {
this._availablePiniataId = b;
break
}
return this._callPinataLeftListeners(this.isPinataAvailable())
},
avatar
The-Business: The web devs use an IDE with autocomplete but without spellchecking, else debugging typos like 'piata' and 'piniata' would be a pain.
You have to give them credit for using meanigfully-named variables like a, b, c, d and for initialising all of them as part of the for loop. Would love to see GOG's coding convention document.