Table of Contents

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

List<(int, int, int)>

Cooldown

The remaining cooldown (in turns) before the skill becomes available again.

public int Cooldown { get; protected set; }

Property Value

int

Description

A description of the skill, used for tooltips or UI.

public string Description { get; protected set; }

Property Value

string

EffectType

The type of effect this skill applies (e.g., damage, heal, buff).

public EffectType EffectType { get; protected set; }

Property Value

EffectType

MagicType

The magical element type of this skill (e.g., Fire, Water, Light).

public MagicType MagicType { get; protected set; }

Property Value

MagicType

ManaCost

The amount of mana consumed when using this skill.

public float ManaCost { get; protected set; }

Property Value

float

Name

The name of the skill.

public string Name { get; protected set; }

Property Value

string

Range

The maximum distance (in grid units) from which the skill can target.

public int Range { get; protected set; }

Property Value

int

TargetType

The type of target(s) this skill can be used on.

public TargetTypes TargetType { get; protected set; }

Property Value

TargetTypes

TotalCooldown

The total cooldown duration (in turns) before the skill can be reused.

public int TotalCooldown { get; protected set; }

Property Value

int

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

targets List<UnitSystem>

Remarks

This method must be implemented in derived classes to define the actual effect of the skill (damage, healing, etc.).