I am a hobby programmer, so when I see a problem in Shadowrun that can be addressed by software, I break out a compiler. I live in macOS-land, so Xcode is my tool of choice. I’ll post these tools here for people to use.
SR6 Combat Tool App
This is my biggest coding project I’ve done in quite a while. It’s an app designed to take care of handling the administrative aspects of running combats in Shadowrun, provide for quick access to the rules, and automate dice rolling – while the at the same time giving the GM maximum flexibility.
The source code can be found GitHub – https://github.com/epichon/SR6-Combat-Tool.
SR6 Dice Roller App
This is little stand-alone application for rolling dice. It is pretty much the dice roller section of the main combat tool, pulled out and made it’s own little app. It also includes support for extended tests.
Running Apps in Windows
As noted above, these are written for macOS (10.14 and later). Porting to Windows (or Linux) would require a complete rewrite, as the tool uses Apple’s Core Data framework. All is not lost – you have two options:
- Build a hackintosh. You can find tutorials online.
- Run macOS in a virtual machine. VirtualBox is free. The tools aren’t exactly computationally intensive, so you shouldn’t have any trouble running in a VM. Here’s a good tutorial: https://www.dev2qa.com/how-to-install-macos-on-virtualbox-in-windows-10/
SR6 Character Sheet (Numbers)
Mostly as an exercise to keep my spreadsheet skills sharp, and a mental exercise to see if it could actually be done, I’ve put together an SR6 Character Sheet. It includes character creation, full inventory control and reference information (for stuff in the core SR6), karma logging, lifestyle tracking, etc. It also includes stuff from 5th edition for lifestyle customization, vehicle and drone customization. Once those rules get updated to 6th edition, I’ll update the tools.
The apps use the Marsenne Twister random number generator, from Dick van Oudheusden, under GPL 2.0. A very nice piece of code that I use for the dice rolling routines.