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
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

int

Description

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

public string Description { get; protected init; }

Property Value

string

EffectType

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

public AovDataStructures.EffectType EffectType { get; protected init; }

Property Value

AovDataStructures.EffectType

MagicType

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

public AovDataStructures.MagicType MagicType { get; protected init; }

Property Value

AovDataStructures.MagicType

ManaCost

The amount of mana consumed when using this skill.

public float ManaCost { get; protected init; }

Property Value

float

Name

The name of the skill.

public string Name { get; protected init; }

Property Value

string

Range

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

public int Range { get; protected init; }

Property Value

int

TargetType

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

public AovDataStructures.TargetTypes TargetType { get; protected init; }

Property Value

AovDataStructures.TargetTypes

TotalCooldown

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

public int TotalCooldown { get; protected init; }

Property Value

int

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

caster UnitSystem
targets List<UnitSystem>
map MapSystem

Remarks

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