Spells

Spells are just special Mythic metaskills that are castable by players.

Making a skill into a spell unlocks new options you can use to control how the spell is cast.

Making a Spell

Turning a regular skill into a spell is simple and can be done with any existing Mythic metaskill - it just requires adding the option Spell: true to the metaskill. It will then be registered as a spell after the next reload and all of the extra casting options will be unlocked.

Spell Options

Spells are just Mythic Skills with extra options. All regular Mythic metaskill options are also applicable!

Functional Options

Option Description
Spell: true Turns the skill into a spell and allows players to learn it if set to true
LearnConditions: [conditions] A list of conditions that must be met to learn the spell.
Trigger: [trigger] What triggers the spell. Defaults to ~onCombat
Targeter: [targeter] The main targeter for the spell. If this is set the spell will fail to cast and not consume resources if a valid target isn't found. Defaults to @self.
Remember to put the targeter between string delimiters such as " or ' so that the yaml file can parse correctly
Cost: [reagents] A list of reagents this spell costs to cast.
Global: true Makes it a global spell, causing it to be automatically applied to all players
Upgrades: [integer] The maximum level the spell can reach. Aliases: Upgrades.Max, Upgrades.Amount, Level.Maximum. Defaults to 1
Bindable: [true/false] Whether the slot from which this spell can be cast can be bound. Defaults to false

Once bound, the ~onUse trigger is needed to cast the skill
Binding: [1-9] Forces the spell into a specific hotbar slot when bound (slots are 1-indexed)
ClickCombo: [combo] A click combo string that triggers this spell (e.g. LRR). See Casting
ClickCombos: [list] A list of click combo strings, any of which can trigger this spell
ChildSpells: [list] A list of other spell ids that are auto-learned alongside this one. They share this spell's level
CastTime: [duration] The cast time of the spell (e.g. 2s, 40t), alias Casting.CastTime. Affected by the player's CASTING_SPEED stat. See Cast Time
Casting Per-spell overrides for cast-time behavior (instant threshold, cancel rules, reagent timing, stat modifiers, etc.). See Cast Time
Modifiers Per-level scaling values used in the spell's description and skill mechanics. See Modifiers
Stats Stat modifiers granted to the player as long as they know the spell. See Stats

Aesthetic Options

Option Description
Display: [name] The display name of the spell
DisplayOrder: [integer] Sort order in menus. Lower values appear first. Defaults to 0
Description: [list] A description of what the spell does for GUIs and info commands
Icon.Material: [material]
Icon.Model: [material]
Icon.Generation Crucible's Generation Option
KillMessages: [list] Random kill-message lines used when this spell finishes off a target

Modifiers

Modifiers are per-level numeric values that you can reference inside Description: lines and inside the spell's mechanics via <spell.modifier.<key>> placeholders. They come in two forms:

Block form (with per-level scaling):

Modifiers:
  DAMAGE:
    Base: 5
    PerLevel: 2
    Min: 0
    Max: 50

Line form (formula expressions):

Modifiers:
  - DAMAGE 5+(level*2)

Each line is <key> <formula>. The formula may contain spaces and is evaluated with level set to the spell's current level, so 5+(level*2) is 7 at level 1. Unlike the block form there is no implicit clamping; use min, max, or clamp(value,min,max) for bounds. The usual math functions and operators are available, including ^, round, floor, ceil, abs, sqrt, log, and pow. A malformed line logs an error on reload and resolves to 0.

Modifiers:
  - cooldown max(45,75-7.5*level)
  - healing (0.016*level^2)+0.015

The block form options:

Option Description Default
Base Value at level 1 1
PerLevel Amount added per additional level (Base + (level - 1) * PerLevel) 0
Min Lower clamp unbounded
Max Upper clamp unbounded

{KEY} placeholders in the Description: are substituted with the modifier's value at the player's current spell level.

Stats

Stats let a spell directly grant the player stat bonuses for as long as they know the spell — no need for an aura. Each entry under Stats: is keyed by a stat name and configures how it scales with spell level.

passive_health:
  Spell: true
  Bindable: false
  Trigger: ~onJoin
  Display: 'Bonus Health'
  Description:
  - '&b&lPassive &f- Grants {HEALTH} maximum health per spell level'
  Stats:
    HEALTH:
      Base: 1
      PerLevel: 1
      Max: 3
Option Description Default
Base Value granted at level 1 0
PerLevel Amount added per additional spell level (Base + (level - 1) * PerLevel) 0
Min Lower clamp unbounded
Max Upper clamp unbounded
Operation Modifier operation: Additive, Multiply, Compound, or Set Additive

The stat name (HEALTH in the example) can also be used inside Description: as a placeholder — {HEALTH} is replaced with the current value at the player's spell level.

Stats are applied automatically when the spell is learned and removed when it's forgotten.

Examples

MAGIC_MISSILE:
  Cooldown: 2
  Display: 'Magic Missile'
  Description:
  - 'Shoots a magic missile dealing {DAMAGE} damage'
  Icon:
    Material: NETHER_STAR
    Model: 20
  Spell: true
  LearnConditions:
  - archetype{group=class;type=wizard}
  Targeter: "@target"
  Trigger: ~onUse
  Upgrades: 5
  Modifiers:
    DAMAGE:
      Base: 5
      PerLevel: 2
  Cost:
  - mana 40
  TargetConditions:
  - distance{d=<20} true
  Skills:
  - damage{a=<spell.modifier.DAMAGE>} @target
Updated Aug 19, 2026