Design spells, attacks, and skill progression.

Abilities & Skills

Abilities

Abilities are the actions characters use in combat — attacks, spells, buffs, and special moves.

Ability editor — New Ability form for cooldowns, costs, damage type, targeting, scaling, and visuals
Ability editor — New Ability form for cooldowns, costs, damage type, targeting, scaling, and visuals

Ability Properties

PropertyDescription
Name / DescriptionWhat the player sees
TypeInstant, Cast (charge-up), or Channel
Damage TypePhysical, Magic, or True (ignores defense)
ElementOptional — Fire, Ice, etc. Feeds the element effectiveness matrix; separate from Damage Type
Base DamageFlat damage value
Scaling StatWhich stat multiplies damage (Attack, Magic Power, etc.)
Scaling RatioHow much of the stat applies (0.5 = 50%)
Cooldown / GCDPer-ability cooldown, plus the shared global cooldown (gcdMs)
Cast TimeCharge-up time (0 = instant)
Mana / Stamina CostResources consumed on use
RangeMaximum distance in tiles
Target ModeEnemies, Allies, All, or Self
Class / Weapon / Skill requirementsOptional gates on who can use it

Damage from a stat alone

An ability's damage is Base Damage + (Scaling Stat × Scaling Ratio). You can leave Base Damage at 0 and let the stat do all the work — a spell that hits for four times your Magic Power is Base Damage 0, Scaling Stat Magic Power, Scaling Ratio 4. That is exactly how an RPG Maker formula like a.mat * 4 imports.

A spell authored this way is a damage spell in every respect: it fires as a skill shot at the cursor, its Projectile Count volley fires every projectile, and a ranged area bursts where you aim — with or without a target selected.

1. Database → Abilities → pick the ability → Basics. 2. Set Base Damage to 0. 3. Pick the Scaling Stat and set the Scaling Ratio (4 = 400% of the stat). 4. Save and publish.

Gotchas:

  • A status-only spell needs a Scaling Ratio of 0. A stun or silence with Base
Damage 0 but the editor's default ratio of 0.5 deals damage — and now aims like a damage spell. Set the ratio to 0 for a spell that should only apply its effect.
  • Heals stay negative. A heal is a negative Base Damage; a 0-base spell aimed at
Allies or Self is treated as a buff, never as an attack, whatever its ratio.

AoE Shapes

Abilities can hit multiple targets using 9 area-of-effect shapes. The column that decides how a shape behaves is Centred on — whether the area sits on the caster or on the point the ability lands.

ShapeCentred onDescription
NoneSingle target only
CircleAim pointAll targets within a radius of where it lands
ConeCasterFan-shaped area, pointed at the aim
LineCasterNarrow beam from the caster out to its range
RectangleCasterRectangular band from the caster toward the aim
RingAim pointDonut — outer radius with a hole in the middle
CrossAim pointPlus-shaped (+) pattern
NovaCasterA burst covering the ground around the caster
WaveCasterExpanding arc, pointed at the aim

Making a blast centred on yourself

Use nova. It is the shape that means "everything around me".

The trap is that circle looks like it should do this if you set the range low enough. It does not: a circle is centred on the aim point, so with a range of 0 or 1 it still lands on whatever you are aimed at or locked to, and it catches only what is near them — which reads as the spell doing nothing to the enemies packed around you.

To author one:

1. AoE Shapenova. 2. AoE Radius → how far the burst reaches, in tiles. This is the number that matters; the ability's Range does not size a nova. 3. AimingFree aim if the spell should fire whenever it is pressed. On Locked, a nova still demands a selected target and is refused with "This ability requires a target" when there is none.

The shape diagram in the editor shows which anchor is in force, and warns you when you have picked an aim-point shape at a range short enough that you probably meant a nova.

To hit several targets one after another instead of all at once — chain lightning, a ricocheting arrow, a cascading heal — see Chaining Abilities.

Where an ability lands: Aiming

Abilities → (pick one) → Targeting & AoE → Aiming.

ModeWhere it lands
AutoYour selected target if you have one; otherwise wherever the cursor points. The both-worlds option.
Free aimAlways the cursor. A selected target is ignored entirely — the spell is a pure skill shot.
LockedMust have a target. With nothing selected it refuses with "This ability requires a target" — it never fires at bare ground, even with the cursor sitting on an enemy.

