public void AttachProjectileCallbacks(Projectile proj)
 {
     proj.AttachEvents(
         new Action <DamageInfo>((info) => OnHit?.Invoke(info)),
         new Action <DamageInfo>((info) => OnFirstHit?.Invoke(info)),
         new Action <DamageInfo>((info) => OnPierce?.Invoke(info)),
         new Action <DamageInfo>((info) => OnLastHit?.Invoke(info)),
         new Action <DamageInfo>((info) => OnAOEHit?.Invoke(info)),
         new Action <DamageInfo>((info) => OnDOTHit?.Invoke(info)),
         new Action <Projectile>((info) => OnProjectileFinished(new ProjectileEventInfo(info))));
 }
 protected void RaiseOnFirstHit(DamageInfo info) => OnFirstHit?.Invoke(info);