44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using UnityEngine;
|
|
|
|
namespace OctoberStudio.Abilities
|
|
{
|
|
[CreateAssetMenu(fileName = "Wooden Wand Data", menuName = "October/Abilities/Active/Wooden Wand")]
|
|
public class WoodenWandWeaponAbilityData : GenericAbilityData<WoodenWandWeaponAbilityLevel>
|
|
{
|
|
private void Awake()
|
|
{
|
|
type = AbilityType.WoodenWand;
|
|
isWeaponAbility = true;
|
|
}
|
|
|
|
private void OnValidate()
|
|
{
|
|
type = AbilityType.WoodenWand;
|
|
isWeaponAbility = true;
|
|
}
|
|
}
|
|
|
|
[System.Serializable]
|
|
public class WoodenWandWeaponAbilityLevel : AbilityLevel
|
|
{
|
|
[Tooltip("Amount of time between attacks")]
|
|
[SerializeField] float abilityCooldown;
|
|
public float AbilityCooldown => abilityCooldown;
|
|
|
|
[Tooltip("Speed of the projectile")]
|
|
[SerializeField] float projectileSpeed;
|
|
public float ProjectileSpeed => projectileSpeed;
|
|
|
|
[Tooltip("Damage of projectiles calculates like this: Player.Damage * Damage")]
|
|
[SerializeField] float damage;
|
|
public float Damage => damage;
|
|
|
|
[Tooltip("Size of projectiles")]
|
|
[SerializeField] float projectileSize;
|
|
public float ProjectileSize => projectileSize;
|
|
|
|
[Tooltip("Time projectiles stay alive")]
|
|
[SerializeField] float projectileLifetime;
|
|
public float ProjectileLifetime => projectileLifetime;
|
|
}
|
|
} |