Ada RPG text RPG

Ada RPG is a highly customizable rpg questing game that can be played within a Twitch chat or Discord server. 

This rpg chat bot lets players join together and go on a multitude of procedurally generated quests.  Featuring rich customization, nearly everything (from game settings to quest content) can be customized per the Streamer or Discord server's needs.

If you'd like this bot in your channel/server or have feedback, please let us know in Discord.

For commands and additional info see below!

Join the community

Getting Started

Create your character

!ada start

!ada class <class type>

!ada pronouns <pronouns>

Choose a class

There are three classes to choose from:

Guardian (dps/tank) - can use combat stances

Empath (healer) - can transfer wounds and blood loss from others onto themselves

Seer (dps/support) - can call on spirits to buff the party or themself

Note: All classes can equip all weapons and all armor. 

Questing

To initiate a quest type !quest
!quest

Quests may be joined by multiple players, the party's size and  average level affects which enemies and locations they may encounter! 

Healing & Reviving

Healing & Reviving
!heal

!revive

!revive <target player>


Healing consumes potions. Reviving others is much more likely to succeed than reviving yourself.  Potions may only be used / purchased while at the settlement.

Character Info

To view your character type !character

!character

Other player info commands:
!health
!gold
!experience

Note: All the above commands may optionally target another player

Purchasing items

Purchasing items
!ada shop

!ada buy <item> <quantity>


Use the shop and buy commands to purchase potions and gear.  To view available items use !ada shop.  To buy an item use !ada buy <item> <optional quantity>

Ex. (these are all valid ways to buy one potion)

!ada buy potion 1
!ada buy pot 1
!ada buy pot

Note: Potions purchased are stored in the settlement's warehouse for communal use.


Ex. Buying a shield, you do not need to specify a quantity for other items-

!ada buy wooden shield
!ada buy wooden sh
!ada buy purple scarf


Note2: The merchant will display several items at a time.  These items refresh every so often.  Buying an item immediately equips it and cannot be undone.  The bot will warn you if the purchase would replace an item, and will ask to confirm your purchase.

Note3: There are two currencies, gold and plats.  Plats typically drop only from bosses and can be used to purchase high level items.

Note4: To see all shop items and info about them type "!ada info"

Guild Inventory

View guild inventory:
!inventory

To use or equip an item, use:
!use <item name>
!equip <item name>

Class abilities

Empath:

!transfer <player target>

Selfless healers, Empaths gain access to the !transfer command. Use of this ritual allows an Empath to transfer wounds and blood loss from other players onto themselves.

After performing this ritual, the Empath slowly regenerates this lost health automatically over a period of 2 mins.  After healing, the Empath has a chance to inflict a painful attack against an enemy.


Guardian:

!stance <stance type>

After years of intense training Guardians master a variety of physical stances that augment their combat capabilities.   

Protection - Natural leaders, Guardians in protection stance will place themselves between the enemy and a party member in need of help.  They receive a bonus to defense especially when a shield is equipped. 

Berserker - "The best defense is a powerful offense".  In exchange for increased damage output, this Berserker stance receives more damage in turn.  Occasionally enrages when taking damage.  This enrage is more potent when the Berserker has less health.

Balanced- A balanced stance with a good mix of offensive and defensive capabilities.  Guardians in Balanced stance can parry as well as perform a flurry of strikes attack.  They also have increased critical and dodge chances.


Seer:

!attune <element>

Seers may attune to spirits in the area.  Through their relationship with the spiritual world, they obtain elemental abilities that vary by element type.

Fire - Attacks have a chance to proc a fire burst inflicting massive damage.
Wind - The parties critical & dodge chances are greatly enhanced.
Water - Attacks have a chance to proc a soothing mists, healing a party member.
Earth - Earth ward has a chance to shield the party from AOE attacks.

Stats, Leaderboards, Aliases


