ACKs Roll20

Hi!

tldr; Here is an ACKs character sheet for Roll20, if you are a pro subscriber I would love some feedback!

Sorry if I'm late to the party. I just started playing (well, GMing) ACKs on Roll20 at the start of this year, and it's my new favorite system. I was disappointed by the sheet that is currently available from the repository, and so I started cobbling together my own, which I have used in my game for the last few months. I recently overhauled it completely, and I would like to submit it to the sheet repository for anyone to use.

Before I do that though, I was hoping some other people might have a pro subscription and give it a try to help me with some constructive feedback/criticism as to what is useful, what isn't, and what other features may be needed. I am self-taught so I also don't know if the html, css, or javascript are a functional mess. Additionally, there is one feature that I am having trouble implementing. and I thought there may be a small chance that someone here might know how to help.

Lastly, if there is anyone who is thinking about or currently running an ACKs game on Roll20, I'd love to get a chance to play if you can fit another!

Thanks for your time!

i don't know if i have a pro account or not since i have some little bells and whistles left over from the tabletop forge merger,  but i'm definitely interested in ACKs specific stuff.

So far the biggest challenge has been managing rolling initiative every round for a large number of participants.  Roll20 seems built around the assumption that a small number of participants will roll initiative once and just keep looping through the same order.

[quote="Jard"]

i don't know if i have a pro account or not since i have some little bells and whistles left over from the tabletop forge merger,  but i'm definitely interested in ACKs specific stuff.

So far the biggest challenge has been managing rolling initiative every round for a large number of participants.  Roll20 seems built around the assumption that a small number of participants will roll initiative once and just keep looping through the same order.

[/quote]

I agree completely! If you are a pro subscriber you will have access to the API. There are some great scripts out there for automating a lot of these types of tasks. I use GroupInitiative in my own game, combined with a script that I cobbled together from TurnManager. My ACKS_Turns script is a little cumbersome until you figure it out and get some macros ready to go, but I was able to implement a round counter that pauses for declarations before initiatives are rerolled and sorted to use in conjunction with GroupInitative. If you want to check it out, the comments at the top of the javascript explain how it is supposed to work.

I've been taking a look at the character sheet Davemania, and I have a few questions/comments if you're happy to answer them.

Firstly, it looks great. I've not run ACKS in about 5 years and am just setting up to get back into it and your sheet here is real gem of a find. So although I'm about to create what might be a wall of text, hopefully it's all constructive feedback :) It's certainly intended that way. So... off we go:

1) Are the freetext fields in the top left restricted at all? E.g. Gender, Race, Class, Template/Title. They seem to be free text with some of them (e.g. Class) pattern matching against words listed within the html. Is it feasible to turn them into dropdowns? (presumably managed from within the html?)

2) On the 'Class' field in particular - I like how it's pulling through data for saving throws etc.. If I want to create a character sheet for a 0 lvl Normal Man, how would I do that? A 0-lvl Normal Man doesn't seem to be accepted - in that the Saving Throws stay as 20 across the board.

3) Do Ability score bonuses automatically apply to relevant rolls - e.g. Open Doors. I looked at the html code and it doesn't look like it does, at least in this specific instance. How could the code be tweaked to apply bonuses?

4) Do any of the class abilities get pulled through? E.g. Barbarian bonus to Initiative

5) How do you make an attack / damage roll? I can't see a button on the character sheet.. (I have various macros set up for 1H Melee w. Medium wpns, 2H Melee w. Medium weapons, 2W Fighting Melee w. Medium weapons, same for small weapons, and so on.. it's cumbersome because there are so many modifiers to consider, but they're all calculated off the Attributes section of the characters I've got set up. A combination of that functionality and your character sheet would be amazing.

6) When you add new actions, they don't seem to align neatly with the default ones - with the target number box being stepped out a few pixels.

7) I *really* like what you've done with the GM roll actions!

8) With Spells, it looks like clicking on the roll20 icon pops the spell description into chat, but there's no way to 'cast' a spell that involves a roll such as Magic Missile or Fireball. Is that right?

