-
Notifications
You must be signed in to change notification settings - Fork 0
GM Guide
This is the guide for gamemasters (by default assigned to those that set up the Fecht).
Basically, a Fecht can be hosted on any given text channel via the command: !fechtstart. When a fecht is hosted, certain chat functions are locked and the chat channel operates in a special game mode. To stop hosting a fecht under that given channel, use !fechtstop. You can use this approach to restart a new fecht within the same channel as well.
WARNING: I did not lock this command so it's available for everyone/anyone to use. (Be careful/polite not to kill off any game currently in progress unless you get persmission from the GM or something!).
This is optional. By default , the !fechtstart creates a new Fecht with 2 default sides named Side A and Side B. To reconfigure the sides available for joining, supply a JSON-parsable (javascript) String array to the !sides command like so:
!sides ["Players", "Monsters"]
You can assign 1 or more sides as you wish, or even set it to any empty array []. It's up to you.
By default, all Sides available for joining by anyone is shown only in the first board entry typically. To re-reveal it, you can use the !sides command standalone.
To hide all other empty Sides for shortened display, use !sides-hide. To also clean up any user character states (invalid users/invalid/mispelled/unused character handles, etc.) in the backend database storage/memory that happens to no longer belong to any listed Sides, you can use !sides-purge.
Phases are means of advancing the game through various stages and will be used as a primary means of managing how manuevers (ie. user actions) are resolved based on various settings. The settings/examples will be covered in a seperate document.
Essentially, Phases is simply an ordered JSON-parsable array of objects. These make up an entire Round.
eg. Set up command for 3 empty phases using default settings.
!phase [{}, {}, {}]
Be warned though, when you reset the phases above in such a manner. the phase counter resets back to zero. Ensure you only do this when it's no one's turn and thus no one is busy!
The game has a standard counter in the format of:
<Round>.<Phase>:<Turn>.<MiscTurn>
As of now, Turn isn't used for the current alpha as it represents the automatic turn management counter progressing forward (auto-initiative management feature not included yet atm). So MiscTurn is used instead for multiple turns set up manually by the GM. Once the Round/Phase/Turn changes, MiscTurn typically resets back to zero.
As of now, in order to advance the game forward, the GM has to manually set up turns explicitly for specific players using @ mentions. @ mentions can include an additional character-handle to represent a character under the user's control , such as @<User>:some-custom-character-handle.
!turn @<User2>!turn @<User2> @<User3>!turn @<User2>:friendly-guy!turn @<User1>:some-custom-handle @<User1:another-character-handle> @<User2> @<User3>
You can set up turns for 1 or multiple users based on the mentions in your message.
Take note that turn management commands are conventionally operated by the GM, but in the event he is not around, players may act as GM with regards to turn management.
To force a turn to end in it's current state, use: !endturnall
To force a turn to be skipped and all turn sayings (!say commands) and manuevers being drafted to be cleared/ignored, use !skipturnall.
Once a turn has finished due to forced-ending or the mentioned players hit the Finish turn button, the GM may advance the game forward by either resolving any stored manuevers, setting up a new turn, or advancing to the next phase (or to a different phase).
Be warned though, once you proceed to a new phase, all stored manuevers will be deleted off!
Phase navigation commands can ONLY be used when it's not anyone's turn. eg. These are:
-
!p >Advance the phase a single step forward, or loops back to 1st phase (phase 1) for the next round if you are already at the last phase. -
!p >3Advance forward to phase 3. If you are already in phase 3 or higher, this will advance forward to next round's phase 3. -
!p 0Sets the phase to step 0. A "step 0" phase refers to a nameless(default setting) phase that can be used for miscellaneous purposes, and turns are manually set by the GM for such cases or can be used to handle miscellaneous things outside the conventional game loop.
Setting phase to a specific number within the current round
-
!p 4Sets the phase to step "4". (ie. the the phase) within the current round -
!p 1Sets the phase to step "1" (ie. the 1st phase) within the current round
Unexecuted manuevers for players' turn, will be stored in the Fechtboard display. To spill these out and execute them, there are two options:
!res!res all
First option !res allows you selectively decide what rolls to execute, or edit/modify them. These are known as "resolvables" and they have a ▶ play button icon that the GM can use to execute the manuevers and any dice rolls assigned to them. The "resolvables" are listed in reverse order of stipulated resolution order (depending on the phase settings). Thus, the "first to execute move" is listed bottomost. Typically, the GM clicks the play buttons from the bottom up order to execute the rolls.
Second option !res all will execute all of the stored manuevers in stipulated resolution order. (depending on the phase settings).
To edit the manuevers, simply copy the entire text for pasting into chat. (On mobile app, you can tap hold on the message, wait for the dialog to appear, and hit on "Copy Text"), then paste it into chat box , adjust the values (be-careful, not to change the slot number!), and hit enter/submit. Voila, the bot should edit the message with the newly updated rolls, assuming your roll expression is valid.