Files
VoxCaster-repo/README.md
T
2026-08-24 12:31:41 -04:00

75 lines
2.7 KiB
Markdown

# VoxCaster
A [Darktide](https://www.playdarktide.com/) mod (requires the
[Darktide Mod Framework](https://www.nexusmods.com/warhammer40kdarktide/mods/19))
that lets you put **any** of your character's on-demand voice lines on the
communication wheel or on a keybind.
98 lines, in five groups:
| Group | What | Examples |
|---|---|---|
| Com wheel | The vanilla wheel lines + the two the wheel never shows | Yes, No, Thanks, *My Pleasure*, *Take This* |
| Item | Every item-tag callout | Ammo, Medipack, Stimms, Grimoire, Vacuum Capsule |
| Enemy | Every enemy-tag callout | Scab Gunner, Trapper, Crusher, Daemonhost (sleeping/awake) |
| Ability | Class ability lines | **Hive Scum - Missile Launcher**, Voice of Command, Bull Rush, Chorus |
| Blitz | Grenade / throw lines | Krak, Big Rock, Grenade Box, Tox, Flash |
Com wheel, item and enemy lines work on every character. **Ability and blitz
lines only play on the class/personality that owns them** (the game's dialogue
rules check your voice profile), and some require enemies nearby.
## Install
Copy the `VoxCaster/` folder into `Warhammer 40,000 DARKTIDE/mods/` and add
`VoxCaster` to `mod_load_order.txt`.
## Configure
Mod Options → VoxCaster:
- Eight dropdowns, one per wheel slot. Anything you pick replaces the vanilla
entry in that slot.
- Five keybind groups. Bind any line to any key.
## Keeping it up to date
Fatshark adds classes and lines over time. This repo tracks the
[decompiled game source](https://github.com/Aussiemon/Darktide-Source-Code) so
new lines can be added the moment they show up there.
```
python3 tools/check_upstream.py
```
verifies every trigger in the mod still exists in the game and lists any new
ones the mod doesn't expose yet. A GitHub Action runs it every Monday and opens
an issue when something changes. To add a line:
1. Add one entry to `VoxCaster_commands.lua` (`com`, `item`, `enemy`,
`ability` or `blitz`) with the next free id.
2. Add the matching `option_<key>` string to `VoxCaster_localization.lua`.
3. Re-run the checker until it says `Up to date.`
## How it works
Each command is a `(concept, trigger)` pair fed to the same `Vo.*` call the
game itself uses:
| Group | Call |
|---|---|
| Com wheel / item / enemy | `Vo.on_demand_vo_event(unit, concept, trigger)` |
| Ability | `Vo.play_combat_ability_event(unit, vo_tag)` |
| Blitz | `Vo.throwing_item_event(unit, projectile_template)` |
Enemy callouts pass the breed name as the tag with no target unit, which the
game accepts. `Vo.on_demand_vo_event` is hooked so ability/blitz entries on the
wheel are routed to the right call.
Originally based on the "For the Vacuum Capsule" mod.
## Rename
`tools/rename.sh NewName` renames the folder, files and every reference.
This is important for......well.... :)