Abilities authored before this dropdown existed keep the behaviour of their old Requires Target checkbox until you pick a mode: checked behaves as Auto, unchecked as Free aim. Nothing changes until you choose.

Gotchas:

  • Free aim really does ignore your target. If your fireball keeps flying
past the enemy you have selected, this is why — pick Auto to make a selection win over the cursor.
  • Locked can never be ground-cast. A ground-target AoE authored Locked
refuses without a unit, so its area can only ever be centred on a target. For "drop it wherever I aim, but snap to my target when I have one", that is Auto.

Channelled abilities

An ability whose Type is Channel runs while the key is held: pressing starts the channel immediately, and its Cast Time is the maximum channel duration. With a Channel Tick Interval authored, the effect lands over and over for as long as the key stays down — letting go stops the ticks, and you keep everything already delivered. Without a tick interval, the effect fires once when the channel completes; releasing early interrupts it (and refunds the mana, since nothing was delivered).

Mana, cooldown and the GCD are paid once, when the channel starts — ticks are free, and stopping a channel that already landed ticks does not refund.

Knockback and pull

Abilities → (pick one) → Effects → Knockback / pull.

DirectionWhat happens to the victim
Away (knockback)Pushed the set distance straight away from you.
Toward (pull a set distance)Dragged the full set distance along the line — deliberately, even past you. A 10-tile pull on something standing next to you yanks it through and out the other side, which is a tool in its own right (throw an enemy behind you, into your group, off a ledge).
To the caster (pull all the way in)Lands one tile in front of you, however far away it was — never behind you. There is no distance to set; the ability's Range still decides who can be hit at all. This is the one to use for a hook that should deliver the enemy to your feet.
FieldWhat it does
DirectionAway, Toward or To the caster — see above.
Distance (tiles)How far Away and Toward move the victim, 1–10. Ignored by To the caster.
Also apply CC tagMakes the push crowd control: it obeys knockback immunity, invulnerability and diminishing returns. On by default.

Gotchas:

  • Walls stop every push and pull. The victim travels the line only as far
as it could walk: it stops on the last walkable spot before a wall, a solid object, a shut door or the map edge — never inside one, never through one to open ground on the far side. A pull through a wall stops at the wall.
  • Also apply CC tag turns the push into hard crowd control. The fourth
tagged push on the same target inside 15 seconds moves nothing (with **CC Diminishing Returns** on), and a target immune to Knockback is not moved. Turn it off for a shove that should always land.
  • The Knockback status effect pushes on its own. Use it when a status —
an element proc, an aura, an event command — should shove someone; use this action when an ability should. Both walk the same wall-respecting line.
  • A rooted target is still moved. Root stops a unit walking by itself, not
being thrown.
  • Roll the server after editing — ability definitions load at boot.

Convert a resource (HP into MP, and back)

Abilities → (pick one) → Costs & Effects → + Add action → Convert resource.

Pays one of the caster's own pools into another: spend health to restore mana, burn mana for stamina, turn stamina back into health. RPG Maker's Equilibrium ("HP drained = MAT, MP gained = the same") is this action.

1. Open Database → Abilities and create or edit the ability. Set Target Mode to Self (it also works with nothing selected on any other mode). 2. Leave Base Damage and Scaling Ratio at 0 unless the spell should also hit something. 3. On Costs & Effects, pick + Add action → Convert resource. 4. Set Take from and Restore — for Equilibrium, Health and Mana. 5. Set how much is taken: a Flat amount, a Scaling stat with a **Scaling ratio, or both. Equilibrium is Scaling stat Magic Power, ratio 1**. 6. Save. The editor refuses to save a conversion into the pool it takes from, or one with no amount.

FieldWhat it does
Take fromThe caster's pool that pays: Health, Mana or Stamina.
RestoreThe caster's pool that is filled. Must be a different pool.
Flat amountA fixed amount taken on every cast. Blank = 0.
Scaling statA caster stat added to the amount — Magic Power, Attack, Max HP…
Scaling ratioHow much of that stat: 1 = all of it, 0.5 = half.
Gained per point takenBlank = 1: take 40, restore 40. At 2 you restore double what you paid.
Leave at leastThe paying pool never drops below this. Blank = 1 for Health, 0 for Mana and Stamina.

The amount taken is Flat amount + (Scaling stat × Scaling ratio), rounded down.

