using UnityEngine; [CreateAssetMenu(menuName = "Abilities/Fireball")] public class FireballAbility : Ability { public GameObject projectilePrefab; public float speed = 22f; public float damage = 20f; public float lifeTime = 4f; public override void Activate(AbilityUser user) { if (!user || !projectilePrefab) return; Vector3 dir = Camera.main.transform.forward; //var go = Instantiate(projectilePrefab, user.CastPos(), Quaternion.LookRotation(user.Forward())); var go = Instantiate(projectilePrefab, user.CastPos(), Quaternion.LookRotation(dir)); var rb = go.GetComponent(); if (rb) rb.velocity = dir * speed; var dmg = go.GetComponent(); if (!dmg) dmg = go.AddComponent(); dmg.damage = damage; Destroy(go, lifeTime); } }