diff --git a/code/redeeming.js b/code/redeeming.js
index 08fee9ce..1c4931de 100644
--- a/code/redeeming.js
+++ b/code/redeeming.js
@@ -1,96 +1,227 @@
// REDEEMING /////////////////////////////////////////////////////////
-window.handleRedeemResponse = function(data, textStatus, jqXHR) {
- if(data.error) {
- var error = '';
- if(data.error === 'ALREADY_REDEEMED') {
- error = 'The passcode has already been redeemed.';
- } else if(data.error === 'ALREADY_REDEEMED_BY_PLAYER') {
- error = 'You have already redeemed this passcode.';
- } else if(data.error === 'INVALID_PASSCODE') {
- error = 'This passcode is invalid.';
- } else {
- error = 'There was a problem redeeming the passcode. Try again?';
+/* Resource type names mapped to actual names and abbreviations.
+ * Add more here if necessary.
+ */
+window.REDEEM_RESOURCES = {
+ RES_SHIELD: {long: 'Portal Shield', short: 'SH'},
+ EMITTER_A: {long: 'Resonator', short: 'R'},
+ EMP_BURSTER: {long: 'XMP Burster', short: 'X'},
+ POWER_CUBE: {long: 'Power Cube', short: 'C'}
+};
+
+/* Redemption errors. Very self-explanatory.
+ */
+window.REDEEM_ERRORS = {
+ ALREADY_REDEEMED: 'The passcode has already been redeemed.',
+ ALREADY_REDEEMED_BY_PLAYER : 'You have already redeemed this passcode.',
+ INVALID_PASSCODE: 'This passcode is invalid.'
+};
+
+/* These are HTTP status codes returned by the redemption API.
+ * TODO: Move to another file? Use more generally across IITC?
+ */
+window.REDEEM_STATUSES = {
+ 429: 'You have been rate-limited by the server. Wait a bit and try again.',
+ 500: 'Internal server error'
+};
+
+/* Encouragement for people who got it in.
+ * Just for fun.
+ */
+window.REDEEM_ENCOURAGEMENT = [
+ "Passcode accepted!",
+ "Access granted.",
+ "Asset transfer in progress.",
+ "Well done, Agent.",
+ "Make the " + {'RESISTANCE' : 'Resistance', 'ALIENS' : 'Enlightened'}[PLAYER.team] + " proud!"
+];
+
+/* Redemption "handlers" handle decoding and formatting for rewards.
+ *
+ * Redemption "decoders" are used for returning the primary attribute (key) from
+ * different types of items. Pretty self-explanatory.
+ *
+ * Redemption "formatters" are used for formatting specific types of password rewards.
+ * Right now, Ingress has resourceWithLevels (leveled resources) and modResource (mods).
+ * Resources with levels have levels, and mods have rarity. Format them appropriately.
+ */
+window.REDEEM_HANDLERS = {
+ 'resourceWithLevels' : {
+ decode: function(type, resource) {return resource.level;},
+ format: function(acquired, level) {
+ var prefix = '';
+ var suffix = '';
+ return {
+ table: '
' + prefix + 'L' + level + suffix + ' | ' + acquired.name.long + ' [' + acquired.count + '] | ',
+ html: acquired.count + '×' + acquired.name.short + prefix + level + suffix,
+ plain: acquired.count + '@' + acquired.name.short + level
+ };
}
- alert('' + data.error + '\n' + error);
- } else if(data.result) {
- var tblResult = $('');
- tblResult.append($('Passcode accepted! |
'));
-
- if(data.result.apAward)
- tblResult.append($('+ | ' + data.result.apAward + 'AP |
'));
- if(data.result.xmAward)
- tblResult.append($('+ | ' + data.result.xmAward + 'XM |
'));
-
- var resonators = {};
- var bursts = {};
- var shields = {};
- var cubes = {};
-
- for(var i in data.result.inventoryAward) {
- var acquired = data.result.inventoryAward[i][2];
- if(acquired.modResource) {
- if(acquired.modResource.resourceType === 'RES_SHIELD') {
- 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 === '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;
- } else if(acquired.resourceWithLevels.resourceType === 'POWER_CUBE') {
- var level = acquired.resourceWithLevels.level
- if(!cubes[level]) cubes[level] = 0;
- cubes[level] += 1;
- }
- }
+ },
+ 'modResource' : {
+ decode: function(type, resource) {return resource.rarity;},
+ format: function(acquired, rarity) {
+ var prefix = '';
+ var suffix = '';
+ var abbreviation = rarity.split('_').map(function (i) {return i[0];}).join('');
+ return {
+ table: '' + prefix + abbreviation + suffix + ' | ' + acquired.name.long + ' [' + acquired.count + '] | ',
+ html: acquired.count + '×' + prefix + abbreviation + suffix,
+ plain: acquired.count + '@' + abbreviation
+ };
+ }
+ },
+ 'default' : {
+ decode: function(type, resource) {return 'UNKNOWN';},
+ format: function(acquired, group) {
+ return {
+ table: '+ | ' + acquired.name.long + ' [' + acquired.count + '] | ',
+ html: acquired.count + '×' + acquired.name.short,
+ plain: acquired.count + '@' + acquired.name.short
+ };
}
-
- $.each(resonators, function(lvl, count) {
- var text = 'Resonator';
- if(count >= 2) text += ' ('+count+')';
- tblResult.append($('L' +lvl+ ' | ' + text + ' |
'));
- });
- $.each(bursts, function(lvl, count) {
- var text = 'Xmp Burster';
- if(count >= 2) text += ' ('+count+')';
- tblResult.append($('L' +lvl+ ' | ' + text + ' |
'));
- });
- $.each(cubes, function(lvl, count) {
- var text = 'Power Cube';
- if(count >= 2) text += ' ('+count+')';
- tblResult.append($('L' +lvl+ ' | ' + text + ' |
'));
- });
- $.each(shields, function(lvl, count) {
- var text = 'Portal Shield';
- if(count >= 2) text += ' ('+count+')';
- tblResult.append($(''+lvl+' | '+text+' |
'));
- });
- alert(tblResult, true);
}
+};
+
+/* Redemption "hints" hint at what an unknown resource might be from its object properties.
+ */
+window.REDEEM_HINTS = {
+ level: 'resourceWithLevels',
+ rarity: 'modResource'
+};
+
+window.handleRedeemResponse = function(data, textStatus, jqXHR) {
+ var passcode = this.passcode, to_alert, to_log;
+
+ if(data.error) {
+ to_alert = '' + data.error + '
' + (window.REDEEM_ERRORS[data.error] || 'There was a problem redeeming the passcode. Try again?');
+ to_log = '[ERROR] ' + data.error;
+ } else if(data.result) {
+ var encouragement = window.REDEEM_ENCOURAGEMENT[Math.floor(Math.random() * window.REDEEM_ENCOURAGEMENT.length)];
+ var payload = {};
+ var inferred = [];
+ var results = {
+ 'table' : ['' + encouragement + ' | '],
+ 'html' : [],
+ 'plain' : []
+ };
+
+ // Track frequencies and levels of items
+ $.each(data.result.inventoryAward, function (award_idx, award) {
+ var acquired = award[2], handler, type, key, name;
+
+ // The "what the heck is this item" heuristic
+ $.each(acquired, function (taxonomy, resource) {
+ if('resourceType' in resource) {
+ if(taxonomy in window.REDEEM_HANDLERS) {
+ // Cool. We know how to directly handle this item.
+ handler = {
+ functions: window.REDEEM_HANDLERS[taxonomy],
+ taxonomy: taxonomy,
+ processed_as: taxonomy
+ };
+ } else {
+ // Let's see if we can get a hint for how we should handle this.
+ $.each(resource, function (resource_key, resource_value) {
+ if(resource_key in window.REDEEM_HINTS) {
+ // We're not sure what this item is, but we can process it like another item
+ handler = {
+ functions: (window.REDEEM_HANDLERS[window.REDEEM_HINTS[resource_key]] || window.REDEEM_HANDLERS['default']),
+ taxonomy: taxonomy,
+ processed_as: window.REDEEM_HINTS[resource_key]
+ };
+ return false;
+ }
+ });
+
+ // Fall back to the default handler if necessary
+ handler = handler || {
+ functions: window.REDEEM_HANDLERS['default'],
+ taxonomy: taxonomy,
+ processed_as: 'default'
+ };
+ }
+
+ // Collect the data that we know
+ type = resource.resourceType;
+ key = handler.functions.decode(type, resource);
+ name = window.REDEEM_RESOURCES[type] || {long: type, short: type[0]};
+
+ // Decide if we inferred this resource
+ if(!(type in window.REDEEM_RESOURCES) || handler.taxonomy !== handler.processed_as) {
+ name.long += '*';
+ name.short += '*';
+ inferred.push({type: type, key: key, handler: handler});
+ }
+ return false;
+ }
+ });
+
+ // Update frequencies
+ payload[type] = payload[type] || {};
+ payload[type][key] = payload[type][key] || {};
+ payload[type][key].handler = payload[type][key].handler || handler;
+ payload[type][key].type = payload[type][key].type || type;
+ payload[type][key].name = payload[type][key].name || name;
+ payload[type][key].count = payload[type][key].count || 0;
+ payload[type][key].count += 1;
+ });
+
+ // Get AP and XM.
+ $.each([{label: 'AP', award: parseInt(data.result.apAward)}, {label: 'XM', award: parseInt(data.result.xmAward)}], function(idx, val) {
+ if(val.award > 0) {
+ results.table.push('+ | ' + digits(val.award) + ' ' + val.label + ' | ');
+ results.html.push(val.award + ' ' + val.label);
+ results.plain.push(val.award + ' ' + val.label);
+ }
+ });
+
+ // Build the formatted results alphabetically
+ $.each(Object.keys(payload).sort(), function(type_idx, type) {
+ $.each(Object.keys(payload[type]).sort(), function(key_idx, key) {
+ var acquired = payload[type][key];
+ $.each(acquired.handler.functions.format(acquired, key), function(format, string) {
+ results[format].push(string);
+ });
+ });
+ });
+
+ // Let the user know if we had to guess
+ if (inferred.length > 0) {
+ results.table.push('* | Guessed (check console) | ');
+ $.each(inferred, function (idx, val) {
+ console.log(passcode +
+ ' => [INFERRED] ' + val.type + ':' + val.key + ' :: ' +
+ val.handler.taxonomy + ' =~ ' + val.handler.processed_as);
+ });
+ }
+
+ // Add table footers
+ results.table.push('> | ' + encouragement + ' ' + results.html.join('/') + '') +
+ '\', true);" style="font-family: monospace;">[plaintext]');
+
+ // Display formatted versions in a table, plaintext, and the console log
+ to_alert = '' + results.table.map(function(a) {return '' + a + ' ';}).join("\n") + ' ';
+ to_log = '[SUCCESS] ' + results.plain.join('/');
+ }
+
+ alert(to_alert, true);
+ console.log(passcode + ' => ' + to_log);
}
window.setupRedeem = function() {
$("#redeem").keypress(function(e) {
- if((e.keyCode ? e.keyCode : e.which) != 13) return;
+ if((e.keyCode ? e.keyCode : e.which) !== 13) return;
var data = {passcode: $(this).val()};
+
window.postAjax('redeemReward', data, window.handleRedeemResponse,
function(response) {
var extra = '';
- if(response && response.status) {
- if(response.status === 429) {
- extra = 'You have been rate-limited by the server. Wait a bit and try again.';
- } else {
- extra = 'The server indicated an error.';
- }
- extra += '\nResponse: HTTP ' + response.status + '.';
+ if(response.status) {
+ extra = (window.REDEEM_STATUSES[response.status] || 'The server indicated an error.') + ' (HTTP ' + response.status + ')';
} else {
extra = 'No status code was returned.';
}
diff --git a/code/utils_misc.js b/code/utils_misc.js
index bd5c32c1..6a5b1e76 100644
--- a/code/utils_misc.js
+++ b/code/utils_misc.js
@@ -82,13 +82,14 @@ window.digits = function(d) {
// able arguments: http://api.jquery.com/jQuery.ajax/
// error: see above. Additionally it is logged if the request failed.
window.postAjax = function(action, data, success, error) {
- data = JSON.stringify($.extend({method: 'dashboard.'+action}, data));
+ var post_data = JSON.stringify($.extend({method: 'dashboard.'+action}, data));
var remove = function(data, textStatus, jqXHR) { window.requests.remove(jqXHR); };
var errCnt = function(jqXHR) { window.failedRequestCount++; window.requests.remove(jqXHR); };
var result = $.ajax({
url: '/rpc/dashboard.'+action,
type: 'POST',
- data: data,
+ data: post_data,
+ context: data,
dataType: 'json',
success: [remove, success],
error: error ? [errCnt, error] : errCnt,
diff --git a/json_examples/redeeming.js b/json_examples/redeeming.js
index 89af2b3d..4982b052 100644
--- a/json_examples/redeeming.js
+++ b/json_examples/redeeming.js
@@ -7,332 +7,1924 @@
////////////////////////////////////////////////////////////////////////
{
- "gameBasket": {
- "apGains": [{
- "apGainAmount": "200",
- "apTrigger": "REDEEMED_AP"
- }],
- "deletedEntityGuids": [],
- "gameEntities": [],
- "inventory": [
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "inInventory": {
- "acquisitionTimestampMs": "1358631239302",
- "playerId": "00000000000000000000000000000000.c"
- },
- "modResource": {
- "displayName": "Portal Shield",
- "rarity": "VERY_RARE",
- "resourceType": "RES_SHIELD",
- "stats": {
- "MITIGATION": "10"
- }
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239330",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "inInventory": {
- "acquisitionTimestampMs": "1358631239313",
- "playerId": "00000000000000000000000000000000.c"
- },
- "modResource": {
- "displayName": "Portal Shield",
- "rarity": "VERY_RARE",
- "resourceType": "RES_SHIELD",
- "stats": {
- "MITIGATION": "10"
- }
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 7
- },
- "requiredLevel": 7
- },
- "empWeapon": {
- "ammo": 1,
- "level": 7
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239348",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 7,
- "resourceType": "EMP_BURSTER"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239319",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239342",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239336",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- [ "00000000000000000000000000000000.5",
- 1365809491413, {
- "accessLevel" : {
- "failure" : {
- "isAllowed" : false,
- "requiredLevel" : 4
- },
- "requiredLevel" : 4
- },
- "inInventory" : {
- "acquisitionTimestampMs" : "1365809491260",
- "playerId" : "00000000000000000000000000000000.c"
- },
- "powerCube" : {
- "energy" : 4000
- },
- "resourceWithLevels" : {
- "level" : 4,
- "resourceType" : "POWER_CUBE"
- }
- }]
- ],
- "playerEntity": ["00000000000000000000000000000000.c",
- 1358631239530, {
- "controllingTeam": {
- "team": "RESISTANCE"
- },
- "playerPersonal": {
- "allowFactionChoice": false,
- "allowNicknameEdit": false,
- "ap": "326513",
- "clientLevel": 26,
- "energy": 3205,
- "energyState": "XM_OK",
- "mediaHighWaterMarks": {
- "General": 8,
- "RESISTANCE": 9
- },
- "notificationSettings" : {
- "maySendPromoEmail" : false,
- "shouldSendEmail" : true
- }
- }
- }]
- },
- "result": {
- "apAward": "200",
- "inventoryAward": [
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "inInventory": {
- "acquisitionTimestampMs": "1358631239302",
- "playerId": "00000000000000000000000000000000.c"
- },
- "modResource": {
- "displayName": "Portal Shield",
- "rarity": "VERY_RARE",
- "resourceType": "RES_SHIELD",
- "stats": {
- "MITIGATION": "10"
- }
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239330",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "inInventory": {
- "acquisitionTimestampMs": "1358631239313",
- "playerId": "00000000000000000000000000000000.c"
- },
- "modResource": {
- "displayName": "Portal Shield",
- "rarity": "VERY_RARE",
- "resourceType": "RES_SHIELD",
- "stats": {
- "MITIGATION": "10"
- }
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 7
- },
- "requiredLevel": 7
- },
- "empWeapon": {
- "ammo": 1,
- "level": 7
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239348",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 7,
- "resourceType": "EMP_BURSTER"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239319",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239342",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- ["00000000000000000000000000000000.5",
- 1358631239636, {
- "accessLevel": {
- "failure": {
- "isAllowed": false,
- "requiredLevel": 1
- },
- "requiredLevel": 1
- },
- "inInventory": {
- "acquisitionTimestampMs": "1358631239336",
- "playerId": "00000000000000000000000000000000.c"
- },
- "resourceWithLevels": {
- "level": 1,
- "resourceType": "EMITTER_A"
- }
- }],
- [ "00000000000000000000000000000000.5",
- 1365809491413, {
- "accessLevel" : {
- "failure" : {
- "isAllowed" : false,
- "requiredLevel" : 4
- },
- "requiredLevel" : 4
- },
- "inInventory" : {
- "acquisitionTimestampMs" : "1365809491260",
- "playerId" : "00000000000000000000000000000000.c"
- },
- "powerCube" : {
- "energy" : 4000
- },
- "resourceWithLevels" : {
- "level" : 4,
- "resourceType" : "POWER_CUBE"
- }
- }]
- ],
- "xmAward": "300"
- }
-}
+ "gameBasket": {
+ "playerEntity": [
+ "00000000000000000000000000000000.c",
+ 1365600000000,
+ {
+ "playerPersonal": {
+ "notificationSettings": {
+ "shouldSendEmail": true,
+ "maySendPromoEmail": true
+ },
+ "energyState": "XM_OK",
+ "energy": 10000,
+ "clientLevel": 36,
+ "ap": "12000000",
+ "mediaHighWaterMarks": {
+ "RESISTANCE": 9,
+ "General": 63
+ },
+ "allowNicknameEdit": false,
+ "allowFactionChoice": false
+ },
+ "controllingTeam": {
+ "team": "RESISTANCE"
+ }
+ }
+ ],
+ "gameEntities": [],
+ "deletedEntityGuids": [],
+ "inventory": [
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "RES_SHIELD",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Shield",
+ "rarity": "COMMON"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 4
+ },
+ "requiredLevel": 4
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 4
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 6
+ },
+ "requiredLevel": 6
+ },
+ "resourceWithLevels": {
+ "resourceType": "POWER_CUBE",
+ "level": 6
+ },
+ "powerCube": {
+ "energy": 6000
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 4
+ },
+ "requiredLevel": 4
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 4
+ }
+ }
+ ]
+ ],
+ "apGains": [
+ {
+ "apTrigger": "REDEEMED_AP",
+ "apGainAmount": "200"
+ }
+ ]
+ },
+ "result": {
+ "apAward": "1200000",
+ "xmAward": "10000",
+ "inventoryAward": [
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 1
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMITTER_A",
+ "level": 2
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 3
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 4
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 5
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 1
+ },
+ "requiredLevel": 1
+ },
+ "resourceWithLevels": {
+ "resourceType": "EMP_BURSTER",
+ "level": 6
+ },
+ "empWeapon": {
+ "ammo": 1,
+ "level": 1
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 6
+ },
+ "requiredLevel": 6
+ },
+ "resourceWithLevels": {
+ "resourceType": "POWER_CUBE",
+ "level": 7
+ },
+ "powerCube": {
+ "energy": 6000
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 6
+ },
+ "requiredLevel": 6
+ },
+ "resourceWithLevels": {
+ "resourceType": "POWER_CUBE",
+ "level": 8
+ },
+ "powerCube": {
+ "energy": 6000
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "RES_SHIELD",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Shield",
+ "rarity": "COMMON"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "RES_SHIELD",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Shield",
+ "rarity": "COMMON"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "RES_SHIELD",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Shield",
+ "rarity": "RARE"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "RES_SHIELD",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Shield",
+ "rarity": "RARE"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "RES_SHIELD",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Shield",
+ "rarity": "VERY_RARE"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "RES_SHIELD",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Shield",
+ "rarity": "VERY_RARE"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 6
+ },
+ "requiredLevel": 6
+ },
+ "doesNotExist": {
+ "resourceType": "MEDIA",
+ "level": 8
+ },
+ "powerCube": {
+ "energy": 6000
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "modResource": {
+ "resourceType": "PORTAL_TURRET",
+ "stats": {
+ "MITIGATION": "6"
+ },
+ "displayName": "Portal Turret",
+ "rarity": "VERY_RARE"
+ }
+ }
+ ],
+ [
+ "00000000000000000000000000000000.5",
+ 1365600000000,
+ {
+ "inInventory": {
+ "playerId": "00000000000000000000000000000000.c",
+ "acquisitionTimestampMs": "1365600000000"
+ },
+ "accessLevel": {
+ "failure": {
+ "isAllowed": false,
+ "requiredLevel": 6
+ },
+ "requiredLevel": 6
+ },
+ "doesNotExist": {
+ "resourceType": "SUPER_SECRET"
+ }
+ }
+ ]
+ ]
+ }
+}
\ No newline at end of file
|