Class SkillSystem
- Namespace
- AshesOfVelsingrad.systems
- Assembly
- Ashes of Velsingrad.dll
Base class for all skills available in the game.
public abstract class SkillSystem
- Inheritance
-
SkillSystem
- Inherited Members
Remarks
This class defines the common properties and behaviors of every skill, such as its cost, cooldown, range, type, and targeting logic. Specific skills should inherit from this class and implement the Use(List<UnitSystem>) method.
Properties
AreaEffect
The cells affected relative to the target position (area of effect).
public List<(int, int, int)> AreaEffect { get; protected set; }
Property Value
Cooldown
The remaining cooldown (in turns) before the skill becomes available again.
public int Cooldown { get; protected set; }
Property Value
Description
A description of the skill, used for tooltips or UI.
public string Description { get; protected set; }
Property Value
EffectType
The type of effect this skill applies (e.g., damage, heal, buff).
public EffectType EffectType { get; protected set; }
Property Value
MagicType
The magical element type of this skill (e.g., Fire, Water, Light).
public MagicType MagicType { get; protected set; }
Property Value
ManaCost
The amount of mana consumed when using this skill.
public float ManaCost { get; protected set; }
Property Value
Name
The name of the skill.
public string Name { get; protected set; }
Property Value
Range
The maximum distance (in grid units) from which the skill can target.
public int Range { get; protected set; }
Property Value
TargetType
The type of target(s) this skill can be used on.
public TargetTypes TargetType { get; protected set; }
Property Value
TotalCooldown
The total cooldown duration (in turns) before the skill can be reused.
public int TotalCooldown { get; protected set; }
Property Value
Methods
ReduceCooldown()
Reduces the cooldown of the skill by one turn, if greater than zero.
public virtual void ReduceCooldown()
Use(List<UnitSystem>)
Executes the skill logic when cast.
public abstract void Use(List<UnitSystem> targets)
Parameters
targetsList<UnitSystem>
Remarks
This method must be implemented in derived classes to define the actual effect of the skill (damage, healing, etc.).