GithubHelp home page GithubHelp logo

fvtt-bcdice's People

Contributors

brothersharper avatar ccjmk avatar jsinme avatar spice-king avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fvtt-bcdice's Issues

Feature request: Add link to https://docs.bcdice.org/ for every guide

The default BCDice syntax from the "BCDice" system in fact applies to all systems, with the rest of the systems being derivatives of it. As such any command that would work on BCDice system would work on all other systems.
It would be beneficial to add a link to https://docs.bcdice.org/ at the top of every guide pop-up so that a user can learn the general commands as well as the system-specific ones.

Bug (critical): Error on initial load

The following error is shown when loading a world with BCDice
image
image

Seems to have something to do with load order. This happens with and without modules, so it might depend on when foundry checks for this. To reproduce this I almost always have to load a world in, then refresh the world, after that it will constantly happen.

This leads to the following error when trying to call BCDice
image
image

Include the original command on the chat result

Currently, if I type something such as "1d100 This is my Skill Roll", the strings get discarded and only the command goes through. Please make it so the chat card includes both the original command and the command result. This is so that others can see if there is extra text appended to the command for ease of understanding the roll intent and also understand if the user used a special command (for example, Cthulhu's CC command which rolls a d100)

QoL: automatically add /v2 to the server

Currently, when a user pastes the API server in the settings they need to add a /v2 to access the current API version such as https://bcdice.onlinesession.app/v2. However, V1 and V2 are completely different from each other and V1 is deprecated on BCDice V3.0+. As such it is fine to assume the current latest version of the API will only be V2 and you can automatically add a /v2 at the end of the currently pasted API server in the settings.

This is done so a normal user only needs to paste the server URL, without thinking about API versions. (Might need a note that V1 API servers are not to be used)

Bug: system display resets when closing/opening

Reproduction steps:

  1. open BC dice
  2. select any system
  3. close BC dice and open again
  4. instead of showing last selected system, it resets to BC dice

However, only the display is bugged, internally it is recognizing the last selected system.
Since a user only does this once, this bug should mostly be seen during the assessment of #7 as it is very minor

[Medium] Bug: Reload when closing guide

With the following steps, the current FVTT instance ends up reloading:

  • Open BC dice window
  • Open any system's guide
  • Close the system's guide
  • Type a command (even a wrong one) and hit enter, game reloads

Bug: Some commands escape special characters when sent to API

What is happening

Using BCDice as system, try inputting 2d6+1>=5
Result: (2D6) > 5[2,3] > 5
Expected result: (2D6+1>=5) > 5[2,3]+1 > 6 > 成功

Cause

In the following code, commands are being sent to the API as-is and are not accounting for character escaping.
https://github.com/jsinme/fvtt-bcdice/blob/0.2.2-beta/scripts/bcdice.js#L86

Frequently used characters in BCDice: <>=!@#$ etc.

URLSearchParam could help you in fixing this.

[High] Feature request: Message formatting redux

Related to #4
In order to show who did the roll please format the message as following:

Player name:
Command output

BCDice (Game System Name):
Command Result

The purpose is twofold, show who did the roll, and distinguish between a command that would have the same name but different output depending on the selected system.

Pop out menu QoL

  • Keep the menu on the screen even after the roll button is pressed. The intent is that BC dice is supposed to replace the original dice roller. Perhaps make it a user/GM setting? either way this should be on by default as it is expected behavior from a standard Japanese user that the menu stays on screen.
  • Shortcut key combination to bring up the roller menu and autofocus on the message box ready to type. Perhaps add another key combination such as Shift+Enter to send the command to BC dice, close the menu and return to the default FVTT chat (mostly used for text games, which are prevalent in Japan)

Bug: Add line breaks for command results

Selecting BCDice as system, try inputting "rep3 2d6" which repeats the given roll by 3 times.
The output is as the following image:
image

Desired output would be to have those rolls add a new line break (similar to what you did with the system guide) for each result number.

Bug: Long results escape the chat message card

image
As with the image above, that is an extreme example, but some systems have exploding dies built-in which may yield a long string of results. These results cause the chat card to not wrap the result and thus resulting in the string going beyond the side of the card

Request : Icon Location

캡처

Hello, I'm using Minimal UI Module for my convenience.
I think it would be more convenient if the BC Dice Icon moves under the sidebar icon group of character token, so that it does not breaks other UI modules.
It is a tiny, small request but please consider this.
Thank you for your nice work.

GM can set default system to use

Allow the GM to set what system should be selected by default for all players. Should this be the system selected each time they open the roller, or just the first time it's opened after the setting is set/changed?

Remember last used system

The list of systems is quite huge and one game world would only ever use one system.
Please make it so the GM can set a system as default and also allow users to remember the last selected system.

QoL: Refresh foundry if API server changed

The game list might slightly change depending on the selected server. Foundry should restart if the API server changes so that the module can re-load the game list from the current server.

Dice so nice support

Follow up of #3
Dice so nice uses the size and result of a dice to simulate a 3D roll (it does not to the rolling on its own IIRC)
If you are able to get the size and result of BCdice command output, you could plug it in this module to simulate the roll.
Based on teal dice, below is the repo.
https://gitlab.com/riccisi/foundryvtt-dice-so-nice

This module is the most used module across FVTT due to the visual impact it gives to rolls.

Things to consider:

  • withhold the chat output until dice finishes rolling?
  • what about tables? some commands have tables in them, does the API give the size of the table?

Awareness QoL

FVTT's chat messages are quite instant, it is often hard to spot whether something was rolled. I would like to propose either of the following to fix that:

  • Add Dice So Nice support. The result returned from BC dice 90% of the cases often involve an n-sided die alongside the result, it should be possible to create a new dice so nice roll by giving these two values to it.
  • Add a sound file to be played when bc dice is used. Attached below is a royalty-free, free-to-use sound often used in other Japanese VTTs. Taken from this site (https://commons.nicovideo.jp/material/nc42340 ), it does not need crediting and can be distributed as part of the module.
    nc42340.zip
  • Change the color of the chat message to something identifiable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.