// Token: 0x06001CFC RID: 7420 RVA: 0x00087090 File Offset: 0x00085290
 private static void ProcessDeathEvents()
 {
     while (StatManager.deathEvents.Count > 0)
     {
         StatManager.DamageEvent damageEvent = StatManager.deathEvents.Dequeue();
         StatSheet statSheet  = PlayerStatsComponent.FindBodyStatSheet(damageEvent.victim);
         StatSheet statSheet2 = PlayerStatsComponent.FindBodyStatSheet(damageEvent.attacker);
         if (statSheet != null)
         {
             statSheet.PushStatValue(StatDef.totalDeaths, 1UL);
             statSheet.PushStatValue(PerBodyStatDef.deathsAs, damageEvent.victimName, 1UL);
             if (damageEvent.attackerName != null)
             {
                 statSheet.PushStatValue(PerBodyStatDef.deathsFrom, damageEvent.attackerName, 1UL);
             }
         }
         if (statSheet2 != null)
         {
             statSheet2.PushStatValue(StatDef.totalKills, 1UL);
             statSheet2.PushStatValue(PerBodyStatDef.killsAs, damageEvent.attackerName, 1UL);
             if (damageEvent.victimName != null)
             {
                 statSheet2.PushStatValue(PerBodyStatDef.killsAgainst, damageEvent.victimName, 1UL);
                 if (damageEvent.victimIsElite)
                 {
                     statSheet2.PushStatValue(PerBodyStatDef.killsAgainstElite, damageEvent.victimName, 1UL);
                 }
             }
         }
     }
 }
 // Token: 0x06001CFB RID: 7419 RVA: 0x00086FB0 File Offset: 0x000851B0
 private static void ProcessDamageEvents()
 {
     while (StatManager.damageEvents.Count > 0)
     {
         StatManager.DamageEvent damageEvent = StatManager.damageEvents.Dequeue();
         ulong     statValue  = (ulong)damageEvent.damageDealt;
         StatSheet statSheet  = PlayerStatsComponent.FindBodyStatSheet(damageEvent.victim);
         StatSheet statSheet2 = PlayerStatsComponent.FindBodyStatSheet(damageEvent.attacker);
         if (statSheet != null)
         {
             statSheet.PushStatValue(StatDef.totalDamageTaken, statValue);
             if (damageEvent.attackerName != null)
             {
                 statSheet.PushStatValue(PerBodyStatDef.damageTakenFrom, damageEvent.attackerName, statValue);
             }
             if (damageEvent.victimName != null)
             {
                 statSheet.PushStatValue(PerBodyStatDef.damageTakenAs, damageEvent.victimName, statValue);
             }
         }
         if (statSheet2 != null)
         {
             statSheet2.PushStatValue(StatDef.totalDamageDealt, statValue);
             statSheet2.PushStatValue(StatDef.highestDamageDealt, statValue);
             if (damageEvent.attackerName != null)
             {
                 statSheet2.PushStatValue(PerBodyStatDef.damageDealtAs, damageEvent.attackerName, statValue);
             }
             if (damageEvent.victimName != null)
             {
                 statSheet2.PushStatValue(PerBodyStatDef.damageDealtTo, damageEvent.victimName, statValue);
             }
         }
     }
 }
Example #3
0
 // Token: 0x06001C7B RID: 7291 RVA: 0x00079B13 File Offset: 0x00077D13
 public static StatSheet FindBodyStatSheet(GameObject bodyObject)
 {
     if (!bodyObject)
     {
         return(null);
     }
     return(PlayerStatsComponent.FindBodyStatSheet(bodyObject.GetComponent <CharacterBody>()));
 }
        // Token: 0x06001D00 RID: 7424 RVA: 0x00087330 File Offset: 0x00085530
        public static void OnEquipmentActivated(EquipmentSlot activator, EquipmentIndex equipmentIndex)
        {
            StatSheet statSheet = PlayerStatsComponent.FindBodyStatSheet(activator.characterBody);

            if (statSheet == null)
            {
                return;
            }
            statSheet.PushStatValue(PerEquipmentStatDef.totalTimesFired.FindStatDef(equipmentIndex), 1UL);
        }
 // Token: 0x06001CFA RID: 7418 RVA: 0x00086F68 File Offset: 0x00085168
 private static void ProcessHealingEvents()
 {
     while (StatManager.healingEvents.Count > 0)
     {
         StatManager.HealingEvent healingEvent = StatManager.healingEvents.Dequeue();
         ulong     statValue = (ulong)healingEvent.healAmount;
         StatSheet statSheet = PlayerStatsComponent.FindBodyStatSheet(healingEvent.healee);
         if (statSheet != null)
         {
             statSheet.PushStatValue(StatDef.totalHealthHealed, statValue);
         }
     }
 }
        // Token: 0x06001CFF RID: 7423 RVA: 0x0008720C File Offset: 0x0008540C
        public static void OnPurchase <T>(CharacterBody characterBody, CostType costType, T statDefsToIncrement) where T : IEnumerable <StatDef>
        {
            StatSheet statSheet = PlayerStatsComponent.FindBodyStatSheet(characterBody);

            if (statSheet == null)
            {
                return;
            }
            StatDef statDef  = null;
            StatDef statDef2 = null;

            switch (costType)
            {
            case CostType.Money:
                statDef  = StatDef.totalGoldPurchases;
                statDef2 = StatDef.highestGoldPurchases;
                break;

            case CostType.PercentHealth:
                statDef  = StatDef.totalBloodPurchases;
                statDef2 = StatDef.highestBloodPurchases;
                break;

            case CostType.Lunar:
                statDef  = StatDef.totalLunarPurchases;
                statDef2 = StatDef.highestLunarPurchases;
                break;

            case CostType.WhiteItem:
                statDef  = StatDef.totalTier1Purchases;
                statDef2 = StatDef.highestTier1Purchases;
                break;

            case CostType.GreenItem:
                statDef  = StatDef.totalTier2Purchases;
                statDef2 = StatDef.highestTier2Purchases;
                break;

            case CostType.RedItem:
                statDef  = StatDef.totalTier3Purchases;
                statDef2 = StatDef.highestTier3Purchases;
                break;
            }
            statSheet.PushStatValue(StatDef.totalPurchases, 1UL);
            statSheet.PushStatValue(StatDef.highestPurchases, statSheet.GetStatValueULong(StatDef.totalPurchases));
            if (statDef != null)
            {
                statSheet.PushStatValue(statDef, 1UL);
                if (statDef2 != null)
                {
                    statSheet.PushStatValue(statDef2, statSheet.GetStatValueULong(statDef));
                }
            }
            if (statDefsToIncrement != null)
            {
                foreach (StatDef statDef3 in statDefsToIncrement)
                {
                    if (statDef3 != null)
                    {
                        statSheet.PushStatValue(statDef3, 1UL);
                    }
                }
            }
        }