# Welcome to the MushClient Soundpack for Cosmic Rage!
This soundpack is designed to enhance your gaming experience in Cosmic Rage, providing over **2,000 unique sound effects** (and growing) to make your adventures more immersive. We regularly add new sounds and polish existing ones, ensuring your gameplay is always engaging.
## Features
***Extensive Sound Effects**: Covers a wide range of in-game actions and events.
***Ambiences and Music**: Adds atmospheric depth to your gameplay.
***Automatic Updates**: The pack will download new sounds as you encounter them.
***Discover more as you play!**
## Installation
Getting the soundpack up and running is simple:
1.**Download the Soundpack**: Click [this link](https://gitea.nathantech.net/CosmicRage/Mush-Soundpack/archive/main.zip) to download the soundpack.
2.**Extract the Files**: Extract the downloaded zip file to a location of your choice.
***Important**: Ensure the extracted folder does not contain any special or non-English characters (e.g., ö, ğ, ü) as this can cause issues with MushClient.
3.**Run the Installer**: Locate the `installer.bat` file within the extracted folder. Right-click it and select "Run as administrator". Wait for the installation process to complete.
5.**Restart MushClient**: Close and reopen MushClient for the soundpack to be loaded.
## Connecting to Cosmic Rage
MushClient is a portable client designed specifically for Cosmic Rage. The game world will automatically load, so there's very little setup required on your end.
1.**Launch MushClient**: Open the MushClient application.
2.**Connect**: The game world should automatically load. If it doesn't, or if you need to re-establish a connection, you can typically do so through the client's connection menu.
- **Ctrl + S**: Save client-side soundpack settings
- **Alt + Shift + H**: Show local help
### Accessible Output Window
The soundpack mirrors game text into a separate notepad-style window titled "output", useful for reviewing text with a screen reader without losing your place when new lines arrive.
- **Ctrl + Alt + O**: Toggle whether output is mirrored to the output window
- **Ctrl + Alt + J**: Toggle whether switching to the output window jumps you to the newest line
- **Ctrl + Shift + C**: Clear the output buffer
- **Ctrl + Alt + Shift + C**: Clear the output window
- **Ctrl + Shift + I**: Speak the current line
- **Ctrl + Shift + U**: Speak the previous line
- **Ctrl + Shift + O**: Speak the next line
- **Ctrl + Shift + Y**: Jump to and speak the top line
- **Ctrl + Shift + N**: Jump to and speak the bottom line
- **Ctrl + Shift + H**: Announce current line number and total line count
- **Ctrl + Shift + Space**: Start/stop selecting lines (copies with line breaks)
- **Ctrl + Shift + Alt + Space**: Start/stop selecting lines (copies joined by spaces, no line breaks)
- **Ctrl + Shift + Alt + S**: Take a snapshot of the whole buffer into a "snapshot" notepad
- **Ctrl + Alt + Enter**: Toggle stopping speech whenever you press Enter
- **Ctrl + 1** to **Ctrl + 0**: Recall a recent output line by position from the end (tap once to speak it, twice to copy it, three times to paste it into the command line)
- **Alt + N**: Open the Gag Configuration menu (see [Gag Manager](#gag-manager) below)
## Gag Manager
Gags let you hide or replace lines of game text you don't want to see or hear - spam messages, repetitive room text, anything cluttering your screen or your screen reader. Under the hood a gag is just a MUSHclient trigger, matched against incoming game text the same way any other trigger would be.
### Opening the gag menu
Press **Alt + N** to open the Gag Configuration menu. From there you can:
***Create a new gag** - a 3-step walkthrough: the text to match, how to gag it, and which category to file it under.
***Delete an existing gag** - pick from a list of everything you've gagged.
***Toggle a whole category on or off** - Activity, Ship, Vehicle, or Misc gags, without deleting anything.
### Creating a gag
1.**Pattern**: Type the exact text as it appears in-game. Use `*` as a wildcard - e.g. `* hugs you` matches anyone hugging you, `You receive *` matches any "You receive ..." line.
2.**Method**:
***Voice only**: Hidden from the screen and log, but your screen reader still reads it aloud. Good for things you want to hear but don't need cluttering the screen.
***Full gag**: Removed from both the screen and speech entirely.
***Substitute**: Replaces the matched line with your own text. Use `%1`, `%2`, etc. for wildcard matches and `%0` for the whole original line - e.g. pattern `* hugs you` with substitution `%1 pokes you` turns "warrior hugs you" into "warrior pokes you".
3.**Category**: Activity, Ship, Vehicle, or Misc. This only controls grouping, so you can toggle a whole category at once - e.g. turn off all Ship gags when you're not flying.
### Sharing gags
Your gags are saved to `gags.lua`, next to your world file (`worlds/Cosmic Rage/gags.lua`). It's a plain, human-readable file, so you can copy it to share your gag list with someone else or keep it as a backup. To load someone else's list, drop their `gags.lua` into your own `worlds/Cosmic Rage/` folder - this replaces your existing gags, so back yours up first if you want to keep it.
### Known issue
**Alt + N** is also bound to south-west movement by another plugin. Because Gag Manager loads after it, Alt+N currently opens the gag menu instead of moving you - southwest movement via that key doesn't work right now.
**Q: My soundpack isn't working. What should I do?**
A: First, ensure you have correctly installed the soundpack by running `installer.bat` as administrator. Then, make sure the soundpack is enabled within MushClient. You can typically do this through the soundpack's configuration or by typing `sp on` in the MushClient command line if a specific command channel is set up. If issues persist, you can open an issue in the GitHub repository for assistance.
**Q: How do I report a bug?**
A: Type `spbug` in the MushClient command line. This will typically open a way to submit your bug report.
**Q: I have a suggestion for the soundpack. How can I share it?**
A: Use the `spsuggest` command in MushClient to submit your ideas.
**Q: Can I contribute as a soundpack developer?**
A: While direct development positions aren't currently available, you can contribute cool sounds by sending them via the `spsuggest` command with a download link. If your contribution is integrated, you'll be credited in the changelog and may be rewarded.