//specifically for Zanverse player, since it has an invalid ID, AddDamageInstance would ignore it public void AddZanverseDamageInstance(PSO2DamageInstance instance) { //instance.ReplaceZanverseName(); //due to adding AnonymizeDamage feature, names might get leaked via zanverse player, so just disable name replacement for now ZanverseDamage.AddDamage(instance); if (MaxHit < instance.Damage) { MaxHit = instance.Damage; MaxHitName = instance.AttackName; } _damageInstances.Add(instance); }
public void AddDamageInstance(PSO2DamageInstance instance) { if (instance.TargetId == ID) { //we took damage from instance.SourceId _receivedDamageInstances.Add(instance); DamageTaken.AddDamage(instance); if (!_attackInfoList.ContainsKey("Damage Taken")) { _attackInfoList.Add("Damage Taken", new AttackInfo("Damage Taken", 0)); } _attackInfoList["Damage Taken"].AddDamageInstance(instance); } else if (instance.SourceId == ID) { //we dealt damage to instance.TargetId if (instance.IsAISDamage) { AISDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.AIS)) { AddAttackInfo(instance); } } else if (instance.IsDarkBlastDamage) { DarkBlastDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.DarkBlast)) { AddAttackInfo(instance); } } else if (instance.IsZanverseDamage) { ZanverseDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.Zanverse)) { AddAttackInfo(instance); } } else if (instance.IsHeroFinishDamage) { HeroTimeFinishDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.HTF)) { AddAttackInfo(instance); } } else if (instance.IsPhotonDamage) { PhotonDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.PWP)) { AddAttackInfo(instance); } } else if (instance.IsRideroidDamage) { RideroidDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.Ride)) { AddAttackInfo(instance); } } else if (instance.IsLaconiumDamage) { LaconiumDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.LSW)) { AddAttackInfo(instance); } } else if (instance.IsElementalDamage) { ElementDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.Elem)) { AddAttackInfo(instance); } } else { BasicDamage.AddDamage(instance); if (trackersToSum.HasFlag(PSO2DamageTrackers.Basic)) { AddAttackInfo(instance); } } _damageInstances.Add(instance); if (instance.IsZanverseDamage) //only update ZV max hit if ZV is not separated { if (trackersToSum.HasFlag(PSO2DamageTrackers.Zanverse)) { UpdateMaxHit(instance); } } else { UpdateMaxHit(instance); } } }