Gotchas:

  • Health never drops below 1. A conversion can never kill its caster, whatever
Leave at least says. At 5 health, a 10-point Equilibrium takes 4.
  • A cast with nothing to take is refused, and costs nothing. At 1 health the
cast fails with "Not enough Health to convert." — no mana, cooldown or global cooldown is spent.
  • A full pool is still paid for. Casting Equilibrium at full mana takes the
health and restores nothing — the same as RPG Maker. Watch your bars.
  • Monsters have no mana or stamina, so a monster casting a conversion into
either is refused.

Summoning minions

Abilities → (pick one) → Costs & Effects → + Add action → Summon.

Calls one or more of your world's creatures to fight for the caster — a wolf, a skeleton, a swarm of bats. The minion is the creature you pick in **Mob to summon**, with its own abilities, look and stats, fighting on the caster's side.

1. Author the creature in Database → Mobs first (its abilities decide how it fights). 2. Open Database → Abilities and create or edit the spell. Target Mode can stay as it is — a summon works with nothing selected. 3. On Costs & Effects, pick + Add action → Summon and choose the Mob to summon. 4. Set Count, Duration, Max active per caster and a Control mode. 5. Save.

FieldWhat it does
Mob to summonThe creature that appears.
Control modeAssist: attacks what the caster attacks, then whatever attacks the caster or its minions. Defensive: only fights what attacks the caster or its minions.
Summon atThe caster (ringed around them), The cursor tile (clamped to the spell's range) or The selected target. Every minion lands on walkable ground; an unreachable aim falls back to the caster.
CountHow many appear per cast, 1–5.
Duration (sec)How long they stay. 0 = until killed (or dismissed).
Max active per casterHow many of this spell's minions one caster may have at once, 1–20.
Link max to the ability's skill levelThe cap grows with the caster's level in the spell's linked skill, up to the max above.
HP % of baseThe minion's health as a share of the creature's. Blank = 100%.
Damage % of baseThe minion's attack and magic power as a share of the creature's. Blank = 100%.
Inherit caster levelThe creature's stats are rescaled to the caster's level before the percentages apply, and it shows the caster's level.

How minions behave:

  • They follow. With nothing to fight a minion heels a few tiles behind its caster.
One that falls more than 20 tiles behind is put back at its caster's side.
  • They fight near the caster — only within 14 tiles of them — and only what the
caster could fight: a player's minion never hurts its caster, the caster's party or guild, or anyone in a safe zone the caster couldn't attack. PvP flags and duels follow the caster too.
  • Creatures fight them. Wild creatures attack a player's minions like they attack
players.
  • A creature's summons fight for the creature. When a monster casts a summon, its
minions hunt players with it; other wild creatures leave them alone, and players may kill them anywhere.
  • They show whose they are. Every minion wears its nameplate with its caster's name
("Wolf · Ayla"); yours and your party's use the friendly colours.

Gotchas:

  • The cap dismisses the oldest. Casting past Max active per caster replaces the
oldest minion from that spell — the cast is never refused. Minions from a different summon spell don't count toward it.
  • Minions are worth nothing. Killing one — yours or anyone's — gives no XP, no loot and
no quest progress, and it never respawns.
  • What they kill is the caster's kill. Damage a minion deals counts as its caster's for
kill XP, loot ownership and quest credit.
  • They leave with their caster — when the caster dies (or is downed), logs out or
changes map — and when their Duration runs out.
  • Raise dead uses the same rules for the creatures it raises.

Invisibility

Abilities → (pick one) → Costs & Effects → + Add action → Invisibility.

Hides yourself, or the ally you have selected, for a set time. It is real invisibility, decided by the server: players who can't see the unit stop receiving it at all, so no client — modified or not — knows where it is.

1. Open Database → Abilities and create or edit the ability. For a self vanish set Target Mode to Self; to hide a party member set it to Allies. 2. Leave Base Damage at 0 unless the spell should also hit something. 3. On Costs & Effects, pick + Add action → Invisibility. 4. Pick Who turns invisible and a Duration. 5. Tick what reveals the unit early, and set a Move speed while hidden if it should creep or sprint. 6. Save.

FieldWhat it does
Who turns invisibleThe caster, or The selected ally — a party, raid or guild member, or your own minion or pet. Never an enemy.
Duration (sec)How long the unit stays hidden. At least 0.5 seconds.
Move speed while hiddenA multiplier on move speed: 1 = unchanged, 0.7 = 30% slower, 1.2 = 20% faster. Blank = 1.
Attacking revealsA basic attack or any damaging ability ends it.
Casting revealsCasting any other ability that isn't aimed at yourself — a heal on an ally, a debuff, a summon — ends it. Self casts (a blink, a self buff, recasting Invisibility) never do.
Taking damage revealsAny damage the hidden unit takes ends it — a hit, an area, a burn ticking.

What everyone experiences while a unit is hidden:

WhoWhat they see
The hidden unitItself, faded.
Its party (and raid)The unit as normal, but faded — they always know where their friend is.
Every other playerNothing. The unit vanishes from their screen, can't be clicked, selected, auto-attacked or aimed at, and doesn't appear as an edge-of-screen blip. A teleport or blink it makes isn't announced to them either.
Creatures and NPCsThey drop it the moment it vanishes — chase, threat and all — and can't pick it back up while it stays hidden.

When it ends — the duration runs out, or something reveals it — the unit reappears for everyone straight away.

Gotchas:

  • Areas still hit a hidden unit. Nobody can target it, but an explosion
on its tile lands. Pair Taking damage reveals with that for a vanish that a well-placed area can flush out.
  • "The selected ally" needs an ally selected. With an enemy or nothing
selected the cast is refused before it costs anything, and an ally out of range is walked to first.
  • It is the Invisible status effect. A status definition of type
Invisible on an ability does exactly the same thing; its Type options hold the same reveal switches (attacking reveals is on by default there).
  • Guild-mates outside your group don't see you. Only your party, raid or
arena team does.

Dash and dodge roll

Abilities → (pick one) → Costs & Effects → + Add action → Dash / dodge roll.

Carries the caster a short distance in a straight line over a short time — a dodge roll, a lunge, a backstep. It is a real slide, not a teleport: everyone watches the character roll there.

1. Open Database → Abilities and create or edit the ability (Dodge Roll is a good start). Set Target Mode to Self — or leave it, a dash works with nothing selected on any mode. 2. Leave Base Damage at 0 for a pure dodge. 3. On Costs & Effects, pick + Add action → Dash / dodge roll. 4. Pick a Direction, a Distance and a Duration. A 3-tile, 250 ms roll with 250 ms of invulnerability is a classic dodge. 5. Save.

FieldWhat it does
DirectionToward the cursor (your facing when there is no aim), The way I face, Away from my target (a backstep; with nothing selected it backs away from your facing, and you keep facing forward), or The way I'm moving (your facing when standing still).
Distance (tiles)How far with nothing in the way, 0.5–12.
Duration (ms)How long the slide takes, 50–2000. 200–300 reads as a roll.
Invulnerable for (ms)Damage immunity from the moment the dash starts — i-frames. Blank or 0 = none. Up to 3000.
Pass through unitsSlide straight through creatures and players. Off, the dash stops in front of the first one in its way (your own minions and pets never block you).

Gotchas:

  • Walls stop it. The dash walks the same rules as your feet: a wall, a cliff, a
blocked object, a closed door or the edge of the map ends it on the last tile you could stand on. A dash cut short keeps its speed rather than crawling.
  • You can't dash while you can't move. Rooted, stunned, asleep or feared, the
cast is refused with the reason ("You are rooted.") and costs nothing.
  • A root, stun, sleep or fear landing mid-dash stops it where you stand.
  • The animation. The dash plays your sheet's roll animation (or dodge,
dash, evade — whichever it has). A sheet with none of those plays its run.
  • Invulnerability still dodges when a wall eats the distance — the i-frames start
