more portal summary data utility functions
- link/field count functions - useful when we only need numbers - approximate AP gains, based only on summary data
This commit is contained in:
parent
bf89a0548e
commit
5a33ba1a24
@ -21,6 +21,11 @@ window.getPortalLinks = function(guid) {
|
|||||||
return links;
|
return links;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.getPortalLinksCount = function(guid) {
|
||||||
|
var links = getPortalLinks();
|
||||||
|
return links.in.length+links.out.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// search through the fields for all that reference a portal
|
// search through the fields for all that reference a portal
|
||||||
window.getPortalFields = function(guid) {
|
window.getPortalFields = function(guid) {
|
||||||
@ -40,6 +45,11 @@ window.getPortalFields = function(guid) {
|
|||||||
return fields;
|
return fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.getPortalFieldsCount = function(guid) {
|
||||||
|
var fields = getPortalFields();
|
||||||
|
return fields.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// find the lat/lon for a portal, using any and all available data
|
// find the lat/lon for a portal, using any and all available data
|
||||||
// (we have the list of portals, the cached portal details, plus links and fields as sources of portal locations)
|
// (we have the list of portals, the cached portal details, plus links and fields as sources of portal locations)
|
||||||
@ -79,3 +89,48 @@ window.findPortalLatLng = function(guid) {
|
|||||||
// no luck finding portal lat/lng
|
// no luck finding portal lat/lng
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// get the AP gains from a portal, based only on the brief summary data from portals, links and fields
|
||||||
|
// not entirely accurate - but available for all portals on the screen
|
||||||
|
window.getPortalApGain = function(guid) {
|
||||||
|
|
||||||
|
var p = window.portals[guid];
|
||||||
|
if (p) {
|
||||||
|
var data = p.options.data;
|
||||||
|
|
||||||
|
var linkCount = getPortalLinksCount(guid);
|
||||||
|
var fieldCount = getPortalFieldsCount(guid);
|
||||||
|
|
||||||
|
var result = portalApGainMaths(data.resCount, linkCount, fieldCount);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
// given counts of resonators, links and fields, calculate the available AP
|
||||||
|
// doesn't take account AP for resonator upgrades or AP for adding mods
|
||||||
|
window.portalApGainMaths = function(resCount, linkCount, fieldCount) {
|
||||||
|
|
||||||
|
var deployAp = (8-resCount)*DEPLOY_RESONATOR;
|
||||||
|
if (resCount == 0) deployAp += CAPTURE_PORTAL;
|
||||||
|
if (resCount != 8) deployAp += COMPLETION_BONUS;
|
||||||
|
// there could also be AP for upgrading existing resonators, and for deploying mods - but we don't have data for that
|
||||||
|
var friendlyAp = deployAp;
|
||||||
|
|
||||||
|
var destroyResoAp = resCount*DESTROY_RESONATOR;
|
||||||
|
var destroyLinkAp = linkCount*DESTROY_LINK;
|
||||||
|
var destroyFieldAp = fieldCount*DESTROY_FIELD;
|
||||||
|
var captureAp = CAPTURE_PORTAL + 8 * DEPLOY_RESONATOR + COMPLETION_BONUS;
|
||||||
|
var destroyAp = destroyResoAp+destroyLinkAp+destroyFieldAp;
|
||||||
|
var enemyAp = destroyAp+captureAp;
|
||||||
|
|
||||||
|
return {
|
||||||
|
friendlyAp: friendlyAp,
|
||||||
|
enemyAp: enemyAp,
|
||||||
|
destroyAp: destroyAp,
|
||||||
|
destroyResoAp: destroyResoAp,
|
||||||
|
captureAp: captureAp
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user