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

5th Ed. OGL vs Shaped Sheet macros

Hey guys, is there a macro for the OGL character sheet that simple carries out one of the attacks in the character sheet. I know shaped sheet does this and I was wondering it it was possible to do with a PC OGL sheet.
1521341608
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
As if you clicked on the attack button in the sheet? Yes, simply drag it the attack button down to your macro bar.
Thanks for the reply! Is there anyway to edit these, they have really long names taking up most of the bar?
Also once there, how do I remove them?
1521344452
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Yes, right click and you can edit the name, and even the color of the button. To remove it from the bar, grab the handle (on the right side of the button), and drag it up off of the bar.
important note for people browsing, is this available to Free users? I notice everyone here is a Pro User, and is there any way to Edit the Macro Contents? thus allowing us to reverse engineer attacks (fun fact: most effective way to learn a new programming language), or simply tweak them for our campaign's needs.
1521893776
Kryx
Pro
Sheet Author
API Scripter
OGL and Shaped are both available to free users. After using a sheet macro you can hit the up arrow to see the code it uses.
I meant the Drag & drop function lol I'm assuming Shaped is the Community one that has the retired Author (from what I've heard)
1521919931
Kryx
Pro
Sheet Author
API Scripter
Nope, there are 3 sheets, Shaped, OGL, and community. Drag and drop works on Shaped and OGL. Shaped has a universal drop area on the next release.
Kryx said: Nope, there are 3 sheets, Shaped, OGL, and community. Drag and drop works on Shaped and OGL. Shaped has a universal drop area on the next release. I got curious now that you pointed that out, you forgot the 4th one: Scrolls. I think the Drag & Drop is likely why I picked Community over Shaped, I think I heard about the "upcoming" release of the Drag & Drop and I just went "nah"
1521957170
Kryx
Pro
Sheet Author
API Scripter
Blue64 said: I think the Drag & Drop is likely why I picked Community over Shaped, I think I heard about the "upcoming" release of the Drag & Drop and I just went "nah" Huh? I think you're confused. Shaped and OGL have a feature to drag content from the compendium while community doesn't.
1521963573

Edited 1521963633
I did it just about 5 hours ago, gotta drag to the correct area, such as the NPC Sheet, or the Spell Slot, but I can totally Drag & Drop onto the Community Sheet, although it's likely a bit more limited than Shaped due to Shaped having a Sheet Author that's not retired from it.
1521990141
Kryx
Pro
Sheet Author
API Scripter
Blue64 said: I did it just about 5 hours ago, gotta drag to the correct area, such as the NPC Sheet, or the Spell Slot, but I can totally Drag & Drop onto the Community Sheet, although it's likely a bit more limited than Shaped due to Shaped having a Sheet Author that's not retired from it. Community has Compendium support now? cool. What I was saying above is you won't have to drop to the "correct area" on the next version of Shaped - it'll do it automatically.
Kryx said: Blue64 said: I did it just about 5 hours ago, gotta drag to the correct area, such as the NPC Sheet, or the Spell Slot, but I can totally Drag & Drop onto the Community Sheet, although it's likely a bit more limited than Shaped due to Shaped having a Sheet Author that's not retired from it. Community has Compendium support now? cool. What I was saying above is you won't have to drop to the "correct area" on the next version of Shaped - it'll do it automatically. I read this and I went and tried a test, it seems to allow for drag and drop of spells for player side sheet, and to drag and drop monsters into the npc section (but you will need to set up all the monster actions, but it lists all monsters actions in the trait section above the action area of the sheet).  So a very limited drag and drop support.
1522056079
Kryx
Pro
Sheet Author
API Scripter
Kryx said: What I was saying above is you won't have to drop to the "correct area" on the next version of Shaped - it'll do it automatically. Next version handles it when dropped straight to the sheet, but even the old version handles everything that the compendium delivers (weapons, armor, npcs, spells, etc). I've never heard of actions being shown in traits. You can test the latest version on my test campaign (see the thread) for it, though 17.0.5 should go out to the public this week.
1522097916

