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
- Derived
- 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(UnitSystem, List<UnitSystem>, MapSystem?) method.
Properties
AreaEffect
The cells affected relative to the target position (area of effect).
public List<Vector3I> AreaEffect { get; protected init; }
Property Value
- List<Vector3I>
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 init; }
Property Value
EffectType
The type of effect this skill applies (e.g., damage, heal, buff).
public AovDataStructures.EffectType EffectType { get; protected init; }
Property Value
MagicType
The magical element type of this skill (e.g., Fire, Water, Light).
public AovDataStructures.MagicType MagicType { get; protected init; }
Property Value
ManaCost
The amount of mana consumed when using this skill.
public float ManaCost { get; protected init; }
Property Value
Name
The name of the skill.
public string Name { get; protected init; }
Property Value
Range
The maximum distance (in grid units) from which the skill can target.
public int Range { get; protected init; }
Property Value
TargetType
The type of target(s) this skill can be used on.
public AovDataStructures.TargetTypes TargetType { get; protected init; }
Property Value
TotalCooldown
The total cooldown duration (in turns) before the skill can be reused.
public int TotalCooldown { get; protected init; }
Property Value
Methods
ReduceCooldown()
Reduces the cooldown of the skill by one turn, if greater than zero.
public virtual void ReduceCooldown()
SetCooldown()
Set the cooldown of the skill to the total cooldown
public virtual void SetCooldown()
Use(UnitSystem, List<UnitSystem>, MapSystem?)
Executes the skill logic when cast.
public abstract void Use(UnitSystem caster, List<UnitSystem> targets, MapSystem? map)
Parameters
casterUnitSystemtargetsList<UnitSystem>mapMapSystem
Remarks
This method must be implemented in derived classes to define the actual effect of the skill (damage, healing, etc.).