config.txt, font_config.txt, and colors.txtfont_config.txt, colors.txt, config.txt[profile=N][color=N]This guide assumes you already understand how blade profiles and color profiles work. Combat style selection usually lives in the blade profile, while the colors for those effects live in the color profile.
Key takeaway: most combat style keys such asstyle_clash=,style_lockup=,style_blaster=,style_stab=, andstyle_drag=are configured in a blade profile. The matching effect colors likefcolor=,lcolor=,bcolor=,tcolor=, anddcolor=come from the active color profile.
Each combat effect has its own trigger behaviour. Some are automatic and rely on motion sensing, while others are tied to the AUX button.
| Effect | How it is triggered |
|---|---|
| Clash | Automatic. The accelerometer detects a physical impact. |
| Lockup | Hold the AUX button. After a short delay, lockup begins. |
| Blaster | Quick press and release of the AUX button before the lockup delay is reached. |
| Stab | Automatic. A forward thrust along the blade axis can trigger it, but only within the blade-angle range defined by hstab=. |
| Drag | Press AUX and clash the blade while pointing it downward. |
The AUX button does two different jobs. A quick tap gives you a blaster deflect. Holding it long enough gives you a lockup.
The delay before lockup begins is controlled with:
lockup=360
This value is in milliseconds. The default is 360 ms. Setting lockup=0 disables both lockup and blaster behaviour entirely.
Clash is fully automatic. When the saber sees a strong enough impact event, it plays a clash sound and the configured clash visual. You do not trigger this manually.
Stab is also automatic. The firmware distinguishes a stab from a normal swing by detecting movement mostly along the blade's own axis.
Drag is triggered differently from a normal lockup. To start it, press AUX and clash the blade while the saber is pointing downward. If the blade angle falls inside the range set by hdrag=, drag takes priority. Outside that range, the same action can trigger a force clash instead.
A clash is a short visual flash that plays when the blade hits something. It is a quick, one-shot effect that fades over the duration of the clash sound.
style_clash=N
Set this in your blade profile in font_config.txt.
| Value | Style name | What you see |
|---|---|---|
| 0 | None | No visual clash effect. The clash sound still plays. |
| 1 | Legacy | The entire blade flashes with the clash color, then fades back. |
| 2 | Fade | The full blade blends smoothly to the clash color and fades back. |
| 3 | Fade Bump | Like Fade, but shaped as a soft bump that is brighter in the middle. |
| 4 | Localized Bump | A local flash at a fixed clash position rather than over the whole blade. |
| 5 | Base Flare | A flash over the lower third of the blade near the emitter. |
| 6 | Unicorn | A rainbow flash at the clash position with cycling hues. |
| 7 | Absorb | The blade flashes, then the clash color scrolls back toward the emitter. |
| 8 | GraFx | Plays an animated bitmap sequence during the clash. |
Default: style_clash=1
The clash color comes from your color profile in colors.txt:
fcolor=255,255,255,0
This is the familiar Flash-on-Clash color. The format is R G B W, with each channel ranging from 0 to 255.
clash_flow=N
This acts as a speed limiter. It sets the minimum delay between clash events so the saber does not spam clashes too quickly during rattly contact.
A lockup simulates two blades pressed together. It is a sustained effect that lasts as long as the AUX button is held beyond the lockup delay.
style_lockup=N
| Value | Style name | What you see |
|---|---|---|
| 0 | None | No visual lockup effect. |
| 1 | Legacy | The whole blade glows with the lockup color. |
| 2 | Localized | A soft glowing patch appears at a fixed point on the blade. |
| 3 | Noise | A localized glow with crackling random texture. |
| 4 | Noise 2 | A smoother, more organic noise version of the localized glow. |
| 5 | Flare | A more steady plasma-like glow at the lockup point. |
| 6 | Unicorn | A rainbow lockup effect that cycles colors. |
| 7 | GraFx | Plays an animated bitmap sequence during lockup. |
Default: style_lockup=1
lcolor=255,100,0,0
This defines the lockup glow color. With the Unicorn style, this color is ignored because the effect uses a cycling rainbow.
pos_lockup=40
size_lockup=30
These settings matter for the localized lockup styles.
pos_lockup is the position in pixels from the emitter.size_lockup is the width of the glowing zone in pixels.So with pos_lockup=50 and size_lockup=20, the center of the effect is 50 pixels from the emitter and the glow spans about 20 pixels with soft falloff.
mapping_lockup=N
| Value | What it does |
|---|---|
| 0 | None. The lockup stays fixed at its configured position and size. |
| 1 | Audio. Position and size react to the volume of the lockup sound. |
| 2 | Angular. Tilting moves the lockup along the blade. Twisting changes the size. |
| 3 | Angular Reversed. Same as Angular but reversed direction. |
Default: mapping_lockup=0
With angular mapping enabled, the lockup becomes very interactive. Tilt can slide the contact point toward emitter or tip, and wrist twist can expand or shrink the active zone.
Blaster deflects simulate a bolt hitting the blade. Depending on the style, you can get a small impact spot, travelling waves, a flare, or a whole animated sequence.
style_blaster=N
| Value | Style name | What you see |
|---|---|---|
| 0 | None | No visual blaster effect. |
| 1 | Legacy | The blade briefly flashes with the bolt color and fades out. |
| 2 | Bolt | A small bright impact spot appears and fades away. |
| 3 | Wave | Two waves ripple outward from the impact point. |
| 4 | Wave + PoV | Wave effect with a bright trail that lingers behind it. |
| 5 | Wave + Flare | Outward waves plus a bright impact flare. |
| 6 | Wave + PoV + Flare | Waves, persistent trail, and flare combined. |
| 7 | Flare Spread | A bright impact core that expands outward while fading. |
| 8 | Flare Spread + PoV | Expanding flare with a lingering bright impact core. |
| 9 | GraFx | Animated bitmap sequence for blaster hits. |
Default: style_blaster=2
bcolor=255,255,255,0
This is the color of the bolt impact effect.
These settings fine-tune how blaster effects look and behave in the blade profile.
sbolt=5,12
lbolt=15,30
dbolt=0,0
qbolt=30
fbolt=0
rbolt=0
| Setting | What it controls | Default |
|---|---|---|
sbolt=min,max | Bolt size in pixels. A random value between min and max is chosen each time. | 5,12 |
lbolt=min,max | Bolt location range. Min is the closest to the emitter. Max is the distance from the tip. | 15,30 |
dbolt=min,max | Bolt duration in milliseconds. 0 means use the sound duration. | 0,0 |
qbolt=N | Bolt speed. Controls wave travel speed and flare expansion rate. | 30 |
fbolt=N | Bolt fade speed as a percentage. | 0 |
rbolt=N | Random bolt color. When enabled, the bolt color is randomized instead of using bcolor. | 0 |
For advanced setups, you can schedule multiple bolts at precise times during specific blaster sounds.
bolt1=100,400,700
bolt2=150,500
That means blaster sound 1 fires at 100 ms, 400 ms, and 700 ms after the sound starts. Blaster sound 2 fires at 150 ms and 500 ms. If you do not define timings, a single bolt fires almost immediately.
blastp=1
blastm=1
blaster_mode=1
| Setting | What it does | Default |
|---|---|---|
blastp=N | Blaster priority. When set to 1, blaster events are protected from interruption by other events. | 0 |
blastm=N | Motion blasters. When set to 1, certain swing motions can trigger blasters. | 0 |
blaster_mode=N | Blaster-only motion mode. When set to 1, other motion detection is disabled and only blaster detection remains active. | 0 |
The stab effect is triggered by thrusting the blade forward along the blade or hilt axis, optionally with a small shock at the tip. It is not just any forward impact. The effect also checks the blade-angle range defined by hstab= to decide whether the motion should count as a stab.
Since firmware 10.003, stab has its own trigger threshold as the first value in the parameter set, so it can be made easier to trigger than a regular clash. This gives you finer control over how much force is needed before a stab effect starts.
style_stab=N
| Value | Style name | What you see |
|---|---|---|
| 0 | None | No visual stab effect. |
| 1 | Legacy | The tip glows with the stab color and a subtle brown-noise flicker. |
| 2 | Tip Flash | A bright tip flare that smoothly fades back. |
| 3 | Tip Scroll | A back-and-forth scrolling glow at the tip. |
| 4 | Tip Scroll Out | Starts with a flash, then scrolls the stab color outward from the tip. |
| 5 | Tip Burst | Spark-like randomized activity at the tip. |
| 6 | Tip Burst Fade | Tip sparks that fade smoothly over the stab duration. |
Default: style_stab=1
tcolor=255,200,100,0
This sets the color for the tip flash or stab spark effect.
hstab=300,-20,-20
This parameter defines both the stab trigger threshold and the blade-orientation range where stab is allowed to occur.
| Part | What it does |
|---|---|
300 | The stab trigger threshold. Since 10.003, this is separate from the clash threshold, so stab can be made easier to trigger. |
-20 to -20 | The allowed blade-angle range for stab. In this example, the effect is tuned for a blade that is mostly horizontal. |
With hstab=300,-20,-20, the stab effect occurs when the blade is mostly horizontal. If the blade is outside the allowed range and you hit something, the saber will trigger a clash effect instead of a stab, even if the impact is axial.
Drag simulates the tip of the blade scraping along the ground. It only activates when lockup is already active and the blade is held tip-down.
style_drag=N
| Value | Style name | What you see |
|---|---|---|
| 0 | None | No visual drag effect. |
| 1 | Noise | The tip blends between drag and blade colors with gritty noise. |
| 2 | Spark | Tip fade with additional spark-like flicker. |
| 3 | Gradient | A smooth gradient from blade color to drag color at the tip. |
| 4 | Heat | A heat-map gradient at the tip, with interactive heat intensity. |
| 5 | Flare | A subtle tip glow with light noise, also interactive when mapped. |
| 6 | GraFx | Animated bitmap sequence during drag. |
Default: style_drag=0, so drag must be enabled explicitly if you want it.
dcolor=255,80,0,0
This is usually a hot orange or red color to suggest a searing blade tip.
dragstrip=N
This sets how many pixels down from the tip are affected by the drag effect. A value of 0 lets the firmware calculate it automatically.
mapping_drag=N
| Value | What it does |
|---|---|
| 0 | None. Static drag effect. |
| 1 | Audio. Drag intensity reacts to the drag sound level. |
| 2 | Angular. Twist controls drag intensity for interactive styles like Heat and Flare. |
| 3 | Angular Reversed. Same as Angular with reversed direction. |
Default: mapping_drag=0
With Heat or Flare and angular mapping enabled, twisting your wrist makes the drag feel more alive because you can actively push the effect hotter or calmer.
All combat effect colors are defined in the active color profile in colors.txt.
| Key | Used for | Example |
|---|---|---|
fcolor=R,G,B,W | Clash / Flash-on-Clash | fcolor=255,255,255,0 |
lcolor=R,G,B,W | Lockup | lcolor=255,200,0,0 |
bcolor=R,G,B,W | Blaster bolt | bcolor=255,255,255,0 |
tcolor=R,G,B,W | Stab | tcolor=255,200,100,0 |
dcolor=R,G,B,W | Drag | dcolor=255,80,0,0 |
You can use direct numeric values or supported named colors such as white or cyan.
Each combat effect also has its own sound file family in the current sound font. The firmware chooses a random numbered variant when multiple options are available.
| Effect | Sound files | Description |
|---|---|---|
| Clash | clash1.wav, clash2.wav, … | Brief impact sounds. |
| Lockup start | startlock1.wav, startlock2.wav, … | Plays once when lockup begins. |
| Lockup loop | lockup.wav, lockup1.wav, lockup2.wav, … | Loops while lockup remains active. |
| Lockup end | endlock1.wav, endlock2.wav, … | Plays once when lockup ends. |
| Blaster | blaster.wav, blaster1.wav, blaster2.wav, … | Blaster bolt deflection sounds. |
| Stab | stab1.wav, stab2.wav, … | Forward thrust impact sounds. |
| Drag start | startdrag1.wav, startdrag2.wav, … | Plays once when drag starts. |
| Drag loop | drag.wav, drag1.wav, drag2.wav, … | Looping scrape sound while dragging. |
| Drag end | enddrag1.wav, enddrag2.wav, … | Plays once when drag ends. |
Tip: when the sustained effect stops, the firmware automatically chooses anendlockorenddragfile depending on whether you were in normal lockup or drag state.
| Setting | Values | Default | Description |
|---|---|---|---|
style_clash=N | 0-8 | 1 | Clash visual style |
style_lockup=N | 0-7 | 1 | Lockup visual style |
style_blaster=N | 0-9 | 2 | Blaster visual style |
style_stab=N | 0-6 | 1 | Stab visual style |
style_drag=N | 0-6 | 0 | Drag visual style |
| Setting | Default | Description |
|---|---|---|
pos_lockup=N | 40 | Position in pixels from the emitter |
size_lockup=N | 30 | Width of the lockup zone in pixels |
mapping_lockup=N | 0 | Mapping mode: none, audio, angular, or angular reversed |
| Setting | Default | Description |
|---|---|---|
sbolt=min,max | 5,12 | Bolt size in pixels |
lbolt=min,max | 15,30 | Bolt location range |
dbolt=min,max | 0,0 | Bolt duration in ms. Zero means use sound length. |
qbolt=N | 30 | Bolt speed / expansion rate |
fbolt=N | 0 | Bolt fade rate |
rbolt=N | 0 | Random bolt color on or off |
| Setting | Default | Description |
|---|---|---|
dragstrip=N | 0 | Tip size used for the drag effect. Zero means automatic. |
mapping_drag=N | 0 | Mapping mode for drag interaction |
| Setting | Default | Description |
|---|---|---|
lockup=N | 360 | Delay in ms before AUX hold becomes lockup |
clash_flow=N | — | Minimum delay between clash triggers |
blastp=N | 0 | Blaster priority |
blastm=N | 0 | Motion blasters |
blaster_mode=N | 0 | Blaster-only motion mode |
| Key | Effect |
|---|---|
fcolor=R,G,B,W | Clash |
lcolor=R,G,B,W | Lockup |
bcolor=R,G,B,W | Blaster |
tcolor=R,G,B,W | Stab |
dcolor=R,G,B,W | Drag |
Here is a complete example that combines multiple combat effects into one blade profile.
[profile=1]
style_clash=4
style_lockup=3
style_blaster=5
style_stab=2
style_drag=4
pos_lockup=45
size_lockup=25
mapping_lockup=2
mapping_drag=2
dragstrip=15
sbolt=4,10
lbolt=10,25
qbolt=40
And the matching color profile:
[color=1]
fcolor=255,255,255,0
lcolor=255,150,0,0
bcolor=200,200,255,0
tcolor=255,200,100,0
dcolor=255,60,0,0
This setup gives you a localized clash, a noisy lockup with angular control, a wave-and-flare blaster effect, a bright tip stab flash, and a heat-style drag that responds to wrist twist.