Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Does Anyone Still Use the 5e Shaped Sheet?

1635352512

Edited 1635352663
@keith respectfully disagree, because the points you made do not address the topics I brought up. If you go for a Pro Subscription, you obviously are asking for more features, and complexity comes with more features.  What I'm saying is that the Shaped Sheet adds value to the dollar for it's design, while the OGL sheet does not add enough.  Strictly talking about the API features, which are limited by the framework of the Roll20 design and  inherently faulty lack of uniformity in that framework. At the free level, the OGL sheet works.  At that level, a discord app, pen and paper, D&D Beyond, and various other methods work that don't even need the sheet anyway. But for the pro subscriber, the line between free and sub is honestly tangible; negatively in the case of OGL, positively in the case of Shaped.  This is the point I'm making.  To detail: OGL Commands List: !5ehelp - Gives a list of the script's API commands in the chat tab.   Ok feature, but simple outputting of this list.  Not very interactive. !5estatus - Lists the current status of the script's features in the chat tab. "What's on or off?"  Again, simple outputting, not very interactive. !ammotracking on/off/player/quiet - Automatically expends linked resource when attack is made. First interactive feature. Useful.  Mirrored in Shaped Sheet !autonpctoken on/off - Automatically generates a NPC token on the GM's screen based on the default token when an NPC's health calculation is rolled.  Should be a standard, but I guess if for some reason you want to turn it off, meh.  Not very useful. !deathsavetracking on/off/player/quiet - Automatically ticks off successes and failures when death saves are rolled, clearing on death, stabilization, or hp recovery.  Useful when 2 rolls aren't being rolled, otherwise it can't track.  This feature works the same as the Shaped Sheet, which also can't track death saves when 2 rolls are being made. !spelltracking on/off/player/quiet - Automatically expends spell charges as cast, factoring in higher level casting.  Useful as much as ammo tracking, so very.  Have to remind yourself that OGL deducts from the full amount rather than adds a tick as you would in p&p. !longrest character name - If spelltracking is on, this command will reset all of the character's spell slots to unspent. It should reset all attributes - half HD for long rest, Resources that reset on long rest, etc.  But it can't track the resources, since they aren't keyed to long rest ... which is a failing of the sheet structure itself.  In addition, where is short rest altogether?  In all, Shaped comes out superior in every way on tracking Short/ Long rest usage and reset. !npchp character name - Rolls NPC hit point totals using their formula and updates the token bar. If no character name is provided it will roll the selected tokens. Again, should be a default.  I guess if you want to reroll?  Meh, useless.  Dragging a 2nd token and deleting first accomplishes this task quicker. Total = 2-4 Useful API features, 1 doesn't work fully effectively (it doesn't on Shaped either though), and 1 is completely underdeveloped/ next to useless. I'm not going to count the total for these, you may if you wish.  But even with a few that are sketchy or difficult to use (Pulling info from monster statblocks was always dicey), the Shaped API can still beat 2-4 useful features.  THIS is why Pro subs win with Shaped vs OGL.  Sure, some like simplicity over complexity, but those people benefit more from a free account than a paid one.  So, as a Pro Subscriber, who looks for the value added benefits of my subscription, the Shaped sheet provides where OGL does not.  It's not a subjective "Some people like" opinion, it's something based on raw numbered facts.   Full command list !shaped-statblock Imports details from a text statblock into a Roll20 character. The statblock must be inserted into the GM notes field of a token ( not a character!) and the token must be selected before running this command. The imported character will be configured with the default settings that you specify in the default character settings configuration . In addition the tokens you use will be configured according to the default token settings configuration ready to be set as the default token for the character. Options --overwrite if the selected token already represents a character in the journal, the import will fail to avoid accidentally overwriting data, unless you supply this option to confirm that you wish to do so. --replace if there is already a character in the journal with the same name as the one you are importing, the import will fail, whether or not the current token represents that character. This is to avoid creating loads of duplicates by mistake, which is almost never what you want to do. If you supply --replace the script will overwrite any character with the same name, unless there is more than one, in which case it will fail rather than risking overwriting the wrong one. Note that --replace implies --overwrite . Selection You must have at least one token selected. If you have more than one, it will attempt to import a statblock from each one in turn. When importing, each token will be set to represent the newly created character for it, and the script will also attempt to set the avatar for the character to be the token graphic<sup> 1 </sup>. !shaped-monsters Displays a list of monsters in the currently loaded JSON database. The list is displayed in the chat window and includes buttons to filter the results on Type, CR and Size. The old "Click to select a monster/spell" query input ( !shaped-monster ) is available as a link at the top of the monsters/spells listings. Clicking a monster that is already imported won't remove it. !shaped-monster Imports details of named monsters from a database of custom monsters loaded as a separate script. The imported character will be configured with the default settings that you specify in the default character settings configuration . In addition the tokens you use will be configured according to the default token settings configuration ready to be set as the default token for the character. Options --<monster name> (e.g. --Lich ) specifies a monster to import. You may supply multiple monsters as separate options, or you may supply multiple in one option separated by commas ( --Ghoul, Zombie, Ghost ) --overwrite if the selected token already represents a character in the journal, the import will fail to avoid accidentally overwriting data, unless you supply this option to confirm that you wish to do so. --replace if there is already a character in the journal with the same name as the one you are importing, the import will fail, whether or not the current token represents that character. This is to avoid creating loads of duplicates by mistake, which is almost never what you want to do. If you supply --replace the script will overwrite any character with the same name, unless there is more than one, in which case it will fail rather than risking overwriting the wrong one. Note that --replace implies --overwrite . --as <new name> if supplied, the new monster will be given the name specified instead of the default name defined in the database. Selection You may no or 1 tokens selected when running this command: If you have no tokens selected, this command will just add the new characters to the journal. If you have 1 token selected, and you are importing one monster, the script will attempt to use the token image as the avatar for your new character<sup> 1 </sup>, and will also set the token to represent the newly created character If you have 1 token selected and you are importing more than one monster, the script will only attempt to use the token image as the avatar for your new character<sup> 1 </sup>. <a name="avatar-note"/><sup>1</sup> Note that avatars will ony successfully be set for token images from your library, not marketplace or web content. This is due to security restrictions within the Roll20 platform. If you really want an image as a character avatar, please unpload it to your library and then create a token from it before doing your import. !shaped-monster-by-token This basically does the same thing as !shaped-monster , except that instead of passing it a list of monsters as parameters to the chat command, it infers the names of the monster to import from the names of the selected tokens. This is a quick way to configure and import a whole bunch of monsters all at once. Find the tokens you want for all your monster and drag them to the tabletop; name the tokens according to the monsters they represent, select them all, and run this command. It will find monsters by name from your custom JSON database, and configure each token to represent the new characters it creates. Options --overwrite as for !shaped-monster --replace as for !shaped-monster Selection You must have at least one token selected for this command. As described above, it will use the name assigned to each token to lookup the monster it will represent from your JSON database. !shaped-spell Alias !shaped-import-spell * Imports details of named spells from a database of customer spells loaded as a separate script. All spells will be added to the currently selected character. Options --<spell name> (e.g. --Fireball ) specifies a spell to import. You may supply multiple spells as separate options, or you may supply multiple in one option separate by commas ( --Fireball, Lightning Bolt, Wish ) --overwrite If this option is included, the script will ovewrite existing spells with the same name with the new spells requested, otherwise they will be skipped Selection You must have exactly one token that represents a character selected when running this command. !shaped-spells Alias !shaped-list-spells Displays a list of spells in the currently loaded database that match the supplied criteria. Each spell will be a link to either import and delete the spell, depending on whether the selected/supplied character already has that spell in their spell list or not. Options --character <characterID> If there is no token selected, you must supply a character id for the character whose spells are to be edited. Selection You can have up to one token that represents a character selected when running this command. !shaped-at Gives the selected character advantage or disadvantage, or neither. Options --advantage give the selected character advantage --disadvantage give the selected character disadvantage --normal clears (dis)advantage status for the selected character --revert turns on auto revert advantage/disadvantage for the selected character --persist turns off auto revert advantage/disadvantage for the selected character Selection You must select at least one token that represents a character. The specified setting will apply to the characters of all selected tokens. !shaped-abilities Creates token actions for your character as shortcuts to a variety of rolls and other actions from the sheet. Options --advantageTracker - create 3 abilities, one for each Advantage Tracker option (Advantage, Disadvantage, Normal) --advantageTrackerShort - create 3 abilities, one for each Advantage Tracker option, but with shorter names (Adv, Dis, Normal) --advantageTrackerShortest - as advantageTrackerShort , but omit the "normal" option (for use with the auto-revert advantage option) --advantageTrackerQuery - create an ability to set an Advantage Tracker option from a drop-down query --offense - create an ability for each offense present in the character sheet --offenseMacro - create an ability to launch chat window offense buttons --utility - create an ability for each utility present in the character sheet --utilityMacro - create an ability to launch chat window utility buttons --racialTraits - create an ability for each racial trait present in the character sheet --racialTraitsMacro - create an ability to launch the chat window racial traits buttons --classFeatures - create an ability for each class feature present in the character sheet --classFeaturesMacro - create an ability to launch the chat window class feature buttons --feats - create an ability for each feat present in the character sheet --featsMacro - create an ability to launch the chat window feat buttons --traits - create an ability for each trait present in the character sheet --traitsMacro - create an ability to launch the chat window traits buttons --actions - create an ability for each action present in the character sheet --actionsMacro - create an ability to launch the chat window actions buttons --reactions - create an ability for each reaction present in the character sheet --reactionsMacro - create an ability to launch the chat window reactions buttons --legendaryActions or --legendaryA - create an ability for each legendary action present in the character sheet --legendaryActionsMacro - create an ability to launch chat window legendary actions buttons --lairActions or --lairA - create an ability to launch chat window lair actions buttons --regionalEffects or --regionalE - create an ability to launch chat window regional effects buttons --initiative - create an ability to roll initiative --saves or --savingThrows - create an ability to launch the chat window save buttons --savesQuery or --savingThrowsQuery - create an ability to launch the save drop-down query --abilityChecks or --abilChecks - create an ability to launch the chat window ability check buttons --abilityChecksQuery or --abilChecksQuery - create an ability launch the ability check drop-down query --statblock - create an ability to launch a chat window statblock display --spells - create an ability to launch chat window spellbook display --rests - create an ability to do a short or long rest (pops up a query to ask which) --DELETE - delete all abilities on the token (including those not created by this script) In addition, you can pass the names of spells like --Fireball to create token actions for each spell. Obviously the character in question must actually have this spell in its spellbook for this to work. Selection You must have at least one token that represents a character selected for this command to work. If you have multiple characters selected you cannot specify spells in the options since the different characters may have different spells. !shaped-config Display configuration UI to change default behaviours. The significance of all the options is detailed below !shaped-apply-defaults Apply the same defaults that are used when setting up tokens on import to whatever tokens are currently selected. Useful for mass-configuring manually created tokens. See below for more details on what these options are. Selection You must have at least one token that represents a character selected for this command to work. !shaped-rest Applies the effects of a long or short rest, or a turn recharge Options --long Long rest --short Short rest --turn This will perform a 'turn recharge' - resetting uses for all actions/traits/etc that have X/turn usages. --character Apply the rest to the supplied character id instead of the selected tokens Selection You must select at least one token that represents a character unless you supply the --character option. The selected character(s) will have the effects of the specified type of rest applied to them. !shaped-update-character Triggers any pending character sheet upgrades for the selected characters. When a new version of the character sheet is released, there are often upgrade scripts that must run before previously created characters can be used with it. Normally these are run the first time you open each character sheet. For convenience, you can use this command to trigger these updates on batches of characters without having to open their sheets. Options --all Apply any pending character sheet upgrades for all characters in the current campaign. Note that this might take a long time in a large campaign - use with caution! !shaped-expand-spells When you drag characters from the SRD/Compendium, they are imported with a spell list, but none of the spells have any content. This command will expand these "stub spells" using data from a custom spells database, if one is present. Selection You must select at least one token that represents a character. The selected character(s) will be checked for empty spells and these will be expanded from the custom JSON database. Selection Unless you specify --all you must have at least one token that represents a character selected for this command to work. !shaped-remove-spell Removes spells from the selected character. Options --all If supplied, remove all spells from the selected character. --<spell name> Remove spells by name from the selected character. You may supply multiple spells as separate options, or you may supply multiple in one option separate by commas ( --Fireball, Lightning Bolt, Wish ) Selection You must select exactly one token which represents a character.
1635353701
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I think I've agreed with you on some points. I myself prefer the Shaped Sheet and feel it to be a superior choice. To be fair, you are comparing scripts, not sheets. There are a ton of scripts for the D&D 5th Edition by Roll20 Sheet (From what I have been told, the OGL companion script is not an official script, just one of the first, and therefore got a few hooks in the sheet), and very few for the Shaped. The Shaped sheet is more amenable to scripting, but there really is only one script specific to it. I could list a few of the scripts that add value to the official sheet, but I'm sure you are aware of them, and I really don't want to go down a rabbit hole of feature-counting. My point was that there are still valid reasons for preferring the official sheet, disregarding subscription level. I'd love to see some of the Shaped features implemented in the official sheet. I'd love to see it refactored and some obvious issues resolved. You've listed some of the things on my wish list, particularly dealing with charges and resources. There are others, but again, I'd like to discuss at the level of generalities. Hmm. this might be along the lines of the old Betamax vs VHS problem. Superior quality vs. overwhelming market share. Beta was a better format, but I'd advise most folks to buy VHS.
keithcurtis said: I think I've agreed with you on some points. I myself prefer the Shaped Sheet and feel it to be a superior choice. To be fair, you are comparing scripts, not sheets. There are a ton of scripts for the D&D 5th Edition by Roll20 Sheet (From what I have been told, the OGL companion script is not an official script, just one of the first, and therefore got a few hooks in the sheet), and very few for the Shaped. The Shaped sheet is more amenable to scripting, but there really is only one script specific to it. I could list a few of the scripts that add value to the official sheet, but I'm sure you are aware of them, and I really don't want to go down a rabbit hole of feature-counting. My point was that there are still valid reasons for preferring the official sheet, disregarding subscription level. I'd love to see some of the Shaped features implemented in the official sheet. I'd love to see it refactored and some obvious issues resolved. You've listed some of the things on my wish list, particularly dealing with charges and resources. There are others, but again, I'd like to discuss at the level of generalities. Hmm. this might be along the lines of the old Betamax vs VHS problem. Superior quality vs. overwhelming market share. Beta was a better format, but I'd advise most folks to buy VHS. I honestly don't know of other companion scripts to OGL, just the one the Roll20 wiki recommended, and appears in the drop down menu.  If there are others, they are 3rd party non-affiliated (community driven) from the first-look experience, and priority should be moved to make the most feature rich of them the go-to script of choice - deprecating the older and less useful of them.  This includes all support pages, including the forums, wiki, etc.; and should be dev-authored direct from Roll20, as it fits in their best interest to add value to their Pro subscriptions.  Although the community of scripters in Roll20 is - by far - one of the best resources I have ever seen in a medium like this, who would better understand the framework and backbone of Roll20 and OGL than someone who is on the payroll? These are just my thoughts.  And honestly, very off-topic, admittedly my fault to a large extent.  Since the crisis that created this post has past, and Kryx and others, including the devs who thankfully restored Shaped's functionality ... this thread can be discontinued and archived at this point so further derailing can stop delegitimizing it.  If we wanted to take this discussion to another thread, that'd be fine.
1635373090
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Haha! Fair enough, and you're right. 
1635516583

