public override void OnEvent(UnitSpellDamageEvent spellDamageEvent) { base.OnEvent(spellDamageEvent); model?.Animator.SetBool("WoundedCrit", spellDamageEvent.IsCrit); model?.Animator.SetTrigger("Wound"); }
public override void OnEvent(UnitSpellDamageEvent spellDamageEvent) { base.OnEvent(spellDamageEvent); if (canAnimate) { var hitType = (HitType)spellDamageEvent.HitType; model?.Animator.SetBool("WoundedCrit", hitType.HasTargetFlag(HitType.CriticalHit)); model?.Animator.SetTrigger("Wound"); } }
private void OnSpellDamageDone(SpellDamageInfo damageInfo) { if (damageInfo.Caster is Player player && World.IsControlledByHuman(player)) { SpellDamageDoneEvent spellDamageEvent = player.IsController ? SpellDamageDoneEvent.Create(GlobalTargets.OnlyServer, ReliabilityModes.ReliableOrdered) : SpellDamageDoneEvent.Create(player.BoltEntity.Controller, ReliabilityModes.ReliableOrdered); spellDamageEvent.Target = damageInfo.Target.BoltEntity.NetworkId; spellDamageEvent.DamageAmount = (int)damageInfo.Damage; spellDamageEvent.IsCrit = damageInfo.HasCrit; spellDamageEvent.Send(); } UnitSpellDamageEvent unitSpellDemageEvent = UnitSpellDamageEvent.Create(damageInfo.Target.BoltEntity, EntityTargets.Everyone); unitSpellDemageEvent.CasterId = damageInfo.Caster.BoltEntity.NetworkId; unitSpellDemageEvent.Damage = (int)damageInfo.Damage; unitSpellDemageEvent.IsCrit = damageInfo.HasCrit; unitSpellDemageEvent.Send(); }