46 lines
1.6 KiB
C#
46 lines
1.6 KiB
C#
using UnityEngine;
|
|
|
|
namespace OctoberStudio.Abilities
|
|
{
|
|
[CreateAssetMenu(fileName = "Lightning Amulet Ability Data", menuName = "October/Abilities/Active/Lightning Amulet")]
|
|
public class LightningAmuletAbilityData : GenericAbilityData<LightningAmuletAbilityLevel>
|
|
{
|
|
private void Awake()
|
|
{
|
|
type = AbilityType.LightningAmulet;
|
|
}
|
|
|
|
private void OnValidate()
|
|
{
|
|
type = AbilityType.LightningAmulet;
|
|
}
|
|
}
|
|
|
|
[System.Serializable]
|
|
public class LightningAmuletAbilityLevel : AbilityLevel
|
|
{
|
|
[Tooltip("This value is multiplied by the damage of the player")]
|
|
[SerializeField, Min(0.1f)] float damage = 1f;
|
|
public float Damage => damage;
|
|
|
|
[Tooltip("This damage will be done to any enemy in radius")]
|
|
[SerializeField, Min(0.1f)] float additionalDamage;
|
|
public float AdditionalDamage => additionalDamage;
|
|
|
|
[Tooltip("This is the radius in which every enemy will get the additional damage")]
|
|
[SerializeField, Min(0.01f)] float additionalDamageRadius;
|
|
public float AdditionalDamageRadius => additionalDamageRadius;
|
|
|
|
[Tooltip("Amount of lightnings in one attack")]
|
|
[SerializeField, Min(1)] int lightningsCount = 1;
|
|
public int LightningsCount => lightningsCount;
|
|
|
|
[Tooltip("Amount of time between attacks")]
|
|
[SerializeField] float abilityCooldown;
|
|
public float AbilityCooldown => abilityCooldown;
|
|
|
|
[Tooltip("Amount of time between lightnings")]
|
|
[SerializeField] float durationBetweenHits;
|
|
public float DurationBetweenHits => durationBetweenHits;
|
|
}
|
|
} |