with the press, not with the movement.

When actions run: before or after the damage

Abilities → (pick one) → Costs & Effects → Actions run. Appears once the ability has at least one world action.

SettingWhat happens
After the damage (default)The classic order: the hit resolves first, then the actions — a pull lands after the damage, a summon appears after the strike.
Before the damageThe actions commit first, and the damage resolves from wherever they leave you. A blink moves you and then the shot fires — from where you land, so a piercing beam sweeps from your destination and an area centres on it.

Before the damage is the order for gap-closers: blink to the enemy, then strike. After the damage is the order for finishers: hit them, then yank them in.

A blink that also deals damage will not pick fights for you

If an ability carries a Teleport / blink, Dash, Summon, Raise dead, Convert resource or self Invisibility action, its damage half is optional:

  • Nothing selected — the ability skips its damage entirely and just does
the action. It will not auto-acquire a nearby enemy to swing at; pressing blink next to a mob teleports you, it does not start a fight.
  • A protected unit selected — a player in a PvP-safe zone, a protected
NPC — the cast is not refused with "PvP is not allowed in this zone." The damage is skipped and the action still runs, so blink works as travel even with a friend selected.
  • A live enemy you may attack selected — both halves run: the damage
lands on them and the action fires, in the order set above.

This only applies to actions that work without a victim. Knockback / pull acts on the target, so an ability whose only action is a pull keeps the full targeting rules — it still refuses when the selected unit cannot be attacked.

