Crystal Focus logo
CRYSTALFOCUS.NET
Combat effects tutorial
COMMUNITY GUIDE
COMBAT EFFECTS FOR CRYSTAL FOCUS X

Combat Effects Guide for Crystal Focus X

A practical guide to configuring the combat visuals of your saber: clash, lockup, blaster deflects, stab, and drag, plus the colors, sounds, timing, and motion behaviour that make them feel right in use.
What you will learn
  • How each combat effect is triggered
  • All clash, lockup, blaster, stab, and drag styles
  • How combat colors and sound files are selected
  • Which parameters live in config.txt, font_config.txt, and colors.txt
At a glance
Main files
font_config.txt, colors.txt, config.txt
Main profile area
Blade profile settings in [profile=N]
Color source
Color profile entries in [color=N]
Good to know first
  • Most combat styles are visual only. The sound files still matter a lot for feel.
  • Localized effects depend on position and size parameters.
  • Some styles become interactive when motion mapping is enabled.
  • Drag only appears when lockup is active and the blade is held tip-down.

Prerequisite: Blade & Color Profiles

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 as style_clash=, style_lockup=, style_blaster=, style_stab=, and style_drag= are configured in a blade profile. The matching effect colors like fcolor=, lcolor=, bcolor=, tcolor=, and dcolor= come from the active color profile.

1. How Combat Effects Are Triggered

Each combat effect has its own trigger behaviour. Some are automatic and rely on motion sensing, while others are tied to the AUX button.

EffectHow it is triggered
ClashAutomatic. The accelerometer detects a physical impact.
LockupHold the AUX button. After a short delay, lockup begins.
BlasterQuick press and release of the AUX button before the lockup delay is reached.
StabAutomatic. A forward thrust along the blade axis can trigger it, but only within the blade-angle range defined by hstab=.
DragPress AUX and clash the blade while pointing it downward.

The AUX button: lockup vs. blaster

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.

More about clash, stab, and drag

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.

2. Clash Effects

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.

Clash style setting

style_clash=N

Set this in your blade profile in font_config.txt.

ValueStyle nameWhat you see
0NoneNo visual clash effect. The clash sound still plays.
1LegacyThe entire blade flashes with the clash color, then fades back.
2FadeThe full blade blends smoothly to the clash color and fades back.
3Fade BumpLike Fade, but shaped as a soft bump that is brighter in the middle.
4Localized BumpA local flash at a fixed clash position rather than over the whole blade.
5Base FlareA flash over the lower third of the blade near the emitter.
6UnicornA rainbow flash at the clash position with cycling hues.
7AbsorbThe blade flashes, then the clash color scrolls back toward the emitter.
8GraFxPlays an animated bitmap sequence during the clash.

Default: style_clash=1

Clash color

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

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.

3. Lockup Effects

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.

Lockup style setting

style_lockup=N
ValueStyle nameWhat you see
0NoneNo visual lockup effect.
1LegacyThe whole blade glows with the lockup color.
2LocalizedA soft glowing patch appears at a fixed point on the blade.
3NoiseA localized glow with crackling random texture.
4Noise 2A smoother, more organic noise version of the localized glow.
5FlareA more steady plasma-like glow at the lockup point.
6UnicornA rainbow lockup effect that cycles colors.
7GraFxPlays an animated bitmap sequence during lockup.

Default: style_lockup=1

Lockup color

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.

Lockup position and size

pos_lockup=40
size_lockup=30

These settings matter for the localized lockup styles.

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.

Lockup mapping

mapping_lockup=N
ValueWhat it does
0None. The lockup stays fixed at its configured position and size.
1Audio. Position and size react to the volume of the lockup sound.
2Angular. Tilting moves the lockup along the blade. Twisting changes the size.
3Angular 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.

4. Blaster Deflect Effects

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.

Blaster style setting

style_blaster=N
ValueStyle nameWhat you see
0NoneNo visual blaster effect.
1LegacyThe blade briefly flashes with the bolt color and fades out.
2BoltA small bright impact spot appears and fades away.
3WaveTwo waves ripple outward from the impact point.
4Wave + PoVWave effect with a bright trail that lingers behind it.
5Wave + FlareOutward waves plus a bright impact flare.
6Wave + PoV + FlareWaves, persistent trail, and flare combined.
7Flare SpreadA bright impact core that expands outward while fading.
8Flare Spread + PoVExpanding flare with a lingering bright impact core.
9GraFxAnimated bitmap sequence for blaster hits.

Default: style_blaster=2

Blaster color

bcolor=255,255,255,0

This is the color of the bolt impact effect.

Bolt parameters

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
SettingWhat it controlsDefault
sbolt=min,maxBolt size in pixels. A random value between min and max is chosen each time.5,12
lbolt=min,maxBolt location range. Min is the closest to the emitter. Max is the distance from the tip.15,30
dbolt=min,maxBolt duration in milliseconds. 0 means use the sound duration.0,0
qbolt=NBolt speed. Controls wave travel speed and flare expansion rate.30
fbolt=NBolt fade speed as a percentage.0
rbolt=NRandom bolt color. When enabled, the bolt color is randomized instead of using bcolor.0

Multi-bolt timings

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.

Blaster priority and motion options