9) Under equipment, I'm not sure what the box on the 'Total' line is doing as it's staying at 0. Either I'm doing something wrong, or it's not calculating weight correctly.

10) On that topic - is weight supposed to be factored into movement at all? (It's hard to tell given (9))

11) And on that topic.. I'd prefer to be able to see the full movement stat block to a single value, by which I mean Exploration, Combat, Charging/Running, Climbing, Stealth and Daily movement speed. I've found that taking the mental load off the players (and myself) speeds things up

12) Under Misc Bonuses, you've got a bunch of modifiers to saving throws. What are they for (I mean, aside from the obvious)?

13) Would it be possible to have the Wisdom Bonus applies to all Saves House Rule as an optional thing?

14) On the monster statblock - where are you taking the raw data from? Are you copying it out of the pdf, or getting it from elsewhere? If I wanted to create my own monster, how would you recommend formatting the text to do so?

and.. breathe..

 

There's more there than I intended to write but I kept thinking of things to add. Thanks for all the work you've put into the sheet so far.

 

 

 

Davemania,

I’m afraid I missed your question re: space in ongoing games. We have space if our schedule works for you. Normally, we play on Saturdays between 2pm and 5pm EST (2000 and 2300 for those of us in the CET timezone).

Frequency is once or twice a month.

James-
I appreciate the feedback! So far it's only been my ideas and thought processes, so it's great to get another perspective. I'm happy to hear any ideas you have for improving the sheet as it has been an ongoing effort that has stagnated since my ACKs game petered out a few weeks ago. It is still something I'd like to polish up and submit; however there is one outstanding issue I haven't ironed out which I'll mention below.

1:
You are correct. There are no restrictions, but if you don't enter an expected value they default out. That is why you were seeing all 20s in the saves at one point, for example. It would be possible to make some of them dropdowns, if you think that is a better solution. To be honest, that is how I originally did it, but then I wasn't sure how close to the line I was when it comes to the "automatic advancement" guidelines found here: https://github.com/Roll20/roll20-character-sheets#contributing

2:
I can certainly add normal man to the accepted class names in the calculations. Is that a good use case? I do have normal man saves selectable for the STATBLOCK side of the sheet, which I use for monsters and NPCs.

3/4/12:
I went down a rabbit hole on this one while I was working on the sheet. Originally I tried to automate as many modifiers as I could but it got to be too much to account for, and no matter what I was always stumbling across one I hadn't included. So rather than calculate it, the number next to the action is editable for anyone to apply their modifiers directly to the target number. I included misc modifiers for everything I could think of to cater to these kinds of modifiers. This is where I would put the Barbarian +1 Initiative bonus, or the +1 AC from Shield Fighting Style, or the +2 to all saves from Divine Blessing, etc. I even added a Carry Mod to account for damaged knees as a result of the mortal wounds table. Let me know how you feel about it. I felt that I had to draw the line for automation somewhere, and this allows modifiers to be applied at the GM's discretion outside of what might be in the book.

5:
All of the roll buttons are little d20s that bold when you mouse over them. They should be present for the weapons, as long as the fields have been filled out*. Aside from the name you select the type (melee,missile, or finesse) which will allow for automatically applying the relevant attribute to the attack throw and damage roll. If it is a missile weapon, the range bands should be entered, as it will query the appropriate one when the button is pressed. The weapon die needs to be selected from the dropdown, and any other modifiers can be added into +Hit and +Dmg, for things like the +1 enhancement on a magical weapon or even creating a weapon profile for charging with a +2 built in. Focus yes/no refers to weapon focus and will apply a multiplier on a critical if it is set to yes. A seperate multiplier field is also present, useful for a macro for charging with a spear, or backstabbing.
*There is an issue here that I mentioned above that I have not resolved yet. When a new weapon is added it defaults to type melee. After you type in a name, the roll button disapears from the sheet. You have to set the weapon type again, including choosing something else and then choosing melee again if it is a melee weapon. That makes the button come back, and then it won't happen again. I don't know why this is happening.