Status Effects on Hit

Abilities can apply status effects with a configurable chance. For example, a fire spell might have a 25% chance to apply "Burn" (damage over time).

Visual Effects & Telegraphs

Every ability can point at authorable VFX definitions for each moment of the cast:

  • Telegraph VFX — a ground indicator drawn while the ability winds up, sized to its AoE shape, so players can dodge. Unset = the editable engine default (default.telegraph).
  • Cast / Projectile / Impact / Channel VFX — the wind-up flare, the traveling projectile, the on-hit burst, and any sustained channel beam.
All of these reference the canonical VFX library, so changing a shared effect updates every ability that uses it.

Ability Slots

Characters have a mixed action bar:

  • equipment-driven slots for primary attack and gear-specific abilities
  • 4 configurable hotbar slots for player-chosen abilities or supported consumables
Those hotbar slots can be reassigned during play and saved into named loadouts for different combat setups.

Who can cast what

Players can only cast what they have learned, or what their gear grants them. The server checks this on every press, before any mana, cooldown or global cooldown is spent, so an ability a player has no claim to simply refuses with *"You haven't learned that ability."*

An ability is castable when it is either:

SourceHow the player gets itKept when?
LearnedThe class or character template's starter abilities, a skill book read from the bag, a trainer NPC, a quest or event command, or an admin grantPermanently, until they forget it
Granted by gearThe equipped weapon type's basic attack and Q/W, the weapon item's E, a head/chest/boots piece's slot ability, or the Unarmed fallbackOnly while that item is equipped and unbroken

A gear-granted ability costs no learned slot — a sword's arts are the sword's, and they go away with it. A player who unequips mid-fight loses those buttons immediately, including a cast they were already holding.

This is why a boss's kit is safe to author on the boss. Monster, NPC, pet and mount abilities are never reachable by a player, and neither are the engine's own follow-ups — an ability's on-hit follow-up, a chain bounce and each tick of a channel all fire from the engine, so the follow-up does not have to be something the caster learned.

Gotchas:

  • Author the way in. A spell no starter kit, trainer, skill book, quest or event
ever grants is unreachable — players will never be able to cast it. If a spell should be usable from the start, put it on the class or template's **Starter Abilities**; otherwise give it a trainer or a book.
  • Ability requirements gate learning, not casting. Once a player has earned a
spell, dropping below its Required Skill Level does not take it away.

How many abilities a player can learn

Combat → Player Combat → Max Learned Abilities (default 10).

Gear-granted abilities do not count against it — only abilities the player has actually learned. When the list is full, learning another means forgetting one first, and trainers and skill books both refuse with *"You can only learn N abilities. Forget one first."*

Gotchas:

  • Lowering it never confiscates anything. Players already over the new cap keep
every ability they have; they simply cannot learn another until they drop below it.
  • The number players see follows this setting. The Skills panel's *Learned
Abilities (3 / 10)* counter reads your world's value, not the engine default.

Skills

Skills represent long-term progression — Mining, Woodcutting, Cooking, Swordsmanship, Fishing, etc. Each one levels independently, and a character's player level is the average of all skill levels (skills they haven't trained count as level 1), so broad progress raises your level rather than one grinded skill. You can also author your own skill categories (name, color, sort order) — the in-game Skills panel tabs follow them.

Reading the player XP bar

The slim rail under the hotbar is player level progress, and it counts skill levels — not experience points. Because your level is the average of every skill, one player level costs as many skill levels as there are skills in your world. A world with 16 skills shows 0 / 16 on a fresh character (every skill at level 1), and the bar fills by exactly 1 each time any skill levels up.

