Merge pull request #381 from boombuler/redeem_dlg
New Redeem-Dialog Content
This commit is contained in:
commit
6796d1b37b
@ -3,44 +3,69 @@
|
|||||||
// REDEEMING /////////////////////////////////////////////////////////
|
// REDEEMING /////////////////////////////////////////////////////////
|
||||||
|
|
||||||
window.handleRedeemResponse = function(data, textStatus, jqXHR) {
|
window.handleRedeemResponse = function(data, textStatus, jqXHR) {
|
||||||
if (data.error) {
|
if(data.error) {
|
||||||
var error = '';
|
var error = '';
|
||||||
if (data.error === 'ALREADY_REDEEMED') {
|
if(data.error === 'ALREADY_REDEEMED') {
|
||||||
error = 'The passcode has already been redeemed.';
|
error = 'The passcode has already been redeemed.';
|
||||||
} else if (data.error === 'ALREADY_REDEEMED_BY_PLAYER') {
|
} else if(data.error === 'ALREADY_REDEEMED_BY_PLAYER') {
|
||||||
error = 'You have already redeemed this passcode.';
|
error = 'You have already redeemed this passcode.';
|
||||||
} else if (data.error === 'INVALID_PASSCODE') {
|
} else if(data.error === 'INVALID_PASSCODE') {
|
||||||
error = 'This passcode is invalid.';
|
error = 'This passcode is invalid.';
|
||||||
} else {
|
} else {
|
||||||
error = 'There was a problem redeeming the passcode. Try again?';
|
error = 'There was a problem redeeming the passcode. Try again?';
|
||||||
}
|
}
|
||||||
alert('<strong>' + data.error + '</strong>\n' + error);
|
alert('<strong>' + data.error + '</strong>\n' + error);
|
||||||
} else if (data.result) {
|
} else if(data.result) {
|
||||||
var xmp_level = 0, xmp_count = 0;
|
var tblResult = $('<table class="redeem-result" />');
|
||||||
var res_level = 0, res_count = 0;
|
tblResult.append($('<tr><th colspan="2">Passcode accepted!</th></tr>'));
|
||||||
var shield_rarity = '', shield_count = 0;
|
|
||||||
|
if(data.result.apAward)
|
||||||
// This assumes that each passcode gives only one type of resonator/XMP/shield.
|
tblResult.append($('<tr><td>+</td><td>' + data.result.apAward + 'AP</td></tr>'));
|
||||||
// This may break at some point, depending on changes to passcode functionality.
|
if(data.result.xmAward)
|
||||||
for (var i in data.result.inventoryAward) {
|
tblResult.append($('<tr><td>+</td><td>' + data.result.xmAward + 'XM</td></tr>'));
|
||||||
|
|
||||||
|
var resonators = {};
|
||||||
|
var bursts = {};
|
||||||
|
var shields = {};
|
||||||
|
|
||||||
|
for(var i in data.result.inventoryAward) {
|
||||||
var acquired = data.result.inventoryAward[i][2];
|
var acquired = data.result.inventoryAward[i][2];
|
||||||
if (acquired.modResource) {
|
if(acquired.modResource) {
|
||||||
if (acquired.modResource.resourceType === 'RES_SHIELD') {
|
if(acquired.modResource.resourceType === 'RES_SHIELD') {
|
||||||
shield_rarity = acquired.modResource.rarity.split('_').map(function (i) {return i[0]}).join('');
|
var rarity = acquired.modResource.rarity.split('_').map(function (i) {return i[0]}).join('');
|
||||||
shield_count++;
|
if(!shields[rarity]) shields[rarity] = 0;
|
||||||
|
shields[rarity] += 1;
|
||||||
}
|
}
|
||||||
} else if (acquired.resourceWithLevels) {
|
} else if(acquired.resourceWithLevels) {
|
||||||
if (acquired.resourceWithLevels.resourceType === 'EMP_BURSTER') {
|
if(acquired.resourceWithLevels.resourceType === 'EMITTER_A') {
|
||||||
xmp_level = acquired.resourceWithLevels.level;
|
var level = acquired.resourceWithLevels.level
|
||||||
xmp_count++;
|
if(!resonators[level]) resonators[level] = 0;
|
||||||
} else if (acquired.resourceWithLevels.resourceType === 'EMITTER_A') {
|
resonators[level] += 1;
|
||||||
res_level = acquired.resourceWithLevels.level;
|
} else if(acquired.resourceWithLevels.resourceType === 'EMP_BURSTER') {
|
||||||
res_count++;
|
var level = acquired.resourceWithLevels.level
|
||||||
|
if(!bursts[level]) bursts[level] = 0;
|
||||||
|
bursts[level] += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$.each(resonators, function(lvl, count) {
|
||||||
|
var text = 'Resonator';
|
||||||
|
if(count >= 2) text += ' ('+count+')';
|
||||||
|
tblResult.append($('<tr ><td style="color: ' +window.COLORS_LVL[lvl]+ ';">L' +lvl+ '</td><td>' + text + '</td></tr>'));
|
||||||
|
});
|
||||||
|
$.each(bursts, function(lvl, count) {
|
||||||
|
var text = 'Xmp Burster';
|
||||||
|
if(count >= 2) text += ' ('+count+')';
|
||||||
|
tblResult.append($('<tr ><td style="color: ' +window.COLORS_LVL[lvl]+ ';">L' +lvl+ '</td><td>' + text + '</td></tr>'));
|
||||||
|
});
|
||||||
|
$.each(shields, function(lvl, count) {
|
||||||
|
var text = 'Portal Shield';
|
||||||
|
if(count >= 2) text += ' ('+count+')';
|
||||||
|
tblResult.append($('<tr><td>'+lvl+'</td><td>'+text+'</td></tr>'));
|
||||||
|
});
|
||||||
|
|
||||||
alert('<strong>Passcode accepted!</strong>\n' + [data.result.apAward + 'AP', data.result.xmAward + 'XM', xmp_count + 'xL' + xmp_level + ' XMP', res_count + 'xL' + res_level + ' RES', shield_count + 'x' + shield_rarity + ' SH'].join('/'));
|
alert(tblResult, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,8 +76,8 @@ window.setupRedeem = function() {
|
|||||||
window.postAjax('redeemReward', data, window.handleRedeemResponse,
|
window.postAjax('redeemReward', data, window.handleRedeemResponse,
|
||||||
function(response) {
|
function(response) {
|
||||||
var extra = '';
|
var extra = '';
|
||||||
if (response && response.status) {
|
if(response && response.status) {
|
||||||
if (response.status === 429) {
|
if(response.status === 429) {
|
||||||
extra = 'You have been rate-limited by the server. Wait a bit and try again.';
|
extra = 'You have been rate-limited by the server. Wait a bit and try again.';
|
||||||
} else {
|
} else {
|
||||||
extra = 'The server indicated an error.';
|
extra = 'The server indicated an error.';
|
||||||
|
12
style.css
12
style.css
@ -748,3 +748,15 @@ td {
|
|||||||
td + td {
|
td + td {
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* redeem results *****************************************************/
|
||||||
|
.redeem-result {
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: arial,helvetica,sans-serif;
|
||||||
|
table-layout: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.redeem-result tr > td:first-child {
|
||||||
|
width: 50px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user