Hades
0 of 0

File information

Last updated

Original upload

Created by

Reviniere

Uploaded by

reviniere

Virus scan

Safe to use

Tags for this mod

Documentation

Readme

View as plain text

Twitch Control for Hades
========================

- Twitch viewers can send commands in chat which will update the game
state live
- Your Twitch bot can respond with helpful error messages
- Includes built-in configurable per-user and per-command cooldown
timers


Setup for Streamers
-------------------

TwitchControl relies on a Twitch OAuth authentication token for chat to
be present. For security, it is recommended for the authentication to be
for a Twitch user account set up as a bot in your channel, not as
yourself. The bot should be a mod in your channel to not be subject to
chat sending limits.

These steps assume you've already set up modimporter and have ModUtil.

### Prerequisites

1) Minimum Python version 3.7
2) Python library [TwitchIO](https://github.com/TwitchIO/TwitchIO), can
be installed with: `pip install twitchio`
3) You must have
[ModImporter](https://github.com/SGG-Modding/ModImporter/releases)
in your Hades/Content directory
4) You must have
[ModUtil](https://github.com/SGG-Modding/ModUtil/releases/) in your
Hades/Content/Mods folder
5) You must have the latest
[StyxScribe](https://github.com/SGG-Modding/StyxScribe) mod for
Hades installed

### Setup steps

1) Get a [Twitch Chat OAuth token](https://twitchapps.com/tmi/)
2) Update your bot's username, your Twitch channel, and the OAuth
token in **TwitchControlConfig.json**
3) Place a copy of all the mod files in this repository in folder:
Hades/Content/Mods/TwitchControl
4) Run `modimporter.exe` after updating your OAuth token and setting
your Twitch username.

### Cooldown timer configuration changes

1) Update the cooldown timers listed in the TwitchControlConfig.lua
file.
2) Run `modimporter.exe` again after making configuration changes to
apply them.

### How to use

Once you have met the prerequisites and completed the setup steps, you
must run Hades using the SubsumeHades.py file added during the
StyxScribe installation.

Commands for chat
-----------------

### Format

Chat commands can be used by typing in chat in this format:
`!h command value`.

All commands start with `!h`.

e.g. `!h money 100` will give the player 100 gold and `!h money -100`
will take 100 gold from the player.

Commands are not case sensitive.

Some commands persist until the end of the run, some will revert as soon
as the player leaves the current chamber.

### Cooldown timers

There are cooldown timers per user and per command which are
configurable by the streamer. To see the default values, check
TwitchControlConfig.lua

### Commands