Last note on the roll buttons. Almost universally they query for a modifier. This is for any circumstantial stuff not on the sheet that you may apply sometimes, or that the GM may tell you to apply. It defaults to 0, and a quick tap of the enter key is all it takes to bypass.

6:
Ok, I lied, this is another issue that I haven't ironed out. In the custom sheet preview this offset isn't present. I will see if I can fix it.

7:
Thank you, this was a PITA because of the way repeating sections work, but I finally got it with the help of a second pair of eyes on the roll20 forums.

8:
Inline rolls function in the description box (and range, and duration), so instead of typing blah blah fireball 5d6 damage, you can enter blah blah fireball [[@{level}d6]] damage and it will roll it on the output when you click it. Using the roll engine you can do just about anything you can think of. Here is a fire elementalists burning hands spell damage for example: [[ [[{5,@{level}}kl1]]d4+[[{5,@{level}}kl1]] ]].

9/10:
Total should be the caluclated total of your encumbrance from equipment and coins carried. Make sure that the number of items, as well as their individual weights are entered, so that it can multiply them. For 1/6 stone items I usually enter .16 or .17. I like to throw an entry for a backpack in the unencumbering section with an account of every item in it, and then just put 1 backpack with the correct weight in the equipment section. Based on total encumbrance and strength, the movement rates are calculated. I even adjust for poor little halflings.

11:
Combat move is at the top of the sheet, while exploration(charge/run) and Daily March speed are on the right side movement section. I haven't included climb and stealth speeds, but I can try to squeeze those in!

13:
I might consider this if I can fit it nicely on the sheet. It's my understanding that this house rule is very often applied, and was made official in the Heroic Fantasy Handbook. For now, it can be counteracted by negating the wisdom modifier in the save mod fields.

14:
I copy directly from the monsters in the pdf rulebook. The parsing just formats it nicely, it still needs to be copied over to the relevant fields on the right side of the sheet. Here is the template I use for custom stuff (things can be left blank and it should still work):

NAME
% In Lair:
Dungeon Enc:
Wilderness Enc:
Alignment:
Movement:
Armor Class:
Hit Dice:
Attacks:
Damage:
Save:
Morale:
Treasure Type:
XP:
 

[quote="Hardrada"] Davemania, I'm afraid I missed your question re: space in ongoing games. We have space if our schedule works for you. Normally, we play on Saturdays between 2pm and 5pm EST (2000 and 2300 for those of us in the CET timezone). Frequency is once or twice a month. [/quote]

I really appreciate the invite! Unfortunately, I am in EST and weekend daytime hours cut into my family time, so I won't be able to join you.

You've put in a lot of work, I'm sorry your game petered out. It'd be a shame for the sheet not to be accepted just because of the weapon bug. As you may be able to tell, I'm clueless on the html/css side of things :)

1: Data Entry Limitations
Ah, I didn’t know about the guidelines – that makes sense. I think my perspective is that players need to have some guidance as to what is ‘valid data’ – e.g. Which classes / races / etc.. That way you can give players a list. I dunno if it's a licensing thing, but the 5E sheet my Curse of Strahd GM is using has a drop down for class, but that's it. Everything else is free text. The class selection modifies some of the class specific saving throws, but I'm not sure what else it does, if anything.

As an aside - In an ideal world it would be good to be able to enable/disable certain classes that you didn’t want playable in a given campaign (or add in custom classes easily?) I'm assuming that one could just delete certain lines of the html lists of classes?

2: Normal Man Use Case
I might be an edge case, but I like to stat up NPCs and hirelings (in particular), and oftentimes they’re just 0 level NM. I’ve historically used Google Sheets for character sheets, and I have a slightly different one for hirelings but it’s still about 80-90% of a full character. It’s a good use case for me, but the effort may not be worth it for everyone :)

3/4/12: Modifier Automation
I get what you mean tbh.. These are my to-hit and damage macros for a one handed medium melee weapon – each modifier is a separate attribute, painstakingly assembled to make it make sense:

