Character Vault
Any Concept / Any System
Compendium
Your System Come To Life
Roll20 for Android
Streamlined for your Tablet
Roll20 for iPad
Streamlined for your Tablet

Personal tools

Difference between revisions of "Mod:Script Index"

From Roll20 Wiki

Jump to: navigation, search
m
m (Pathfinder 2nd Edition)
(275 intermediate revisions by 57 users not shown)
Line 1: Line 1:
{{Tocright}}
+
{{pro only}}
 +
<div style="float:left;margin-right:15px">__TOC__</div>
 +
{{apibox}}
  
{{mbox|text=This page is a '''Work in Progress'''}}
 
See the [[Talk:API:Script_Index|Talk]] page for how you can help!
 
  
== Scripts By Category ==
+
The '''API Script Index''' is a listing of community-contributed API scripts that are available for use on Roll20. If you're interested in contributing to the Roll20 API Community Scripts please visit the [https://github.com/Roll20/roll20-api-scripts API GitHub Repository] and follow the instructions in the README.md file at the bottom of the page.
=== General Purpose Scripts ===
+
==== Combat Scripts ====
+
* [[Script:Auto_Initiative|Auto Initiative]] -- Adds the players to the initiative tracker, rolls randomly for them and adds relevant modifiers.
+
* [[Script:Initiative_highlighter|Initiative Highlighter]] -- Highlights a token whose turn it is with a flashing aura.
+
* [[Script:Roll_Comparisons|Roll comparisons]] -- Comparing roll results.
+
* [[Script:Random_Turn_Order|Random Turn Order]] -- Randomly assigns a turn to selected tokens.
+
* [[Script:Round_Tracker|Round Tracker]] -- Adds a marker in the initiative which increments automatically.
+
* [[Script:Highlight_Token_at_Top_of_Initiative|Highlight Token at Top of Initiative]] -- Highlights the token at the top of initiative.
+
* [[Script:Range_Finder|Range Finder]] -- Determines the distance between two named tokens
+
* [[Script:Automatic_Initiative_Roller_and_Round_Counter|Automatic Initiative Roller and Round Counter]] --
+
* [[Script:Cone_and_Circle_Templates|Cone and Circle Templates]] --
+
  
==== Tokens - Conditions / Status / Health ====
+
<br clear="both">
* [[Script:Conditions_and_Status_Tracker|Conditions and Status Tracker]] -- Tracks the status of tokens and announces them as the duration passes.
+
=APIs available in One-Click Menu=
* [[Script:Automatic_Status_Markers|Automatic Status Markers]] -- Automatically adjust status markers on tokens
+
{{Ambox
* [[Script:HP_Change_Announcement|HP Change Announcement]] -- Announces when tokens’ hit points changes.
+
|nocat=true
* [[Script:Heal_Chat_Command|Heal Chat Command]] -- Use commands to heal characters
+
| type  = content
* [[Script:Updated_Heal_Chat_Command|Updated Heal Chat Command]] --
+
| text  = The best instructions for most API Scripts can be found on the script's description when selected from the One-Click Install, or through installing it and using any "help/instuctions" command built into them.  
* [[Script:Automatic_Temp_HP_Management|Automatic Temp HP Management]] -- Uses temporary hit points and sets it to automatically remove them first.
+
}}
* [[Script:Target_Marking|Target Marking]] -- System for marking tokens with status markerAuto create a token
+
{{notebox|This list resemble the list found in the one-click menu, but currently lists only APIs that have their own wiki pages, or are otherwise popular enough. There are ''hundreds'' of APIs missing from this list, but an effort to update it have been started [[User:1223200|1223200]] ([[User talk:1223200|talk]]) 18:34, 26 December 2020 (UTC)}}
 +
If your script are designed for use with a ''specific'' game system ruleset or specific Roll20 character sheet, please  list the API under that game system, instead of listing under one of the generic categories. Some API are listed under more than one category.
  
==== Tokens - Movement ====
+
Some great or popular APIs have their name highlighted in bold to stand out.
* [[Script:Auto_Teleporting_and_Chat_Based_Teleporting|Auto Teleporting and Chat Based Teleporting]] -- Teleporting based on text commands or token locations.
+
* [[Script:Marking_Order|Marching Order]] -- Tracking marching order of characters
+
* [[Script:Carrying_Tokens|Carrying Tokens]] -- Tokens carrying other tokens such as torches.
+
* [[Script:Movement_Tracker_and_Aura_Highlighter|Movement Tracker and Aura Highlighter]] -- Uses auras to track character movement based on speeds.
+
* [[Script:Character_Token_Locator|Character Token Locator]] -- Creates an aura and shrinks it slowly to help you find your token.
+
* [[Time/Torch Tracker]] -- Shrinking light auras of torches.
+
* [[Script:Units_Moved|Units Moved]] -- Tracks units moved.
+
* [[Script:Disable_Rotation|Disable Rotation via Chat Window Command]] -- Disable the rotation of tokens in the chat window.
+
* [[Script:Visual_Hourglass|Hourglass, Stopwatch, etc.]] -- Visual UI interface. Uses for asking players to wait.
+
* [[Script:Patrolling_Tokens|Patrolling Tokens]] -- Script for patrolling tokens.
+
* [[Script:Trap_Script|Trap script (like in vid)]] -- Script for using traps.
+
* [[Script:Interpolated_Trap_Detection|Interpolated trap detection]] --
+
  
==== Lighting and Revealing ====
+
== Characters==
* [[Script:Light_Switch|Light Switch]] -- Script for turning on and off lights with chat commands.
+
Various scripts related to [[Character Sheets]], and managing them.
* [[Script:Reveal_Command|!reveal command]] -- Automatically moves tokens from the GM layer to objects layer, making them reveal to players.
+
* [[Script:Light_Is_Closing_In|Light is Closing In...]] -- A light reduction script for token movement.
+
  
==== Characters - Equipment ====
+
* [[Script:CharSheet|CharSheet]] -- Allow players to create their own character sheets.
* [[Script:Set_Weapon_Value_Using_The_API|Set Weapon Values Using the API]] -- Tracks weapons equipped by characters.
+
* {{forum|post/5281433/slug} Welcome Package}} -- API create and assigns character sheet to new people who join a game
* [[Script:Trader_Joes|Trader Joes]] -- Inventory Management
+
* PublicSheet -- Creates a "public" version of character sheets that players can't edit, which mirrors the ''actual'' character sheet.
  
