From 13a6e0f15736d437a50b0fa60aa2d45a8b8f9e3a Mon Sep 17 00:00:00 2001 From: HardiReady Date: Sat, 9 Jun 2018 22:06:18 +0200 Subject: [PATCH] Apply vehicle kill to all multi shooters --- api/routes/campaigns.js | 1 + api/tools/log-parse-tool.js | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/api/routes/campaigns.js b/api/routes/campaigns.js index 573b74b..3155a88 100644 --- a/api/routes/campaigns.js +++ b/api/routes/campaigns.js @@ -64,6 +64,7 @@ campaigns.route('/:id') } WarModel.find({campaign: req.params.id}).remove().exec(); // TODO: remove all the war logs from fs here!!! + // TODO: remove all LOG entries from DB!!! res.locals.processed = true; next(); }); diff --git a/api/tools/log-parse-tool.js b/api/tools/log-parse-tool.js index d24bb85..86e1260 100644 --- a/api/tools/log-parse-tool.js +++ b/api/tools/log-parse-tool.js @@ -91,9 +91,8 @@ const parseWarLog = (lineArray, war) => { vehicleKill.shooter = shooter.name[0]; vehicleKill.additionalShooter = shooter.name.slice(1, shooter.name.length); } else { - vehicleKill.shooter = shooter ? shooter.name : null + vehicleKill.shooter = shooter ? shooter.name : null; } - console.log(vehicleKill) stats.vehicles.push(vehicleKill); } } else { @@ -224,15 +223,18 @@ const parseWarLog = (lineArray, war) => { // TODO: use vehicle class description from enum stats.players[i]['vehicleLight'] = stats.vehicles.filter( - (vehicle) => vehicle.shooter === playerName && vehicle.vehicleClass === 'LIGHT' && + (vehicle) => (vehicle.shooter === playerName || vehicle.additionalShooter.indexOf(playerName) > -1) && + vehicle.vehicleClass === 'LIGHT' && VEHICLE_BLACKLIST.indexOf(vehicle.target) < 0).length; stats.players[i]['vehicleHeavy'] = stats.vehicles.filter( - (vehicle) => vehicle.shooter === playerName && vehicle.vehicleClass === 'HEAVY' && + (vehicle) => (vehicle.shooter === playerName || vehicle.additionalShooter.indexOf(playerName) > -1) && + vehicle.vehicleClass === 'HEAVY' && VEHICLE_BLACKLIST.indexOf(vehicle.target) < 0).length; stats.players[i]['vehicleAir'] = stats.vehicles.filter( - (vehicle) => vehicle.shooter === playerName && vehicle.vehicleClass === 'AIR' && + (vehicle) => (vehicle.shooter === playerName || vehicle.additionalShooter.indexOf(playerName) > -1) && + vehicle.vehicleClass === 'AIR' && VEHICLE_BLACKLIST.indexOf(vehicle.target) < 0).length; stats.players[i]['friendlyFire'] = stats.kills.filter( @@ -298,7 +300,7 @@ const getPlayerAndFractionFromString = (inputString) => { while ((additionalPlayerMatch = playerNameRegex.exec(inputString)) !== null) { const addPlayer = additionalPlayerMatch[0].replace(/^,\s/, '').replace(/\s\($/, '').trim(); if (name instanceof Array) { - name.push(addPlayer) + name.push(addPlayer); } else { name = [name, addPlayer]; }