Steve Jackson Games - Site Navigation
Home General Info Follow Us Search Illuminator Store Forums What's New Other Games Ogre GURPS Munchkin Our Games: Home

Go Back   Steve Jackson Games Forums > Roleplaying > GURPS

Reply
 
Thread Tools Display Modes
Old 08-03-2020, 12:33 PM   #1
mehrkat
 
mehrkat's Avatar
 
Join Date: Feb 2005
Location: Austin Texas
Default anyone done any Roll20 GURPS tools

Hi I've tried searching for this on the forums and GURPS and all I found was a request to add a toolset there. I was just curious if people had created useful tools to assist with using GURPS on Roll20
__________________
He stared out in the distance to see the awesome might of the Meerkat war party.
mehrkat is offline   Reply With Quote
Old 08-03-2020, 02:18 PM   #2
mook
 
mook's Avatar
 
Join Date: Aug 2004
Location: Los Angeles
Default Re: anyone done any Roll20 GURPS tools

Hiya, Mehrkat,

I've never needed anything more than this GURPS character sheet when I fiddled about with Roll20, everything a PC could want is rolled right off the sheet, and maybe this wiki page.

I may have furrowed out a few macros for rolling but I don't recall, specifically, what they would have been.

EDIT: Apparently I also put this script in the API sandbox, but I don't recall where I got it and there's no accreditation I can see.

Code:
var ENABLE_ROLL_PARSER = true;
var COMMANDS = ["roll vs", "r vs", "gmroll vs", "gmr vs", "roll", "r", "gmroll", "gmr"];

on("chat:message", function(message) {
    if (ENABLE_ROLL_PARSER && (message.type != "api")) {
        parse_chat(message);
        return;
    } else if (COMMANDS.length > 0 && (message.type == "api")) {
        parse_command(message);
        return;
    }
});


function parse_chat(message) {
    if (message.content.indexOf("vs:") == -1) {
        // The GURPS sheet will include the keyword "vs:" in all rolls that should use roll comparison. 
        // If the message doesn't include that word, we aren't interested.
        return;
    }

    if (message.inlinerolls != undefined && message.inlinerolls.length < 2) {
        // We need at least two numbers to make a comparison.
        return;
    }

    log("ROLLCOMP/ Received CHAT "+JSON.stringify(message));

    // We'll take the first number to be the user's roll.
    var roll = message.inlinerolls[0].results.total;
    // We'll take the second number to be the target value.
    var target = message.inlinerolls[1].results.total;

    // Has the loud flag been set? If so we'll want to print out some messages.
    var loud = (message.content.indexOf("--l") != -1);

    if (message.type == "whisper" && !loud) {
        roll_comparison(roll, target, "/w "+message.target_name);
        roll_comparison(roll, target, "/w "+message.who);
    } else {
        if (loud) {
            // Strip the original method of all inline rolls and print it to chat.
            strippedMessage = message.content.replace(/ \$\[\[\d*\]\]/g, "");
            strippedMessage = strippedMessage.replace(/--. /g, "");
            strippedMessage = strippedMessage.replace(/vs:/g, "vs.");
            sendChat("API", strippedMessage);
        }
        
        roll_comparison(roll, target);
    }
}

function parse_command(message) {
    var command;
    for (var i in COMMANDS) {
        if (message.content.indexOf("!"+COMMANDS[i]) == 0) {
            command = COMMANDS[i];
            break;
        }
    }

    if (command == undefined) {
        // No recognized command was found.
        return;
    }

    log("ROLLCOMP/ Received API "+JSON.stringify(message));

    var content = message.content.substring(command.length+1);
    content = content.trim();

    try {
        sendChat("", "[[3d6]] [["+content+"]]", function(results) {
            var roll = results[0].inlinerolls[1].results.total;
            var target = results[0].inlinerolls[2].results.total;

            if (command.indexOf("gm") == 0) {
                roll_comparison(roll, target, "/w gm Rolling [["+roll+"]] vs [["+target+"]]\n/w gm");
            } else {
                roll_comparison(roll, target, message.who+" rolls [["+roll+"]] vs [["+target+"]]\n");
            }
        });
    } catch (error) {
        log("ROLLCOMP/ Error: \""+error+"\"");
    }
}

