make portal mod display much more generic. should handle all the new mods, and likely to handle any future mods too
for #373
This commit is contained in:
parent
20ce15d126
commit
2f427ce26b
@ -30,29 +30,49 @@ window.getModDetails = function(d) {
|
|||||||
var modsTitle = [];
|
var modsTitle = [];
|
||||||
var modsColor = [];
|
var modsColor = [];
|
||||||
$.each(d.portalV2.linkedModArray, function(ind, mod) {
|
$.each(d.portalV2.linkedModArray, function(ind, mod) {
|
||||||
if(!mod) {
|
var modName = '';
|
||||||
mods.push('');
|
var modTooltip = '';
|
||||||
modsTitle.push('');
|
var modColor = '#000';
|
||||||
modsColor.push('#000');
|
|
||||||
} else if(mod.type === 'RES_SHIELD') {
|
|
||||||
|
|
||||||
var title = mod.rarity.capitalize() + ' ' + mod.displayName + '\n';
|
if (mod) {
|
||||||
title += 'Installed by: '+ getPlayerName(mod.installingUser);
|
// all mods seem to follow the same pattern for the data structure
|
||||||
|
// but let's try and make this robust enough to handle possible future differences
|
||||||
|
|
||||||
title += '\nStats:';
|
if (mod.displayName) {
|
||||||
for (var key in mod.stats) {
|
modName = mod.displayName;
|
||||||
if (!mod.stats.hasOwnProperty(key)) continue;
|
} else if (mod.type) {
|
||||||
title += '\n+' + mod.stats[key] + ' ' + key.capitalize().replace(/_/g,' ');
|
modName = mod.type;
|
||||||
|
} else {
|
||||||
|
modName = '(unknown mod)';
|
||||||
}
|
}
|
||||||
|
|
||||||
mods.push(mod.rarity.capitalize().replace('_', ' ') + ' ' + mod.displayName);
|
if (mod.rarity) {
|
||||||
modsTitle.push(title);
|
modName = mod.rarity.capitalize().replace(/_/g,' ') + ' ' + modName;
|
||||||
modsColor.push(COLORS_MOD[mod.rarity]);
|
}
|
||||||
} else {
|
|
||||||
mods.push(mod.type);
|
modTooltip = modName + '\n';
|
||||||
modsTitle.push('Unknown mod. No further details available.');
|
if (mod.installingUser) {
|
||||||
modsColor.push('#FFF');
|
modTooltip += 'Installed by: '+ getPlayerName(mod.installingUser) + '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mod.stats) {
|
||||||
|
modTooltip += 'Stats:';
|
||||||
|
for (var key in mod.stats) {
|
||||||
|
if (!mod.stats.hasOwnProperty(key)) continue;
|
||||||
|
modTooltip += '\n+' + mod.stats[key] + ' ' + key.capitalize().replace(/_/g,' ');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mod.rarity) {
|
||||||
|
modColor = COLORS_MOD[mod.rarity];
|
||||||
|
} else {
|
||||||
|
modColor = '#fff';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mods.push(modName);
|
||||||
|
modsTitle.push(modTooltip);
|
||||||
|
modsColor.push(modColor);
|
||||||
});
|
});
|
||||||
|
|
||||||
var t = '<span'+(modsTitle[0].length ? ' title="'+modsTitle[0]+'"' : '')+' style="color:'+modsColor[0]+'">'+mods[0]+'</span>'
|
var t = '<span'+(modsTitle[0].length ? ' title="'+modsTitle[0]+'"' : '')+' style="color:'+modsColor[0]+'">'+mods[0]+'</span>'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user