Edited 1522097947
I actually don't mind it not filling in the Actions for me, because I like to set those myself using the other methods, which I intend to phase out using the Macros (granted some of the easier Macros are going to be things like "Club") If you are absolutely dying to know what exactly it looks up and where it places it in the Community Sheet though, go here and do a Ctrl+F for the phrase drop_ without any of the Context, here's what every line with that specific match reads:     <input type="hidden" name="attr_drop_category" accept="Category">     <input type="hidden" name="attr_drop_name" accept="Name">     <input type="hidden" name="attr_drop_weight" accept="Weight">     <input type="hidden" name="attr_drop_properties" accept="Properties">     <input type="hidden" name="attr_drop_modifiers" accept="Modifiers">     <input type="hidden" name="attr_drop_content" accept="Content">     <input type="hidden" name="attr_drop_itemtype" accept="Item Type">     <input type="hidden" name="attr_drop_damage" accept="Damage">     <input type="hidden" name="attr_drop_damagetype" accept="Damage Type">     <input type="hidden" name="attr_drop_range" accept="Range">     <input type="hidden" name="attr_drop_ac" accept="AC">     <input type="hidden" name="attr_drop_speed" accept="Speed">     <input type="hidden" name="attr_drop_str" accept="STR">     <input type="hidden" name="attr_drop_dex" accept="DEX">     <input type="hidden" name="attr_drop_con" accept="CON">     <input type="hidden" name="attr_drop_int" accept="INT">     <input type="hidden" name="attr_drop_wis" accept="WIS">     <input type="hidden" name="attr_drop_cha" accept="CHA">     <input type="hidden" name="attr_drop_vulnerabilities" accept="Vulnerabilities">     <input type="hidden" name="attr_drop_resistances" accept="Resistances">     <input type="hidden" name="attr_drop_immunities" accept="Immunities">     <input type="hidden" name="attr_drop_condition_immunities" accept="Condition Immunities">     <input type="hidden" name="attr_drop_languages" accept="Languages">     <input type="hidden" name="attr_drop_challenge_rating" accept="Challenge Rating">     <input type="hidden" name="attr_drop_size" accept="Size">     <input type="hidden" name="attr_drop_type" accept="Type">     <input type="hidden" name="attr_drop_alignment" accept="Alignment">     <input type="hidden" name="attr_drop_hp" accept="HP">     <input type="hidden" name="attr_drop_saving_throws" accept="Saving Throws">     <input type="hidden" name="attr_drop_senses" accept="Senses">     <input type="hidden" name="attr_drop_passive_perception" accept="Passive Perception">     <input type="hidden" name="attr_drop_skills" accept="Skills">     <input type="hidden" name="attr_drop_token_size" accept="Token Size">     on("change:drop_category", function(eventinfo) {             handle_drop_monster(eventinfo.newValue);     var handle_drop_monster = function(category, eventinfo) {         drop_attrs = ["drop_name","drop_weight","drop_properties",                       "drop_modifiers","drop_content","drop_itemtype",                       "drop_damage","drop_damagetype","drop_damage2",                       "drop_damagetype2","drop_range","drop_ac",                       "drop_speed", "drop_str", "drop_dex", "drop_con",                       "drop_int", "drop_wis", "drop_cha",                       "drop_vulnerabilities", "drop_resistances",                       "drop_immunities", "drop_condition_immunities",                       "drop_languages", "drop_challenge_rating", "drop_size",                       "drop_type", "drop_alignment", "drop_hp",                       "drop_saving_throws", "drop_senses",                       "drop_passive_perception", "drop_skills",                       "drop_token_size", "character_id"]         getAttrs(drop_attrs, function(v) {                 if(v["drop_name"] && v["drop_name"] != "") {update["character_name"] = v["drop_name"]};                 update["npc_strength"]     = v["drop_str"] ? v["drop_str"] : "";                 update["npc_dexterity"]    = v["drop_dex"] ? v["drop_dex"] : "";                 update["npc_constitution"] = v["drop_con"] ? v["drop_con"] : "";                 update["npc_intelligence"] = v["drop_int"] ? v["drop_int"] : "";                 update["npc_wisdom"]       = v["drop_wis"] ? v["drop_wis"] : "";                 update["npc_charisma"]     = v["drop_cha"] ? v["drop_cha"] : "";                 if(v["drop_saving_throws"] && v["drop_saving_throws"] != "") {                     var savearray = v["drop_saving_throws"].split(", ");                 update["npc_size"]      = v["drop_size"] ? v["drop_size"] : "";                 update["npc_type"]      = v["drop_type"] ? v["drop_type"] : "";                 update["npc_alignment"] = v["drop_alignment"] ? v["drop_alignment"] : "";                 if(v["drop_ac"]) {                     if(v["drop_ac"].indexOf("(") > -1) {                         update["npc_ac"] = v["drop_ac"].split(" (")[0];                         update["npc_AC_note"] = v["drop_ac"].split(" (")[1].slice(0, -1);                         update["npc_ac"] = v["drop_ac"];                 if(v["drop_hp"]) {                     if(v["drop_hp"].indexOf("(") > -1) {                         update["npc_HP"] = v["drop_hp"].split(" (")[0];                         update["npc_HP_max"] = v["drop_hp"].split(" (")[0];                         //update["npc_HP_max"] = v["drop_hp"].split(" (")[1].slice(0, -1);                         update["npc_HP"] = v["drop_hp"]                         update["npc_HP_max"] = v["drop_hp"]                 if(v["drop_speed"]) {                     speed_match = speed.exec(v["drop_speed"])                     fly_match   = fly.exec(v["drop_speed"])                     climb_match = climb.exec(v["drop_speed"])                     swim_match  = swim.exec(v["drop_speed"])                 if(v["drop_challenge_rating"] && v["drop_challenge_rating"] != "") {                   update["npc_challenge"] = v["drop_challenge_rating"];                                     switch(v["drop_challenge_rating"]) {                 update["npc_senses"] = v["drop_senses"] ? v["drop_senses"] : "";                 update["npc_languages"] = v["drop_languages"] ? v["drop_languages"] : "";                 update["npc_damage_resistance"] = v["drop_resistances"] ? v["drop_resistances"] : "";                         update["npc_damage_vulnerability"] = v["drop_vulnerabilities"] ? v["drop_vulnerabilities"] : "";                 update["npc_damage_immunity"] = v["drop_immunities"] ? v["drop_immunities"] : "";                 update["npc_condition_immunity"] = v["drop_condition_immunities"] ? v["drop_condition_immunities"] : "";                 update["npc_traits"] = v["drop_content"] ? v["drop_content"] : "";                 if(v["drop_skills"] && v["drop_skills"] != "") {                     skillarray = v["drop_skills"].split(", ");             callbacks.push( function() {cleanup_drop_fields();} );     var cleanup_drop_fields = function() {         update["drop_name"] = "";         update["drop_weight"] = "";         update["drop_properties"] = "";         update["drop_modifiers"] = "";         update["drop_content"] = "";         update["drop_itemtype"] = "";         update["drop_damage"] = "";         update["drop_damagetype"] = "";         update["drop_range"] = "";         update["drop_ac"] = "";         update["drop_category"] = "";         update["drop_speed"] = "";         update["drop_str"] = "";         update["drop_dex"] = "";         update["drop_con"] = "";         update["drop_int"] = "";         update["drop_wis"] = "";         update["drop_cha"] = "";         update["drop_vulnerabilities"] = "";         update["drop_resistances"] = "";         update["drop_immunities"] = "";         update["drop_condition_immunities"] = "";         update["drop_languages"] = "";         update["drop_challenge_rating"] = "";         update["drop_size"] = "";         update["drop_type"] = "";         update["drop_alignment"] = "";         update["drop_hp"] = "";         update["drop_saving_throws"] = "";         update["drop_senses"] = "";         update["drop_passive_perception"] = "";         update["drop_skills"] = "";         update["drop_token_size"] = ""; the Attributes will get spammed with the "drop_" Attributes, which as you can see, get marked as Empty, so it's just empty space that hogs up room, good idea to clean that bit up for the slower users with less powerful computers/connections, they'll be at the bottom of the List. Loading times for the sheet can get bogged down from having too many variables to load when opening the sheet, and possibly during initial launch.