Merge pull request #608 from fkloft/portal_details
Tweaks regarding portal details
This commit is contained in:
commit
94fd2a092b
@ -90,6 +90,17 @@ window.renderPortalDetails = function(guid) {
|
|||||||
portalDetailedDescription += '</table>';
|
portalDetailedDescription += '</table>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var levelDetails = getPortalLevel(d);
|
||||||
|
if(levelDetails != 8) {
|
||||||
|
if(levelDetails==Math.ceil(levelDetails))
|
||||||
|
levelDetails += "\n8";
|
||||||
|
else
|
||||||
|
levelDetails += "\n" + (Math.ceil(levelDetails) - levelDetails)*8;
|
||||||
|
levelDetails += " resonator level(s) needed for next portal level";
|
||||||
|
} else {
|
||||||
|
levelDetails += "\nfully upgraded";
|
||||||
|
}
|
||||||
|
levelDetails = "Level " + levelDetails;
|
||||||
|
|
||||||
$('#portaldetails')
|
$('#portaldetails')
|
||||||
.attr('class', TEAM_TO_CSS[getTeam(d)])
|
.attr('class', TEAM_TO_CSS[getTeam(d)])
|
||||||
@ -98,7 +109,7 @@ window.renderPortalDetails = function(guid) {
|
|||||||
+ '<span class="close" onclick="renderPortalDetails(null); if(isSmartphone()) show(\'map\');" title="Close">X</span>'
|
+ '<span class="close" onclick="renderPortalDetails(null); if(isSmartphone()) show(\'map\');" title="Close">X</span>'
|
||||||
// help cursor via ".imgpreview img"
|
// help cursor via ".imgpreview img"
|
||||||
+ '<div class="imgpreview" '+imgTitle+' style="background-image: url('+img+')">'
|
+ '<div class="imgpreview" '+imgTitle+' style="background-image: url('+img+')">'
|
||||||
+ '<span id="level">'+Math.floor(getPortalLevel(d))+'</span>'
|
+ '<span id="level" title="'+levelDetails+'">'+Math.floor(getPortalLevel(d))+'</span>'
|
||||||
+ '<div class="portalDetails">'+ portalDetailedDescription + '</div>'
|
+ '<div class="portalDetails">'+ portalDetailedDescription + '</div>'
|
||||||
+ '<img class="hide" src="'+img+'"/></div>'
|
+ '<img class="hide" src="'+img+'"/></div>'
|
||||||
+ '</div>'
|
+ '</div>'
|
||||||
@ -134,9 +145,14 @@ window.setPortalIndicators = function(d) {
|
|||||||
|
|
||||||
var range = getPortalRange(d);
|
var range = getPortalRange(d);
|
||||||
var coord = [d.locationE6.latE6/1E6, d.locationE6.lngE6/1E6];
|
var coord = [d.locationE6.latE6/1E6, d.locationE6.lngE6/1E6];
|
||||||
portalRangeIndicator = (range > 0
|
portalRangeIndicator = (range.range > 0
|
||||||
? L.geodesicCircle(coord, range, { fill: false, color: RANGE_INDICATOR_COLOR, weight: 3, clickable: false })
|
? L.geodesicCircle(coord, range.range, {
|
||||||
: L.circle(coord, range, { fill: false, stroke: false, clickable: false })
|
fill: false,
|
||||||
|
color: RANGE_INDICATOR_COLOR,
|
||||||
|
weight: 3,
|
||||||
|
dashArray: range.isLinkable ? undefined : "10,10",
|
||||||
|
clickable: false })
|
||||||
|
: L.circle(coord, range.range, { fill: false, stroke: false, clickable: false })
|
||||||
).addTo(map);
|
).addTo(map);
|
||||||
|
|
||||||
portalAccessIndicator = L.circle(coord, HACK_RANGE,
|
portalAccessIndicator = L.circle(coord, HACK_RANGE,
|
||||||
|
@ -5,11 +5,20 @@
|
|||||||
// returns displayable text+link about portal range
|
// returns displayable text+link about portal range
|
||||||
window.getRangeText = function(d) {
|
window.getRangeText = function(d) {
|
||||||
var range = getPortalRange(d);
|
var range = getPortalRange(d);
|
||||||
|
|
||||||
|
var title = 'Base range:\t' + digits(Math.floor(range.base))+'m'
|
||||||
|
+ '\nLink amp boost:\t×'+range.boost
|
||||||
|
+ '\nRange:\t'+digits(Math.floor(range.range))+'m';
|
||||||
|
|
||||||
|
if(!range.isLinkable) title += '\nPortal is missing resonators,\nno new links can be made';
|
||||||
|
|
||||||
return ['range',
|
return ['range',
|
||||||
'<a onclick="window.rangeLinkClick()">'
|
'<a onclick="window.rangeLinkClick()"'
|
||||||
+ (range > 1000
|
+ (range.isLinkable ? '' : ' style="text-decoration:line-through;"')
|
||||||
? Math.floor(range/1000) + ' km'
|
+ ' title="'+title+'">'
|
||||||
: Math.floor(range) + ' m')
|
+ (range.range > 1000
|
||||||
|
? Math.floor(range.range/1000) + ' km'
|
||||||
|
: Math.floor(range.range) + ' m')
|
||||||
+ '</a>'];
|
+ '</a>'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,18 +47,20 @@ window.getPortalRange = function(d) {
|
|||||||
$.each(d.resonatorArray.resonators, function(ind, reso) {
|
$.each(d.resonatorArray.resonators, function(ind, reso) {
|
||||||
if(!reso) {
|
if(!reso) {
|
||||||
resoMissing = true;
|
resoMissing = true;
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
lvl += parseInt(reso.level);
|
lvl += parseInt(reso.level);
|
||||||
});
|
});
|
||||||
if(resoMissing) return 0;
|
|
||||||
|
|
||||||
var range = 160*Math.pow(getPortalLevel(d), 4);
|
var range = {
|
||||||
|
base: 160*Math.pow(getPortalLevel(d), 4),
|
||||||
|
boost: getLinkAmpRangeBoost(d)
|
||||||
|
};
|
||||||
|
|
||||||
var boost = getLinkAmpRangeBoost(d);
|
range.range = range.boost * range.base;
|
||||||
|
range.isLinkable = !resoMissing;
|
||||||
return range*boost;
|
|
||||||
|
|
||||||
|
return range;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.getLinkAmpRangeBoost = function(d) {
|
window.getLinkAmpRangeBoost = function(d) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user