[[1d20+@{selected|Strength}+@{selected|1-H Med Melee} +?{Modifers?|0}]] To Hit Vs [[@{selected|Attack Throw}+@{target|Base AC}+@{target|Armour AC}+@{target|Shield AC}+@{target|Class AC Bonus}+@{target|Magic AC Bonus}+@{target|Dexterity}]]

@{selected|token_name} does [[1d@{selected|1-H Med Melee|max} + @{selected|Strength} +@{selected|Class Melee Damage Bonus} + @{selected|1-H Med Melee}]] Damage

Your solution is reasonable, though (again in an ideal world) it’d be nice to take the load off the players :)

5: Attack Roll & roll buttons
The attack roll button wasn’t showing up when I wrote my comment – so I fell foul of your bug. It’s useful to know it’s just a glitch. No idea what's going on sorry.

I’ve seen it now though! I confess I have a weird, possibly irrational, reaction to not seeing the actual number rolled and just seeing the AC hit :)

WRT the queries – I think that’s the best approach.

6: Action box offset
It’s not ‘vital’, but it’d be a nice to have.

7: GM Roll actions
Ah that’s what that was about! Cool, I’m glad you got it fixed :)

8: Spell Damage
Oh wow! That is awesome! So I guess the trick is not to paste in huge spell descriptions and focus on what you need.

9/10: Encumbrance
Ah, I was missing the # of items. Thank you!

11: Move
I’m blind! That said, you’ve actually got 2 locations you’re recording combat move – First blob in the Combat section, and also the first blob to the right of the ‘Race’ field. Would it be worth swapping one for something else? Stealth perhaps?

13: Wis Bonus to all saves
Yeah, I see where you’re coming from – I think it’s somewhat campaign specific, and I can see why people would house rule it as default, but I’d love to see it toggleable.

14: Monster stat blocks
Thanks – that’s useful.

I've updated the html and css in the repository I linked at the top!

1:
Yeah, I restricted classes in my game to the eight human classes in the Core Book, but it's something that I just talked about with my players before hand. If you really want to remove support for some of them from the sheet, you can remove the class names from the sheetworkers below the html. Right now the supported class names are from the Core Book, the Players Companion, as well as the Halfling Bounder, Halfling Burglar and Warmistress from the Heroic Fantasy Handbook.
Custom classes can be done by playing with modifiers, otherwise if you want to play with the sheet workers it is fairly simple. Just add the custom class name in with the pile of names you want it to share save and attack progressions with.

2:
Adding the normal man in was simple, so it's done. Entering the class as 'normal man' 'normal woman' or just 'normal' regardless of level should work; it's all case insensitive. Alternatively, if any other class is set to level 0 they will default to normal man attack and saves.

3/4/12:
The default attack macros function nearly the same as yours, just with different attribute names. The main difference is that I don't require a target with an AC attribute be selected. While I have run/played some Roll20 games that used macros that required targets, I prefer the flexibility of running combats without a grid or fully represented tokens. This does lead to the funkiness of having to output the AC hit result rather than the attack roll. This is because "saving" a roll result to output more than once isn't supported, and outputting the result is more useful than the raw roll in this case, I think.
You can also execute a macro from the sheet, then in the chat box press the up arrow. That will show what was executed, and you can customize it any way you like, and save it off as a character ability. By updating the attribute references with the character name you can use it as a macro separated from the sheet.

5/6/11/13:
I think I've cracked these; please take a look, exercise them, and let me know what you think!

Take a look and thanks again for the valuable feedback!

2) Awesome work :)

3/4/12) The flexibility is probably better than my approach.The chat up arrow command is also useful to know, thanks.

5/6/11/13) They look great.

 

Thanks for all the effort. Once I start running (it's going to be a backup game in case our main game can't run for any reason) I'll be able to give some practical feedback too hopefully! 

In the meantime, time to create a monster manual!

 

A little more feedback - Take the example of a Carcass Scavenger:

8 Attacks, doing Paralysis but no damage.

