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

[Script] [D&D 5e OGL Sheet] Paladin Aura

1584453440

Edited 1598343623
Layton
API Scripter
OUTDATED: New Version Paladin Aura   A simple yet powerful API that automatically adjusts the saving throw modifiers of those in the proximity of any paladin as per 5th Edition D&D rules . This API is only compatible with the Roll20 5E Character Sheet. For a guide and installation instructions click here. For those who are used to Roll20 API and just want the JS file, click here. Any feedback, issues, or feature requests can go here or reply to this post on reddit . Happy rolling! Changelog 1.0.14 - Bug Fix Fixed an issue with the ToggleAuraTarget paladin ability being given to all non-paladin characters. 1.0.13 - Paladin's are Updated on Health Change Code auto-runs when any character's HP is changed to or from 0. Minor bugs fixed to do with NPCs receiving buff. 1.0.12 - Large Tokens Functions properly with 2x2 and larger tokens. Issues may be present with non-square tokens. 1.0.11 - Optimizations Optimized API massively. API will now again only run on the player-ribbon page. Improved code readability. 1.0.10 - Charactermancer Compatibility Fixed charactermancer compatibility issues. Reduced chat output when multiple paladins are detected for the first time. 1.0.9 Improved first-time-run message. 1.0.8 In the config there is now a CLEAR ALL button that allows a GM to clear all PaladinAura settings, attributes, and abilities in the game. NPC saving throw regions no longer show on their sheet when all save bonuses are equal to their relevant attribute modifiers. 1.0.7 Fixed status marker config error for clean installs. 1.0.6 Paladins now have a Token Ability (ToggleAuraTarget) that allows them to toggle whether NPCs and Players receive a buff to saving throws from their Paladin Aura. 1.0.5 API now runs on any page with active player(s). 1.0.4 Cleaned up API Output Console feed. 1.0.3 Added custom token-status marker integration (use !pa config in Roll20 to change settings). 1.0.2 Added a bottom limit to the Aura's bonus (+1). 1.0.1 Added token-status marker integration. When the PaladinAura affects a token that token now receives a marker with a number to represent the bonus.
1584460893
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Very nice! I'll test this out for sure!
1584462469
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Works great so far. Very useful. If I could make a suggestion: When the paladin_buff attribute is modified, it would be nice to have a visual cue. Setting a token marker on or off would be handy.
1584462861
Layton
API Scripter
keithcurtis said: Works great so far. Very useful. If I could make a suggestion: When the paladin_buff attribute is modified, it would be nice to have a visual cue. Setting a token marker on or off would be handy. Fantastic suggestion! I'll post here when it's done. (likely <4 days). 
1584464166
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
This is now a staple for me, BTW. The script can differentiate between multiple paladins of different aura sizes and charismas. As an aside, an 18th level Paladin is terrifying. That aura is huge!
1584466110
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
I'm looking at starting a new campaign, possibly using 5e rules, soon. This will be very helpful as I fully expect at least one player to play a paladin.
1584545443
Layton
API Scripter
keithcurtis said: This is now a staple for me, BTW. The script can differentiate between multiple paladins of different aura sizes and charismas. As an aside, an 18th level Paladin is terrifying. That aura is huge! Glad to hear you like it! This is the first time I've considered my work share-ready. Expect more soon :)
You should mention in your documentation that it requires the Players flag to be on the current map for it to function. I just spent 20 minutes trying to get it to work, only to find out this was the problem. :-)
This script is amazing! While I don't have a paladin in either of my games currently, this is already a must have inclusion for me. Thank you so much.
1584549025
Layton
API Scripter
keithcurtis said: If I could make a suggestion: When the paladin_buff attribute is modified, it would be nice to have a visual cue. Setting a token marker on or off would be handy. This is now done! Not only does the token marker get added and removed, but the bonus quantity is also added to the marker.
1584549345
Layton
API Scripter
Anthony said: You should mention in your documentation that it requires the Players flag to be on the current map for it to function. I just spent 20 minutes trying to get it to work, only to find out this was the problem. :-) Gotcha, sorry about that. It's added now. Inkcharm said: This script is amazing! While I don't have a paladin in either of my games currently, this is already a must have inclusion for me. Thank you so much. You're welcome! Happy to hear it's helped :)
Layton said: keithcurtis said: If I could make a suggestion: When the paladin_buff attribute is modified, it would be nice to have a visual cue. Setting a token marker on or off would be handy. This is now done! Not only does the token marker get added and removed, but the bonus quantity is also added to the marker. That's really amazing! Do you know if it's at all possible to allow for the integration of custom token markers into this?
This script is very impressive Layton - well done. -Adam
1584605809
Layton
API Scripter
Inkcharm said: That's really amazing! Do you know if it's at all possible to allow for the integration of custom token markers into this? I don't know, but I'll add it to my TODO list and research it :)
1584628081
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
There's a library in the One-Click for custom token markers that may help: libTokenMarker.
Script seems great so far, I did have to make a small tweak: chaBonus: +getAttrByName(charID, 'charisma_mod'), should be: chaBonus: +Math.max(getAttrByName(charID, 'charisma_mod'),1), (or however you would prefer to do "at least 1"). One of my players plays a paladin with 10 charisma...
1584699642
Layton
API Scripter
Sam said: Script seems great so far, I did have to make a small tweak: chaBonus: +getAttrByName(charID, 'charisma_mod'), should be: chaBonus: +Math.max(getAttrByName(charID, 'charisma_mod'),1), (or however you would prefer to do "at least 1"). One of my players plays a paladin with 10 charisma... You're totally right, I'll alter that right now. Thanks for the comment!
1584718011