blastp=1
blastm=1
blaster_mode=1
SettingWhat it doesDefault
blastp=NBlaster priority. When set to 1, blaster events are protected from interruption by other events.0
blastm=NMotion blasters. When set to 1, certain swing motions can trigger blasters.0
blaster_mode=NBlaster-only motion mode. When set to 1, other motion detection is disabled and only blaster detection remains active.0

5. Stab Effects

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.

Stab style setting

style_stab=N
ValueStyle nameWhat you see
0NoneNo visual stab effect.
1LegacyThe tip glows with the stab color and a subtle brown-noise flicker.
2Tip FlashA bright tip flare that smoothly fades back.
3Tip ScrollA back-and-forth scrolling glow at the tip.
4Tip Scroll OutStarts with a flash, then scrolls the stab color outward from the tip.
5Tip BurstSpark-like randomized activity at the tip.
6Tip Burst FadeTip sparks that fade smoothly over the stab duration.

Default: style_stab=1

Stab color

tcolor=255,200,100,0

This sets the color for the tip flash or stab spark effect.

Stab trigger angle and threshold

hstab=300,-20,-20

This parameter defines both the stab trigger threshold and the blade-orientation range where stab is allowed to occur.

PartWhat it does
300The stab trigger threshold. Since 10.003, this is separate from the clash threshold, so stab can be made easier to trigger.
-20 to -20The 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.

6. Drag Effects

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.

Drag style setting

style_drag=N
ValueStyle nameWhat you see
0NoneNo visual drag effect.
1NoiseThe tip blends between drag and blade colors with gritty noise.
2SparkTip fade with additional spark-like flicker.
3GradientA smooth gradient from blade color to drag color at the tip.
4HeatA heat-map gradient at the tip, with interactive heat intensity.
5FlareA subtle tip glow with light noise, also interactive when mapped.
6GraFxAnimated bitmap sequence during drag.

Default: style_drag=0, so drag must be enabled explicitly if you want it.

Drag color

dcolor=255,80,0,0

This is usually a hot orange or red color to suggest a searing blade tip.

Drag tip size

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.

Drag mapping

mapping_drag=N
ValueWhat it does
0None. Static drag effect.
1Audio. Drag intensity reacts to the drag sound level.
2Angular. Twist controls drag intensity for interactive styles like Heat and Flare.
3Angular 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.

7. Combat Colors

All combat effect colors are defined in the active color profile in colors.txt.

KeyUsed forExample
fcolor=R,G,B,WClash / Flash-on-Clashfcolor=255,255,255,0
lcolor=R,G,B,WLockuplcolor=255,200,0,0
bcolor=R,G,B,WBlaster boltbcolor=255,255,255,0
tcolor=R,G,B,WStabtcolor=255,200,100,0
dcolor=R,G,B,WDragdcolor=255,80,0,0

You can use direct numeric values or supported named colors such as white or cyan.

8. Sound Files

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.

EffectSound filesDescription
Clashclash1.wav, clash2.wav, …Brief impact sounds.
Lockup startstartlock1.wav, startlock2.wav, …Plays once when lockup begins.
Lockup looplockup.wav, lockup1.wav, lockup2.wav, …Loops while lockup remains active.
Lockup endendlock1.wav, endlock2.wav, …Plays once when lockup ends.
Blasterblaster.wav, blaster1.wav, blaster2.wav, …Blaster bolt deflection sounds.
Stabstab1.wav, stab2.wav, …Forward thrust impact sounds.
Drag startstartdrag1.wav, startdrag2.wav, …Plays once when drag starts.
Drag loopdrag.wav, drag1.wav, drag2.wav, …Looping scrape sound while dragging.
Drag endenddrag1.wav, enddrag2.wav, …Plays once when drag ends.
Tip: when the sustained effect stops, the firmware automatically chooses an endlock or enddrag file depending on whether you were in normal lockup or drag state.

9. Quick Reference

All combat style settings

SettingValuesDefaultDescription
style_clash=N0-81Clash visual style
style_lockup=N0-71Lockup visual style
style_blaster=N0-92Blaster visual style
style_stab=N0-61Stab visual style
style_drag=N0-60Drag visual style

Lockup parameters

SettingDefaultDescription
pos_lockup=N40Position in pixels from the emitter
size_lockup=N30Width of the lockup zone in pixels
mapping_lockup=N0Mapping mode: none, audio, angular, or angular reversed

Bolt parameters

SettingDefaultDescription
sbolt=min,max5,12Bolt size in pixels
lbolt=min,max15,30Bolt location range
dbolt=min,max0,0Bolt duration in ms. Zero means use sound length.
qbolt=N30Bolt speed / expansion rate
fbolt=N0Bolt fade rate
rbolt=N0Random bolt color on or off

Drag parameters

SettingDefaultDescription
dragstrip=N0Tip size used for the drag effect. Zero means automatic.
mapping_drag=N0Mapping mode for drag interaction

Timing and priority

SettingDefaultDescription
lockup=N360Delay in ms before AUX hold becomes lockup
clash_flow=NMinimum delay between clash triggers
blastp=N0Blaster priority
blastm=N0Motion blasters
blaster_mode=N0Blaster-only motion mode

Combat colors

KeyEffect
fcolor=R,G,B,WClash
lcolor=R,G,B,WLockup
bcolor=R,G,B,WBlaster
tcolor=R,G,B,WStab
dcolor=R,G,B,WDrag

Example: Setting Up a Full Combat Configuration

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.