summaryrefslogtreecommitdiff
path: root/js/mv/parse.js
diff options
context:
space:
mode:
authorFreeyorp <TheFreeYorp@NOSPAM.G.m.a.i.l.replace>2013-04-23 15:26:48 +1200
committerFreeyorp <TheFreeYorp@NOSPAM.G.m.a.i.l.replace>2013-04-23 15:26:48 +1200
commita7da1fafe2ca8c9115ce76f99a903e1b3da692a3 (patch)
treeee4465cbebc54cd937f69ede32b2b99513dd76a0 /js/mv/parse.js
parentf12d953786784ca8e8b8e9db146ce494b30f6647 (diff)
downloadmanavis-a7da1fafe2ca8c9115ce76f99a903e1b3da692a3.tar.gz
manavis-a7da1fafe2ca8c9115ce76f99a903e1b3da692a3.tar.bz2
manavis-a7da1fafe2ca8c9115ce76f99a903e1b3da692a3.tar.xz
manavis-a7da1fafe2ca8c9115ce76f99a903e1b3da692a3.zip
Add initial stat trellis chart
This should now be implemented efficiently enough for everything else to still work. This currently does not allow filtering, but the dimensions are prepared in a manner that makes this a simple addition.
Diffstat (limited to 'js/mv/parse.js')
-rw-r--r--js/mv/parse.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/js/mv/parse.js b/js/mv/parse.js
index 23a0f79..c30a874 100644
--- a/js/mv/parse.js
+++ b/js/mv/parse.js
@@ -24,9 +24,9 @@ var mv = function(mv) {
j: parseInt(d[7]),
type: d[8],
pcstat: pcstat[d[2]],
- target: 0,
- dmg: 0,
- wpn: 0
+ target: -1010,
+ dmg: -1010,
+ wpn: -1010
};
if (pcstat[d[2]] == undefined && (!fullyDefinedCutoff || ts > fullyDefinedCutoff)) {
fullyDefinedCutoff = ts;
@@ -42,8 +42,11 @@ var mv = function(mv) {
softAssert(mID == parseInt(d[6]), "Integrity error: MOB ID mismatch!");
// softAssert(rec.pc == parseInt(d[2]), "Integrity error: PC ID mismatch!");
rec.target = parseInt(d[7]);
+ softAssert(rec.target, "Unknown target!")
rec.dmg = parseInt(d[8]);
rec.wpn = parseInt(d[9]);
+ } else {
+// console.error("No match (deathblow):", spl[i - 2]);
}
} else {
d = spl[i - 1].match(/^(\d+\.\d+) PC(\d+) (\d+):(\d+),(\d+) GAINXP (\d+) (\d+) (\w+)/);
@@ -51,8 +54,11 @@ var mv = function(mv) {
var clone = parser.records[parser.records.length - 1];
softAssert(rec.map == clone.map, "Integrity error: MAP ID mismatch!");
rec.target = clone.target;
+ softAssert(rec.target, "Unknown (cloned) target!");
rec.dmg = clone.dmg; /* FIXME: Take into account actual assist damage */
rec.wpn = clone.wpn;
+ } else {
+// console.error("No match (clone):", spl[i - 1]);
}
}
}
@@ -70,6 +76,12 @@ var mv = function(mv) {
luk: parseInt(d[7])
};
s.blvl = stat.minLevelForStats(s.str, s.agi, s.vit, s.int, s.dex, s.luk);
+ s.str = Math.floor(s.str / 10);
+ s.agi = Math.floor(s.agi / 10);
+ s.vit = Math.floor(s.vit / 10);
+ s.int = Math.floor(s.int / 10);
+ s.dex = Math.floor(s.dex / 10);
+ s.luk = Math.floor(s.luk / 10);
pcstat[d[1]] = s;
return;
}