Skip to content

amclees/hyena

Repository files navigation

Hyena

Build Status Code Climate Test Coverage security

Hyena is a Discord bot written in Ruby with discordrb that provides tools for roleplaying games.

Installation

  1. Install discordrb. As of now, Hyena does provide voice features and thus does not require libsodium, libopus, and FFMPEG.

  2. Clone this repository

  3. Run $ bundle install in the location where you cloned this repository (If you do not have bundler install, run $ gem install bundler first)

  4. Create a config.yml file based off config_sample.yml and put in your bot token and id (If you don't have them, request them at Discord's website).

  5. Run Hyena using the following command:

$ ruby main.rb

If you would like to run Hyena 24/7, look into a VPS (Digital Ocean offers a $5/month plan).

Features

Dice

Hyena provides full-featured dice-rolling with standard notation used in tabletop games.

Examples
  • Rolling ability scores

    amclees: 4d6

    Hyena: 3 3 6 2

    amclees, you rolled a 1️⃣4️⃣ on a 4d6

    You rolled a natural 6️⃣ 😍

  • Rolling initiatives for a crowd of 16 goblins (With +1 initiative)

    amclees: 16d20 *+ 1

    Hyena:
    21 3 20 20 20 9 3 11 8 4 11 5 12 14 18 21

    amclees, you rolled a 2️⃣0️⃣0️⃣ on a 16d20*+1

    You rolled a natural 2️⃣0️⃣ 😍

Turn Order Management

Hyena handles turn order including initiative ties and allows for easy management of multiple combat scenarios.

Example - Making a Scenario

amclees: .combat new dwarven_embassy

Hyena: Successfully created new scenario called: dwarven_embassy

amclees: .combat add 1 Dwarf 7

Hyena: amclees, your combatants have been added.

amclees: .combat run

Hyena:

Round 1 of dwarven_embassy
Dwarf +1 (#2) - Initiative: 20.77
Dwarf +1 (#3) - Initiative: 12.65
Dwarf +1 (#1) - Initiative: 11.03
Dwarf +1 (#4) - Initiative: 10.8
Dwarf +1 (#7) - Initiative: 10.12
Dwarf +1 (#5) - Initiative: 4.47
Dwarf +1 (#6) - Initiative: 4.1

Session Announcements

Starting a session when all players use Discord can be made much simpler with Hyena. Hyena will automatically mention everyone, including members playing games specifically.

Example - Starting a Session

amclees: .playing on

Hyena: @everyone Session starting, get in voice!

@darksouls_fan Stop playing Dark Souls and join the session.

@developer_1 Stop playing Atom and join the session.

Planned Features

Long-term

  • Locational variation handler for prices
  • Encounter generation
  • Player data and skill checks
  • XP calculation
  • Treasure splitting calculator
  • Treasure generator
  • Multiserver support

Short-term

  • Support for playing audio files in voice
  • Player monthly budget and expense planning

More features will come after these planned features, Hyena is still early in development.

About

Discord bot with tools for D&D

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages