diff --git a/code/redeeming.js b/code/redeeming.js
index 12bc5e32..2b426e12 100644
--- a/code/redeeming.js
+++ b/code/redeeming.js
@@ -16,31 +16,61 @@ window.handleRedeemResponse = function(data, textStatus, jqXHR) {
}
alert('' + data.error + "\n" + error);
} else if (data.result) {
- var xmp_level = 0, xmp_count = 0;
- var res_level = 0, res_count = 0;
- var shield_rarity = '', shield_count = 0;
-
- // 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.
+ var tblResult = $('
', {'class': 'redeem-result' }).append($('
').append($(' | ', {colspan: 2}).append("Passcode redeemed!")));
+
+ if (data.result.apAward)
+ tblResult.append($('
').append($(' | ')).append($(' | ').append('AP (' + data.result.apAward + ')')));
+ if (data.result.xmAward)
+ tblResult.append($('
').append($(' | ')).append($(' | ').append('XM (' + data.result.xmAward + ')')));
+
+ var resonators = {};
+ var bursts = {};
+ var shields = {};
+
for (var i in data.result.inventoryAward) {
var acquired = data.result.inventoryAward[i][2];
if (acquired.modResource) {
if (acquired.modResource.resourceType === 'RES_SHIELD') {
- shield_rarity = acquired.modResource.rarity.split('_').map(function (i) {return i[0]}).join('');
- shield_count++;
+ var rarity = acquired.modResource.rarity.split('_').map(function (i) {return i[0]}).join('');
+ if (!shields[rarity])
+ shields[rarity] = 0;
+ shields[rarity] += 1;
}
} else if (acquired.resourceWithLevels) {
- if (acquired.resourceWithLevels.resourceType === 'EMP_BURSTER') {
- xmp_level = acquired.resourceWithLevels.level;
- xmp_count++;
- } else if (acquired.resourceWithLevels.resourceType === 'EMITTER_A') {
- res_level = acquired.resourceWithLevels.level;
- res_count++;
+ if (acquired.resourceWithLevels.resourceType === 'EMITTER_A') {
+ var level = acquired.resourceWithLevels.level
+ if (!resonators[level])
+ resonators[level] = 0;
+ resonators[level] += 1;
+ } else if (acquired.resourceWithLevels.resourceType === 'EMP_BURSTER') {
+ var level = acquired.resourceWithLevels.level
+ if (!bursts[level])
+ bursts[level] = 0;
+ bursts[level] += 1;
}
}
}
+
+ for (var lvl in resonators) {
+ var text = 'Resonator';
+ if (resonators[lvl] > 1)
+ text += ' ('+resonators[lvl]+')';
+ tblResult.append($('
').append($(' | ', { 'class' : ('level-'+lvl)}).append('L' + lvl)).append($(' | ').append(text)));
+ }
+ for (var lvl in bursts) {
+ var text = 'Xmp Burster';
+ if (bursts[lvl] > 1)
+ text += ' ('+bursts[lvl]+')';
+ tblResult.append($('
').append($(' | ', { 'class' : ('level-'+lvl)}).append('L' + lvl)).append($(' | ').append(text)));
+ }
+ for (var lvl in shields) {
+ var text = 'Portal Shield';
+ if (shields[lvl] > 1)
+ text += ' ('+shields[lvl]+')';
+ tblResult.append($('
').append($(' | ').append(lvl)).append($(' | ').append(text)));
+ }
- alert("Passcode accepted!\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);
}
}
diff --git a/style.css b/style.css
index 7b79982e..fb6c5dc4 100644
--- a/style.css
+++ b/style.css
@@ -747,3 +747,49 @@ td {
td + td {
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;
+}