
EDIT: Double Post.
Ability Tests
To make an ability test, first pick up three six-sided dice (3d6). Two of the dice should be one color and the third a different color. The off-color die is known as the Stunt Die (see The Stunt Die). Roll all three dice and add the results together; you want to roll high. You then add the ability you’re testing and another 2 if you have an applicable ability focus. The final number is your test result.
Test Result = 3D6 + Ability + Focus
Even if you have several focuses that could apply, you can only use one on a test. You can never gain the benefits of more than one focus on an ability test.
The Stunt Die
You always roll three dice when taking an ability test, two dice of one color and one die of another. The off-colored die is known as the Stunt Die and it has several uses in the game system. It is used to generate stunt points (SPs), measure degrees of success, and to break ties. When you see a reference to the Stunt Die, just remember it’s the off-colored die from ability tests.An Ability can range from -2 to 4 inclusive for PCs, more for GMCs like dragons or whatever. An Ability Focus is either 0, +2, or +3 for Level 11+ PCs who've taken the Focus twice. The GM can impose a penalty / bonus of -3 to +3 inclusive depending on circumstance.
attr = getAttrRefValues(Character.id, attr);
// Searches for character's attribute references and gets its values // (if find, returns an inline roll of them) function getAttrRefValues(char_id, attribute) { var n_ref = 0; var attr = attribute; if (/.*@{.*/.test(attribute)) { n_ref = attribute.match(/@{/g).length; } if (n_ref > 0) { //there are references to attributes for (var i = 0; i < n_ref; i++) { attr = attr.replace(/@{(.*?)}/, function(e) { var attr_ref = e.replace(/@{/, '').replace(/}/, ''); attr_ref = getAttrByName(char_id, attr_ref); return getAttrRefValues(char_id, attr_ref); }); } //transforms reference to inline roll if (attr != '') { //avoiding inline rolls of nulls attr = "[[" + attr + "]]"; } else { //value 0 for void attribute references attr = "0"; } } return attr; };It solves the problem for me. I don't know if it creates new ones yet. But maybe you want to try it Lake / James: just insert the first code at line 805 (before "return (Character && attr) || 'ERROR';") and the second code at line 780 (before "function getTargetInfo(content, TargetList) {").
Thomas C. said:
Hi HoneyBadger!
When I use the following roll formatting to reroll a 1, I would like the condition color boxes around the result to be determined using the 2nd roll and not the first. Can that be done? I think you did it one time for me but may have been lost in the later versions.
d20ro<1+2
Silvyre said:
[[d20ro<1cf0 + 2]]
Thomas C. said:
Looks like you fixed something similar once, but it was not this exact problem. It was nothing highlighting. So you are correct.
But, can this problem (highlighting based on the first roll instead of the second) be fixed?
!power {{ --charid|@{character_id} --name|@{character_name} Initiative Roll --leftsub|Start of round --hroll|[[ [$Adv] ?{Advantage?|No,0|Advantage,1|Disadvantage,2} +0d0 ]] --?? $Adv == 0 ?? Roll:|~R[[ [trkr] 1d20 + [[@{initiative_overall}]] ]]~R --?? $Adv == 1 ?? Roll:|~R[[ [trkr] 2d20kh1 + [[@{initiative_overall}]] ]]~R --?? $Adv == 2 ?? Roll:|~R[[ [trkr] 2d20kl1 + [[@{initiative_overall}]] ]]~R }}The only reason I know it's the last one, is because if (in this case), I select Disadvantage, the appropriate number appears in the tracker corresponding with the PowerCard. Any of them I move to the bottom by rearranging, the tracker corresponds to that roll and that one only. I normally hard code Advantage initiative rolls for my players, but I wondered if this would work (like it does for attacks, etc.) And.... not in the current form. I might be doing something wrong in this instance though. I'm not too worried if it doesn't work normally, I was just trying to set it to be an option so that those who have Advantage on initiative, can roll standard if they suddenly lose their ability to have Advantage.
[[ [trkr] ?{Initiative|Standard, 1d20|w/Advantage, 2d20kh1|w/Disadvantage, 2d20kl1} + [[@{initiative_overall}]] ]]
Calhanol said:
Is there a possible way of adding API buttons to the Script, in order to make a nice formatted Menu or along those lines?
(\Q?\E)|(\Q@\E)|(\Q%\E)|(\Q[[\E)|(\Q]]\E)|(\Q*\E)|(\Q)\E)|(\Q--\E)|(\Q//\E)|(\Q~\E)|(\Q^\E)|(\Q}\E)|(\Q$\E)|(\r\n)|(\Q`\E)|(\Q_\E)
(?1?)(?2@)(?3%)(?4[[)(?5]])(?6*)(?7))(?8--)(?9//)(?10~)(?11^)(?12})(?13$)(?14 )(?15`)(?16_)
Silvyre said:
Why not create a tag for each attack, each with its own modifiers?
Samuel Penn said:
Because that is 4x as much work. I'm looking for a way to reduce the amount of work I have to do to prepare for a game, and currently a lot of time is spent writing macros. Even though I've adding more and more into variables, it's still a lot of work when I have to tweak a macro because this creature does attacks in a slightly different way.Silvyre said:
Why not create a tag for each attack, each with its own modifiers?
Calhanol said:
Thanks for the assiatance Silvyre, now I have a menu system for my group's abilities, and with the conditionals and ammo script, I can hide encounter and daily moves that they used with ease. And I reset them all using a custom script. So now instead of 20 odd buttons per character Token, they now have 5, 1 each for At-Wills, Encounters Etc.
HoneyBadger said:
Calhanol said:
Thanks for the assiatance Silvyre, now I have a menu system for my group's abilities, and with the conditionals and ammo script, I can hide encounter and daily moves that they used with ease. And I reset them all using a custom script. So now instead of 20 odd buttons per character Token, they now have 5, 1 each for At-Wills, Encounters Etc.
Awesome indeed. ::teal'c voice::
/me fires from his Lutebow !power {{
--name|Songful Full Attack
--leftsub|LuteBow
--rightsub|Ranged
--Attack 1:|[[ [$Atk] 1d20 + 7 [BAB] + 1 [MC] + ?{Point Blank?|0}]] vs AC
--Attack 2:|[[ [$Atk2] 1d20 + 7 [BAB] + 1 [MC] - 5 + ?{Point Blank?|0}]] vs AC
--Damage:|[[ [$Damage]1d8 + ?{Point Blank?|0}]] + [[ [$Damage2]1d8 + ?{Point Blank?|0}]]
--Crit Damage:|[[3*3]]
--?? $Atk.base == 20 ?? Crit Confirm 1:| [[ 1d20 + 7 [BAB] + 1 [MC] + ?{Point Blank?|0}]]
--?? $Atk2.base == 20 ?? Crit Confirm 2:| [[ 1d20 + 7 [BAB] + 1 [MC] - 5 + ?{Point Blank?|0}]]
}}
--?? $Arrows.total > 0 AND $RollRes < $DEF ?? ^1 Failure|[[ [txt] 1t[Failure] ]] --?? $Arrows.total > 0 AND $RollRes >= $DEF AND $TRICK == 0 ?? ^1Success|Deal [[ [nh] 1d6]] damage --?? $Arrows.total > 0 AND $RollRes >= $DEF AND $TRICK == 1 ?? ^1Tricky Success| Deal [[ [nh] 2d6]] damage
?{How many bad guys?| 1, --Bad guy 1:|[[?{Damage #1|1|2|3|4|5|6|7}]] | 2, --Bad guy 1:|[[?{Damage #1|1|2|3|4|5|6|7}]] --Bad guy 2:|[[?{Damage #2|1|2|3|4|5|6|7}]] | 3, --Bad guy 1:|[[?{Damage #1|1|2|3|4|5|6|7}]] --Bad guy 2:|[[?{Damage #2|1|2|3|4|5|6|7}]] --Bad guy 3:|[[?{Damage #3|1|2|3|4|5|6|7}]] }
!power {{ --corners|0 --bgcolor|#54804E --txcolor|#ffffff --erowbg|e9e8dd --orowbg|#ffffff --name|Sword Burst --leftsub|At-Will --rightsub|Standard Action --Aecris Longsword:|+8 vs. @{power-4-def}, 1d6+5 damage^^^^**Close** burst^^**Targets:** Each enemy in the burst. --|A sweep of your sword blasts those around you with force. --Keywords:|Arcane, Force, Implement --target_list|@{target|1st|token_id} | @{target|2nd|token_id} | @{target|3rd|token_id} | @{target|4th|token_id} | @{target|5th|token_id} | @{target|6th|token_id} | @{target|7th|token_id} | @{target|8th|token_id} --Attack#?{Number of targets|1}|[[ 1d20 + @{power-4-attack} ]] vs. %%@{power-4-def}%% @{power-4-def} (%%token_name%%) --Hit:|[[ (floor(@{level}/21)*(@{power-4-weapon-num-dice}d@{power-4-weapon-dice})) + @{power-4-weapon-num-dice}d@{power-4-weapon-dice}+@{power-4-damage} ]] damage. }}I also tried the sample macro from the from the beginning of this post.
!power --name|Scorching Burst | Nine Targets --target_list|@{target|1st|token_id} | @{target|2nd|token_id} | @{target|3rd|token_id} | @{target|4th|token_id} | @{target|5th|token_id} | @{target|6th|token_id} | @{target|7th|token_id} | @{target|8th|token_id} | @{target|9th|token_id} --Attack#?{Number of targets|1}|[[1d20+5]] vs %%Reflex%% Reflex (%%token_name%%) --Hit|[[1d8+3]] fire damage
!power {{ --corners|0 --bgcolor|#54804E --txcolor|#ffffff --erowbg|e9e8dd --orowbg|#ffffff --name|Sword Burst --leftsub|At-Will --rightsub|Standard Action --Aecris Longsword:|+8 vs. @{power-4-def}, 1d6+5 damage^^^^**Close** burst^^**Targets:** Each enemy in the burst. --|A sweep of your sword blasts those around you with force. --Keywords:|Arcane, Force, Implement --target_list|@{target|1st|token_id} | @{target|2nd|token_id} | @{target|3rd|token_id} | @{target|4th|token_id} | @{target|5th|token_id} | @{target|6th|token_id} | @{target|7th|token_id} | @{target|8th|token_id} --Attack#?{Number of targets|1}|[[ 1d20 + @{power-4-attack} ]] vs. @{power-4-def} (%%token_name%%) --Hit:|[[ (floor(@{level}/21)*(@{power-4-weapon-num-dice}d@{power-4-weapon-dice})) + @{power-4-weapon-num-dice}d@{power-4-weapon-dice}+@{power-4-damage} ]] damage. }}
--?? $Atk.base == 20 ?? Critical Hit:#|[[ (floor(@{level}/21)*(@{power-4-weapon-num-dice}*@{power-4-weapon-dice})) + @{power-4-weapon-num-dice}*@{power-4-weapon-dice} + @{power-4-damage} + @{weapon-2-enh}d@{weapon-2-per-plus} ]] damage.