Edited 1584720698
Layton
API Scripter
Inkcharm said: Do you know if it's at all possible to allow for the integration of custom token markers into this? Custom token markers are now integrated! Update the API from here . Add custom markers to the campaign. Run !pa config in the chat. Click the Status_marker setting. Pick the marker you want to use from the list that opens up. This list includes your custom markers. If your custom markers have a capital letter at the start of their name, it'll push them to the front of the list, too. Hope that does everything you wanted :) I'll be updating the readme soon. I have also updated the readme.
1584722590
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I'm getting this to work in a test game where I keep few scripts, but it does not seem to be altering values in my regular game which has about 40 scripts. Before I go through the isolation dance, is there anything you can think of in your script that might cause a conflict? A globally scoped variable name or something?
1584725351
The Aaron
Roll20 Production Team
API Scripter
Neat Script!  I'd love to see 5e Shaped support so I could use it. =D Regarding the player pages, here's a little function that returns an array of all the pageids for pages with a player (including the GM) on them: const getActivePages = () => [...new Set([ Campaign().get('playerpageid'), ...Object.values(Campaign().get('playerspecificpages')), ...findObjs({ type: 'player', online: true }) .filter((p)=>playerIsGM(p.id)) .map((p)=>p.get('lastpage')) ]) ];
1584792988
Layton
API Scripter
The Aaron said: Neat Script!  I'd love to see 5e Shaped support so I could use it. =D Regarding the player pages, here's a little function that returns an array of all the pageids for pages with a player (including the GM) on them: const getActivePages = () => [...new Set([ Campaign().get('playerpageid'), ...Object.values(Campaign().get('playerspecificpages')), ...findObjs({ type: 'player', online: true }) .filter((p)=>playerIsGM(p.id)) .map((p)=>p.get('lastpage')) ]) ]; Can you teach me a bit about that ellipsis "..." usage, or tell me what it's called? I'm only learning, and I've seen that used in a lot of places but don't know what to Google to learn about it.  That function will be extremely handy though, so thanks for the comment - I'll integrate it soon! Shaped functionality is on the way, but because the global save modifiers on the shaped sheets is in the repeating modifiers section the system becomes a whole bundle more complex. Regardless, I'm making progress. 
1584793159
Layton
API Scripter
keithcurtis said: I'm getting this to work in a test game where I keep few scripts, but it does not seem to be altering values in my regular game which has about 40 scripts. Before I go through the isolation dance, is there anything you can think of in your script that might cause a conflict? A globally scoped variable name or something? Everything other than the state  and PaladinAura objects are contained within the PaladinAura object itself, so nothing should be changing elsewhere. Sorry if you find that it is my script causing the issues - keep me updated and I'll double check my work when I can. 
1584808034
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I've got game prep today, but no high level paladins involved, so I'll check it out tomorrow. Thanks again.
1584810125