function roll_comparison(roll, target, output) {
    log("ROLLCOMP/ Compare "+JSON.stringify(roll)+" vs "+JSON.stringify(target));

    if (output == undefined) {
        output = "/direct";
    }

    // Calculate the difference between the rolls.
    var difference = target - roll;

    var result;

    if (roll == 3 || roll == 4 || (roll == 5 && target >= 15) || (roll == 6 && target >= 16)) {
        // CRITICAL SUCCESS!
        // 3 and 4 are always critical success.
        // 5 is a critical success if your effective skill is 15 or higher.
        // 6 is a critical success if your effective skill is 16 or higher.
        result = "Critical Success!";
    } else if (roll == 18 || (target < 16 && roll == 17) || difference <= -10) {
        // CRITICAL FAILURE
        // 18 is always a critical failure.
        // 17 is a critical failure when your skill is 15 or less.
        // A roll of 10 over your effective skill is a critical failure.
        result = "Critical Failure!";
    } else if (roll == 17 || difference < 0) {
        // FAILURE
        // 17 is always a failure.
        // A roll that exceeds your skill is a failure.
        result = "Failure by "+Math.abs(difference);
    } else if (difference >= 0) {
        // A roll that is equal to or lower than your skill is a success.
        result = "Success by "+difference;
    }

    log("ROLLCOMP/ "+result);
    sendChat("RESULT", output+" "+result);
}
__________________
How to Be a GURPS GM, author
Game Geekery, Blog (GURPS combat examples, fillable PDF sheets, rules summaries, campaigns and one-shots, beginners' intro)
GURPS Discord, unofficial hangout and real-time chat

Last edited by mook; 08-03-2020 at 02:22 PM.
mook is offline   Reply With Quote
Old 08-03-2020, 02:27 PM   #3
Stormcrow
 
Join Date: Aug 2004
Location: Ronkonkoma, NY
Default Re: anyone done any Roll20 GURPS tools

In general, "tools" means automation. Roll20 out of the box basically gives you everything you'd have in a physical environment: tabletop, miniatures, character sheets, handouts, dice, cards, markers, calculator, ruler. Automation goes beyond what a real-world environment would give you and makes the "environment" start acting on its own by your pushing a button: miniatures move themselves, dice roll themselves, numbers calculate themselves, rules declare themselves.

So the question is, what things do you want to happen automatically that don't happen in a real-world game room?
Stormcrow is offline   Reply With Quote
Old 08-03-2020, 02:42 PM   #4
Anthony
 
Join Date: Feb 2005
Location: Berkeley, CA
Default Re: anyone done any Roll20 GURPS tools

My experience using roll20 for D&D is that it provides three basic types of functions, which would be of varying ease to implement:
  • Die-rolling utility -- click on a skill and it rolls skill with advantage and disadvantage, click on an attack and it also rolls damage and critical effects. That should be straightforward enough.
  • Character sheet utility -- I can drag an item out of the compendium onto my character sheet, and it will apply that item. This would require a SJG license for roll20, so not very likely.
  • Map management, including visibility and line of sight. The dynamic lighting system is much lower resolution than GURPS perception rules, so you'd have to either decide to not care or not use it, but it's otherwise perfectly usable without doing anything extra.
__________________
My GURPS site and Blog.
Anthony is offline   Reply With Quote
Old 08-03-2020, 02:59 PM   #5
mehrkat
 
mehrkat's Avatar
 
Join Date: Feb 2005
Location: Austin Texas
Default Re: anyone done any Roll20 GURPS tools

thanks that is very helpful information.
__________________
He stared out in the distance to see the awesome might of the Meerkat war party.
mehrkat is offline   Reply With Quote
Old 08-03-2020, 03:37 PM   #6
Refplace
 
Refplace's Avatar
 
Join Date: Nov 2008
Location: Yukon, OK
Default Re: anyone done any Roll20 GURPS tools

One of my groups uses a bunch of dice rolling macros,
  • Reaction Roll table
  • Mass Rolling feature for lots of rols at once
  • Crit Hit and Miss table
  • Hit Location table
  • Bunch of other less used stuff

The charecter sheets in two groups are very similar and both let you type a skill and assign a base attribute, secondary attribute or nothing at all that it uses.
Click the * next to the skill and it rolls it and posts skill name die roll and margin of success or failure in chat.
Attack, Defense, and Damage rolls are similar. Enter the value once then click the button in play to roll the specified dice plus mods.

Honestly thats all the automation I need and far more than I get on tabletop in person. An improvement not to automation but character creation would be importing from GCA or GCS or adding traits from a list instead of typing them in to your sheet. But I just copy paste.
__________________
My GURPS publications GURPS Powers: Totem and Nature Spirits; GURPS Template Toolkit 4: Spirits; Pyramid articles. Buying them lets us know you want more!
My GURPS fan contribution and blog:
REFPLace GURPS Landing Page
My List of GURPS You Tube videos (plus a few other useful items)
My GURPS Wiki entries
Refplace is offline   Reply With Quote
Old 08-03-2020, 05:32 PM   #7
mook
 
mook's Avatar
 
Join Date: Aug 2004
Location: Los Angeles
Default Re: anyone done any Roll20 GURPS tools

Quote:
Originally Posted by Refplace View Post
An improvement not to automation but character creation would be importing from GCA or GCS or adding traits from a list instead of typing them in to your sheet. But I just copy paste.
No idea if it still functions correctly, but I know this GCS to Roll20 converter exists.
__________________
How to Be a GURPS GM, author
Game Geekery, Blog (GURPS combat examples, fillable PDF sheets, rules summaries, campaigns and one-shots, beginners' intro)
GURPS Discord, unofficial hangout and real-time chat
mook is offline   Reply With Quote
Old 08-03-2020, 09:14 PM   #8
Tinman
 
Tinman's Avatar
 
Join Date: Feb 2007
Location: New York City
Default Re: anyone done any Roll20 GURPS tools

I don't know about Roll20, but my group has been using Maptools for years.
It works really well & it was easy to set up and use.
Tinman is offline   Reply With Quote
Reply

Tags
roll20


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Fnords are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 09:37 AM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.