Example #1
0
 // 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);
             }
         }
     }
 }
Example #2
0
 // 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++;
             }
         }
     }
 }