So the rail does not creep upward as a player kills things — it steps. If it looks frozen, the player is gaining skill XP but hasn't leveled a skill yet; the per-skill bars in the Skills panel are the ones that move continuously.

What floats over the player

XP and looted silver rise over the player's own character, the way damage numbers rise over what they hit — so a kill's payout is visible without opening a panel.

LineWhen it shows
+18 XPEvery award. One line per kill, not one per skill: the pool a weapon splits across its linked skills is added back up before it is shown
+18 XP (+50%)Something is boosting the player. The percentage is measured against your world's own XP rate, so a world authored at 2× does not flash "+100%" forever — only what the player is carrying counts
Premium +25% Event +25%The smaller line under a boosted award, naming what got them there. Sources today: a running world event's XP boost, premium membership, and passives with an xpGain bonus
+47 silverA coin pile picked up
-2 guild tax (5%)Under the silver, when the looter's guild takes a cut

Players who don't want the numbers turn off Settings → Gameplay → Show XP and silver gains; damage numbers have their own separate toggle. Both are off in the low graphics preset.

"Every kill gives 1 XP"

If kills pay far less than the XP Reward you authored on the mob, the game server now writes the reason to its log the first time it happens (and again after each publish, since publishing may have fixed it). There are five places the number shrinks:

CauseWhat to change
XP Reward is 0Mobs → the mob → XP Reward
Damage shareKill XP splits by damage dealt — a mob someone else mostly killed pays a fraction
Trivial mobA mob 10+ levels below the killer pays only 10% of its reward. This is the one that looks like a bug: any reward of 10 or less collapses to the 1 XP minimum, so 5, 8 and 10 all read as "1 XP" and nudging the number up does nothing. Raise the mob's Level, tick Scale with player, or raise XP Reward well past 10×
No skill linksThe weapon (or its weapon type) and the ability both grant no skills, so there's nothing to receive the XP. Set Granted Skills on the weapon type
Split across skillsThe pool is divided across every linked skill, floored at 1 each. Link 20 skills to a weapon worth 10 XP and each gets exactly 1 — link fewer, or raise the reward

Every successful cast trains its skill

Casting an ability — a heal, a buff, a stun, a blink, a fireball — pays its Linked Skills XP of its own, on top of any damage and kill XP. How much, when it pays, and how to retune it are all on Cast XP.

Skill Properties

PropertyDescription
Name / DescriptionWhat the player sees
CategoryGathering, Refining, Crafting, Combat, or Utility
Max LevelThis skill's own ceiling. Left at the default (100), the skill follows the world-wide cap instead — see below
XP CurveHow much XP each level costs — the world's curve, or the skill's own shape, Base XP and Growth. See The XP curve below
Discovery TriggerAction that first unlocks the skill
PrerequisitesOther skills required at specific levels

The XP curve

Where: Database → Skills → a skill → XP Curve for one skill; Combat → Skill & XP → Skill XP Base / Skill XP Growth for the world's default.

Every skill levels on a curve that says what each level costs. By default a skill uses the world's curve: each level costs Base × Growth^level XP, with the world's Skill XP Base (default 100) and Growth (default 1.15). That's the curve every skill has always used, so a skill you never touch levels exactly as before.

To give one skill its own curve:

1. Open the skill and go to XP Curve. 2. Turn off Use the world's curve. The fields start from the world's values. 3. Pick a Shape and set Base XP/Lv and Growth. The graph redraws as you type, with the world's curve as a dashed line to compare against. 4. Save. Players on the live server level on the new curve from their next XP gain.

FieldWhat it does
Use the world's curveOn: this skill follows Combat → Skill & XP. Off: it has its own curve (the three fields below)
ShapeLinear: each level costs the same amount more than the last. Exponential: each level costs a percentage more than the last, so high levels get very slow. Logarithmic: climbs early, then flattens out, so high levels barely cost more than middle ones
Base XP/LvThe size of a level before growth. Level 1 costs Base × Growth whatever the shape
Growth1.15 means 15%. Linear adds 15% of Base every level. Exponential makes each level 15% dearer than the last. Logarithmic adds 15% of Base each time the level doubles. 1 makes every level cost exactly Base

The graph is RPG Maker's EXP curve: one bar per level, up to the skill's Max Level. To next level shows what each level costs on its own; Total shows the running sum a player has earned by the time they reach it. Hover a bar to read its numbers; the table under it lists levels 1, 10, 25, 50 and so on up to the cap.

