new redeem dialog content

This commit is contained in:
Florian Sundermann 2013-03-04 14:38:08 +01:00
parent 48c9ebd7b3
commit 0afc26af4a
2 changed files with 91 additions and 15 deletions

View File

@ -16,31 +16,61 @@ window.handleRedeemResponse = function(data, textStatus, jqXHR) {
} }
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' }).append($('<tr />').append($('<th />', {colspan: 2}).append("Passcode redeemed!")));
var res_level = 0, res_count = 0;
var shield_rarity = '', shield_count = 0; if (data.result.apAward)
tblResult.append($('<tr />').append($('<td />')).append($('<td />').append('AP (' + data.result.apAward + ')')));
if (data.result.xmAward)
tblResult.append($('<tr />').append($('<td />')).append($('<td />').append('XM (' + data.result.xmAward + ')')));
var resonators = {};
var bursts = {};
var shields = {};
// This assumes that each passcode gives only one type of resonator/XMP/shield.
// This may break at some point, depending on changes to passcode functionality.
for (var i in data.result.inventoryAward) { 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])
} else if (acquired.resourceWithLevels.resourceType === 'EMITTER_A') { resonators[level] = 0;
res_level = acquired.resourceWithLevels.level; resonators[level] += 1;
res_count++; } else if (acquired.resourceWithLevels.resourceType === 'EMP_BURSTER') {
var level = acquired.resourceWithLevels.level
if (!bursts[level])
bursts[level] = 0;
bursts[level] += 1;
} }
} }
} }
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('/')); for (var lvl in resonators) {
var text = 'Resonator';
if (resonators[lvl] > 1)
text += ' ('+resonators[lvl]+')';
tblResult.append($('<tr />').append($('<td />', { 'class' : ('level-'+lvl)}).append('L' + lvl)).append($('<td />').append(text)));
}
for (var lvl in bursts) {
var text = 'Xmp Burster';
if (bursts[lvl] > 1)
text += ' ('+bursts[lvl]+')';
tblResult.append($('<tr />').append($('<td />', { 'class' : ('level-'+lvl)}).append('L' + lvl)).append($('<td />').append(text)));
}
for (var lvl in shields) {
var text = 'Portal Shield';
if (shields[lvl] > 1)
text += ' ('+shields[lvl]+')';
tblResult.append($('<tr />').append($('<td />').append(lvl)).append($('<td />').append(text)));
}
alert(tblResult, true);
} }
} }

View File

@ -747,3 +747,49 @@ td {
td + td { td + td {
padding-left: 4px; padding-left: 4px;
} }
/* level colors *******************************************************/
.level-1 {
color: #FECE5A;
}
.level-2 {
color: #FFA630;
}
.level-3 {
color: #FF7315;
}
.level-4 {
color: #E40000;
}
.level-5 {
color: #FD2992;
}
.level-6 {
color: #EB26CD;
}
.level-7 {
color: #C124E0;
}
.level-8 {
color: #9627F4;
}
/* redeem results *****************************************************/
.redeem-result {
font-size: 14px;
font-family: "coda",arial,helvetica,sans-serif;
table-layout: fixed;
}
.redeem-result tr > td:first-child {
width: 50px;
text-align: right;
}