Active (or on-use) spells can be cast in a variety of ways depending on how you configure them.
Active (or on-use) spells can be cast in a variety of ways depending on how the server is configured.
_Not all casting methods are implemented yet_
[[_TOC_]]
[[_TOC_]]
# Casting Spells
# Casting Spells
## by Command
Any active learned spell can be cast by using the `/cast` command as long as the player has permission to use the command.
While not the fastest way to cast, it's the most basic and does not require any skill binding.
## Quickcasting
Spells can be configured to be castable via a quickcast bar that can be quickly toggled on by hitting certain keys (the `SwapItem` key by default).
This allows players to quickly cast certain spells they've bound to the quickcast bar by tapping F and then the number of the binding, which will cast the spell that is bound to that slot if one is present.
Players can bind spells for quickcasting by opening the [Spellbook](Spellbook)(`/spellbook`) and right-clicking a usable spell, which will open the binding window.
### Quickcast Options
## by Command
Quickcasting can be configured to work in a variety of ways inside the `config-spells.yml` config file.
Any active learned spell can be cast with `/cast <spell>` as long as the player has permission to use the command.
Planned types are:
-`CAST_BAR` - Player taps the number of a binding to cast that spell
-`CLICK_COMBO` - Player performs a click-combo to cast a certain spell.
#### Cast Bar
The cast bar can be configured with up to 8 different spells (the maximum). When the castbar is toggled on, the player simply taps the corresponding button to cast the spell
If configured to show spells in the `ITEMS` slot, spell icons will appear overlayed in the player's hotbar.
If configured to show spells in the `ACTION_BAR` slot, spell icons will appear as an action bar message using unicode icons.
While not the fastest way to cast, it's the most basic and does not require any binding setup.
#### Click Combos
## from the Spellbook
_not yet implemented_
Active spells can be cast directly from the Spellbook menu (`/spellbook`). Left-clicking a usable spell casts it. Right-clicking opens the binding window so the player can assign that spell to a quickcast slot (when player bindings are enabled).
## Spellbook
## Quickcasting
Active spells can be cast from the spellbook directly, which is a special menu opened using the `/spellbook` command.
When the spellbook is open, left-clicking a spell will cause the player to cast it.
Quickcasting lets a player cast their bound spells without typing commands. It's configured server-wide in `config-spells.yml` under `Configuration.Casting.QuickCasting`. Pick one of the methods below by setting `QuickCasting.Method:`.
| `DROP_ITEM` | Dropping an item (vanilla `Q` key) |
### `HOTBAR` — Cast Bar
The cast bar can hold up to a configured number of bound spells (default 5, max 9). When toggled on, the player taps the slot number to cast the spell bound there.
`QuickCasting.Location` controls where the bar is rendered:
-`ITEMS` — overlays spell icons on the player's hotbar
-`ACTION_MESSAGE` — renders bound spells on the action bar using unicode icons
-`TITLE` / `SUBTITLE` — renders into the title area
-`MYTHICHUD` — renders via [Mythic HUD](/../../../mythichud)
-`NONE` — no display
### `CLICK_COMBO` — Click / Dance Combos
The player toggles the combo input mode, then enters a short sequence of inputs to cast a spell. There are two modes set under `Configuration.Casting.QuickCasting.ClickCombos.Mode`:
-**`SLOTS`** — slot-based combos. Each binding slot has a fixed input pattern (e.g. slot 1 = `LL`, slot 2 = `LR`). Whichever slot's combo matches casts the spell bound to that slot.
-**`SPELLS`** — spell-defined combos. Each spell with a `ClickCombo:` or `ClickCombos:` value casts when its pattern is matched, regardless of bindings.
#### Available Inputs
A combo pattern is a sequence of input tokens. Available tokens:
`UseMovementKeys: true` enables `W`/`A`/`S`/`D`/`J` for "dance casting" — building combos from movement directions instead of (or alongside) clicks.
If the activator is set to `SWAP_HANDS` or `DROP_ITEM`, those keys are consumed for toggling the combo mode and become unavailable as combo inputs while the activator is active.
#### Notable Tuning Options
All configured under `Configuration.Casting.QuickCasting.ClickCombos`:
| `AllowedInputs` | List of tokens accepted as combo inputs | `[L, R]` |
| `ComboLength` | Number of inputs in a fixed-length combo | 3 |
| `VariableLengthCombos` | Allow combos of varying length to match (e.g. both `LL` and `LLR`) | `false` |
| `TimeoutMs` | How long the player has between inputs before the buffer resets | 800 |
| `RequireSneakForInputs` | Require sneaking for `L`/`R` inputs to count | `false` |
| `CancelVanillaActions` | Suppress vanilla effects of inputs while the combo overlay is open | `true` |
| `DisableOnInvalidCombo` | Close the combo overlay automatically if no matching combo exists | `true` |
| `AllowInvalidCombos` | Allow buffers that don't match any combo (paired with `DisableOnInvalidCombo`) | `false` |
| `AllowSpellCombosWithBindings` | In `SLOTS` mode, also allow direct spell combos to cast | `false` |
| `FreezeMovementDuringCombo`| Stop the player while building a combo | `false` |
| `InputSkill` | Mythic skill list run when an input is accepted | |
| `FailedSkill` | Mythic skill list run when a combo fails to match | |
#### Display Hints
With `ClickCombos.Display.ShowHints: true`, the combo overlay shows the next valid inputs after the buffer. `IconMap:` lets you replace each input token with custom Unicode/font characters for in-world icons.
```yaml
Configuration:
Casting:
QuickCasting:
Method:CLICK_COMBO
Activation:SWAP_HANDS
Location:ACTION_MESSAGE
ClickCombos:
Mode:SLOTS
ComboLength:3
AllowedInputs:[L,R]
Slots:
1:LLL
2:LLR
3:LRL
4:LRR
Display:
ShowHints:true
IconMap:
L:'⬅'
R:'➡'
```
## Spell-Side Configuration
A spell can declare its own click combo(s) using `ClickCombo:` (single) or `ClickCombos:` (list) in the spell config. These are used in `SPELLS` mode, or in `SLOTS` mode when `AllowSpellCombosWithBindings` is enabled.
```yaml
fireball:
Spell:true
Trigger:~onUse
ClickCombos:
-LRL
-RRL
Skills:
-projectile{...}
```
## Wands
## Wands
_not yet implemented_
*Not yet implemented.*
Wands are special items that can have a number of spells bound to them.
Depending on your configuration, left-clicking will cycle through the spells bound to the wand, and right-clicking will cast the spell.
Planned Features:
Wands will be special items with bound spells castable via configurable click actions. Tracking issue: see project board.
- Requirements or reagents for binding spells to a wand