Gotchas:

  • Changing a curve never takes levels away. Players keep the level they're at, and only the cost of the next levels changes. XP already banked toward the next level stays banked.
  • The world's curve is always exponential. Combat → Skill & XP carries only Base and Growth. For a linear or logarithmic curve, set it on the skill.
  • The fields check their range when you leave them: Base 1 to 1,000,000, Growth 1 to 3.
  • Connected players' XP bars pick up a changed curve the next time skills are published, or when they log in. The level-ups themselves use the new curve straight away.
  • Before this release these fields did nothing: the skill editor always showed 100 and Exponential whatever you saved, and the world's Base and Growth were never read.

How the level cap is decided

Two settings decide how far a skill can be trained, and they're designed to layer:

1. Combat → Skill & XP → Max Skill Level is the world-wide cap. Raise it to 200 and every skill still on the default Max Level goes to 200 — you don't have to edit each skill. 2. A skill's own Max Level overrides that world cap, up or down. Set a skill to 250 and it beats a world cap of 200; set it to 5 and it stops at 5 no matter how high the world cap goes.

A skill left at the default 100 is treated as "follow the world" rather than "stop at 100" — so the one number you'd expect to raise everything does. The engine clamps any resolved cap to 1000.

Guests train less far

Combat → Skill & XP → Guest Max Skill Level caps guest accounts (default 10) so a trial player is nudged toward registering. Set it to 0 to let guests train as far as anyone else. Admin, GM and superadmin sessions are never capped, even when signed in as a guest.

When a player reaches any cap, they're told once per skill — "Mining has reached its maximum level (200)", or the guest version that points at registering. If a skill has quietly stopped gaining XP, that message is the first thing to look for; the second is which of the two caps above is actually in force.

What each action pays

Database → Skills → XP Rewards is the table behind the actions themselves: one row per action, with the skill it trains, its Base XP and a Tier Multiplier (a T3 ore vein pays three times a T1 one). Two rows do more than their own action:

  • cast_spell — its Base XP is the base of every ability's automatic Cast XP.
  • craft — the XP a recipe pays when it authors none of its own.
Combat → Skill & XP → Cast XP Interval (default 2000 ms, 0 = off) is the anti-spam window between two cast-XP payouts for the same player and ability.

Skill Discovery

Skills are hidden until the player performs a specific action for the first time:

  • Chop a tree → discover Woodcutting
  • Mine ore → discover Mining
  • Cook food → discover Cooking
  • Catch a fish → discover Fishing
This creates a natural discovery experience instead of showing everything upfront.

Per-Level Bonuses

Each skill level can grant:

  • Increased gathering yield
  • Faster crafting speed
  • Higher critical chance
  • New recipe or ability unlocks

Absorb — life, mana and stamina drain

Abilities → Costs & Effects → Absorb.

An absorbing ability takes a resource off whoever it hits and hands it to the caster. Drain Life, Mana Burn, a stamina-sapping poison.

One dropdown decides both ends, because you drain what you restore: a life drain takes health and gives health, a mana drain takes mana and gives mana.

FieldWhat it does
DrainsThe pool this ability takes and returns. Nothing (the default), Health, Mana or Stamina.
Restores (%)How much of what was drained reaches the caster. 100 = a true drain, 25 = a lifesteal trickle, 0 = a pure burn that destroys the resource and gives you nothing.
Max Drain per HitCeiling on one hit's drain, before the restore share is taken. 0 = uncapped. This is what stops a crit on a full-mana target refilling you in one press.
Only the main target feeds youArea abilities only. Off, a drain thrown into a pack restores once per victim.
Take health when the target has no mana/staminaMana and stamina drains only. See "Things that have no mana" below.

Health drains are not the same as mana drains

  • Health — the hit lands as normal damage, and you are healed for a
share of it. This is lifesteal: the damage still happens, you just keep some.
  • Mana / Stamina — the ability's damage comes out of **that pool instead of
health**. A mana burn does not also stab you. Armour, damage reduction and absorb shields do not stop it, because none of them are protecting mana.

Want an ability that does both — real damage and a mana burn? Author the burn as its own ability and attach it to the damaging one as an On-hit ability.

Setting one up

