Custom skills
Custom skills let a world define its own attacks, healing abilities, effects, costs, and learning requirements. They are intended for characters and mobs without an archetype. To let players use them as their progression system, enable Classless Players in the world’s advanced configuration.
Custom skills are an advanced system. Build and test one small skill before designing a full skill tree.
Create a skill
Section titled “Create a skill”Open World > Config, find Custom Skills, and select manage. Add a skill and configure its identity first:
- Code is the command players type. A skill with code
fireboltis learned withlearn fireboltand used withfirebolt. - Name is the label shown to players. If it is blank, the editor derives a name from the code.
- Help Entry is the player-facing explanation returned by
help <code>. Describe the target, resource cost, restrictions, and any non-obvious effect; the generated mechanical summary does not include every one of those details.
Keep codes short, unique, and command-like. Avoid spaces and codes that collide with ordinary player commands.
Targeting and timing
Section titled “Targeting and timing”Intent influences automatic target selection:
| Intent | Typical use |
|---|---|
| Damage | Harm a hostile target. Beneficial effects attached to the skill apply to the caster rather than helping the current enemy. |
| Healing | Heal a selected ally, or the caster when used without a suitable friendly target. |
| Self Healing | Always target the caster. |
Cast Time delays resolution. Cooldown controls how long the character must wait before using the skill again. A configured cooldown of 0 still gives that skill a 0.5-second minimum cooldown, so test rapid-use skills in play rather than assuming they have no delay at all.
Costs and requirements
Section titled “Costs and requirements”Choose health, mana, or stamina as the Cost Type, then choose how the number in Cost is interpreted:
- Fixed removes that exact amount.
- % Base calculates a percentage of base mana for a mana cost. For health and stamina, the current runtime instead uses the amount the character has at the moment of casting; use Fixed or test this scaling carefully if that is not the behavior you want.
- % Max calculates a percentage of the current maximum, including bonuses.
Consumes accepts an item-template ID. One matching inventory item is destroyed each time the skill successfully pays its cost.
Requires is a condition expression checked every time the skill is used. Use it for requirements such as a minimum level, an equipped weapon type, an item, or a mark. This is separate from Learn Conditions, which gates whether the character may learn the skill in the first place.
Damage, healing, and effects
Section titled “Damage, healing, and effects”The Damage section controls the skill’s immediate attack or heal component:
- Normal scales from the caster’s attack or spell statistics.
- Fixed uses the entered amount directly.
- Physical damage is reduced by armor and resilience; magical damage is reduced by resilience.
- With a healing intent, the same component restores health instead of dealing damage.
A skill may also apply one effect. The editor supports effects such as stun, sleep, damage or healing over time, absorb, buff, debuff, haste, stealth, summon, and dispel. Effect Duration is measured in seconds. Damage-over-time, healing-over-time, and absorb effects use the effect-damage fields rather than the immediate-damage fields.
Some effects require Arguments:
- Buff and debuff arguments modify a statistic, such as
attack_power*2orspell_power-20. - Summon uses the mob-template ID to create.
Treat effect arguments as exact configuration values. A malformed statistic name or template ID may not fail until the skill is used.
Teach skills to players
Section titled “Teach skills to players”Creating a skill does not automatically give it to anyone. Open a mob template’s Skills section and configure a teacher:
- Enter one or more skill codes in Teaches Skills, separated by spaces. Use
allonly when the mob should teach every custom skill in the world. - Add Teaching Conditions when access to this particular teacher should be gated.
- Load the mob into a room.
While that mob is present, eligible classless players can use learn to see its offerings and learn <code> to learn one. Both the teacher’s conditions and the skill’s Learn Conditions must pass.
The same section can enable the player command forget. Set Unlearns Skills to space-separated codes or all, and optionally charge gold per forgotten skill.
Give skills to mobs
Section titled “Give skills to mobs”A classless mob can use custom skills when Use Abilities is enabled and its Combat Script lists skill commands. The script runs one line per combat turn and cycles back to the beginning after its last line.
Keep an initial script simple:
fireboltshieldArchetyped mobs can use their built-in abilities and may choose them automatically when no script is present. A classless mob needs an explicit combat script with at least one usable custom skill.
Playtest checklist
Section titled “Playtest checklist”Test the skill as an ordinary classless player, not only through the builder-only /cast command:
- Can the intended teacher offer it, and do both kinds of learning condition work?
- Does its target default make sense in and out of combat?
- Are the cost, cast time, and cooldown readable and affordable at the intended level?
- Do fixed and scaling damage behave as expected against several armor values?
- Does its effect end when expected, and do its arguments reference valid statistics or templates?
- Does
help <code>give a player enough information to decide when to use it?
Custom skills can interact with combat, inventory, conditions, and mobs at once. Retest them after changing any referenced template, mark, or world progression rule.