Edited 1584810159
Dumbhuman
Pro
Marketplace Creator
I just found out that I've got a Paladin in my game tonight so I set up the character sheet and tried this script out.  It seems that the 5E OGL Sheet already applies the saving throw bonus to the Paladin itself and your script doesn't seem to exclude the Paladin from its own aura so the Paladin ends up with double bonuses.  For now, I've just put a clunky -3 Global Save modifier on the Paladin so the player doesn't get too excited about the rolls. Other than that, it's pretty fantastic though.
1584818703
Layton
API Scripter
KC . said: I just found out that I've got a Paladin in my game tonight so I set up the character sheet and tried this script out.  It seems that the 5E OGL Sheet already applies the saving throw bonus to the Paladin itself and your script doesn't seem to exclude the Paladin from its own aura so the Paladin ends up with double bonuses.  For now, I've just put a clunky -3 Global Save modifier on the Paladin so the player doesn't get too excited about the rolls. Other than that, it's pretty fantastic though. How has this slipped past me! Thanks much :D will fix ASAP
1584819323
Dumbhuman
Pro
Marketplace Creator
Another oddity I just noticed is that the token marker I selected for the Paladin save buff (All-For-One) is being applied somewhat randomly to tokens on a map with no Paladin even present.  Some of these tokens are NPCs and some of these tokens don't even have a character sheet associated with them.  There's no number on the token marker, so I expect it might have something to do with a bonus of 0 being applied, but the marker not knowing to not show up unless there's a bonus of 1 or greater being applied. Admittedly, I have a lot of new script installs running, including a tweak to TokenMod to allow the Delay script to run, so I haven't ruled out cross-complications yet.
1584819516
Layton
API Scripter
KC . said: Another oddity I just noticed is that the token marker I selected for the Paladin save buff (All-For-One) is being applied somewhat randomly to tokens on a map with no Paladin even present.&nbsp; Some of these tokens are NPCs and some of these tokens don't even have a character sheet associated with them.&nbsp; There's no number on the token marker, so I expect it might have something to do with a bonus of 0 being applied, but the marker not knowing to not show up unless there's a bonus of 1 or greater being applied. Admittedly, I have a lot of new script installs running, including a tweak to TokenMod to allow the Delay script to run, so I haven't ruled out cross-complications yet. I'll look into it but I've had no experience of these issues. If you manage to get any details feel free to throw me a bug report: <a href="https://github.com/LaytonGB/PaladinAura/issues/new/choose" rel="nofollow">https://github.com/LaytonGB/PaladinAura/issues/new/choose</a>
1584821667
Dumbhuman
Pro
Marketplace Creator
If I get anywhere close to reproducing the error, I'll let you know.&nbsp; It only happened to a few tokens on one particular map (split between the Token and Map layers) when I was executing different API commands.&nbsp; It happened twice, but since clearing the token markers the second time, I haven't seen it happen again.&nbsp;
1584831755
Layton
API Scripter
KC . said: It seems that the 5E OGL Sheet already applies the saving throw bonus to the Paladin itself and your script doesn't seem to exclude the Paladin from its own aura so the Paladin ends up with double bonuses.&nbsp; I've tested and tested and I just can't find that this is the case. My API definitely adds to the pre-existing global save mod bonus though, so that players can manually add other bonuses. If the paladin sheet already had a value filled in to its global save bonus, this API would have raised it even higher. I think that is what you experienced.
1584865465
Dumbhuman
Pro
Marketplace Creator
Layton said: KC . said: It seems that the 5E OGL Sheet already applies the saving throw bonus to the Paladin itself and your script doesn't seem to exclude the Paladin from its own aura so the Paladin ends up with double bonuses.&nbsp; I've tested and tested and I just can't find that this is the case. My API definitely adds to the pre-existing global save mod bonus though, so that players can manually add other bonuses. If the paladin sheet already had a value filled in to its global save bonus, this API would have raised it even higher. I think that is what you experienced. Well, yes, that's what I mean.&nbsp; The 5E OGL Sheet is already applying the charisma bonus to the Paladin's global save bonus so when running your script, the Paladin gets its charisma bonus added to saves twice, once from the bonus inherent to the sheet and once from your script.&nbsp; I didn't mean to imply that the math in your script was doubling the bonus for the Paladin, only that because the Paladin's sheet already gives it a bonus that it ends up with a double bonus with the addition of your script. I created a fresh game using default options for the 5E OGL Sheet and installed only the PaladinAura API and the libTokenMarkers.&nbsp; I made a Paladin, leveled it up to 6th level with the Charactermancer, and looked at its bonuses with and without your script toggled on.&nbsp; With your script toggled off, the Paladin has +8 to Strength saves (+4 from Strength and +4 from Charisma).&nbsp; With your script toggled on, the Paladin has +12 to Strength saves (+4 from Strength and +4 from Charisma and +4 again from Charisma). Screen recording attached: Maybe the variable causing some confusion here is Charactermancer?
1584874161
Layton
API Scripter
KC . said: Maybe the variable causing some confusion here is Charactermancer? I did absolutely no testing with the charactermancer so that's likely the confusion source, yes! I can't really think of any solutions though, as accommodating to this issue would require the API to not apply aura bonuses to characters who already have bonuses, which would stop bonuses from other sources. I think this will have to remain a known issue.&nbsp; Thanks though, it was really bugging me that I couldn't replicate the issue.&nbsp;
1584894109
Layton
API Scripter
Layton said: I can't really think of any solutions though, as accommodating to this issue would require the API to not apply aura bonuses to characters who already have bonuses, which would stop bonuses from other sources.&nbsp; I have resolved to have the api message the gm and controlling players the first time a paladin is detected that was built using the charactermancer. This message will inform them as to what the paladin's aura bonus should be so they can adjust the bonus manually as required.&nbsp; <a href="https://github.com/LaytonGB/PaladinAura/issues/13" rel="nofollow">https://github.com/LaytonGB/PaladinAura/issues/13</a>
1584895957
The Aaron
Roll20 Production Team
API Scripter
Layton said: The Aaron said: Neat Script!&nbsp; I'd love to see 5e Shaped support so I could use it. =D Regarding the player pages, here's a little function that returns an array of all the pageids for pages with a player (including the GM) on them: const getActivePages = () =&gt; [...new Set([ Campaign().get('playerpageid'), ...Object.values(Campaign().get('playerspecificpages')), ...findObjs({ type: 'player', online: true }) .filter((p)=&gt;playerIsGM(p.id)) .map((p)=&gt;p.get('lastpage')) ]) ]; Can you teach me a bit about that ellipsis "..." usage, or tell me what it's called? I'm only learning, and I've seen that used in a lot of places but don't know what to Google to learn about it.&nbsp; That function will be extremely handy though, so thanks for the comment - I'll integrate it soon! Shaped functionality is on the way, but because the global save modifiers on the shaped sheets is in the repeating modifiers section the system becomes a whole bundle more complex. Regardless, I'm making progress.&nbsp; Sure!&nbsp; There are two contexts for ... in javascript, Rest and Spread. The code snippet is all Spread usage.&nbsp; Important Note: The current version of the API sandbox only supports Rest and Spread for Arrays.&nbsp; Contrast that to the current version of Javascript that also supports it with Objects. Spread just takes the contents of an Array and expands them as if you'd typed them in directly one after the other: let a = [1,2,3]; let b = [4,5,6]; let c = [...a, ...b]; Is the same as: let a = [1,2,3]; let b = [4,5,6]; let c = [1,2,3,4,5,6]; or you might write it dynamically without spread as: let a = [1,2,3]; let b = [4,5,6]; let c = []; a.forEach(n =&gt; c.push(n)); b.forEach(n =&gt; c.push(n)); You'll likely find yourself using Spread most of the time. Rest is only used in argument lists to functions, and collects any remaining parameters into an array. const logall = (label, ...args) =&gt; log(`${label}: ${args.join(', ')}`); logall('Cousins','Bob','Nancy','Sue','Paul','Tom'); Cousins: Bob, Nancy, Sue, Paul, Tom Rest is necessary because Arrow Functions ( =&gt; ) don't get passed the arguments pseudo-Array object.&nbsp; In older Javascript, you'd do something like: var logAll = function(label) { &nbsp;&nbsp;&nbsp;&nbsp;var output = label + ': '; &nbsp;&nbsp;&nbsp;&nbsp;var sep = ''; &nbsp;&nbsp;&nbsp;&nbsp;for(var i = 1; i &lt; arguments.length; ++i){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output += sep + arguments[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sep = ', '; &nbsp;&nbsp;&nbsp;&nbsp;} };&nbsp; (I feel dirty just typing in all those var's and string concatenations!) As you can see, Modern Javascript is getting a whole lot more expressive. =D Some links: Spread:&nbsp; <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax</a> Rest:&nbsp; <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters</a> Arrow Functions (Fat Arrow):&nbsp; <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions</a> An article on ES6 functionality I refer to constantly:&nbsp; <a href="https://www.reindex.io/blog/you-might-not-need-underscore" rel="nofollow">https://www.reindex.io/blog/you-might-not-need-underscore</a> Quick commentary on that function: // returns and array of page ids for pages that players are currently on // Set has the property that only a single copy of any value is retained. // By building a Set here, we remove duplicate page ids, then use Spread // to turn the Set back into an array to return // Note: the argument to Set is an single Array we are building with // other calls below. const getActivePages = () =&gt; [...new Set([ // Where the ribbon is, i.e. the "easy" case. =D Campaign().get('playerpageid'), // Object.values() returns an array of just the values for all properties // on an object. The playerspecificpages property contains an object // mapping player ids to page ids. We don't want the player ids, just the // page ids, so this is an easy way to strip down to just that. // Using Spread to take the array of page ids and put them in the // argument array to Set. ...Object.values(Campaign().get('playerspecificpages')), // Finally, the GM's current page is dictated by the lastpage property on // the character. There are some eccentricities to this, mostly around // having more than one view of the game loaded in different browsers at // the same time, but it will almost always be completely accurate. // Find all the players, ...findObjs({ type: 'player', online: true }) // filter down to only players that are GMs .filter((p)=&gt;playerIsGM(p.id)) // pluck out the lastpage property .map((p)=&gt;p.get('lastpage')) // Spread then adds them to the Set argument array ]) // end of Set ]; // end of array to return Cheers!
1584899201
Layton
API Scripter
The Aaron &nbsp; That response was amazing! Thanks a massive amount!&nbsp;
1584900113

Edited 1584900178
The Aaron
Roll20 Production Team
API Scripter
No problem, I'll talk about The API (or programming in general) till I'm blue in the face, definitely feel free ask me anything. =D
hey guys i love the script but for some reason the script doesnt allow users to control the toggle. and id love to give this feature to my paladin. could you make it so it could be toggled by the player?
1584959230

Edited 1584959277
Layton
API Scripter
Things Could Get Dicey said: hey guys i love the script but for some reason the script doesnt allow users to control the toggle. and id love to give this feature to my paladin. could you make it so it could be toggled by the player? The next update will allow the gm to set a manual "apply bonus to this token" or "never apply bonus to this token". This will allow users to specify "even when this player token is close to a paladin, don't give it a bonus" and "give a bonus to this npc if it is close to a paladin".&nbsp; Will that do what you are after? If not, please be as specific as possible.&nbsp;
1584959426
Layton
API Scripter
The Aaron said: No problem, I'll talk about The API (or programming in general) till I'm blue in the face, definitely feel free ask me anything. =D If that's the case, could you talk me through the best method of creating and modifying repeating attribute sections with the API? Specifically the modifiers section on the shaped sheets. I seem to have hit a wall there, as I can create the attributes, but can't modify them. Thanks.&nbsp;
Layton said: Things Could Get Dicey said: hey guys i love the script but for some reason the script doesnt allow users to control the toggle. and id love to give this feature to my paladin. could you make it so it could be toggled by the player? The next update will allow the gm to set a manual "apply bonus to this token" or "never apply bonus to this token". This will allow users to specify "even when this player token is close to a paladin, don't give it a bonus" and "give a bonus to this npc if it is close to a paladin".&nbsp; Will that do what you are after? If not, please be as specific as possible.&nbsp; currently id like the macro button for the toggle to be used by my players. when a player clicks the macro button it comes up with a message saying only the dm can manage it. i dont want to be managing it. and its cooler for a roleplay aspect for the player to control their aura.&nbsp; i want them to be able to click the button and it turn on and off and for them to control it when they die or passout. or if they choose to give it to others.
1584973022
Layton
API Scripter
Things Could Get Dicey said: Layton said: Things Could Get Dicey said: hey guys i love the script but for some reason the script doesnt allow users to control the toggle. and id love to give this feature to my paladin. could you make it so it could be toggled by the player? The next update will allow the gm to set a manual "apply bonus to this token" or "never apply bonus to this token". This will allow users to specify "even when this player token is close to a paladin, don't give it a bonus" and "give a bonus to this npc if it is close to a paladin".&nbsp; Will that do what you are after? If not, please be as specific as possible.&nbsp; currently id like the macro button for the toggle to be used by my players. when a player clicks the macro button it comes up with a message saying only the dm can manage it. i dont want to be managing it. and its cooler for a roleplay aspect for the player to control their aura.&nbsp; i want them to be able to click the button and it turn on and off and for them to control it when they die or passout. or if they choose to give it to others. Right now, when their HP hits 0 they stop giving out their AURA. I will add a token-macro button that allows anyone who controls the token to toggle the aura. The GM and player will both recieve a message informing them this happened. Thanks for the suggestion! :)
also is there somewhere in the script where if the hp goes to 0 it turns off?
1584973853
Layton
API Scripter
Things Could Get Dicey said: also is there somewhere in the script where if the hp goes to 0 it turns off? See my reply above - Yes there is. Only paladins with health above 0 give off an aura.
1584975824

Edited 1584986639
Dumbhuman
Pro
Marketplace Creator
Layton said: Things Could Get Dicey said: hey guys i love the script but for some reason the script doesnt allow users to control the toggle. and id love to give this feature to my paladin. could you make it so it could be toggled by the player? The next update will allow the gm to set a manual "apply bonus to this token" or "never apply bonus to this token". This will allow users to specify "even when this player token is close to a paladin, don't give it a bonus" and "give a bonus to this npc if it is close to a paladin". I was going to suggest this functionality, but didn't want to be greedy.&nbsp; It allows Paladins to protect friendly NPCs (such as their steed) and allows DMs to use Player sheets as villains (or accomodate PVP scenarios).&nbsp; It could also potentially be used to correct for the Charactermancer bonus if the Paladin is allowed to add itself to the "never apply bonus" list. Or perhaps if you can read the charactermancer status variable already, you can use that to determine whether the aura should apply its numerical value to the Paladin rather than just delivering a warning message?&nbsp; It would just make integration of the script a little more seamless.
Layton said: Things Could Get Dicey said: Layton said: Things Could Get Dicey said: hey guys i love the script but for some reason the script doesnt allow users to control the toggle. and id love to give this feature to my paladin. could you make it so it could be toggled by the player? The next update will allow the gm to set a manual "apply bonus to this token" or "never apply bonus to this token". This will allow users to specify "even when this player token is close to a paladin, don't give it a bonus" and "give a bonus to this npc if it is close to a paladin".&nbsp; Will that do what you are after? If not, please be as specific as possible.&nbsp; currently id like the macro button for the toggle to be used by my players. when a player clicks the macro button it comes up with a message saying only the dm can manage it. i dont want to be managing it. and its cooler for a roleplay aspect for the player to control their aura.&nbsp; i want them to be able to click the button and it turn on and off and for them to control it when they die or passout. or if they choose to give it to others. Right now, when their HP hits 0 they stop giving out their AURA. I will add a token-macro button that allows anyone who controls the token to toggle the aura. The GM and player will both recieve a message informing them this happened. Thanks for the suggestion! :) no worries i dont think it needs more than this. i cant think of anything. i havnt tried to lvl up the next aura but i presume it adjusts accordingly.&nbsp;
1584986884
Layton
API Scripter
Things Could Get Dicey said: no worries i dont think it needs more than this. i cant think of anything. i havnt tried to lvl up the next aura but i presume it adjusts accordingly. Nice, I'll post here when the update is done. Thanks for taking the time to respond :)
1584987069
Layton
API Scripter
KC . said: I was going to suggest this functionality, but didn't want to be greedy.&nbsp; It allows Paladins to protect friendly NPCs (such as their steed) and allows DMs to use Player sheets as villains (or accomodate PVP scenarios) .&nbsp; It could also potentially be used to correct for the Charactermancer bonus if the Paladin is allowed to add itself to the "never apply bonus" list. Or perhaps if you can read the charactermancer status variable already, you can use that to determine whether the aura should apply its numerical value to the Paladin rather than just delivering a warning message? &nbsp; It would just make integration of the script a little more seamless. I'll make sure to focus on all these points with the upcoming changes. Glad to know the feature will be enjoyed :) Check back to this thread for any updates.
i have just thought of something. maybe you can make a monster aura with the similar capabilities but with more parameters and more customisation. like the pit fiends fear aura. etc etc. but it triggers them to make saves automatically as they come into contact. that would be another cool project.&nbsp;
1585041059
Layton
API Scripter
Things Could Get Dicey said: i have just thought of something. maybe you can make a monster aura with the similar capabilities but with more parameters and more customisation. like the pit fiends fear aura. etc etc. but it triggers them to make saves automatically as they come into contact. that would be another cool project.&nbsp; Though this is something that could be done, I do my best to create API that will see the most use. I don't think many people will enjoy an API that auto-rolls stuff based on where tokens are placed, just because it can cause confusion, weird errors, etc. However, you're very right about the aura stuff being useful. A small pop out chat message for such creatures &amp; player characters would be something that GMs &amp; players would both find useful (to avoid forgetting abilities). I'll make a note of that :)
Layton said: Things Could Get Dicey said: i have just thought of something. maybe you can make a monster aura with the similar capabilities but with more parameters and more customisation. like the pit fiends fear aura. etc etc. but it triggers them to make saves automatically as they come into contact. that would be another cool project.&nbsp; Though this is something that could be done, I do my best to create API that will see the most use. I don't think many people will enjoy an API that auto-rolls stuff based on where tokens are placed, just because it can cause confusion, weird errors, etc. However, you're very right about the aura stuff being useful. A small pop out chat message for such creatures &amp; player characters would be something that GMs &amp; players would both find useful (to avoid forgetting abilities). I'll make a note of that :) yeh that solution is better than mine. a nicely framed box of their aura ability with a nice /em message that is in accordance to the monsters ability for the pit fiend it could be like "you begin to feel a presence that makes you feel instinctually fearful". something like that.&nbsp;
Got these errors in chat the first time I started a game after installing the script. Is this expected?
1585218607
Layton
API Scripter
Persephone said: Got these errors in chat the first time I started a game after installing the script. Is this expected? Yep! Every time the game is run it checks all the settings are correct. On first time running its gonna find all those settings blank, hence the messages. I'll try and improve the first-time run output soon.