Command Format Effect duration Description
----------------------- --------------------------- ------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Add Max Health `!h AddMaxHealth` Run Adds 25 to max health
Anti Anvil `!h AntiAnvil` Run Reverse of Anvil of fates (Take two hammer upgrades, add one)
Anvil `!h Anvil` Run Uses an Anvil of Fates (Take one hammer upgrade, add two)
Assist Add `!h AssistAdd` Run Adds an extra assist usage
Assist Allow `!h AssistAllow` Encounter Permits a summon to be used again in this encounter if you have uses remaining
Assist Block `!h AssistBlock` Encounter Blocks a summon being used in this encounter even if it was otherwise allowed
Bounce Dash `!h BounceDash` 60 sec Bounces the player in the opposite direction of their dash
Build Call `!h BuildCall` Encounter Adds one segement to the player\'s call bar
Death Defiance Add `!h DDAdd` Run Adds a death defiance and a new slot if needed
Death Defiance Remove `!h DDRemove` Run Removes a death defiance and its slot
Drop Boon `!h DropBoon god` Encounter Drops a room reward boon of the specified god. e.g. `!h DropBoon Artemis`. Valid gods: * Aphrodite * Ares * Artemis * Athena * Chaos * Demeter * Dionysus * Hermes * Poseidon * Zeus
Drop Food `!h DropFood x` Encounter Drops x number of food items, max 6 e.g. `!h DropFood 1`
Enemies Hit Shields `!h EnemiesHitShields` Encounter Adds max hit shields to all active enemies, and heals them to full health
Enemies Invisible `!h EnemiesInvisible` 30 sec Makes all active enemies invisible
Enemies Shields `!h EnemiesShields x` Encounter Adds x amount of shield to all active enemies. Max 1000 e.g. `!h EnemiesShields 200`
Equip Keepsake `!h EquipKeepsake gifter` Run Change the currently equipped keepsake e.g. `!h EquipKeepsake Nyx` Valid gifters you can equip keepsakes from (in order of display in game): * Cerberus * Achilles * Nyx * Thanatos * Charon * Hypnos * Meg * Orpheus * Dusa * Skelly * Zeus * Poseidon * Athena * Aphrodite * Ares * Artemis * Dionysus * Hermes * Demeter * Chaos * Sisyphus * Eurydice * Patroclus * Persephone * Hades
Equip Summon `!h EquipSummon gifter` Run Change the currently equipped summon e.g. `!h EquipSummon Skelly` Valid gifters you can equip summons from (in order of display in game): * Meg * Thanatos * Sisyphus * Skelly * Dusa * Achilles
Equip Weapon `!h EquipWeapon weapon` Run Change the currently equipped weapon e.g. `!h EquipWeapon ErisRail` or `!h EquipWeapon BeoShield` Valid weapons to equip: * ZagSword * NemSword * PosiSword * ArthSword * ZagSpear * AchSpear * HadesSpear * GySpear * ZagShield * ChaosShield * ZeusShield * BeoShield * ZagBow * ChiBow * HeraBow * RamaBow * ZagFist * TalosFist * DemFist * GilgaFist * ZagRail * ErisRail * HestiaRail * LuciRail
Eurydice Nectar `!h EurydiceNectar` Run Gives the player the Eurydice powerup Refreshing Nectar (the next 3 Boons you find have upgraded Rarity)
Flashbang `!h Flashbang` Encounter Turns the screen white instantly then fades back to normal over 5 seconds
Focus Intensifies `!h FocusIntensifies` Encounter Plays the screen effects and audio from the Cerberus summon
Money `!h Money x` Run Gives or takes money from the player. Max gift: 1000. Max take: All of it e.g. `!h Money 100` or `!h Money -100`
Pact Down `!h PactDown pact` Run Adjusts a Pact of Punishment condition down a level e.g. `!h PactDown Extrememeasures` Valid pact conditions: * Hardlabor * Lastingconsequences * Conveniencefee * Jurysummons * Extrememeasures * Calisthenics * Benefitspackage * Middlemanagement * Underworldcustoms * Forcedovertime * Heightenedsecurity * Routineinspection * Damagecontrol * Approvalprocess * Tightdeadline
Pact Up `!h PactUp pact` Run Adjusts a Pact of Punishment condition up a level e.g. `!h PactUp Forcedovertime` For valid options, see ``{=html}Pact Down``{=html}
Rerolls `!h Rerolls` Run Gives or takes rerolls to the player. Range: 5 to -5 e.g. `!h Rerolls 1` or `!h Rerolls -1`
Send Dusa Summon `!h Dusa` Encounter Sends the Dusa summon regardless of which summon is equipped
Send Skelly Summon `!h Skelly` Encounter Sends the Skelly summon regardless of which summon is equipped
Speed `!h Speed x` 20 sec Changes the game speed multiplier for 20 seconds. 1 is normal speed. Higher numbers go faster, lower goes slower. Range: 0.5 to 3 e.g. `!h Speed 3` or `!h Speed 0.5`
ZagFreeze `!h ZagFreeze` 2 sec Freezes Zag in place for 2 seconds
ZagInvulnerable `!h ZagInvulnerable` 10 sec Makes Zag invulnerable for 10 seconds
ZagInvisible `!h ZagInvisible` 30 sec Makes Zag invisible for 30 seconds
Zoom `!h Zoom x` Encounter Changes zoom level of current room. Valid range: 0.2 to 3.0. 0.2 is way zoomed out, 3.0 is way zoomed in. 1 is default. e.g. `!h Zoom 0.5` or `!h Zoom 1` or `!h Zoom 2.2`