// 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); } } } }
// 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); } } } }