Command aliases
Several commands have command aliases to make it easier to type or avoid similar commands of other bots:

!quest - !q
!character - !char
!health - !hp
!gold- !g, !bank !purse, !plat
!experience - !exp

To view your character's lifetime or season stats type:
!stats

!stats <you can optionally use "season" or "lifetime">

Leaderboards
Similar to stats, the leader board shows the top players for all collected stats in game.

!leaderboard

Leaderboard usage: "!leaderboard <season | lifetime> <stat name> <num entries>".
For example, to display the top players for this season vs lifetime damage:
!leaderboard damage
For the same leaderboard but over all player lifetimes:
!leaderboard lifetime damage

Note: Any stat appearing in !stats is also tracked in the leaderboards!

More commands


Check everyone's health
!whohurt

Dueling
!ada duel <playerName>

Ask Ada a question
!ada ai <your question or statement here!>

Twitch shoutout
!ada so <twitch channel name>


Add gold / plats
!addgold <playerName> <amount>

!addplat <playerName> <amount>


Add or Remove items to/from the warehouse
!addItem <item name> <optional qty>

!removeItem <item name> <optional qty>

Admin & Configuration

Admin commands

!adaset <option> <value>

(If you want to disable / enable the bot use the Active flag)

!adaset Active <true / false>

(To allow bot to be used even when the Twitch broadcaster is OFFLINE)

!adaset AllowOfflinePlay <true/false>

(Whether the bot may be used while the broadcaster is ONLINE)

!adaset AllowOnlinePlay <true/false>

!adaset QuestCooldown <seconds>

!adaset AnnounceQuests <true/false>

!adaset SecsBetweenQuestAnnounces <seconds>

!adaset PartyJoinPhaseSecs <seconds>

!adaset PotionCooldownSecs <seconds>

!adaset NumChatsNeededBetweenAnnouncements <number>

!adaset ContinentName <name>

!adaset SettlementName <name>

!adaset NumShopItems <number of shop items>

!adaset ShopRefreshMins <shop refresh time in mins>

!adaset BossCooldownMins <Boss cooldown in mins>

(To set the likelyhood of Combat vs Non-Combat quests, set the percent as below.  ex. 100 is always combat quests, 80 would be 80% combat quests and 20% non combat quests)

!adaset  CombatQuestPercent <percent>

(If you want to fully heal someone with admin power, use the below)

!adaset heal <player target name>

Content sheet users- you can refresh your channel's game data using

!adaset RefreshData

(DANGER, these commands cannot be undone!)

These commands can be used to reset settings to default, or reset all player and guild inventory.  Players will need to recreate their characters after this. (Note: A player's lifetime stats persist between these resets).  Resetting clears the current season's stats.

!adaset ResetAllSettings

!adaset ResetAllProgress

(Admin commands may only be performed by mods or the broadcaster)

The bot should be given mod privileges or it may not function correctly

Note: The bot polls your Twitch channel to see when you are actively streaming. While you are not streaming the bot will not accept commands except for admin commands.

For Discord: the bot will monitor ONE channel of your choice. In that channel it needs the following three permissions:

-View Channel
-Send Messages
-Embed URLs

Customizing this bot

Customizing Quests, MOBs, Items, Levels, AI personas, etc

Beyond basic settings previously mentioned- many other aspects of this bot may be customized.
Quests, Player Items, MOBs, AI themes/personas, and many other things may be customized for trusted partners via a content sheetPlease ask Ribbons if you are interested in this.

Feedback & Support

Feedback
Your feedback on this project is extremely important! Please let Ribbons know of any bugs or your feeling about quest pacing, bot spam, cooldowns or anything else you'd like to see implemented.

A major challenge of creating a twitch chat bot is being mindful of twitch chat limits as well as allowing the bot to be customized per streamer based on their desires on how "obtrusive" the bot can be in their channel.

Thank you for supporting this project.  It's been a lot of fun developing it! :)