Simple, command line based player toolkit for the Ironsworn tabletop RPG

isscrolls - Command line based player toolkit for the Ironsworn tabletop RPG

isscrolls is a simple toolkit for players of the Ironsworn tabletop RPG. It is intended for both solo and co-op player and allows to roll different dices such as action or oracle rolls. It also provides results from the static oracle tables from the official rulebook.

Although there are several Ironsworn player toolkits available, there was none for the command line. Since I prefer working in a terminal, I wrote isscrolls. Think of it as the most Unix-like Ironsworn experience you'll ever see. Besides that, you can play it over SSH or even in a shared terminal session (with tmux or screen).

isscrolls screenshot

Features

The following game mechanics are already implemented:

  • All Adventure moves
  • Automatic progress tracking for journey
  • All Combat moves
  • Automatic progress tracking for fights
  • All Quest moves
  • Most of the Relationship moves
  • Most of the Delve moves
  • Support for various oracle tables such as names, locations, etc

Installation

isscrolls is written in C and known to work on the operating systems listed in the table below. To compile it you need the following things:

Dependencies

Install the dependencies as follows:

Operating System Commands and Notes
Arch Linux Both depenencies should already be installed by default. Otherwise, pacman -Syu gcc make json-c readline will install them
Debian Linux apt install libreadline-dev libjson-c-dev
Fedora Linux dnf install readline-devel json-c-devel
FreeBSD pkg install readline json-c
NetBSD pkgin install readline json-c You also need to add -I/usr/pkg/include to CFLAGS and -L/usr/pkg/lib to LDADD in the Makefile
OpenBSD pkg_add json-c
Ubuntu Linux apt install libreadline-dev libjson-c-dev
Void Linux xbps-install gcc make readline-devel json-c-devel

Compilation and Installation

By default, the Makefile looks for external includes and libraries in /usr/local/include and /usr/local/lib. If your distribution uses special path, you have to modify the Makefile accordingly.

Compile and install with the following commands:

$ make
# make install

Usage

isscrolls presents the user with a command prompt and accepts various commands. A built-in help can be seen by entering help at isscrolls' command prompt.

Example

> action 3
D6: 3+3=6 D10: 5, 7 -> weak hit
> trollname
Slith (72)
> oracle
80

All commands including their usage patterns are described in the man page.

If you're using isscrolls with a braille display, use the -b Option to suppress the banner on startup.

FAQ

isscrolls doesn't support all possible Ironsworn moves yet. Yes, I know and sometimes this is intentional. I usually implement moves as soon as I miss one during my own solo-player campaign.

I really need move X to continue my journey. Then please open an issue here and I'll take care of it.

Why does isscrolls so often refers to the official rulebook? The program should help you in keeping track of your character's progress. However, it cannot replace the GM in your campaign. In order to give the player as much freedom as possible, I refrain from doing everything automatically and instead redirect you to the rulebook.

License

isscrolls was written by Matthias Schmidt and is licensed under the ISC license. The Ironsworn material was written by Shawn Tomkin and is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

Owner
OpenBSD user ● DragonFly BSD committer (retired) ● Works in IT Security
null
Similar Resources

A single header C++ library for parsing command line arguments and options with minimal amount of code

Quick Arg Parser Tired of unwieldy tools like getopt or argp? Quick Arg Parser is a single header C++ library for parsing command line arguments

Dec 21, 2022

CLIp is a clipboard emulator for a command line interface written in 100% standard C only. Pipe to it to copy, pipe from it to paste.

CLIp v2 About CLIp is a powerful yet easy to use and minimal clipboard manager for a command line environment, with no dependencies or bloat. Usage Sy

Sep 18, 2021

pbr2gltf2 is a command line tool for converting PBR images to a glTF 2.0 material.

pbr2gltf2 is a command line tool for converting PBR images to a glTF 2.0 material.

pbr2gltf2 is a command line tool for converting PBR images to a glTF 2.0 material. The tool is detecting depending on the filename, which PBR information is stored. It swizzles the images and does reassign the channels to a glTF 2.0 image. The tool stores the images plus a minimal, valid glTF 2.0 file containing the required material, textures and images.

Jul 31, 2022

cmdlime - is a C++17 header-only library for command line parsing with minimum of code and pain things to remember

cmdlime - is a C++17 header-only library for command line parsing with minimum of code and pain things to remember

Possibly the least verbose command line parsing library for C++

Dec 27, 2022

A command-line tool to display colorful distro information.

A command-line tool to display colorful distro information.

sjfetch A command-line tool to display colorful distro information.

Apr 6, 2022

LwSHELL is lightweight, platform independent, command line shell for embedded systems.

