What a spell pays the skills it trains, and how to retune it.
Cast XP
Every successful cast of an ability pays XP to that ability's Linked Skills — a heal trains Restoration, a fireball trains Destruction, a blink trains Arcana. It is paid once per cast, in proportion to what the cast actually did, and it is separate from the damage and kill XP a damage spell already earns.
Set it up#
- Open Database → Abilities and pick the ability.
- On Costs & Effects, add the skill it should train under Linked Skills.
No linked skill, no cast XP — and a linked ability's other XP (damage, kill shares) goes to those same skills too.
- Leave Cast XP empty unless you want a specific number. Empty means
automatic: the field's placeholder shows exactly what the cast will pay (
Auto (8)), recalculated as you change mana cost and cooldown. - Optional — retune the automatic base for the whole world in
Database → Skills → XP Rewards (see below).
- Optional — change the anti-spam window in
Database → Combat → Skill & XP → Cast XP Interval.
- Save, then Publish. A managed server keeps its own database and only
sees the change after a publish.
Fields#
| Field | Where | What it does |
|---|---|---|
| Linked Skills | Abilities → the ability → Costs & Effects | The skills this ability trains. Every kind of XP it earns is split evenly between them (each share is at least 1). Empty = the ability trains nothing. |
| Cast XP | Abilities → the ability → Costs & Effects | XP one full cast pays those skills. Empty = the automatic amount below. 0 = this ability never pays cast XP. |
| Action / Skill / Base XP / Tier Multiplier | Skills → XP Rewards | What one action pays. The cast_spell row's Base XP is the base of the automatic formula; craft is the fallback for recipes with no XP of their own. |
| Cast XP Interval | Combat → Skill & XP | Minimum milliseconds between two cast-XP payouts for the same player and ability. Default 2000; 0 turns it off. |
The automatic amount#
Cast XP = 5 + (mana cost ÷ 10) + (cooldown seconds ÷ 4)Expensive spells and long cooldowns are pressed less often, so they pay more per
press. The 5 is the cast_spell Base XP from Skills → XP Rewards when you
have authored one (the starter content ships 3), and the result is never
below 1.
| Spell | Mana | Cooldown | Pays |
|---|---|---|---|
| Healing | 25 | 0.5 s | 8 |
| Grand Healing | 300 | 0.5 s | 35 |
| Heavenly Shield | 0 | 60 s | 20 |
| Fireball | 50 | 0.7 s | 10 |
What counts as "the cast did something"#
| Kind of ability | Pays when |
|---|---|
| Damage | At least one hostile target takes damage. Paid on the first hit — an area burst, a volley of arrows and a piercing beam each pay once, not once per victim. |
| Heal | It restored health. The payout scales with how much: a heal that tops up half of what it could have healed pays half. Healing a full-health ally pays nothing. |
| Buff / debuff / status | At least one status effect actually landed. One that was resisted, blocked by immunity or diminished away did nothing, so it pays nothing. |
| Convert resource | It moved a resource. |
| Teleport / blink / pull | Something actually moved. |
| Summon / raise dead | At least one minion appeared. |
Gotchas#
- A spell with no Linked Skills trains nothing. This is the most common
cause of "my Healing skill never levels" — the skill exists, the heal works, nothing links them.
- A linked spell no longer trains your weapon skill. All XP from an ability
that links skills goes to those skills only. Before this, casting a Destruction-linked Fireball with a sword equipped sent half of the kill XP to your sword skill. An ability with no Linked Skills still trains the weapon (or its weapon type) as before.
- Heals pay for healing, not for casting. Spamming a heal on a full-health
party pays nothing at all.
- Casts out of combat pay half. Anything but a damage cast is halved while
neither you nor the ally you helped has dealt or taken damage recently.
- The interval is per player and per ability. Casting the same buff five
times in two seconds pays once. Five different spells pay five times.
- 0 means never. Empty means automatic — they are different values, and the
field keeps them apart.
- Procs, chain bounces and channel ticks pay nothing extra. An on-hit
follow-up and every bounce of a chain belong to the cast that already paid; a channel that ticks twenty times pays on its first tick only.
- Refused casts pay nothing — out of range, no target, not enough mana.
Neither do auto-attack swings the server fires for you.
- World XP boosts still apply — event boosts, premium and xpGain
passives multiply it like any other award.
- Publish after changing it. Cast XP lives on the ability row, the base on
the XP reward row, and the interval on the world's combat config — a managed server gets all three from a publish.
Why my cast paid nothing#
The game server writes the reason to its log the first time each one happens (and again after a publish): no Linked Skills, Cast XP set to 0, the cast did nothing, or it landed inside the interval window.