Rune

Inherits: Item < RefCounted

Abstract base class for socketable skill upgrades.

Equipped into Skill.rune_socket.

Skill.start_skill() calls connect_rune(), which registers a one-shot callback on a game signal to modify skill components before execution.

Properties

int

skill_id

-1

Methods

void

connect_rune() abstract

void

rune_on(new_skill_id: int)

void

rune_off()

void

equip_rune(new_skill_owner: Skill)

void

_connect_safe(sig: Signal, rune_effect: Callable)


Property Descriptions

int skill_id = -1 🔗

Instance ID of the skill this rune is socketed into, or NO_OWNER.


Method Descriptions

void connect_rune() abstract 🔗

Connects the one-shot callback to the target signal.


void rune_on(new_skill_id: int) 🔗

Stores the skill ID and cleans up any previous signal connection.


void rune_off() 🔗

Cleans the signal and resets skill_id.


void equip_rune(new_skill_owner: Skill) 🔗

Equips this rune into new_skill_owner’s socket, handling swap from the old skill.


void _connect_safe(sig: Signal, rune_effect: Callable) 🔗

Safely connects rune_effect to sig with CONNECT_ONE_SHOT.