Merge pull request #452 from vita10gy/mod_highlighters

Mod Portal Highlighter: Multiples and none
This commit is contained in:
Jon Atkins 2013-07-27 23:27:38 -07:00
commit 02cb4fbe8f

View File

@ -24,9 +24,13 @@ window.plugin.portalHighligherMods = function() {};
window.plugin.portalHighligherMods.highlight = function(data, mod_type) { window.plugin.portalHighligherMods.highlight = function(data, mod_type) {
var d = data.portal.options.details; var d = data.portal.options.details;
if(!jQuery.isArray(mod_type)) {
mod_type = [mod_type];
}
var mod_effect = 0; var mod_effect = 0;
$.each(d.portalV2.linkedModArray, function(ind, mod) { $.each(d.portalV2.linkedModArray, function(ind, mod) {
if(mod !== null && mod.type == mod_type) { if(mod !== null && jQuery.inArray(mod.type, mod_type) > -1) {
switch(mod.rarity){ switch(mod.rarity){
case 'COMMON': case 'COMMON':
mod_effect++; mod_effect++;
@ -42,7 +46,7 @@ window.plugin.portalHighligherMods.highlight = function(data, mod_type) {
}); });
if(mod_effect > 0) { if(mod_effect > 0) {
var fill_opacity = mod_effect/12*.85 + .15; var fill_opacity = mod_effect/12*.8 + .2;
var color = 'red'; var color = 'red';
fill_opacity = Math.round(fill_opacity*100)/100; fill_opacity = Math.round(fill_opacity*100)/100;
var params = {fillColor: color, fillOpacity: fill_opacity}; var params = {fillColor: color, fillOpacity: fill_opacity};
@ -52,6 +56,28 @@ window.plugin.portalHighligherMods.highlight = function(data, mod_type) {
window.COLOR_SELECTED_PORTAL = '#f0f'; window.COLOR_SELECTED_PORTAL = '#f0f';
} }
window.plugin.portalHighligherMods.highlightNoMods = function(data) {
var d = data.portal.options.details;
var mods = false;
$.each(d.portalV2.linkedModArray, function(ind, mod) {
if(mod !== null) {
mods = true;
return;
}
});
if(!mods) {
var fill_opacity = .6;
var color = 'red';
var params = {fillColor: color, fillOpacity: fill_opacity};
data.portal.setStyle(params);
}
window.COLOR_SELECTED_PORTAL = '#f0f';
}
window.plugin.portalHighligherMods.getHighlighter = function(type) { window.plugin.portalHighligherMods.getHighlighter = function(type) {
return(function(data){ return(function(data){
window.plugin.portalHighligherMods.highlight(data,type); window.plugin.portalHighligherMods.highlight(data,type);
@ -60,9 +86,16 @@ window.plugin.portalHighligherMods.getHighlighter = function(type) {
var setup = function() { var setup = function() {
$.each(MOD_TYPE, function(ind, name){ $.each(MOD_TYPE, function(ind, name){
window.addPortalHighlighter('Mod: '+name, window.plugin.portalHighligherMods.getHighlighter(ind)); window.addPortalHighlighter('Mod: '+name, window.plugin.portalHighligherMods.getHighlighter(ind));
}); });
window.addPortalHighlighter('Mod: Hackability', window.plugin.portalHighligherMods.getHighlighter(['MULTIHACK', 'HEATSINK']));
window.addPortalHighlighter('Mod: Attack', window.plugin.portalHighligherMods.getHighlighter(['FORCE_AMP', 'TURRET']));
window.addPortalHighlighter('Mod: Defense', window.plugin.portalHighligherMods.getHighlighter(['RES_SHIELD', 'FORCE_AMP', 'TURRET']));
window.addPortalHighlighter('Mod: None', window.plugin.portalHighligherMods.highlightNoMods);
} }
// PLUGIN END ////////////////////////////////////////////////////////// // PLUGIN END //////////////////////////////////////////////////////////