summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreeyorp <TheFreeYorp@NOSPAM.G.m.a.i.l.replace>2013-05-14 10:23:14 +1200
committerFreeyorp <TheFreeYorp@NOSPAM.G.m.a.i.l.replace>2013-05-14 10:23:52 +1200
commitb10206b1a3f26498e24ffa0fe6de2058ec3c4e9c (patch)
treed8c0269dd9b9704c5bafeaffa5c36b59bb7ffe5a
parent8804397ff39f142fec4ac13ee193928b639327cf (diff)
downloadmanavis-b10206b1a3f26498e24ffa0fe6de2058ec3c4e9c.tar.gz
manavis-b10206b1a3f26498e24ffa0fe6de2058ec3c4e9c.tar.bz2
manavis-b10206b1a3f26498e24ffa0fe6de2058ec3c4e9c.tar.xz
manavis-b10206b1a3f26498e24ffa0fe6de2058ec3c4e9c.zip
Also consider mob to mob for the attacker count
Sort the pie chart the other way. Still doesn't feel right. Perhaps a bar chart would be better.
-rw-r--r--public/js/mv/chart.js2
-rw-r--r--public/js/mv/parse.js30
2 files changed, 16 insertions, 16 deletions
diff --git a/public/js/mv/chart.js b/public/js/mv/chart.js
index bb511b9..f3d8282 100644
--- a/public/js/mv/chart.js
+++ b/public/js/mv/chart.js
@@ -24,7 +24,7 @@ var mv = function(mv) {
mv.charts.wpn = pie(monoGroup(dc.pieChart("#wpn-chart"), "wpn"))
;
mv.charts.numAttackers = pie(monoGroup(dc.pieChart("#num-attackers-chart"), "numAttackers"))
- .sort(function(d1, d2) { return d3.descending(d1.key, d2.key); })
+ .sort(function(d1, d2) { return d3.ascending(d1.key, d2.key); })
;
mv.charts.map = monoGroup(margined(wide(dc.bubbleChart("#map-chart"))), "map")
.height(500)
diff --git a/public/js/mv/parse.js b/public/js/mv/parse.js
index 162739f..9c3a250 100644
--- a/public/js/mv/parse.js
+++ b/public/js/mv/parse.js
@@ -28,6 +28,19 @@ var mv = function(mv) {
* mob ID -> { mobClass, numAttackers, player IDs -> { total, weapon names -> { sum damage } } }
*/
var combat = {};
+ function combatPerformed(mobClass, target, pc, wpn, damage) {
+ /* Update combat state */
+ var mobData = combat[target] || (combat[target] = { mobClass: mobClass });
+ var pcData;
+ if (pc in mobData) {
+ pcData = mobData[pc];
+ } else {
+ (++mobData.numAttackers) || (mobData.numAttackers = 1);
+ pcData = mobData[pc] = {};
+ }
+ (pcData[wpn] += damage) || (pcData[wpn] = damage);
+ (pcData.total += damage) || (pcData.total = damage);
+ }
function freeMob() {
/* We no longer need detailed information on the mob's combat. */
if (!killedMobID) {
@@ -145,17 +158,7 @@ var mv = function(mv) {
var pc = parseInt(d[2]);
var wpn = d[6] == "SPELL" ? d[10] : item.nameByServerID(d[10]);
var damage = parseInt(d[9]);
- /* Update combat state */
- var mobData = combat[target] || (combat[target] = { mobClass: mobClass });
- var pcData;
- if (pc in mobData) {
- pcData = mobData[pc];
- } else {
- (++mobData.numAttackers) || (mobData.numAttackers = 1);
- pcData = mobData[pc] = {};
- }
- (pcData[wpn] += damage) || (pcData[wpn] = damage);
- (pcData.total += damage) || (pcData.total = damage);
+ combatPerformed(mobClass, target, pc, wpn, damage);
return true;
}
function checkMobMobDmg(e) {
@@ -170,10 +173,7 @@ var mv = function(mv) {
var wpn = mob.nameByServerID(d[7]);
var damage = parseInt(d[10]);
/* Update combat state */
- var mobData = combat[target] || (combat[target] = { mobClass: mobClass });
- var pcData = mobData[pc] || (mobData[pc] = {});
- (pcData[wpn] += damage) || (pcData[wpn] = damage);
- (pcData.total += damage) || (pcData.total = damage);
+ combatPerformed(mobClass, target, pc, wpn, damage);
return true;
}
function checkMobDeath(e) {