diff --git a/assets/prefer-iitc.psd b/assets/prefer-iitc.psd
new file mode 100644
index 00000000..bf0e1424
Binary files /dev/null and b/assets/prefer-iitc.psd differ
diff --git a/code/artifact.js b/code/artifact.js
index cd8b118d..d52abc72 100644
--- a/code/artifact.js
+++ b/code/artifact.js
@@ -247,7 +247,10 @@ window.artifact.showArtifactList = function() {
}
if (data[type].fragments) {
- row += 'Shard: #'+data[type].fragments.join(', #')+' ';
+ if (data[type].target) {
+ row += '
';
+ }
+ row += 'Shard: #'+data[type].fragments.join(', #')+' ';
sortVal = Math.min.apply(null, data[type].fragments); // use min shard number at portal as sort key
}
diff --git a/code/chat.js b/code/chat.js
index 2bcf5f79..50cb8fec 100644
--- a/code/chat.js
+++ b/code/chat.js
@@ -228,12 +228,12 @@ window.chat.renderCompact = function(oldMsgsWereAdded) {
$.each(chat._public.data, function(guid, entry) {
// skip player msgs
if(!entry[1]) return true;
- var pguid = entry[3];
+ var nick = entry[3];
// ignore if player has newer data
- if(data[pguid] && data[pguid][0] > entry[0]) return true;
- data[pguid] = entry;
+ if(data[nick] && data[nick][0] > entry[0]) return true;
+ data[nick] = entry;
});
- // data keys are now player guids instead of message guids. However,
+ // data keys are now player nicks instead of message guids. However,
// it is all the same to renderData.
chat.renderData(data, 'chatcompact', oldMsgsWereAdded);
}
@@ -350,7 +350,7 @@ window.chat.writeDataToHash = function(newData, storageHash, isPublicChannel, is
// format: timestamp, autogenerated, HTML message
- storageHash.data[json[0]] = [json[1], auto, chat.renderMsg(msg, nick, time, team, msgToPlayer, systemNarrowcast)];
+ storageHash.data[json[0]] = [json[1], auto, chat.renderMsg(msg, nick, time, team, msgToPlayer, systemNarrowcast), nick];
});
}
diff --git a/code/hooks.js b/code/hooks.js
index 60eefe45..1de476f3 100644
--- a/code/hooks.js
+++ b/code/hooks.js
@@ -89,6 +89,7 @@ window.runHooks = function(event, data) {
window.addHook = function(event, callback) {
if(VALID_HOOKS.indexOf(event) === -1) {
console.error('addHook: Unknown event type: ' + event + ' - ignoring');
+ debugger;
return;
}
diff --git a/code/map_data_request.js b/code/map_data_request.js
index 9c4f52be..1326d852 100644
--- a/code/map_data_request.js
+++ b/code/map_data_request.js
@@ -16,8 +16,9 @@ window.MapDataRequest = function() {
// no more than this many requests in parallel. stock site seems to rely on browser limits (6, usually), sending
- // all requests at once. using our own queue limit ensures that other requests (e.g. chat) don't get postponed for too long
- this.MAX_REQUESTS = 6;
+ // many requests at once.
+ // using our own queue limit ensures that other requests (e.g. chat, portal details) don't get delayed
+ this.MAX_REQUESTS = 5;
// no more than this many tiles in one request
// as of 2013-11-11, or possibly the release before that, the stock site was changed to only request four tiles at a time
@@ -28,7 +29,7 @@ window.MapDataRequest = function() {
this.MIN_TILES_PER_REQUEST = 4;
// number of times to retry a tile after a 'bad' error (i.e. not a timeout)
- this.MAX_TILE_RETRIES = 1;
+ this.MAX_TILE_RETRIES = 2;
// refresh timers
this.MOVE_REFRESH = 1; //time, after a map move (pan/zoom) before starting the refresh processing
diff --git a/code/portal_detail_display.js b/code/portal_detail_display.js
index 9c26ea59..53a54b99 100644
--- a/code/portal_detail_display.js
+++ b/code/portal_detail_display.js
@@ -109,7 +109,7 @@ window.renderPortalDetails = function(guid) {
} else {
// non-android - a permalink for the portal
- var permaHtml = $('
Enlightened | Resistance |
---|
Enlightened | Resistance | |||||
---|---|---|---|---|---|---|
Level '+level+' | '; if(minlvl > level) counts += 'zoom in to see portals in this level | '; else - counts += ''+window.plugin.portalcounts.PortalsEnl[level]+' | '+window.plugin.portalcounts.PortalsRes[level]+' | '; + counts += ''+self.PortalsEnl[level]+' | '+self.PortalsRes[level]+' | '; counts += '|
Total: | '+window.plugin.portalcounts.enlP+' | '+window.plugin.portalcounts.resP+' | ||||
Total: | '+self.enlP+' | '+self.resP+' | ||||
Neutral: | '; if(minlvl > 0) counts += 'zoom in to see unclaimed portals'; else - counts += window.plugin.portalcounts.neuP; - counts += ' |
No Portals in range!
'; + var total = self.enlP + self.resP + self.neuP; + var title = total + ' ' + (total == 1 ? 'portal' : 'portals'); - var total = window.plugin.portalcounts.enlP + window.plugin.portalcounts.resP + window.plugin.portalcounts.neuP; - dialog({ - html: 'Nothing to show! |
Portal | ' - + 'Level | ' - + 'Team | ' - + 'Health | ' - + 'Resonator Count | ' - + 'Link Count | ' - + 'Field Count | ' + + '||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
# | ' + + 'Portal Name | ' + + 'Level | ' + + 'Team | ' + + 'Health | ' + + 'Resonators | ' + + 'Links | ' + + 'Fields | ' + var rowNum = 1; $.each(portals, function(ind, portal) { if (filter === TEAM_NONE || filter === portal.teamN) { + html += '|||||
' + window.plugin.portalslist.getPortalLink(portal, portal.guid) + ' | ' - + '' + portal.level + ' | ' - + '' + portal.team + ' | '; + + ''+rowNum+' | ' + + '' + window.plugin.portalslist.getPortalLink(portal, portal.guid) + ' | ' + + '' + portal.level + ' | ' + + '' + portal.team.substr(0,3) + ' | '; html += '' + portal.health + ' | ' + '' + portal.resCount + ' | ' - + '' + portal.linkCount + ' | ' - + '' + portal.fieldCount + ' | '; + + '' + (portal.linkCount?portal.linkCount:'-') + ' | ' + + '' + (portal.fieldCount?portal.fieldCount:'-') + ' | '; html+= '
-Sometimes this is caused by server issues, and no ammount of reloading will fix it. Come back later and try again. +Sometimes this is caused by server issues, and no amount of reloading will fix it. Come back later and try again.
However, another reason for this message is your account being blocked/suspended by Niantic. There