Have you accounted for the ability for an attack to do no damage, or 'special' damage? I've tried plugging various options into the 'damage' field of the combat stat block but unless I put 'xdy' into the field then it won't roll.

I know I can create an ability to do special attacks, but it'd be good to plug stuff like this into the stat block.

It might also be functionally useful to be able to tag attacks (and other rolls, potentially) on the stat block as Token Actions

Another update!

[quote="James S"]
A little more feedback - Take the example of a Carcass Scavenger:
8 Attacks, doing Paralysis but no damage.
Have you accounted for the ability for an attack to do no damage, or 'special' damage? I've tried plugging various options into the 'damage' field of the combat stat block but unless I put 'xdy' into the field then it won't roll.
I know I can create an ability to do special attacks, but it'd be good to plug stuff like this into the stat block.

[/quote]


This is a good use case I hadn’t considered. The damage field was pretty restrictive specifically to prevent doing 0 damage; it would always do a minimum of 1. I’ve changed it (only on the statblock side) and it should accept dice notation as well as flat values. So you can put ‘0’ in it, and it will output zero damage every time. Don’t leave it blank, the roll template won’t output if you do.

I put the description field there to note things like special attack effects, but I did not try to output it in the roll template. Now there is a checkbox next to it. While it is checked and there is something in the field, it will output the description on a hit. Here you can note things like the paralyze effect, prompt for a saving throw, and even put inline rolls for duration and things like that. I like this and made it a feature on the character sheet side as well.

 

[quote="James S"]
It might also be functionally useful to be able to tag attacks (and other rolls, potentially) on the stat block as Token Actions

[/quote]


Unfortunately dynamic tagging for token actions isn’t possible. Believe me, I would love to be able to do that.

Right now custom sheets only support statically tagging a roll button as a token action. It’s not user configurable, and I don’t want to dictate token actions for users. I’m not even sure how it interacts with repeating section buttons of which I have many.

I know it is possible to generate "abilities" (the macros on the sheet) via the API. I've looked at scripts that accomplish it for other sheets, and will probably attempt to tackle it for this one eventually. I don't have a timeline on it, and it would require a pro subscription to utilize the API script.

Without a script, as a player, the way I accomplish it manually is to drag buttons from the sheet to my macro bar on the bottom of the screen. If I really need to customize one, or would prefer it be in the token bar at the top, I copy the sheet button macros using the up arrow trick after pressing them. I customize as necessary and paste into new "abilities" on the sheet and then I am able to set those as token actions. This is my experience and method with using most other system sheets too, as it goes.

As a GM, I have a stock of generic macros I dump into monster sheets as token actions. Here is a simple example that I use for the ACKS sheet:

&{template:acks_template} {{name=?{Weapon|Spear|Sword|Axe|Mace|Bow|Crossbow|Javelin}}} {{attackthrow=[[1d20+(?{Modifier|0})-(@{Mattackthrow})]]}} {{damageroll=[[1d6]]}} {{critdamageroll=[[1d6]]}}

 

 

edit: After putting together some pregen characters on Roll20 to exercise the sheet, I've also rearranged a few things in the hopes of more efficiently using some of the space.

Love the new update. Special attacks are great now! I can set my ghouls up so they roll damage and then roll the # turns of paralysis in the description. It's very useful.

On a related topic, how would I set up an ability using the roll template you've created with just a note in it. The 'Swarm, Insect' monster doesn't roll to hit and just does damage each round. Whilst I don't need to do this, I'm curious how I could set up an ability to click a button and tell the players they're taking damage but in the same format as for other attacks.

I've had a play with the macro code but it doesn't seem to like it.

You don't need to play with the code, the roll template supports custom output. Details and examples are in the readme in the github repository, but I would handle it with one of these:

&{template:acks_template} {{type=Swarm Automatic Damage}}{{name=Insect Swarm}} {{Damage=2 or 4 if unarmored.}}

or

&{template:acks_template} {{type=Swarm Automatic Damage}}{{name=Insect Swarm}} {{Target=@{target|character_name}}} {{Damage=2 or 4 if unarmored.}}