Edited 1635516606
@Wolf Thunderspirit  By "...  Since the crisis that created this post has past, and Kryx and others, including the devs who thankfully restored Shaped's functionality ..." are you saying that the monster and spell import are working for you?  They are not for me.  If they are working for you could you please explain to me how you got them working?  Also the calculate HP on drop not functioning issue has returned for me since the recent nested macro disaster and subsequent fix.
JP said: @Wolf Thunderspirit  By "...  Since the crisis that created this post has past, and Kryx and others, including the devs who thankfully restored Shaped's functionality ..." are you saying that the monster and spell import are working for you?  They are not for me.  If they are working for you could you please explain to me how you got them working?  Also the calculate HP on drop not functioning issue has returned for me since the recent nested macro disaster and subsequent fix. They won't, for newer content including Mordenkinen's and after, when Kryx decided to discontinue further work on the sheet.  Such Things will have to be added manually or by statblocks (if you can get that feature to work correctly, as some new lines, spaces, and other formatting can seriously alter how it works/ does not work).  5e-tools used to have a JSON output for the Shaped sheet, but has moved on to doing things through foundry, sadly, and will no longer support JSON output any more.  I got a few things before they shut that feature off, but not much... and most of what I was able to grab was in UA at the time)
What I mean is can you import monsters currently via the !shaped-monsters or !shaped-spells commands?  or can you import statblocks via the !shaped-statblock command?   I have many hand inputted monsters and spells that exist in json format that used to import using those commands, but they stopped working as a result of the backend update by Roll20.  Have you been able to get these commands working again?  I thought you had since you said the shaped script had been restored to functionality.  Since these are such huge QoL features for me (not to mention the work I put in to populate my monster and spell lists for import) the script hasn't been restored to functionality until those features are working.  
No, I've had issues, but to be fair, the same issues sometimes hit OGL.  You drag a monster into the game, and the Traits and Actions for your In-Game copy do not show up; kinda making it useless.  You drag an item like a Dancing Sword, and it doesn't know what you're talking about (a longsword, rapier, great sword, etc - because it never asks you from a prompt in order to fill out the attack section. But I digress. Point is that continued use of the sheet means you will just have to do some things manually - because it is no longer officially supported.  I'm sure at this point, Kryx would love to have someone take his ball and run with it, but that's where we're at.  Yes, it has issues.  But for my money, those issues are not QoL draining, by the exchange of QoL offerings that the Shaped sheet; even no longer supported by it's author, provides. By way of comparison, the OGL sheet would have to come decades ahead and be willing to undertake overhauling on a soup-to-nuts level to meet or beat the now unsupported Shaped sheet. But yes, as I said before, you can't just copy and paste a statblock into the Shaped Sheet, run !shaped-statblock, and expect perfect results - more often than not, you will get errors and have to fix the sheet after it fails.  I think Kryx was gracious enough to come out of retiring the Shaped Sheet, and work with others to get it's basic functioning working again.  But even he has said, it's not perfect, and if no one is willing to take the sheet further (in regards to the community programmers), it will be mired in it's current state unresolved for whatever ails it.  Kryx has retired from it; we need to accept that truth.  As Roll20 moves forward, the Shaped Sheet will reach a point where it's code will not recognize the changes Roll20 implements.  As new technologies improve the old way of doing things, Roll20 must adopt those new technologies to stay relevant against it's competitors.  That means; eventually, time will catch up with all the unsupported sheets out there - not just Shaped alone. Now, as Keith has mentioned before, QoL is a standard set by individuals on a case-by-case basis.  I look at raw facts, usage and usefulness vary, QoL included.  All across Roll20, I could point out QoL standards that don't work for me, but work for folks like Keith.  Just take, for instance, that I only play D&D 5e here.  So I have absolutely no concern for people playing Pathfinder, Mutants & Masterminds, etc.  So when they gripe about features of CombatMaster not working for them, I ignore it - it doesn't effect my QoL with the CombatMaster API.  But Roll20 is system agnostic, so it has things in there I'd never need use for - such as "Exploding Dice" rolls. But this is why I like to stick to facts, not opinions.  I think I brought you up to speed on the current state of the Shaped sheet being unsupported by the original author, Kryx, and no one has bothered taking over; unlike Vince did with Combat Master API, which replaced Robyn's CombatTracker, Concentration, and StatusInfo APIs.  What we really need is for someone to take over where Kryx left off.  He asked, no one answered the call.  Considering what community scripters like Vince deal with (and yes, I've seen him get a bit salty over users whining over what doesn't work for them), I can understand why.  Again, QoL is very subjective to each individual. I know its not much help.  But its the best I can offer.  I am a huge fan of this sheet, but I am neither a programmer, nor affiliated with Kryx in any way.  I just admire the work that went into creating a beautifully designed sheet.
"But yes, as I said before, you can't just copy and paste a statblock into the Shaped Sheet, run !shaped-statblock, and expect perfect results" I would be happy with ANY result.  Right now all I get is the creature name and a blank character sheet, thanks to the breaking changes on the backend.  Thanks for the response Wolf Thunderspririt, although I didn't see you specifically say it, I think you confirmed that the monster, statblock, and spell importer portions of the script are still broken for you as well.  If someone were willing to take up the mantle of Kryx and fix the script to overcome whatever Roll20 broke in the code that would be great, but if Roll20 would take the time to fix what they broke in the first place that would be better.
JP said: "But yes, as I said before, you can't just copy and paste a statblock into the Shaped Sheet, run !shaped-statblock, and expect perfect results" I would be happy with ANY result.  Right now all I get is the creature name and a blank character sheet, thanks to the breaking changes on the backend.  Thanks for the response Wolf Thunderspririt, although I didn't see you specifically say it, I think you confirmed that the monster, statblock, and spell importer portions of the script are still broken for you as well.  If someone were willing to take up the mantle of Kryx and fix the script to overcome whatever Roll20 broke in the code that would be great, but if Roll20 would take the time to fix what they broke in the first place that would be better. +1, with reservations ... You have to remember that you are dealing with technological process.  As technology improves, older tech has to improve with it or it will become deprecated.  Without asking Kryx to continue working on the sheet - be assured - it will be on the user to come up with work-arounds as the new technology replaces the old/ unsupported. So, for Roll20 to stay competitive as a tech-based business, they must always be willing to improve their technology.  Look at WoW or DDO and be amazed these are still running - since they're so behind in technology.  The same is true with Roll20.  But their improvements are foundation for many sheets and APIs - so they're bound to break a few eggs on the way to progress.  I don't begrudge a tech-based company keeping value in their subscription dollars by improving outdated technologies, which means breaking a few eggs along the way that couldn't keep up. I think what you want is the same thing as the community - to be able to continue work on the Shaped Sheet, if only to meet the current Roll20 standards (I think it's features far outweigh anything by comparison, IF they could function against the Roll20 updated backend.).  Kryx put that call out long ago.  No one responded then, as now.  Undersstand that, in a notepad .js document, the API is a 1.07 MB file as-is.  Add in the understandings of the Sheet, Style Sheet, and Translation files, and the project is a huge one - just getting onboard.  To fix the QoL things you discussed, it's a big undertaking, one that someone would have to dedicate a considerable amount of effort to.  This is why Kryx had to stop - when your QoL is affected by the work you undertake, it's time to stop.  And programming can overtake your life very quickly.  It's enjoyable, and anything enjoyable can become addictive, and addictions tend to destroy lives.  So a healthy person knows when to push something away and move on to something else.  Still, there are many out there who could use a project like this.  So it's possible.  I just don't want you getting your hopes up. You may want to consider alternatives to the problem.  Perhaps using Token-Mod and Chatsetattr, you could develop a global Macro around Queries to help you enter data faster onto a sheet?  Just a thought ... something to develop a work-around.
1635884535
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Wolf Thunderspirit said: You may want to consider alternatives to the problem.  Perhaps using Token-Mod and Chatsetattr, you could develop a global Macro around Queries to help you enter data faster onto a sheet?  Just a thought ... something to develop a work-around. As a starting point, you could look at these two tips: 5e Class Feature writer  -  API, Shaped Sheet,  Requires user data input to preserve licensed IP 5e Spellbook Manager  -  API, Shaped Sheet