LwSHELL is lightweight, platform independent, command line shell for embedded systems. It targets communication with embedded systems from remote terminal to quickly send commands and the retrieve data from the device.

Dec 25, 2022

Toybox: all-in-one Linux command line.

Toybox: all-in-one Linux command line.

Dec 27, 2022

Command-line flag parsing in C

flag.h Inspired by Go's flag module: https://pkg.go.dev/flag WARNING! The design of the library is not finished and may be a subject to change. Quick

Nov 10, 2022

A command line tool with no external dependencies to print information about an X server instance.

xinfo A command line tool with no external dependencies to print information about an X server instance. Building and running To build the code in thi

Jan 13, 2022
Comments
  • Feature Request: Implement Failure Track

    Feature Request: Implement Failure Track

    One thing I always have trouble remembering to do is record my misses on the failure track. I noticed that Mark Your Failure and Learn From Your Failures are listed in the initial commit of moves. In order of importance, I think it would very helpful to have a failure track which:

    1. Can be adjusted manually like the bond track
    2. Reports failure track progress when the character info is printed
    3. Automatically tracks misses on moves and progress moves
    4. Automatically applies new experience and clears the progress per the Learn From Your Failures move
  • error: implicit declaration of function ‘json_object_array_del_idx’

    error: implicit declaration of function ‘json_object_array_del_idx’

    I'm trying to get this running in Debian on WSL, I've followed the instructions on the main page, but this is what happens when I run make:

    ***@***:~/isscrolls$ make cc -O2 -pipe -fdiagnostics-color -Wno-unknown-warning-option -Wpedantic -Wall -Werror-implicit-function-declaration -Wno-format-truncation -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -Wswitch-enum -Wunused-parameter -Wuninitialized -Wformat-security -Wformat-overflow=2 -I/usr/local/include pkg-config --cflags json-c -o character.o -c character.c character.c: In function ‘save_character’: character.c:611:5: error: implicit declaration of function ‘json_object_array_del_idx’; did you mean ‘json_object_array_get_idx’? [-Werror=implicit-function-declaration] json_object_array_del_idx(items, i, 1); ^~~~~~~~~~~~~~~~~~~~~~~~~ json_object_array_get_idx character.c: At top level: cc1: warning: unrecognized command line option ‘-Wno-unknown-warning-option’ cc1: some warnings being treated as errors make: *** [Makefile:44: character.o] Error 1

A simple to use, composable, command line parser for C++ 11 and beyond

Clara v1.1.5 !! This repository is unmaintained. Go here for a fork that is somewhat maintained. !! A simple to use, composable, command line parser f

Dec 27, 2022
CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.

CLI11: Command line parser for C++11 What's new • Documentation • API Reference CLI11 is a command line parser for C++11 and beyond that provides a ri

Dec 30, 2022
A simple to use, composable, command line parser for C++ 11 and beyond

Lyra A simple to use, composing, header only, command line arguments parser for C++ 11 and beyond. Obtain License Standards Stats Tests License Distri

Dec 22, 2022
Simple command line tool that processes image files using the FidelityFX Super Resolution (FSR) or Contrast Adaptive Sharpening (CAS) shader systems.

Simple command line tool that processes image files using the FidelityFX Super Resolution (FSR) or Contrast Adaptive Sharpening (CAS) shader systems.

Dec 12, 2022
Simple command line utilities for extracting data from Fallout 4 and 76 files

fo76utils Simple command line utilities for extracting data from Fallout 4 and 76 files. baunpack - list the contents of, or extract from .BA2 archive

Dec 6, 2022
A simple command line application in order to create new Code workspaces.

mkcws Summary A simple command line application in order to create new Code workspaces. License This project's license is GPL 2. The whole license tex

Apr 1, 2022
Simple command line tools to create/extract X4 .cat+.dat files

x4cat Simple command line tools to to create/extract X4 .cat+.dat files x4encat Usage: x4encat <archive name> Looks for a directory named <archive nam

Oct 31, 2021
Simple Driver loading command-line utility.

lddrv Simple Driver loading command-line utility. Command Line Load a driver: "lddrv.exe -operation create -binpath C:\Dev\TestDriver.sys -svcname Tes

Sep 8, 2022
A library for interactive command line interfaces in modern C++
A library for interactive command line interfaces in modern C++

cli A cross-platform header only C++14 library for interactive command line interfaces (Cisco style) Features Header only Cross-platform (linux and wi

Dec 31, 2022
Lightweight C++ command line option parser

Release versions Note that master is generally a work in progress, and you probably want to use a tagged release version. Version 3 breaking changes I

Dec 30, 2022