CRYSTAL FOCUS X
Beginner Guide Series
DRAG · STAB
Combat effects · Sound files · Styles · Sensitivity

Drag & Stab Effects

A practical guide to the CFX drag and stab effects, including triggers, sound files, visual styles, colors, sensitivity tuning, and how these two contact effects behave in real use.

What you will learn
  • How drag and stab are actually triggered
  • Which WAV files each effect uses
  • How to set styles, colors, and drag mapping
  • How drag and lockup relate to each other
Main config keys
General
hdrag, hstab
Blade profile
style_drag, style_stab, mapping_drag
Color profile
dcolor, tcolor
Best used for
  • Tip scraping effects
  • Thrust impact effects
  • Per-profile drag and stab tuning
  • Checking font file naming and fallbacks

Introduction

The Crystal Focus X can produce two real contact effects during combat use: drag and stab. These simulate different kinds of blade contact and each one has its own trigger logic, sound file set, color, and visual style.

This guide focuses on how those two effects work, how to configure them, and how to tune them so they feel right on your saber.

How These Effects Differ

EffectWhat It SimulatesTrigger Method
DragBlade tip scraping along the groundHold AUX + clash with blade pointing downward
StabThrusting the blade tip forward into a targetQuick forward thrust, no button needed

Part 1 — Drag Effect

What Is Drag?

Drag simulates the blade tip scraping across the ground or another hard surface. It produces a sustained scraping sound and a visual effect concentrated near the blade tip. The effect continues while the trigger conditions are maintained.

How to Trigger Drag

Drag needs three conditions at the same time:

  1. Hold the AUX button, or the activation button on a single-button saber
  2. Point the blade downward within the allowed drag angle range
  3. Make a clash motion while the button is held

If the angle is correct, the board detects a drag effect instead of a regular lockup. If the blade is outside that angle range, the same button-plus-clash action becomes a normal lockup instead.

To end drag: release the AUX button. If your font includes an end-drag sound, it plays as the saber returns to its normal appearance.

Single-button sabers: The main activation switch doubles as the drag trigger. Hold it and clash with the blade pointing down. The board prevents the saber from powering off while drag is active.

Drag Sound Files

File NamePurposeRequired?
drag.wavMain drag loop during the effectYes, at least one drag loop
drag2.wav, drag3.wav, ...Additional drag loop variantsOptional
startdrag1.wav, startdrag2.wav, ...Transition sound when drag startsOptional
enddrag1.wav, enddrag2.wav, ...Transition sound when drag endsOptional

When drag starts, the board can play a startdrag sound first, then the drag loop. While the effect is active, the loop continues. When you release the button, enddrag can play before the effect stops.

If the font has no drag files at all, the board falls back to using regular lockup sounds instead.

Drag naming rule: The first drag loop is always drag.wav with no number. Additional variants start at drag2.wav. Do not use drag1.wav for the main drag loop.

Drag Audio Format

TL;DR: Use WAV, 16-bit PCM, mono, 44.1 kHz recommended, or 22.05 kHz.

Drag Visual Styles

Set the drag visual in your blade profile section of config.txt with style_drag.

ValueStyleDescription
0NoneNo drag visual, sound only
1NoiseDrag color at the tip with random brown-noise variation
2SparkDrag color at the tip with sparking particles
3GradientSimple gradient between blade color and drag color
4HeatHeat-map gradient from tip toward base, twist affects intensity
5FlareLocalized flare with subtle noise, twist affects noise level
6GraFXGraFX bitmap sequence for the drag effect
style_drag=2

Drag Color

Set the drag color in your color profile with dcolor.

dcolor=1023,320,0,0

That gives an orange drag effect. For CFX color profiles, channel values can go up to 1023. You can also use a dictionary color name:

dcolor=orange

Drag Mapping

mapping_drag controls how external input changes the drag effect intensity or behavior.

ValueMappingDescription
0NoneSimple random variation
1AudioAudio loudness affects the visual intensity
2AngularHilt twist angle affects the effect
3MoveGyro speed affects the parameters
4Angular reversedSame as angular, but reversed
5GrowEffect grows over time
mapping_drag=2

Part 2 — Stab Effect

What Is Stab?

