@@ -43,9 +43,13 @@ var sexyAudio embed.FS
4343//go:embed audio/halo/*.mp3
4444var haloAudio embed.FS
4545
46+ //go:embed audio/lizard/*.mp3
47+ var lizardAudio embed.FS
48+
4649var (
4750 sexyMode bool
4851 haloMode bool
52+ lizardMode bool
4953 customPath string
5054 customFiles []string
5155 fastMode bool
@@ -229,7 +233,10 @@ Requires sudo (for IOKit HID access to the accelerometer).
229233Use --sexy for a different experience. In sexy mode, the more you slap
230234within a minute, the more intense the sounds become.
231235
232- Use --halo to play random audio clips from Halo soundtracks on each slap.` ,
236+ Use --halo to play random audio clips from Halo soundtracks on each slap.
237+
238+ Use --lizard for lizard mode. Like sexy mode, the more you slap
239+ within a minute, the more intense the sounds become.` ,
233240 Version : version ,
234241 RunE : func (cmd * cobra.Command , args []string ) error {
235242 tuning := defaultTuning ()
@@ -250,6 +257,7 @@ Use --halo to play random audio clips from Halo soundtracks on each slap.`,
250257
251258 cmd .Flags ().BoolVarP (& sexyMode , "sexy" , "s" , false , "Enable sexy mode" )
252259 cmd .Flags ().BoolVarP (& haloMode , "halo" , "H" , false , "Enable halo mode" )
260+ cmd .Flags ().BoolVarP (& lizardMode , "lizard" , "l" , false , "Enable lizard mode (escalating intensity)" )
253261 cmd .Flags ().StringVarP (& customPath , "custom" , "c" , "" , "Path to custom MP3 audio directory" )
254262 cmd .Flags ().BoolVar (& fastMode , "fast" , false , "Enable faster detection tuning (shorter cooldown, higher sensitivity)" )
255263 cmd .Flags ().StringSliceVar (& customFiles , "custom-files" , nil , "Comma-separated list of custom MP3 files" )
@@ -276,11 +284,14 @@ func run(ctx context.Context, tuning runtimeTuning) error {
276284 if haloMode {
277285 modeCount ++
278286 }
287+ if lizardMode {
288+ modeCount ++
289+ }
279290 if customPath != "" || len (customFiles ) > 0 {
280291 modeCount ++
281292 }
282293 if modeCount > 1 {
283- return fmt .Errorf ("--sexy, --halo, and --custom/--custom-files are mutually exclusive; pick one" )
294+ return fmt .Errorf ("--sexy, --halo, --lizard, and --custom/--custom-files are mutually exclusive; pick one" )
284295 }
285296
286297 if tuning .minAmplitude < 0 || tuning .minAmplitude > 1 {
@@ -309,6 +320,8 @@ func run(ctx context.Context, tuning runtimeTuning) error {
309320 pack = & soundPack {name : "sexy" , fs : sexyAudio , dir : "audio/sexy" , mode : modeEscalation }
310321 case haloMode :
311322 pack = & soundPack {name : "halo" , fs : haloAudio , dir : "audio/halo" , mode : modeRandom }
323+ case lizardMode :
324+ pack = & soundPack {name : "lizard" , fs : lizardAudio , dir : "audio/lizard" , mode : modeEscalation }
312325 default :
313326 pack = & soundPack {name : "pain" , fs : painAudio , dir : "audio/pain" , mode : modeRandom }
314327 }
0 commit comments