1. Open Database → Abilities and edit (or create) an ability. 2. Go to the Costs & Effects tab and find Absorb. 3. Set Drains to Health, Mana or Stamina. 4. Set Restores (%) — start at 100 for a drain, 20–30 for lifesteal on a weapon skill. 5. Leave Max Drain per Hit at 0 unless the ability crits for a lot. 6. Save. The field beneath the cap previews what one average hit returns.

You only ever drain what was there

A 400-damage drain on a mob with 5 health left heals you for 5, not 400. Draining 200 mana from someone holding 30 takes 30 and gives you 30. The number on the ability is what it tries to take; what you get is what the victim had.

The same applies at your end — a drain never overfills you, and the overflow is not banked.

Things that have no mana

Mobs carry health and nothing else. No mana, no stamina. So a mana drain aimed at a wolf would do nothing at all, which is why **Take health when the target has no mana** is on by default: the drain comes out of the wolf's health instead, and still restores your mana.

Turn it off for a strictly anti-caster utility ability that should be a no-op against beasts — the editor warns you when you do, because it is easy to author that by accident and then wonder why nothing happens in a playtest.

Gotchas

  • Damage-over-time never feeds you. Only direct hits drain. A drain that
also applies a burn keeps giving damage, not resource — otherwise one cast would feed the caster for the whole minute afterwards.
  • A pure burn still needs damage. The drain is sized from the ability's
damage, so an ability with Base Damage 0 drains nothing however it is configured.
  • Area drains are strong. A drain with an AoE shape restores from every
victim it catches. Only the main target feeds you is the fix.
  • In-game the numbers are colour-coded: mana moves in blue, stamina in
amber, health in the usual red and green. A blue -30 MP over an enemy whose health bar never moved is the ability working, not a bug.

Piercing

Abilities → Targeting & AoE → Pierces through targets.

Normally a shot stops at the first thing it touches. A piercing ability cuts a line instead, and everything standing in that line is hit — beams, rail shots, a spinning blade thrown through a crowd.

FieldWhat it does
Extra TargetsFurther bodies the shot passes through after the first. 0 = unlimited, which is what a beam is.
Damage Falloff (%)Lost per additional body, compounding. 0 = every victim takes it in full.
Beam Width (tiles)How far either side of the line a target can stand and still be caught. Blank uses 1.2 tiles.

Piercing and areas together

Pierce governs the journey; the AoE shape still governs the landing. With no AoE shape set, the ability is a pure beam: everything in the line, once each. Add a shape and you get the same beam plus a burst where it lands.

Nobody is hit twice. The landing burst only catches whoever the beam missed — otherwise a target standing exactly where you aimed would take the beam and the explosion, doubling its damage in a way no number on the page would show you.

Indicators

Abilities → Targeting & AoE → Indicator.

Every ability draws an aim preview: a reach ring around the caster, and a footprint showing what will be hit. This is where you style this ability's.

FieldBlank means
ColourAutomatic — red for damage, green for heals and ally spells. Set it for a movement ability, where red reads as danger to the player using it.
StyleInherit the world's — ring, filled or dashed.
MarkerAutomatic. What is drawn besides the area: nothing, a landing marker, a flight path, or both.
Line ThicknessInherit the world's.
Show an indicator at allOn. The master switch: off hides everything drawn while aiming this ability — reach ring, footprint, landing marker and flight path. The ability still aims and fires exactly the same. This is the one to use for a blink.
Show the reach ringOn. Turn it off where reach is obvious and the ring is just noise — the footprint and marker stay.

Custom artwork

Pick a ground decal to draw inside the footprint. It is laid flat on the floor, so it skews with the isometric view automatically — author it flat, not pre-skewed.

FitFor
Stretch to fitCircles and cones — art drawn to match the shape
Along the pathBeams: stretched down the aim axis with the width held
Centre at native sizeDash reticles and landing markers

Keep artwork around 256–512px. It is redrawn while the player aims, and a 4K image scaled down to a three-tile circle costs the same as one drawn at size.

The one thing you cannot change

Size and shape are not style options. They come from the ability's range and AoE fields — the same values the server hits with — so the preview can never promise something the ability will not do.

That is also why the real boundary is still drawn over your artwork by default. Nothing stops a narrow cone image being attached to a circular ability, and when that happens the outline makes it look wrong rather than letting players trust it. Art only turns the outline off for art drawn to the exact geometry; from then on, accuracy is yours to guarantee.