GNOLL icon indicating copy to clipboard operation
GNOLL copied to clipboard

Understand if GNOLL supports TTRPGs marked 'likely'

Open ianfhunter opened this issue 2 years ago • 11 comments

Is your feature request related to a problem? Please describe.

https://www.ianhunter.ie/GNOLL/etc/supported_rpgs.html shows GNOLLs support over a range of TTRPGs. However, we were not able to find the full rules in all cases. This task is to look at our list and find out if any of the items marked 'Likely' can be promoted to 'Supported'

Describe the solution you'd like

Open a PR changing the icon and adding a reference/link to the rules where the system's dice mechanics are explained.

Describe alternatives you've considered

Additional context

ianfhunter avatar Sep 25 '22 09:09 ianfhunter

hey there can you explain me what do I have to do to check weather the items marked as likely can be promoted to supported

CodeWAdi avatar Oct 10 '22 12:10 CodeWAdi

On this page There is a big list of RPG systems. The ones with a "🔼" symbol are "likely supported by GNOLL". However, we were not able to know for certain because we did not have the full rules.

In order to change an entry from a 🔼 to a ✔️ we need to understand what type of dice rolling is used in the game.

  • Find out what type of dice rolls are used in the game
  • Check if those rolls can be executed with GNOLL
  • If we're able to make a decision, create a PR to change the 🔼 to a ✔️ OR ❌with a description of the steps above (what rolls are needed, and if GNOLL supports it)

Bonus: Add a unit test in tests/python/systems for the game

ianfhunter avatar Oct 10 '22 13:10 ianfhunter

Hey, can I pick this up? :)

oliviacarino avatar Oct 15 '22 16:10 oliviacarino

Hey, can I pick this up? :)

Certainly! There's lots to do on this one

ianfhunter avatar Oct 15 '22 17:10 ianfhunter

@ianfhunter I installed GNOLL using pip3 install GNOLL, used the following 2 lines:

from gnoll.parser import roll
roll("1d20")

and this error occurred when I executed it:

olivia:~/Dropbox/Coding/Hacktoberfest2022/gnoll-stuff$ python3 test.py
ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths!
Invoking:
  LC_ALL=C /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.*include/,${' -e '/^ \/.*++/p' -e '}'
Results was:
With exit code 0
Warning: sysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" not found (ignoring for now).input_line_1:1:10: fatal error: 'new' file not found
#include <new>
         ^~~~~
Warning in cling::IncrementalParser::CheckABICompatibility():
  Failed to extract C++ standard library version.
In file included from input_line_3:1:
In file included from ./include/RtypesCore.h:23:
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/etc//cling/lib/clang/9.0.1/include/stddef.h:35:9: error: unknown type name '__PTRDIFF_TYPE__'
typedef __PTRDIFF_TYPE__ ptrdiff_t;
        ^
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/etc//cling/lib/clang/9.0.1/include/stddef.h:46:9: error: unknown type name '__SIZE_TYPE__'
typedef __SIZE_TYPE__ size_t;
        ^
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/etc//cling/lib/clang/9.0.1/include/stddef.h:74:9: error: unknown type name '__WCHAR_TYPE__'
typedef __WCHAR_TYPE__ wchar_t;
        ^
input_line_3:2:10: fatal error: 'string' file not found
#include <string>
         ^~~~~~~~
0  libCling.so              0x000000010a8086c5 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  libCling.so              0x000000010a807947 llvm::sys::RunSignalHandlers() + 39
2  libCling.so              0x000000010a808c62 SignalHandler(int) + 258
3  libsystem_platform.dylib 0x00007fff204e0d7d _sigtramp + 29
4  libsystem_platform.dylib 0x00007ff49df10198 _sigtramp + 18446744028572742712
5  libCling.so              0x00000001082156a8 CppyyLegacy::TMetaUtils::TNormalizedCtxt::TNormalizedCtxt(cling::LookupHelper const&) + 40
6  libCling.so              0x00000001082cf32f CppyyLegacy::TCling::TCling(char const*, char const*, char const* const*) + 12607
7  libCling.so              0x00000001082c7f45 CreateInterpreter + 53
8  libCoreLegacy.so         0x000000010b908826 CppyyLegacy::TROOT::InitInterpreter() + 214
9  libCoreLegacy.so         0x000000010b908702 CppyyLegacy::Internal::GetROOT2() + 34
10 libCling.so              0x00000001082ab99d TCling__GetInterpreter + 61
11 libCling.so              0x0000000108274497 RootClingMain(int, char**, bool) + 18887
12 libCling.so              0x0000000108284644 ROOT_rootcling_Driver + 340
13 rootcling                0x0000000107e80f5e main + 142
14 libdyld.dylib            0x00007fff204b6f3d start + 1
Stack dump:
0.	Program arguments: ./bin/rootcling -rootbuild -generate-pch -f /var/folders/5g/zx4jsxj11zgbw_lq_156xzl00000gn/T/allDict.cxx -noDictSelection -D__CLING__ -DROOT_PCH -I./include -I./etc -I./etc/dictpch -I./etc/cling -I/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/include -cxxflags -std=c++17 -m64 -pipe -fsigned-char -fno-common -Qunused-arguments -pthread -stdlib=libc++ etc/dictpch/allHeaders.h etc/dictpch/allLinkDefs.h 
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/loader.py:139: UserWarning: No precompiled header available (failed to build); this may impact performance.
  warnings.warn('No precompiled header available (%s); this may impact performance.' % msg)
ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths!
Invoking:
  LC_ALL=C /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.*include/,${' -e '/^ \/.*++/p' -e '}'