==== Generators ====
+
===Equipment===
* [[Script:Its_the_Monster_Mash|It's the Monster Mash!]] -- It's the Monster Mash! An adventure in Encounters!
+
Most game systems have some form of equipment to make characters better. While scripts dealing with that equipment may necessarily be system-specific, there are scripts which handle equipment in a more general fashion.
* [[Script:Weather_Generator_Script|Weather Generator Script]] --
+
* [[Script:Ammo|Ammo]] -- Provides inventory management for ammunition stored in an attribute of a character.
  
==== System ====
+
===Attributes===
* [[Script:Graphic_Token_Snapshot_Saving_and_Loading|Graphic/Token snapshot saving/loading for building your own macros]] -- System for tracking a loading token set ups
+
Manipulate one or more characters' attributes. Anything that is system-specific should be placed in the system's category below; this section is for system-agnostic attribute manipulation.
* [[Script:String_Formatter|String Formatter]] -- Formats a string for printing.
+
* [[Script:Conditions|Conditions]] -- Track attribute-modifying conditions.
* [[Script:Detecting_Nearest_Token|Detecting Nearest Token]] -- Script for detecting the nearest token after one is moved.
+
* '''[[Script:ChatSetAttr|ChatSetAttr]]''' -- Create, modify, and delete character attributes via chat commands or macros.
* [[Script:Chat_Command_Script|Chat Command Script]] -- Script for standardizing and preventing duplication of chat commands.
+
* [[Script:EasyExperience|EasyExperience]] -- Make awarding experience easy and choose your experience progression.
* [[Script:Scrolling_Macro_Bar|Scrolling Macro Bar]] --
+
* '''Experience Tracker''' -- Automatic tracking of a Dungeons and Dragons 5e like experience system, aswell as level up announcement in chat. !xp handles experience and announces level up.
* [[Script:IsGM Auth Module|IsGM Auth Module]] -- Provides a function isGM() for determining if a player id refers to a gm. Intended for use alongside other scripts.
+
* '''GroupCheck''' -- A way to quickly roll a group check for everyone and see if they succeed
 +
** {{forum|permalink/4359153/ ApplyDamage}} -- Supplementary API to GroupCheck, which enables to automatically apply damage to a group of characters, based on failed/succeeded GroupCheck rolls. Example: Damage of an AoE Spell, based on success/fail on saving throw
  
==== Roleplay ====
+
== Chat ==
* [[Script:Language_Script|Language Script]] -- A script for auto converting text to elven or dwarven.
+
Various APIs that primarily help you out by creating API commands & options that can be used in the {{Text Chat}}.
* [[Script:What_Did_He_Say|What Did He Say?]] -- Language based scripting
+
* '''[[Script:ChatSetAttr|ChatSetAttr]]''' -- Create, modify, and delete character attributes via chat commands or macros.
 +
* ''ChatTurnManager'' -- A script to simplify Turn Order Management, and move it into chat.
 +
* [[Script:emas|emas]] -- Provides player <code>!emas</code> and <code>!as</code> commands.(emote as)
 +
* [[Script:PowerCards|PowerCards]] -- Create nicely formatted output cards for attacks, spells, and other abilities.
 +
* [[Script:PowerCards Macro Helper|PowerCards Macro Helper]] -- Support the automatic generation of PowerCards for '''"[[D&D 5E by Roll20]]"''' character sheet actions.
 +
* [[Script:Message of the Day|Message of the Day]] -- Greets players that log in with the contents of a particular note.
 +
* [[Script:Rollable_Table_Macros|Rollable Table Macros]] -- Use macros and chat commands with rollable tables
  
==== Misc ====
+
== Combat==
* [[Script:API_Command_Process_Standard_Model|API command process, standard model]] -- API command process, standard model.
+
Combat scripts assist in making combat flow more easily. This can mean anything from automatically handling initiative, to automating exchanges between combatants.
 +
* '''[[Script:Group Initiative|GroupInitiative]]''' -- Adds the selected tokens to the turn order after rolling their initiative + configurable data.
 +
* '''{{forum|permalink/9441420/ CombatMaster}}''' -- API for improving various aspects of combat. Automating condition duration in combat, Initiative improvement, and more. Version of CombatMaster in API Drowdown might not be latest version, check thread/repo for latest version. {{repo|vicberg/CombatMaster CombatMaster repo}}
 +
* [[Script:EncounterHelper|EncounterHelper]] -- Group tokens into encounters that can be shown, hidden, and reset to their initial values.
 +
* [[Script: Critical|Critical]] -- Quick method of determining the outcome of a critical hit.
 +
* [[Script: Fumbler|Fumbler]] -- Quick method of determining the outcome of a fumble.
 +
* [[Script:InitiativeTrackerPlus|InitiativeTrackerPlus]] -- Initiative and effect tracker with other features.
  
=== Game Specific Scripts ===
+
== Dynamic Lighting ==
==== Edge of the Empire ====
+
[[Dynamic Lighting]] is a Plus/Pro feature that changes what parts of the map are visible to the players as they move their tokens around. The light-blocking walls are achieved by paths on the <code>walls</code> layer, and tokens are used as point light sources. Scripts which modify either the light emitted by tokens or the walls which block the light belong in this category.
* [[Script:Edge_Of_The_Empire:Dice_With_Images_In_The_Chat_Window|Edge of the Empire Dice with Images in the Chat Window]] --
+
* [[Script:Edge_Of_The_Empire:Dice|Edge of the Empire Dice]] --
+
  
==== DnD 4th Edition ====
+
Not all APIs, or all thier features work on both Legacy DL and [[UDL|Updated DL]], you have to check them closer to know that.
* [[Script:DnD4E:Combat|Combat]] -- temporary hit points. Also prevents over healing.
+
* [[Script:DnD4E:Tools|Tools]] -- 4th edition. Adds marking to the Combat script.
+
* [[Script:DnD4E:Helper|4e Helper]] -- 4th edition collection of scripts.
+
* [[Script:DnD4E:Combat_Engine|4e combat engine]] --
+
* [[Script:DnD4E:Monster_Generator_Base_On_MM3_Math|4e Monster generator based on MM3 math]] --
+
  
==== Zombie Dice ====
+
* '''{{forum|permalink/7698809/ DoorKnocker}}''' -- Script helps quickly open and close doors by controlling the dynamic lighting lines. {{repo|Roll20/roll20-api-scripts/tree/master/Door%20Knocker sourcecode}}
* [[Script:Zombie_Dice:Zombie_Dice|Zombie Dice]] -- A Script for playing zombie dice
+
* [[Script:DLEllipseDrawer|DLEllipseDrawer]] -- Draw circles and ellipses on the dynamic lighting layer.
 +
* [[Script:Dynamic Light Recorder|Dynamic Light Recorder]] -- Save dynamic lighting paths for map tiles and automatically regenerate later
 +
* LightCrumbTrails -- Produces lit, shared-vision breadcrumbs behind character tokens. This allows them to see where they've been on maps with dynamic lighting.
 +
* [[Script:Move Lighting|Move Lighting]] -- Move dynamic lighting polygon path objects between game layers.
 +
* {{forum|post/4932580/script-one-way-dynamic-lighting/ One-Way Dynamic Lighting}} -- Allows you to set up dynamic lighting walls that allow you to see through one side, but not the other. (Works for [[LDL|Legacy DL]])
 +
* [[Script:Torch|Torch]] -- A simple script for giving lights to tokens and turning off and on dynamic lighting.
 +
* {{forum|post/9521203/script-udlwindows-dynamic-lighting-paths-that-block-movement-but-not-vision-or-light-warning-updated-dynamic-lighting-only#post-9532981 UDLWindows}} -- API for creating DL lines that blocks movement, but doesn't block vision. (for [[UDL|Updated Dynamic Lighting]]
 +
* [[Script:Walls|Walls]] -- Builds Dynamic Lighting walls with an exported SVG path file.
 +
* [[Script:ShareVision|ShareVision]] -- Allows normal vision and darkvision to be shared.
  
==== Basic Fantasy Role Playing Game ====
+
== Jukebox ==
* [[Script:Basic_Fantasy_Role_Playing_Game:General|Basic Fantasy Role-Playing Game]] --
+
The {{Jukebox}} is the music player, and some APIs interact with it
 +
* [[Script:Roll20_Audio_Master|Roll20 Audio Master]] -- Comprehensive jukebox control script; play, stop, and loop tracks. Adjust volume of tracks. Create, edit, play, stop, loop, and shuffle playlists.
 +
* [[Script:PowerCards|PowerCards]] -- Create nicely formatted output cards for attacks, spells, and other abilities. Have options to interact with Jukebox.
  
==== HERO System ====
+
== Generators ==
* [[Script:HERO_System:Scripts_To_Automate_Combat|Scripts to Automate the Combat]] --
+
Content generation can extend the reach of your campaign while minimizing the GM's prep time.
 +
* [[Script:Dungeon Utils|Dungeon Utils]] -- Generates random dungeons from wall and floor images.
 +
* [[Script:namegen|namegen]] -- Generates random names of People, Towns/Cities, and Taverns
 +
* [[Script:Terrain Generator|Terrain Generator]] -- Generate simple outdoor maps (forests, deserts, etc)
  
==== AD&D (Dungeons and Dragons 2e)  ====
+
==Maps & Drawing==
* [[Script::DnD2E:Character_Sheet|2nd Ed Character Sheet]] --
+
Various APIs related to the Map that isn't related to Dynamic Lighting, or focused on Tokens.
 +
* ''Areas of Effect''
 +
* ''DryErase'' – An API that can stop players from drawing on the map.
 +
* [[Script:Map Lock|MapLock]] -- Provides locking of graphics to prevent moving/resizing/rotating them.  Also highlighting.
 +
* [[Script:MapChange|MapChange]] -- Provides an easy and user friendly way to move players between maps.
 +
* [[Script:Page Navigator|Page Navigator]] -- Easily move players from page to page, and allow players to move to pages by moving their tokens. '''Note:''' Version 2 have some known issues.
 +
* [[Script:TruePageCopy|TruePageCopy]] -- Duplicate page graphics by chat command, or with the Duplicate Page button. ''(Partially obsolete since Roll20 implemented their update to Copying Pages in Q4 2020)''
  
==== Pathfinder ====
+
==Tokens==
* [[Script:Pathfinder:All_In_One|All In One]] --
+
* [[Script:Pathfinder:Character_Sheet_Generator_v3|Pathfinder Character Sheet Generator v3]] --
+
* [[Script:Pathfinder:Character_Sheet_Generator|Character Sheet Generator]] --
+
* [[Script:Pathfinder:Inspired_Collection|Inspired Collection]] --
+
  
==== Star Wars Saga ====
+
* '''[[Script:Token Mod|TokenMod]]''' -- An interface to adjusting properties of a token from a macro or the chat area. Very versatile and tons of options, and it can perform features of several other Token-related APIs.
* [[Script:StarWarsSaga:Character_Sheet|Star Wars Saga Edition Character Sheet]] --
+
  
==== Fantasy Craft 2nd Printing ====
+
===Movement, Rotation, and Size ===
* [[Script:FantasyCraft2E:Standard_Character_Token_Management|Fantasy Craft (2nd printing) - Standard character token management]] --
+
Scripts which are triggered by or change the location of tokens should generally be placed in this category.
* [[Script:FantasyCraft2E:Standard_Character_Damage_Save|Fantasy Craft - Standard character damage save]] --
+
  
== API Docs ==
+
* '''[[Script:Token Lock|TokenLock]]''' -- Allows GMs to selectively lock the movement of Player Tokens.
== API Cookbook ==
+
* [[Script:Collision Detection|Collision Detection]] -- Handles collisions between player-controlled tokens and a subset of path objects on the page
== API Best Practices ==
+
* [[Script:DupCharToken|DupCharToken]] -- Duplicate a Character and Token, and add identifying number to Character and Token.
{{main|API:Best Practices}}
+
* [[Script:It's a Trap|It's a Trap]] -- Script for setting traps and detecting collisions with them at any point during movement. Has separate versions customised for specific games/sheets
 +
* [[Script:KABOOM|KABOOM]] -- Creates explosion effects that move tokens away from or towards a point.
 +
* [[Script:Marching Order|Marching Order]] -- Makes tokens follow each other in some specified order.
 +
* [[Script:Measure|Measure]] -- Measure distances between multiple tokens, both from the corners and the center.
 +
* [[Script:Random Rotate|Random Rotate]] -- Allows the GM to easily rotate all selected tokens to a random angle.
 +
* {{forum|post/9436375/script-teleport-from-scratch-teleport-token Teleport}} -- Teleports tokens within a page or between pages either by chat menu or token movement by using teleport tokens on the GM layer.
 +
* [[Script:tokenFate|Token Fate]] -- Let fate decide! Randomly selects a token from the selected group.
 +
* [[Script:Flip Tokens|Flip Tokens]] -- Flip graphics horizontally and/or vertically
 +
* [[Script:Spin Tokens|SpinTokens]] -- Allows the GM to toggle spinning of selected tokens.
  
'''Include namespaces for your functions and variables,''' to avoid potential name collisions with other authors.
+
===Conditions, Status, Health ===
<pre>var myNamespace = myNamespace || {};
+
Tokens are used to represent player characters as well as non-player characters. Naturally, both occasionally get punched around a bit. Scripts in this category deal with the changing conditions of tokens, often but not necessarily as a result of combat.
 +
* ''Emojibubble'' -- System to easily display empjis in a bubble above Character Tokens, or on the map.
 +
* ''Aura/Tint HealthColors'' -- Script to set health indicator on tokens via aura or tint, based on a bars value.
 +
* [[Script:Flight|Flight]] -- Mark how high tokens are flying
 +
* [[Script:Mark|Mark]] -- Places a numbered Marker under tokens, clears on turn change/close, and page change.
 +
* [[Script:Marking Conditions|Marking Conditions]] -- Set status markers on targeted on individual tokens
 +
* [[Script:Token Name Number|Token Name Number]] -- Automatic Numbering of tokens with special placeholder.
 +
* [[Script:Monster Hit Dice|Monster Hit Dice]] -- Set Monster hit points from hit dice on add, usually via drag from journal.
  
myNamesapce.MY_CONSTANT = 5;
+
== Utility ==
myNamespace.myFunction = function() { /* ... */ }</pre>
+
Scripts in this category are a bit more ''meta'', or does a variety of things, so they didn't fit neatly into any other category. These scripts assist with Roll20 itself more than they assist the game you're playing.
  
'''Use easy, short, readable function and variable names.''' Names like <code>x1</code>, <code>fe2</code>, and <code>xbqne</code> are practically meaningless. Names like <code>incrementorForMainLoopWhichSpansFromTenToTwenty</code> are overly verbose, and the highly descriptive name may end up ''wrong'' as you change your code over time.
+
* [[Script:API Heart Beat|API Heart Beat]] -- Provides an API Heartbeat for how the APIs in the game perform,  by setting the requesting player's color continuously.
 +
* [[Script:Game Timer|Game Timer]] -- This is a simple script to court how long does player use the game room.
 +
* [[Script:MetaMacros|MetaMacros]] -- Precompiler enabling C-style textual substitution macros in macro definitions.
 +
* [[Script:Table Export|Table Export]] -- A script for exporting Rollable Tables between accounts.
 +
* [[Script:Customizable Roll Listener|Customizable Roll Listener]] -- Customizable responses to API or non API chat messages.
 +
* [[Script:StatusInfo|StatusInfo]] -- StatusInfo works nicely together with Tokenmod, DeathTracker, and InspirationTracker scripts. It shows condition descriptions whenever a statusmarker is set or when the command <code>!condition</code> is used, eg: <code>!condition prone</code>
 +
* {{forum|post/8824428/script-universalvttimporter-import-dd2vtt-files-to-create-dynamic-lighting-lines-and-lights UniversalVTTImporter}} -- for importing DL settings and other info from maps created with the <code>.dd2vtt</code>, as used by Dungeondraft.
  
'''Keep your code legible,''' especially if you need to ask for help on the forums. Indent code blocks as appropriate, include spaces, etc. Compare the following:
+
== D&D 5E ==
<pre>do if(node.name.toLowerCase()==='foo')break;while(parent=node.parent);</pre>
+
Many APIs( beyond the ones listed here) are made with '''Dungeons & Dragons 5th Edition''' in mind, or have specific commands tailored to work with the popular [[D&D 5E by Roll20]]-character sheet. In the one-click menu, most APIs made for 5E should have a name starting with '''D&D 5E'''. 5E is the system that have most system-specific APIs by a large margin. Several generic APIs have configuration settings tailored for the 5E sheets, such as '''[[Script:Group Initiative|GroupInitiative]]''' or '''GroupCheck'''.
<pre>do {
+
    if (node.name.toLowerCase() === 'foo') {
+
        break;
+
    }
+
} while (parent = node.parent);</pre>
+
  
'''Comments!''' Commenting can be something of a holy war among programmers. Some say you need more, some say your code should be enough, and so on. However, understand that for a Roll20 API script, the person reading your code may not ''be'' a programmer at all, and is completely bewildered by your black magic... but they still need to make modifications in order to suit their game. At the very least, comments describing your configuration variables are helpful to everyone who installs your script, and comments describing generally what's going on in each section of code can help the layperson trying to struggle his or her way through making the tabletop experience better.
+
* '''[[D%26D_5E_by_Roll20#Utilizing_the_5th_Edition_OGL_by_Roll20_Companion_API_Script|5th Edition OGL by Roll20 Companion]]''' -- Official Companion script for '''[[D&D 5E by Roll20]]''' character sheet
 +
* [https://github.com/Roll20/roll20-api-scripts/blob/master/5E%20Resting%20in%20Style/README.md 5E Resting in Style] -- This script for the 5E OGL character sheet solves the error prone task of updating your character sheet when resting. Using !long-rest and !short-rest commands will update your sheet, and report to you everything it is doing.
 +
* ''5E BattleMaster'' -- streamlining combat with the 5E sheet. {{repo|iantoon0/5E-BattleMaster Readme}}
 +
* ''CashMaster'' -- for managing you currencies
 +
* ''Concentration'' -- Concentration keeps track of characters concentration, and reminds to do a concentration check.
 +
* ''It's a Trap! -- D&D 5E Generic''' (should detect automatically what sheet is used)
 +
* ''ShortRest'' -- Automating recovery of various resource during Short Rest
 +
* ''SpellMaster'' -- a high-performance total-replacement for the Spells page of the [[D&D 5E by Roll20]]-sheet, with several additional key features that go beyond the default spells page.
 +
* ''Rest and Recovery'' -- Short & Long Rest automation, by Keith
 +
* ''Rest in Style'' -- Short & Long Rest automation
 +
* ''WildShape'' -- Managing Druid Wildshape, changing token image, setting HP and temporary stats, etc.
 +
* [[Script:5e Shaped Companion Script|5e Shaped Companion]] -- Support script for the [[DnD5e Shaped Character Sheet|DnD5e Shaped]] Character Sheet - provides monster import, auto-ammo, auto-HD, auto-death saves, loads of config options and more
  
'''Please write your code in English.''' JavaScript keywords are all in English. The majority of JavaScript tutorials on the web are written in English. The majority of threads in the Roll20 forums are in English, and many of the users contributing to those threads may have a tenuous grasp of one other language at best. If you name your variables and functions with another language, you may find it difficult to get assistance debugging your code.
+
== System Toolbox ==
 +
Scripts that deal with ''specific'' rules of a game system should be listed in a sub-heading here. If the appropriate game system is not listed, feel free to create the appropriate heading. Scripts under each system below may be designed for any use (in other words, had they been system-agnostic, they might fit under any of the sub-headings in the sections above).
  
'''Learn to love _.''' You have access to [http://underscorejs.org/ Underscore.js], a library with many useful utility functions. While you can certainly accomplish anything in Underscore yourself, you may find that Underscore can ''drasticaly'' reduce the size of your code. Compare:
+
'''It's A Trap!''' have several game-specific versions.
<pre>for (var i = 0; i < jossWhedon.shows.length; i++) {
+
=== 13th Age ===
    if (jossWhedon.shows[i].title === 'Firefly') {
+
        var show = jossWhedon.shows[i];
+
    }
+
}
+
// show = {title: "Firefly", characters: Array[2]}
+
  
var characterDistribution = jossWhedon.shows.reduce(function(memo, show) {
+
* ''13th Age Official Character Sheet Companion'' -- Enhances the Official 13th Age Character Sheet with quick Escalation Die tracking, automatic recovery tracking, token setup, and automatic staggered and down icons.
    show.characters.forEach(function(character) {
+
        (!memo[character.role]) ? memo[character.role] = 1 : memo[character.role]++;
+
    });
+
    return memo;
+
}, {});
+
// characterDistribution = {doll: 1, mad scientist: 2, love interest: 2, slayer: 1, captain: 1, mechanic: 1}</pre>
+
<pre>var show = _.findWhere(jossWhedon.shows, {title: 'Firefly'});
+
// show = {title: "Firefly", characters: Array[2]}
+
  
var characterDistribution = _.countBy(_.flatten(_.pluck(jossWhedon.shows, 'characters')), 'role');
+
=== Ars Magica ===
// characterDistribution = {doll: 1, mad scientist: 2, love interest: 2, slayer: 1, captain: 1, mechanic: 1}</pre>
+
* [[Script:Ars Magica 5e Stress Die|Ars Magica 5e--Automated Stress Die]] -- Roll a stress die with automated printout, with or without modifiers. Botch dice count can be changed in both versions.
''Underscore examples courtesy of [http://singlebrook.com/blog/simplify-your-javascript-with-underscorejs Singlebrook.com]''
+
 
[[Category:API]]
+
=== Chronique Oubliées ===
 +
* [[Script:COFantasy|COFantasy]] -- Combats, Skills and Spells support
 +
 
 +
=== Cypher System ===
 +
* [[Script:Cypher_System_Sheet|Cypher System Sheet]] -- Enables the applying of stat cost, recovery roll advance, auto calculation of PC state and damage track in the Cypher System Sheet, from the roll template or sheet buttons, for both the [https://github.com/Roll20/roll20-character-sheets/tree/master/CypherSystem "English"] and  [https://github.com/Roll20/roll20-character-sheets/tree/master/CypherSystemFrench "French"] versions.
 +
* ''Cypher Systems by Roll20 Companion'' -- Enables the applying to characters of Stats costs and Recovery rolls advancement from the chat roll template, as well as applying Damage to NPCs.
 +
 
 +
=== D6 System ===
 +
The "D6 System" includes a number of games from [[wikipedia:West End Games|West End Games]] which utilize the same (or very similar) game mechanics. Scripts which are more specific to a single game than the system as a whole should be categorized there.
 +
* [[Script:Wild Dice|Wild Dice]] -- Implements the Wild Dice rolling mechanic, used in "Star Wars D6", "D6 Adventure", "D6 Fantasy", and "D6 Space" 
 +
 
 +
=== Earthdawn ===
 +
* [[Earthdawn - FASA Official|Earthdawn (FASA Official)]] -- A companion to the Earthdawn (FASA Official) and 1879 (FASA Official) character sheets, this provides many features such as automatically creating token actions and helping with accounting, calculating Target Numbers and checking for number of successes, Etc.
 +
 
 +
=== Exalted===
 +
* ''Exalted 3rd Edition Dice Roller'' -- A more robust dice rolling script for use with the Exalted Third Edition game system.
 +
* [[Script:exaltScript|exaltScript]] -- Adds general utility and automation to Exalted 3rd Edition campaigns.
 +
 
 +
=== FATE ===
 +
* [[Script:Fate Dots|Fate Dots]] -- Provides numbered multi dots for Fate stress boxes.
 +
 
 +
=== HERO Systems ===
 +
This includes Champions, Star HERO, Fantasy HERO, Traveller HERO, etc.
 +
* [[Script:HeroRoller|Hero Roller (aka HeRoller)]] -- A comprehensive roller for HERO systems.
 +
 
 +
=== Numenera ===
 +
* [[Script:Cypher Roller|Cypher Roller]] -- Script to automatically roll Cyphers in Numenera, with full descriptions.
 +
* [[Script:Numenera_Natha|Natha's Numenera]] -- Adds Numenera rolls and character update functions to the Natha's Numenera character sheets: [https://github.com/Roll20/roll20-character-sheets/tree/master/Numenera_NathasNumenera_English "Numenera (tabbed)"] and  [https://github.com/Roll20/roll20-character-sheets/tree/master/Numenera_NathasNumenera_French "Numenera (French)"].
 +
 
 +
=== Pathfinder ===
 +
* [[Script:Skillbook|Pathfinder Skillbook]] -- Generate token action to put API buttons for skills in chat window
 +
* [[Script:HL-Import|Pathfinder HeroLab Character Import]] -- Import characters from Hero Lab via XML
 +
* ''Pathfinder Companion Script'' -- The Pathfinder Companion Script automates many of the day to day tasks of playing in and running a pathfinder game. The script is designed for the Neceros Pathfinder Sheet for Roll20
 +
 
 +
=== Pathfinder 2nd Edition ===
 +
* [[Script:Pathfinder_2_Utilities|Pathfinder 2 Utilities]] -- automatically roll Pathfinder 2 abilities and display their effect references, and track modifiers.
 +
* [https://app.roll20.net/forum/post/9683168/script-pathfinder-2e-treat-wounds#post-9686795 Pathfinder 2E Treat Wounds]
 +
 
 +
=== Savage Worlds ===
 +
* [[Script:Raise Count|Raise Count]] -- Counts raises on a roll against a given target number
 +
* [[Script:Savage_Worlds_Raise_Roller|Savage Worlds Raise Roller]] -- Rolls for extra or wildcard and then shows a list of target numbers that are success or success with raises.
 +
* ''Savage Worlds Status Changer'' -- This script makes it easy to assign a status to a set of selected tokens.
 +
 
 +
=== Star Wars ===
 +
Scripts for the various Star Wars systems.
 +
 
 +
* [[Script:Star Wars: Fantasy Flight Games - Dice Roller‎|Star Wars: FFG - Dice Roller]] -- Dice Roller for the [[Star Wars: FFG (API-Compatible)]]-character sheet
 +
* ''Star Wars: Fantasy Flight Games - Destiny Tracker'' -- SW FFG Destiny Tracker provides a way to prompt, set and track destiny points for Star Wars: Edge of the Empire (Fantasy Flight Games)
 +
* [[Script:Wild Dice|Wild Dice]] -- Implements the Wild Dice rolling mechanic, used in "Star Wars D6", "D6 Adventure", "D6 Fantasy", and "D6 Space" 
 +
 
 +
=== Shadowrun===
 +
 
 +
'''5E'''
 +
 
 +
* [https://github.com/Roll20/roll20-api-scripts/tree/master/Shadowrun%205th%20Edition Shadowrun 5th Edition] -- API helper for the "Shadowrun 5th Edition"-sheet by Cassie
 +
* [[Script:SR-RollExtender|SR-RollExtender]] -- Deals with Shadowrun specific rules like glitches and extended rolls. For the "Shadowrun: 5th Edition (Advanced)" sheet.
 +
* [[Script:SR-NextPass|SR-NextPass]] -- GM aid to handle moving on to the next initiative pass
 +
 
 +
=== Trail of Cthulhu ===
 +
* [[Script:GUMSHOE|GUMSHOE]] -- A point-spending script for GUMSHOE games. Integrates with supporting character sheets.
 +
 
 +
 
 +
===Warhammer Fantasy Roleplay===
 +
 
 +
'''2E'''
 +
 
 +
* [[Script:wfrp2e-api|WFRP 2E Actions (Havoc)]] -- Functions and Roll Templates in support of the Warhammer Fantasy Roleplay 2E Sheet by Paul "Havoc" Stein
 +
 
 +
'''4E'''
 +
 
 +
* [[Script:WFRP4e|WFRP4e]] -- Oops!, Critical Hit Location, and Critical Hit result support for Warhammer Fantasy 4th Edition.
 +
 
 +
 
 +
== Library==
 +
'''Library''' scripts are generally not intended to be used alone or directly by the user. These scripts will not do anything for your campaign directly, but rather they create functions to be used by other APIs.
 +
 
 +
APIs installed from the one-click menu should automatically install any Library scripts that are needed for them to work, or warn about needing additional APIs installed.
 +
 
 +
* [[Script:Base64|Base64]] -- Base 64 encoding for Roll20 Scripts. (Adapted from http://www.webtoolkit.info/ )
 +
* [[Script:ESRO|Extended Syntax Roll20 Objects]] -- Wraps objects to extend their functionality.
 +
* [[Script:Interpreted sendChat|Interpreted sendChat]] -- Send a message to the chat as the same person or character that triggered a chat event
 +
* [[Script:levenshteinDistance|levenshteinDistance]] -- Measure the difference between strings
 +
* [[Script:splitArgs|splitArgs]] -- Split a string into arguments
 +
* [[Script:Token Collisions|Token Collisions]] -- A library for detecting collisions among tokens during movement.
 +
* [[Script:Vector Math|Vector Math]] -- A library for vector mathematics.
 +
 
 +
=APIs elsewhere=
 +
Some known APIs aren't available in the One-Click Install menu in Roll20, but might be hosted elsewhere and manually installed. This is an attempt to list prominent ones.
 +
 
 +
==Not Available in One-Click Menu==
 +
This is a list of API that are still hosted in Roll20's API script repository, but for one reason or other isn't available in the One-Click install.
 +
* {{forum|permalink/9256621/ Tracker Jacker}} -- Combat API, formerly known as "Initiative Tracker Plus"
 +
* [[Script:Creature Gen|Creature Gen]] -- Generate combat ready tokens from PRD and D20PFSRD statblocks (Obsolete - no longer supported)
 +
 
 +
==APIs elsewhere==
 +
* [[Script:Random Dungeon Generator|Random Dungeon Generator]] -- Generates random dungeons with geomorphic tiles. (link to a github gist of the API)
 +
* [[Script:Morality|Morality]] -- A dialog prompt that provides morality choices as decisions (link to github)
 +
* [[Script:Track V20 Attributes|Track V20 Attributes]] -- Track character Disciplines, Paths, and Backgrounds for use with macros and other scripts.(link to Github)
 +
* [https://app.roll20.net/forum/post/5019325/slug%7D Matt's Door Script] -- Older Script that's somewhat popular, link to an version that The Aaron have updated in 2017.
 +
* [https://app.roll20.net/forum/post/9631549/idea-dimmerswitch Dimmerswitch] -- WIP API to handle changing of lighting intensity/color on the map, such as sunset/sunrise happening
 +
* [https://app.roll20.net/forum/post/6638045/script-simpleroofcontrol SimpleRoofControl] -- A roof "lifting" system to show/hide rooms or houses. It also gives the option to turn the Advanced Fog of War and Dynamic Lighting on or off so you can have those features enabled only inside the building. {{repo|blawson69/SimpleRoofControl sourcecode}}
 +
 
 +
= Special Thanks =
 +
Roll20 wants to give special thanks to [https://app.roll20.net/users/235259/brian Brian] and [https://app.roll20.net/users/104025/the-aaron Aaron C. M.] for their contributions to the community and this API Script Index.
 +
<br>
 +
<br>
 +
[[Category:API|Script Index]]

Revision as of 17:19, 14 January 2021

Contents


The API Script Index is a listing of community-contributed API scripts that are available for use on Roll20. If you're interested in contributing to the Roll20 API Community Scripts please visit the API GitHub Repository and follow the instructions in the README.md file at the bottom of the page.


APIs available in One-Click Menu

If your script are designed for use with a specific game system ruleset or specific Roll20 character sheet, please list the API under that game system, instead of listing under one of the generic categories. Some API are listed under more than one category.

Some great or popular APIs have their name highlighted in bold to stand out.

Characters

Various scripts related to Character Sheets, and managing them.

  • CharSheet -- Allow players to create their own character sheets.
  • Welcome Package(Forum) -- API create and assigns character sheet to new people who join a game
  • PublicSheet -- Creates a "public" version of character sheets that players can't edit, which mirrors the actual character sheet.

Equipment

Most game systems have some form of equipment to make characters better. While scripts dealing with that equipment may necessarily be system-specific, there are scripts which handle equipment in a more general fashion.

  • Ammo -- Provides inventory management for ammunition stored in an attribute of a character.

Attributes

Manipulate one or more characters' attributes. Anything that is system-specific should be placed in the system's category below; this section is for system-agnostic attribute manipulation.

  • Conditions -- Track attribute-modifying conditions.
  • ChatSetAttr -- Create, modify, and delete character attributes via chat commands or macros.
  • EasyExperience -- Make awarding experience easy and choose your experience progression.
  • Experience Tracker -- Automatic tracking of a Dungeons and Dragons 5e like experience system, aswell as level up announcement in chat. !xp handles experience and announces level up.
  • GroupCheck -- A way to quickly roll a group check for everyone and see if they succeed
    • ApplyDamage(Forum) -- Supplementary API to GroupCheck, which enables to automatically apply damage to a group of characters, based on failed/succeeded GroupCheck rolls. Example: Damage of an AoE Spell, based on success/fail on saving throw

Chat

Various APIs that primarily help you out by creating API commands & options that can be used in the q Text Chat.

  • ChatSetAttr -- Create, modify, and delete character attributes via chat commands or macros.
  • ChatTurnManager -- A script to simplify Turn Order Management, and move it into chat.
  • emas -- Provides player !emas and !as commands.(emote as)
  • PowerCards -- Create nicely formatted output cards for attacks, spells, and other abilities.
  • PowerCards Macro Helper -- Support the automatic generation of PowerCards for "D&D 5E by Roll20" character sheet actions.
  • Message of the Day -- Greets players that log in with the contents of a particular note.
  • Rollable Table Macros -- Use macros and chat commands with rollable tables

Combat

Combat scripts assist in making combat flow more easily. This can mean anything from automatically handling initiative, to automating exchanges between combatants.

  • GroupInitiative -- Adds the selected tokens to the turn order after rolling their initiative + configurable data.
  • CombatMaster(Forum) -- API for improving various aspects of combat. Automating condition duration in combat, Initiative improvement, and more. Version of CombatMaster in API Drowdown might not be latest version, check thread/repo for latest version. CombatMaster repo
  • EncounterHelper -- Group tokens into encounters that can be shown, hidden, and reset to their initial values.
  • Critical -- Quick method of determining the outcome of a critical hit.
  • Fumbler -- Quick method of determining the outcome of a fumble.
  • InitiativeTrackerPlus -- Initiative and effect tracker with other features.

Dynamic Lighting

Dynamic Lighting is a Plus/Pro feature that changes what parts of the map are visible to the players as they move their tokens around. The light-blocking walls are achieved by paths on the walls layer, and tokens are used as point light sources. Scripts which modify either the light emitted by tokens or the walls which block the light belong in this category.

Not all APIs, or all thier features work on both Legacy DL and Updated DL, you have to check them closer to know that.

  • DoorKnocker(Forum) -- Script helps quickly open and close doors by controlling the dynamic lighting lines. sourcecode
  • DLEllipseDrawer -- Draw circles and ellipses on the dynamic lighting layer.
  • Dynamic Light Recorder -- Save dynamic lighting paths for map tiles and automatically regenerate later
  • LightCrumbTrails -- Produces lit, shared-vision breadcrumbs behind character tokens. This allows them to see where they've been on maps with dynamic lighting.
  • Move Lighting -- Move dynamic lighting polygon path objects between game layers.
  • One-Way Dynamic Lighting(Forum) -- Allows you to set up dynamic lighting walls that allow you to see through one side, but not the other. (Works for Legacy DL)
  • Torch -- A simple script for giving lights to tokens and turning off and on dynamic lighting.
  • UDLWindows(Forum) -- API for creating DL lines that blocks movement, but doesn't block vision. (for Updated Dynamic Lighting
  • Walls -- Builds Dynamic Lighting walls with an exported SVG path file.
  • ShareVision -- Allows normal vision and darkvision to be shared.

Jukebox

The u Jukebox is the music player, and some APIs interact with it

  • Roll20 Audio Master -- Comprehensive jukebox control script; play, stop, and loop tracks. Adjust volume of tracks. Create, edit, play, stop, loop, and shuffle playlists.
  • PowerCards -- Create nicely formatted output cards for attacks, spells, and other abilities. Have options to interact with Jukebox.

Generators

Content generation can extend the reach of your campaign while minimizing the GM's prep time.

  • Dungeon Utils -- Generates random dungeons from wall and floor images.
  • namegen -- Generates random names of People, Towns/Cities, and Taverns
  • Terrain Generator -- Generate simple outdoor maps (forests, deserts, etc)

Maps & Drawing

Various APIs related to the Map that isn't related to Dynamic Lighting, or focused on Tokens.

  • Areas of Effect
  • DryErase – An API that can stop players from drawing on the map.
  • MapLock -- Provides locking of graphics to prevent moving/resizing/rotating them. Also highlighting.
  • MapChange -- Provides an easy and user friendly way to move players between maps.
  • Page Navigator -- Easily move players from page to page, and allow players to move to pages by moving their tokens. Note: Version 2 have some known issues.
  • TruePageCopy -- Duplicate page graphics by chat command, or with the Duplicate Page button. (Partially obsolete since Roll20 implemented their update to Copying Pages in Q4 2020)

Tokens

  • TokenMod -- An interface to adjusting properties of a token from a macro or the chat area. Very versatile and tons of options, and it can perform features of several other Token-related APIs.

Movement, Rotation, and Size

Scripts which are triggered by or change the location of tokens should generally be placed in this category.

  • TokenLock -- Allows GMs to selectively lock the movement of Player Tokens.
  • Collision Detection -- Handles collisions between player-controlled tokens and a subset of path objects on the page
  • DupCharToken -- Duplicate a Character and Token, and add identifying number to Character and Token.
  • It's a Trap -- Script for setting traps and detecting collisions with them at any point during movement. Has separate versions customised for specific games/sheets
  • KABOOM -- Creates explosion effects that move tokens away from or towards a point.
  • Marching Order -- Makes tokens follow each other in some specified order.
  • Measure -- Measure distances between multiple tokens, both from the corners and the center.
  • Random Rotate -- Allows the GM to easily rotate all selected tokens to a random angle.
  • Teleport(Forum) -- Teleports tokens within a page or between pages either by chat menu or token movement by using teleport tokens on the GM layer.
  • Token Fate -- Let fate decide! Randomly selects a token from the selected group.
  • Flip Tokens -- Flip graphics horizontally and/or vertically
  • SpinTokens -- Allows the GM to toggle spinning of selected tokens.

Conditions, Status, Health

Tokens are used to represent player characters as well as non-player characters. Naturally, both occasionally get punched around a bit. Scripts in this category deal with the changing conditions of tokens, often but not necessarily as a result of combat.

  • Emojibubble -- System to easily display empjis in a bubble above Character Tokens, or on the map.
  • Aura/Tint HealthColors -- Script to set health indicator on tokens via aura or tint, based on a bars value.
  • Flight -- Mark how high tokens are flying
  • Mark -- Places a numbered Marker under tokens, clears on turn change/close, and page change.
  • Marking Conditions -- Set status markers on targeted on individual tokens
  • Token Name Number -- Automatic Numbering of tokens with special placeholder.
  • Monster Hit Dice -- Set Monster hit points from hit dice on add, usually via drag from journal.

Utility

Scripts in this category are a bit more meta, or does a variety of things, so they didn't fit neatly into any other category. These scripts assist with Roll20 itself more than they assist the game you're playing.

  • API Heart Beat -- Provides an API Heartbeat for how the APIs in the game perform, by setting the requesting player's color continuously.
  • Game Timer -- This is a simple script to court how long does player use the game room.
  • MetaMacros -- Precompiler enabling C-style textual substitution macros in macro definitions.
  • Table Export -- A script for exporting Rollable Tables between accounts.
  • Customizable Roll Listener -- Customizable responses to API or non API chat messages.
  • StatusInfo -- StatusInfo works nicely together with Tokenmod, DeathTracker, and InspirationTracker scripts. It shows condition descriptions whenever a statusmarker is set or when the command !condition is used, eg: !condition prone
  • UniversalVTTImporter(Forum) -- for importing DL settings and other info from maps created with the .dd2vtt, as used by Dungeondraft.

D&D 5E

Many APIs( beyond the ones listed here) are made with Dungeons & Dragons 5th Edition in mind, or have specific commands tailored to work with the popular D&D 5E by Roll20-character sheet. In the one-click menu, most APIs made for 5E should have a name starting with D&D 5E. 5E is the system that have most system-specific APIs by a large margin. Several generic APIs have configuration settings tailored for the 5E sheets, such as GroupInitiative or GroupCheck.

  • 5th Edition OGL by Roll20 Companion -- Official Companion script for D&D 5E by Roll20 character sheet
  • 5E Resting in Style -- This script for the 5E OGL character sheet solves the error prone task of updating your character sheet when resting. Using !long-rest and !short-rest commands will update your sheet, and report to you everything it is doing.
  • 5E BattleMaster -- streamlining combat with the 5E sheet. Readme
  • CashMaster -- for managing you currencies
  • Concentration -- Concentration keeps track of characters concentration, and reminds to do a concentration check.
  • It's a Trap! -- D&D 5E Generic' (should detect automatically what sheet is used)
  • ShortRest -- Automating recovery of various resource during Short Rest
  • SpellMaster -- a high-performance total-replacement for the Spells page of the D&D 5E by Roll20-sheet, with several additional key features that go beyond the default spells page.
  • Rest and Recovery -- Short & Long Rest automation, by Keith
  • Rest in Style -- Short & Long Rest automation
  • WildShape -- Managing Druid Wildshape, changing token image, setting HP and temporary stats, etc.
  • 5e Shaped Companion -- Support script for the DnD5e Shaped Character Sheet - provides monster import, auto-ammo, auto-HD, auto-death saves, loads of config options and more

System Toolbox

Scripts that deal with specific rules of a game system should be listed in a sub-heading here. If the appropriate game system is not listed, feel free to create the appropriate heading. Scripts under each system below may be designed for any use (in other words, had they been system-agnostic, they might fit under any of the sub-headings in the sections above).

It's A Trap! have several game-specific versions.

13th Age

  • 13th Age Official Character Sheet Companion -- Enhances the Official 13th Age Character Sheet with quick Escalation Die tracking, automatic recovery tracking, token setup, and automatic staggered and down icons.

Ars Magica

Chronique Oubliées

  • COFantasy -- Combats, Skills and Spells support

Cypher System

  • Cypher System Sheet -- Enables the applying of stat cost, recovery roll advance, auto calculation of PC state and damage track in the Cypher System Sheet, from the roll template or sheet buttons, for both the "English" and "French" versions.
  • Cypher Systems by Roll20 Companion -- Enables the applying to characters of Stats costs and Recovery rolls advancement from the chat roll template, as well as applying Damage to NPCs.

D6 System

The "D6 System" includes a number of games from West End Games which utilize the same (or very similar) game mechanics. Scripts which are more specific to a single game than the system as a whole should be categorized there.

  • Wild Dice -- Implements the Wild Dice rolling mechanic, used in "Star Wars D6", "D6 Adventure", "D6 Fantasy", and "D6 Space"

Earthdawn

  • Earthdawn (FASA Official) -- A companion to the Earthdawn (FASA Official) and 1879 (FASA Official) character sheets, this provides many features such as automatically creating token actions and helping with accounting, calculating Target Numbers and checking for number of successes, Etc.

Exalted

  • Exalted 3rd Edition Dice Roller -- A more robust dice rolling script for use with the Exalted Third Edition game system.
  • exaltScript -- Adds general utility and automation to Exalted 3rd Edition campaigns.

FATE

  • Fate Dots -- Provides numbered multi dots for Fate stress boxes.

HERO Systems

This includes Champions, Star HERO, Fantasy HERO, Traveller HERO, etc.

Numenera

Pathfinder

  • Pathfinder Skillbook -- Generate token action to put API buttons for skills in chat window
  • Pathfinder HeroLab Character Import -- Import characters from Hero Lab via XML
  • Pathfinder Companion Script -- The Pathfinder Companion Script automates many of the day to day tasks of playing in and running a pathfinder game. The script is designed for the Neceros Pathfinder Sheet for Roll20

Pathfinder 2nd Edition

Savage Worlds

  • Raise Count -- Counts raises on a roll against a given target number
  • Savage Worlds Raise Roller -- Rolls for extra or wildcard and then shows a list of target numbers that are success or success with raises.
  • Savage Worlds Status Changer -- This script makes it easy to assign a status to a set of selected tokens.

Star Wars

Scripts for the various Star Wars systems.

  • Star Wars: FFG - Dice Roller -- Dice Roller for the Star Wars: FFG (API-Compatible)-character sheet
  • Star Wars: Fantasy Flight Games - Destiny Tracker -- SW FFG Destiny Tracker provides a way to prompt, set and track destiny points for Star Wars: Edge of the Empire (Fantasy Flight Games)
  • Wild Dice -- Implements the Wild Dice rolling mechanic, used in "Star Wars D6", "D6 Adventure", "D6 Fantasy", and "D6 Space"

Shadowrun

5E

  • Shadowrun 5th Edition -- API helper for the "Shadowrun 5th Edition"-sheet by Cassie
  • SR-RollExtender -- Deals with Shadowrun specific rules like glitches and extended rolls. For the "Shadowrun: 5th Edition (Advanced)" sheet.
  • SR-NextPass -- GM aid to handle moving on to the next initiative pass

Trail of Cthulhu

  • GUMSHOE -- A point-spending script for GUMSHOE games. Integrates with supporting character sheets.


Warhammer Fantasy Roleplay

2E

  • WFRP 2E Actions (Havoc) -- Functions and Roll Templates in support of the Warhammer Fantasy Roleplay 2E Sheet by Paul "Havoc" Stein

4E

  • WFRP4e -- Oops!, Critical Hit Location, and Critical Hit result support for Warhammer Fantasy 4th Edition.


Library

Library scripts are generally not intended to be used alone or directly by the user. These scripts will not do anything for your campaign directly, but rather they create functions to be used by other APIs.

APIs installed from the one-click menu should automatically install any Library scripts that are needed for them to work, or warn about needing additional APIs installed.

APIs elsewhere

Some known APIs aren't available in the One-Click Install menu in Roll20, but might be hosted elsewhere and manually installed. This is an attempt to list prominent ones.

Not Available in One-Click Menu

This is a list of API that are still hosted in Roll20's API script repository, but for one reason or other isn't available in the One-Click install.

  • Tracker Jacker(Forum) -- Combat API, formerly known as "Initiative Tracker Plus"
  • Creature Gen -- Generate combat ready tokens from PRD and D20PFSRD statblocks (Obsolete - no longer supported)

APIs elsewhere

  • Random Dungeon Generator -- Generates random dungeons with geomorphic tiles. (link to a github gist of the API)
  • Morality -- A dialog prompt that provides morality choices as decisions (link to github)
  • Track V20 Attributes -- Track character Disciplines, Paths, and Backgrounds for use with macros and other scripts.(link to Github)
  • Matt's Door Script -- Older Script that's somewhat popular, link to an version that The Aaron have updated in 2017.
  • Dimmerswitch -- WIP API to handle changing of lighting intensity/color on the map, such as sunset/sunrise happening
  • SimpleRoofControl -- A roof "lifting" system to show/hide rooms or houses. It also gives the option to turn the Advanced Fog of War and Dynamic Lighting on or off so you can have those features enabled only inside the building. sourcecode

Special Thanks

Roll20 wants to give special thanks to Brian and Aaron C. M. for their contributions to the community and this API Script Index.