Skip to content

A Discord bot for Vampire: The Masquerade V20 games

Notifications You must be signed in to change notification settings

OdinMB/SanguinusVtM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SanguinusVtM

A Discord bot for Vampire: The Masquerade V20 games. Created with Node.js and MongoDB.

v0.6

Alpha version.
Test build for chronicle https://www.sanguinus.org/.

Functionality

  • Characters
    -- Create characters and character profiles
    -- Manage character sheets (still missing: Backgrounds, Disciplines, Merits/Flaws)
  • Rolls
    -- Define dice pools with numbers ('!r 7') or stats ("!rs str bra")
    -- Consider stat specialties ('!r 7 spec')
    -- Save rolls to perform them more quickly
    -- Modify stat-based rolls and saved rolls ('!rs str bra -3')
    -- Learn how much the dice gods love you by looking at the luck score, which compares your result to 10,000 other rolls with the same paramters.
  • Blood, Willpower, Health
    -- Spend and get BP, get notified if you risk hunger frenzy
    -- Spend WP and restore WP once a week (with admin command)
    -- Take and heal damage, see wound penalties
  • Combat
    -- Join with saved characters and NPCs (at the same time, if you want)
    -- Get automatic prompts for declaring and resolving actions
    -- Define automatic timeouts to make sure that scenes run smoothly
    -- Pause timers and continue timers at any point
    -- Skip players if they don't respond in time (or because you feel like it)
    -- Perform ini rolls and get ini rankings automatically (ties are decided by ini modifiers and then a coin flip).
    -- Decide if inis should be rolled each round or only once.
    -- Automatically manage additional actions from Celerity
    -- Display combat summaries with combatants and next actions
    -- Manage several battles in different channels at the same time
  • Blood bonds
    -- Perform Vaulderies to create vinculums between any number of players
    -- Automatically perform city-wide Vaulderies
    -- Flag Cainites who drank but did not contribute blood

Commands

  • bp-feed (feed) [(opt) amount]
    Gain BP with your selected character. (Full BP if no amount is provided.)
  • bp-spend (bp) [(opt) amount] [(opt) comment]
    Spends BP with your selected character. Spends 1 BP if no amount is provided.
  • char-all (allchars): Shows a list of all active (and paused) characters.
  • char-my (mychars): Shows a list of your characters.
  • char-new (newchar) [name]: Creates a new character.
  • char-profile (profile, p, show) [name]: Shows the profile of a character.
  • char-select (select) [name]: Selects one of your characters.
  • char-setprofile (setprofile): Creates a profile for your active character. Via DM only.
  • combat [(opt) notimer/slow/medium/fast/blitz] [(opt) fixini]: Starts combat or changes an existing combat.
  • combat-celerity (celerity) [(opt) NPC]: Grants an extra action to your selected character or an NPC.
  • combat-continue (continue, skip): Starts Round 1, skips players, and unpauses timers.
  • combat-declare (declare) [action]: Sets the action of a character in combat.
  • combat-end (end): Ends an ongoing combat in a channel.
  • combat-ini (ini, init) [ini modifier] [(opt) NPC]: Sets the ini of your selected character or an NPC.
  • combat-iniset (iniset) [PC/NPC] [ini] [(opt) ini modifier]: ADMIN ONLY. Sets the ini of a character/NPC.
  • combat-join (join) [(opt) NPC]: Join combat with your selected character or with an NPC.
  • combat-leave (leave) [(opt) NPC]: Leave combat with your selected character or with an NPC.
  • combat-pause (pause): Pauses combat timers. Use combat-continue to continue.
  • combat-resolve (resolved, resolve): Mark a previously declared combat action as resolved.
  • combat-summary (summary): Shows the ini ranking and marks the player who has to act next.
  • damage-heal (heal) [amount] [b/l/a]: Heal damage with your selected character.
  • damage-take (take) [amount] [b/l/a]: Take damage with your selected character.
  • help [(opt) command name]: List all of my commands or info about a specific command.
  • roll-delete [name]: Deletes a saved roll for your selected character.
  • roll-ini [ini modifier]: Rolls your initiative (outside of bot-facilitated combat).
  • roll-load (rl) [roll name] [(opt) +/- modifier]: Performs a previously stored roll for your selected character.
  • roll-my (myrolls): Shows a list of stored rolls for your selected character.
  • roll-save [name] [dice pool] [(opt) difficulty] [(opt) comment] [(opt) "spec"]
    Saves a roll for your selected character under a name.
  • roll-stats (rs) [(opt) difficulty] [stat names 1-3] [(opt) +/- modifier] [(opt) "spec"]
    Performs a roll based on your character's stats.
  • roll (r) [dice pool] [(opt) difficulty] [(opt) comment] [(opt) "spec"]
    Performs a dice roll.
  • sheet-set (ss) [stat name] [value]: Sets a value on the sheet of your selected character. Via DM only.
  • sheet [(opt) character name]: Displays the sheet of your selected character, or any character (admin).
  • status (health): Displays BP, WP, and Health of your selected character.
  • vaulderie [(opt) city] [character names 1-n]: ADMIN ONLY. Updates the vinculum ratings between characters. Use '-name' instead of 'name' for characters who drank but didn't contribute blood.
  • vinculums (myvincs): Shows the vinculums of the selected character.
  • wp-replenish [(opt) character name]
    ADMIN ONLY. Replenishes 1 WP for all active characters, or one character if a name is provided.
  • wp [(opt) comment]: Spends 1 WP with your selected character.

Installation

SANGUINUS_VTM_TOKEN=[Discord bot token]
PREFIX=[special character that precedes the bot commands, e.g. !]
MONGO_URL=[Mongo database connection]

Update

Since things are still very much in flux, it's recommended to empty the Mongo database before updating the bot on your server.