Results was:
With exit code 0
Warning: sysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" not found (ignoring for now).input_line_1:1:10: fatal error: 'new' file not found
#include <new>
         ^~~~~
Warning in cling::IncrementalParser::CheckABICompatibility():
  Failed to extract C++ standard library version.
Replaced symbol atexit cannot be found in JIT!
Replaced symbol at_quick_exit cannot be found in JIT!
In file included from input_line_3:1:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/include/Rtypes.h:22:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/include/RtypesCore.h:23:
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/etc//cling/lib/clang/9.0.1/include/stddef.h:35:9: error: unknown type name '__PTRDIFF_TYPE__'
typedef __PTRDIFF_TYPE__ ptrdiff_t;
        ^
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/etc//cling/lib/clang/9.0.1/include/stddef.h:46:9: error: unknown type name '__SIZE_TYPE__'
typedef __SIZE_TYPE__ size_t;
        ^
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/etc//cling/lib/clang/9.0.1/include/stddef.h:74:9: error: unknown type name '__WCHAR_TYPE__'
typedef __WCHAR_TYPE__ wchar_t;
        ^
In file included from input_line_3:1:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/include/Rtypes.h:25:
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cppyy_backend/include/snprintf.h:14:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
File Edit Options Buffers Tools Text Help                                                                                               
97  [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_Vector (no debug info)
98  [/Library/Frameworks/Python.framework/Versions/3.10/Python] call_function (no debug info)
99  [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_EvalFrameDefault (no debug info)
100 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_Vector (no debug info)
101 [/Library/Frameworks/Python.framework/Versions/3.10/Python] call_function (no debug info)
102 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_EvalFrameDefault (no debug info)
103 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_Vector (no debug info)
104 [/Library/Frameworks/Python.framework/Versions/3.10/Python] call_function (no debug info)
105 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_EvalFrameDefault (no debug info)
106 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_Vector (no debug info)
107 [/Library/Frameworks/Python.framework/Versions/3.10/Python] object_vacall (no debug info)
108 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyObject_CallMethodIdObjArgs (no debug info)
109 [/Library/Frameworks/Python.framework/Versions/3.10/Python] PyImport_ImportModuleLevelObject (no debug info)
110 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_EvalFrameDefault (no debug info)
111 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyEval_Vector (no debug info)
112 [/Library/Frameworks/Python.framework/Versions/3.10/Python] pyrun_file (no debug info)
113 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyRun_SimpleFileObject (no debug info)
114 [/Library/Frameworks/Python.framework/Versions/3.10/Python] _PyRun_AnyFileObject (no debug info)
115 [/Library/Frameworks/Python.framework/Versions/3.10/Python] pymain_run_file_obj (no debug info)
116 [/Library/Frameworks/Python.framework/Versions/3.10/Python] pymain_run_file (no debug info)
117 [/Library/Frameworks/Python.framework/Versions/3.10/Python] pymain_run_python (no debug info)
118 [/Library/Frameworks/Python.framework/Versions/3.10/Python] Py_RunMain (no debug info)
119 [/Library/Frameworks/Python.framework/Versions/3.10/Python] pymain_main (no debug info)
120 [/Library/Frameworks/Python.framework/Versions/3.10/Python] Py_BytesMain (no debug info)
121 [/usr/lib/system/libdyld.dylib] start (no debug info)
122 [<unknown binary>] (no debug info)

Do you know why this is happening?

oliviacarino avatar Oct 22 '22 16:10 oliviacarino

@ianfhunter I installed GNOLL using pip3 install GNOLL, used the following 2 lines: .... Do you know why this is happening?

It looks like you are using a Mac. I have only tested GNOLL on Windows and Linux (I don't own a Mac). I will try to investigate though!

Another library with this issue suggested that you run xcode-select --install before installing

(https://root-forum.cern.ch/t/cannot-extract-standard-library-include-paths/27494/6)

ianfhunter avatar Oct 22 '22 19:10 ianfhunter

Ah, no worries! I have a windows machine as well and will run it on there :)

I'll try running that command as well on my mac and see how it goes!

oliviacarino avatar Oct 22 '22 19:10 oliviacarino

I tried running it on my Windows machine and the module fcntl is not supported on Windows, so I can't install GNOLL :(

oliviacarino avatar Oct 24 '22 22:10 oliviacarino

I'm going to do the best I can and research some of the TTRPGs that haven't been evaluated yet. I'll add the appropriate emoji symbol based on what I find! I hope this can count towards a valid PR!

oliviacarino avatar Oct 24 '22 22:10 oliviacarino

@ianfhunter created a PR here! https://github.com/ianfhunter/GNOLL/pull/353 Updated the Adventurer's Guild

oliviacarino avatar Oct 24 '22 22:10 oliviacarino

@ianfhunter Hey! Is it okay to merge this PR, yet? Just checking since tomorrow is the last day of hacktoberfest!

oliviacarino avatar Oct 31 '22 01:10 oliviacarino