add player controllers to wound and die

This commit is contained in:
Skillet 2023-04-08 18:41:55 -04:00
parent 088b016798
commit e3cbabb434

View File

@ -208,7 +208,9 @@ export default class SquadServer extends EventEmitter {
this.logParser.on('PLAYER_CONNECTED', async (data) => { this.logParser.on('PLAYER_CONNECTED', async (data) => {
data.player = await this.getPlayerBySteamID(data.steamID); data.player = await this.getPlayerBySteamID(data.steamID);
if (data.player) data.player.suffix = data.playerSuffix; if (data.player) {
data.player.suffix = data.playerSuffix;
}
else{ else{
data.player = { data.player = {
steamID: data.steamID, steamID: data.steamID,
@ -247,16 +249,13 @@ export default class SquadServer extends EventEmitter {
this.logParser.on('PLAYER_WOUNDED', async (data) => { this.logParser.on('PLAYER_WOUNDED', async (data) => {
data.victim = await this.getPlayerByName(data.victimName); data.victim = await this.getPlayerByName(data.victimName);
data.attacker = await this.getPlayerByName(data.attackerName); data.attacker = await this.getPlayerByController(data.attackerPlayerController);
if (data.victim && data.attacker) if (data.victim && data.attacker)
data.teamkill = data.teamkill =
data.victim.teamID === data.attacker.teamID && data.victim.teamID === data.attacker.teamID &&
data.victim.steamID !== data.attacker.steamID; data.victim.steamID !== data.attacker.steamID;
delete data.victimName;
delete data.attackerName;
this.emit('PLAYER_WOUNDED', data); this.emit('PLAYER_WOUNDED', data);
if (data.teamkill) this.emit('TEAMKILL', data); if (data.teamkill) this.emit('TEAMKILL', data);
}); });
@ -264,15 +263,13 @@ export default class SquadServer extends EventEmitter {
this.logParser.on('PLAYER_DIED', async (data) => { this.logParser.on('PLAYER_DIED', async (data) => {
console.log(data); console.log(data);
data.victim = await this.getPlayerByName(data.victimName); data.victim = await this.getPlayerByName(data.victimName);
data.attacker = await this.getPlayerByController(data.attackerPlayerController)
if (data.victim && data.attacker) if (data.victim && data.attacker)
data.teamkill = data.teamkill =
data.victim.teamID === data.attacker.teamID && data.victim.teamID === data.attacker.teamID &&
data.victim.steamID !== data.attacker.steamID; data.victim.steamID !== data.attacker.steamID;
delete data.victimName;
delete data.attackerName;
console.log(data); console.log(data);
this.emit('PLAYER_DIED', data); this.emit('PLAYER_DIED', data);
@ -360,6 +357,7 @@ export default class SquadServer extends EventEmitter {
players.push({ players.push({
...oldPlayerInfo[player.steamID], ...oldPlayerInfo[player.steamID],
...player, ...player,
playercont: this.logParser.eventStore.players[player.steamID].controller,
squad: await this.getSquadByID(player.teamID, player.squadID) squad: await this.getSquadByID(player.teamID, player.squadID)
}); });
@ -562,6 +560,10 @@ export default class SquadServer extends EventEmitter {
return this.getPlayerByCondition((player) => player.suffix === suffix, forceUpdate, false); return this.getPlayerByCondition((player) => player.suffix === suffix, forceUpdate, false);
} }
async getPlayerByController(controller, forceUpdate){
return this.getPlayerByCondition((player) => player.playercont === controller, forceUpdate);
}
async pingSquadJSAPI() { async pingSquadJSAPI() {
if (this.pingSquadJSAPITimeout) clearTimeout(this.pingSquadJSAPITimeout); if (this.pingSquadJSAPITimeout) clearTimeout(this.pingSquadJSAPITimeout);