Skip to content

Instantly share code, notes, and snippets.

@h0rs3r4dish
Created December 23, 2010 20:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save h0rs3r4dish/753497 to your computer and use it in GitHub Desktop.
Save h0rs3r4dish/753497 to your computer and use it in GitHub Desktop.
A command reference for the Ruby Dvorak TCG IRC bot

Dvorak TCG Command Reference

All commands need to either be sent to the bot via a PM, or prefixed with the command character (default: ;)

Table of Contents

  1. Rules
  2. Recent Changes
  3. Command Reference
    1. General Commands
    2. Viewing Commands
    3. Card Actions
    4. Tokens
    5. Deckbuilding

Rules

The nature of any Dvorak-based card game is that there are not many rules. As a result, this TCG has few, as well. Most of these rules deal with the engine and not with the game itself.

The goal of the game is whatever the players decide. It could be to gain 10 tokens, or to destroy a certain card, or a MTG-style health battle. No matter what, it is up to the players, since they make the cards. These cards can be made in batches, and entered into a file (then loaded with load set), read through the terminal (using the readcards() function), or entered in one at a time (through the card new command).

Upon joining the Dvorak TCG, a player is given instructions on how to select a starter deck. These decks consist of 27 fixed cards and 3 random ones. Winning a game (winners are declared with the winner command) earns a player 10 credits.

Your card collection can be expanded two ways. Booster packs of 10 random cards are available for 15c from the bot (the pack command). Or, as the trading portion of TCG implies, players may give each other cards. There are no rules as to how this works; the honor system is heavily relied upon. Players may give each other cards using give, and may give credits using give ... credits. Thus, cards can be sold or traded.

As a practical example, there is the included Oloth set of cards. The goal of that game is to get 10 tokens. There are cards that take tokens from other players, give you tokens, and reward the person who discards them with tokens. It is a ~75 card set that will offer a variety to those who play it.

Recent Changes

  • The command for playing a card on another one was changed; it's no longer A onto B, but A on B (since it's shorter but still works just fine)
  • You can now leave games with game leave, and list the players in the game with game list. To keep everything consistant, join was changed to the more fitting game join.
  • Persistant data storage has been added. Players' cards are automatically saved when they trade, at the end of a game, when they get a pack/starter deck, and whenever the set save command is issued.
  • Players can buy starter packs after their first one for 40c
  • Players can have multiple decks. They can be created (deck new), deleted (deck clear), viewed (deck list), activated (deck active), and renamed (deck rename). To list the cards in a deck, use the traditional view deck, but append a deck name to the command.

Command Reference

General Commands

player new This command initiates you into the system under the IRC username you are using. It is required before you can play or aquire cards.

player remove Removes your account in the Dvorak TCG. You lose your deck, all credits, and every card in your collection. This is permanent; to get back into the game, you must run player new again and start over.

starter list List the starter decks available in the current set of cards.

starter [name] Pick a starter deck.

join Join a game, either starting a new one or the one in progress. This uses the deck you have built automatically.

winner [player] Other players must declare the winner as such in order for it to count within the system. This person is awarded 10c.

pack Purchase a 10-card booster pack for 15c.

give [player] [number] credits Give another player a certain amount of credits.

give [player] [number] Give a player a card from your collection. If it is in your deck, it will be removed.

card new [Title]/[Type]/[Body] Create a new card in the set. The Title and Body may contain anything but slashes, while the Type must either be 'A' (Action) or 'T' (Thing).

card clear Clears every card in the game.

load set [name] Loads a set of cards from the host machine's disk. These files are located in data/sets/[name].deck text files. These are formatted the same way as the card new command, but without any prefix; it is a list of newline separated entries in the form of 'Title Text/Type/Body Text' (just as with the command, Type must be either 'T' or 'A').

save set Saves the current set of cards and player decks/collections to a file, to be loaded when the bot starts up again.

print (deck|collection|all) Prints a selection of cards to the host machine's file system (into data/print/[username].html); either your current deck, your entire collection, or every card in the game.

print [card1][, [card2][, ... [cardn]]] Print a selection of cards, referenced by a comma-separated list of numbers.

roll [number1]d[number2] Roll a number of a type of dice. A six-sided die would be 1d6; two of them, 2d6, and so on.

roll coin Flip a coin. Returns heads or tails.

Viewing Commands

view [number] Displays the full details about a card.

view hand This shows your hand during a game.

view table Shows the cards currently in play for all players, and whether or not they are tapped or facedown (these will not be revealed).

view deck Posts your deck to Pastebin and provides you the link to view it.

view deck [name] Post a specified deck to Pastebin.

view collection The same as above, but for your entire collection instead of just your playing deck.

view money Receive a message telling you how many credits you currently have.

Card Actions

draw Draw a card into your hand from your deck.

draw [number] Draw a certain amount of cards, if possible.

play [number] Play a card from your hand.

play [number] facedown Play a card from your hand facedown, so other players cannot see it.

play [number] on [number] Play a crad from your hand onto a card that is already in play.

discard [number] Discard a card, from your hand or your play area.

discard random Discard a random card from your hand.

discard all Discard your entire hand at once.

tap [number] Tap a card.

untap [number] Untap a card.

turn [number] Turn over a card. If it was facedown, it is now normal (face up). If it was previously face up, it is now facedown.

seek (play|deck|discard) [number] Find a card currently either in play, in the discard pile, or in your deck and move it to your hand.

Tokens

tokens Display the current number of tokens for each player.

tokens +[number] Give yourself a certain number of tokens.

tokens -[number] Remove a number of tokens from your pool.

Deckbuilding

Decks may not have more than 4 copies of any one card in them, and are only made up of cards in your collection. As a result, you must own 4 copies to have 4 in your deck.

You can have an unlimited amount of decks saved. However, only one can be active at a time. That active deck is what you add/remove cards from, and what you play with. Decks can share the same cards.

deck add [number] Add a card to your deck.

deck remove [number] Remove a card from your deck.

deck new [name] Create a new deck, which is automatically made your active deck.

deck clear [name] Clear a deck and remove it from your list.

deck rename [old name] [new name] Change the name of a deck.

deck list List your decks.

deck active [name] Set a deck as your current, active deck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment