// Token: 0x06001CDA RID: 7386 RVA: 0x0007B66C File Offset: 0x0007986C private static void ProcessDamageEvents() { while (StatManager.damageEvents.Count > 0) { StatManager.DamageEvent damageEvent = StatManager.damageEvents.Dequeue(); ulong statValue = (ulong)damageEvent.damageDealt; StatSheet statSheet = PlayerStatsComponent.FindMasterStatSheet(damageEvent.victimMaster); StatSheet statSheet2 = PlayerStatsComponent.FindMasterStatSheet(damageEvent.attackerMaster); StatSheet statSheet3 = PlayerStatsComponent.FindMasterStatSheet(damageEvent.attackerOwnerMaster); if (statSheet != null) { statSheet.PushStatValue(StatDef.totalDamageTaken, statValue); if (damageEvent.attackerBodyIndex != -1) { statSheet.PushStatValue(PerBodyStatDef.damageTakenFrom, damageEvent.attackerBodyIndex, statValue); } if (damageEvent.victimBodyIndex != -1) { statSheet.PushStatValue(PerBodyStatDef.damageTakenAs, damageEvent.victimBodyIndex, statValue); } } if (statSheet2 != null) { statSheet2.PushStatValue(StatDef.totalDamageDealt, statValue); statSheet2.PushStatValue(StatDef.highestDamageDealt, statValue); if (damageEvent.attackerBodyIndex != -1) { statSheet2.PushStatValue(PerBodyStatDef.damageDealtAs, damageEvent.attackerBodyIndex, statValue); } if (damageEvent.victimBodyIndex != -1) { statSheet2.PushStatValue(PerBodyStatDef.damageDealtTo, damageEvent.victimBodyIndex, statValue); } } if (statSheet3 != null) { statSheet3.PushStatValue(StatDef.totalMinionDamageDealt, statValue); if (damageEvent.attackerOwnerBodyIndex != -1) { statSheet3.PushStatValue(PerBodyStatDef.minionDamageDealtAs, damageEvent.attackerOwnerBodyIndex, statValue); } } } }
// Token: 0x06001CDB RID: 7387 RVA: 0x0007B78C File Offset: 0x0007998C private static void ProcessDeathEvents() { while (StatManager.deathEvents.Count > 0) { StatManager.DeathEvent deathEvent = StatManager.deathEvents.Dequeue(); DamageReport damageReport = deathEvent.damageReport; StatSheet statSheet = PlayerStatsComponent.FindMasterStatSheet(damageReport.victimMaster); StatSheet statSheet2 = PlayerStatsComponent.FindMasterStatSheet(damageReport.attackerMaster); StatSheet statSheet3 = PlayerStatsComponent.FindMasterStatSheet(damageReport.attackerOwnerMaster); if (statSheet != null) { statSheet.PushStatValue(StatDef.totalDeaths, 1UL); statSheet.PushStatValue(PerBodyStatDef.deathsAs, damageReport.victimBodyIndex, 1UL); if (damageReport.attackerBodyIndex != -1) { statSheet.PushStatValue(PerBodyStatDef.deathsFrom, damageReport.attackerBodyIndex, 1UL); } if (damageReport.dotType != DotController.DotIndex.None) { DotController.DotIndex dotType = damageReport.dotType; if (dotType - DotController.DotIndex.Burn <= 2) { statSheet.PushStatValue(StatDef.totalBurnDeaths, 1UL); } } if (deathEvent.victimWasBurning) { statSheet.PushStatValue(StatDef.totalDeathsWhileBurning, 1UL); } } if (statSheet2 != null) { statSheet2.PushStatValue(StatDef.totalKills, 1UL); statSheet2.PushStatValue(PerBodyStatDef.killsAs, damageReport.attackerBodyIndex, 1UL); if (damageReport.victimBodyIndex != -1) { statSheet2.PushStatValue(PerBodyStatDef.killsAgainst, damageReport.victimBodyIndex, 1UL); if (damageReport.victimIsElite) { statSheet2.PushStatValue(StatDef.totalEliteKills, 1UL); statSheet2.PushStatValue(PerBodyStatDef.killsAgainstElite, damageReport.victimBodyIndex, 1UL); } } } if (statSheet3 != null) { statSheet3.PushStatValue(StatDef.totalMinionKills, 1UL); if (damageReport.attackerOwnerBodyIndex != -1) { statSheet3.PushStatValue(PerBodyStatDef.minionKillsAs, damageReport.attackerOwnerBodyIndex, 1UL); } } if (damageReport.victimIsBoss) { int i = 0; int count = PlayerStatsComponent.instancesList.Count; while (i < count) { PlayerStatsComponent playerStatsComponent = PlayerStatsComponent.instancesList[i]; if (playerStatsComponent.characterMaster.alive) { playerStatsComponent.currentStats.PushStatValue(StatDef.totalTeleporterBossKillsWitnessed, 1UL); } i++; } } } }