Stab simulates thrusting the blade tip straight forward into a target. Unlike drag, stab is a motion-only gesture. No button press is required. It plays a quick impact sound and a tip-focused visual effect.

How to Trigger Stab

Trigger stab by making a quick forward thrust while the saber is on.

The board distinguishes stab from swings by looking for linear forward thrust with minimal rotational motion.

Stab Sound Files

File NamePurposeRequired?
stab1.wav, stab2.wav, ...Stab impact soundsOptional

When a stab is detected, the board picks one of the available stab sounds at random. If no stab files exist, the saber falls back to a regular clash sound instead.

Because stab is a one-shot effect, it does not use separate start or end transition sounds.

Stab Visual Styles

Set the stab visual in your blade profile section with style_stab.

ValueStyleDescription
0NoneNo visual effect, sound only
1LegacyFull-blade flash like a regular clash
2Tip FlashStab color flares at the tip and fades
3Tip ScrollStab color scrolls back and forth near the tip
4Tip Scroll OutTip flash that scrolls outward and fades
5Tip BurstSpark burst at the blade tip
6Tip Burst FadeTip spark burst that fades out
style_stab=5

Stab Color

Set the stab color in your color profile section with tcolor.

tcolor=1023,1023,1023,0

That gives a white stab effect. For CFX color profiles, channel values can go up to 1023. You can also use a dictionary color name:

tcolor=white

Part 3 — Sensitivity Tuning

Both drag and stab have configurable thresholds and angular ranges. These settings go in the general section of config.txt, outside any profile or font section.

Drag Sensitivity

hdrag=threshold,angleLow,angleHigh

This range defines how far downward the blade must point.

hdrag=300,10,80

Stab Sensitivity

hstab=threshold,angleLow,angleHigh

This means stab is centered roughly around a horizontal blade orientation.

hstab=350,-30,30
Tip: If stab is hard to trigger, lower the threshold and widen the range. If it triggers during normal swings, raise the threshold.

Part 4 — Drag vs. Lockup

Drag and lockup are closely related because both use AUX plus clash. The difference is mostly blade orientation:

If your font has no drag sounds at all, the board treats AUX plus clash as regular lockup regardless of blade angle.

Both drag and lockup end when you release the AUX button.

Complete Configuration Reference

Sound Files in the Font Folder

FileEffectNotes
drag.wavDrag loopFirst and required drag loop name
drag2.wav ... dragN.wavDrag loop variantsRandomly selected from available variants
startdrag1.wav ...Drag start transitionOptional
enddrag1.wav ...Drag end transitionOptional
stab1.wav ... stabN.wavStab impactRandomly selected if available

Config Keys

KeySectionFormatPurpose
hdragGeneralthreshold,angleLow,angleHighDrag detection sensitivity and angle range
hstabGeneralthreshold,angleLow,angleHighStab detection sensitivity and angle range
dcolorColor profileR,G,B,W up to 1023, or color nameDrag effect color
tcolorColor profileR,G,B,W up to 1023, or color nameStab effect color
style_dragBlade profile0 to 6Drag visual style
style_stabBlade profile0 to 6Stab visual style
mapping_dragBlade profile0 to 5Drag motion or audio mapping

Example config.txt Snippet

# --- General section ---
hdrag=350,0,90
hstab=390,-20,20

# --- Color profile section ---
profile=1
color=0,0,1023,0
dcolor=1023,400,0,0
tcolor=1023,1023,1023,0

# --- Blade profile section ---
style_drag=2
style_stab=5
mapping_drag=2

Troubleshooting

ProblemPossible CauseFix
Drag does not triggerNo drag files in the fontAdd at least drag.wav
Drag becomes lockup insteadBlade angle is not downward enoughPoint the blade farther down or widen hdrag
Stab does not triggerThreshold too high or angle range too narrowLower hstab or widen the angle range
Stab triggers during swingsThreshold too lowRaise hstab
No drag color visiblestyle_drag=0 or no dcolorUse a non-zero drag style and set dcolor
No stab color visiblestyle_stab=0 or no tcolorUse a non-zero stab style and set tcolor
Drag sound works but no drag visualstyle_drag=0Change to a visible drag style

Summary