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
This post has been closed. You can still view previous posts, but you can't post any new replies.

[Script] PowerCards 3 (Thread 3)

August 19 (9 years ago)

Edited August 19 (9 years ago)
DK Heinrich
Marketplace Creator
Sheet Author
EDIT: Double Post. 
August 19 (9 years ago)
At the end of the PowerCards.Process function, you would basically do a AlterScript.Process(NewMsg, who); after going through x.inlinerolls  to get the information needed and format that as NewMsg.content and tack on NewMsg.who as well. It would actually be pretty easy for me to do... but I dislike automation. Too many variables in most rpg's and double clicking a macro could have unintended consequences, making it more difficult for the GM to undo.
August 19 (9 years ago)
DK Heinrich
Marketplace Creator
Sheet Author
i have thought that it might be pushing the edges of to much automation. 

If you decide to play around with it great, if not - once I decide I know enough to break it I will try and see what happens.

Thanks again!
August 19 (9 years ago)
Yeah, most people know I'm anti-automation. There are places for it and adding conditionals was more than I really wanted to do... but I had to keep up with Roll Templates, lol.
August 19 (9 years ago)

Edited August 19 (9 years ago)
Gen Kitty
Forum Champion
Conditionals make long cards into short cards, while making short macros into epic length macros.  We appreciate having them! ^_^ 

(Sadly, the game I really needed the bells and whistles for has ended, so less envelope-pushing from me for now)

Edit, as a thought hit me...

HB, how much work would it take to do the following:

A) Roll 1d6+2d6 and flag doubles/triples as critical success
B) Same as above, but just roll 3d6

This would support Fantasy AGE and Dragon AGE which uses a 'roll 1 stunt die plus 2 normal dice, if any of the dice come up doubles/triples you get to do something cool based on the stunt die'.  Generally we use the first or last die rolled for the stunt die (GM sets convention at start of game) and mouseover to see if there were doubles.  I'm starting to make powercards for the Fantasy AGE game I'm in and I'd LOVE to be able to color the dice based on doubles.   Right now I'm just using NH and XPND.

If you had variables it would be easy-ish ^_-
August 19 (9 years ago)
Dropdown queries helped turn my epic macros into tiny epic macros, lol. It probably wouldn't be super difficult to add support for AGE rolls. It'd just be another roll type in the comments like [nh].
August 19 (9 years ago)
Do you always roll just three dice with AGE rolls? Are there any other mechanics involved?
August 19 (9 years ago)
Gen Kitty
Forum Champion
It's 3d6+mods for attacking/skills/initiative rolls, assorted dice for damage, and damage can't generate stunt dice.

(I've played a grand total of 2 sessions, and I don't have the books.  I'll direct my GM to this thread so he can comment on anything I've missed!)
August 20 (9 years ago)
Andrew R.
Pro
Sheet Author
{Smoke Cloud} Your wish is my command!

I'm GenKitty's GM for Fantasy Age. Here's some quotes from the rulebook about Ability tests and the Stunt Die in FAGE. Combat to-hit rolls are Accuracy or Fighting Ability tests.

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.

August 20 (9 years ago)
So even if it automatically showed doubles or triples, you'd still be using xpnd to be able to sort out which die is which, right?
August 20 (9 years ago)
Gen Kitty
Forum Champion
Yes, that seems the simplest way.
August 28 (9 years ago)
Hi,

I've been having same issue as @Lake / James with charms and DnD 4e character sheet. This sheet has attributes with references to other attributes for auto-calculation purposes, which is problematic for PowerCards' charm functionality (great script, thank you!).

I added this call at the end of getTargetInfo function, before it returns the value:
 attr = getAttrRefValues(Character.id, attr);

And this is what the called function does:
    // 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) {").
August 28 (9 years ago)
I'll look at adding that eventually.
August 29 (9 years ago)
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
August 29 (9 years ago)
[[d20ro<1cf0 + 2]]
August 29 (9 years ago)

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

Hrm, I don't recall doing that at any point.
August 30 (9 years ago)
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?

August 30 (9 years ago)

Silvyre said:

[[d20ro<1cf0 + 2]]

Thank you Silvyre, but I would like to retain the red on a 1 if possible.
August 30 (9 years ago)
I'll check github tomorrow and see what I changed then. Not sure how it got unchanged.
August 31 (9 years ago)

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?


What I fixed was re-rolls not highlighting the second roll at all... as in say you have 1d20ro<4 and if you got a 3 on the first roll and a 20 on the second, it wouldn't highlight the twenty. The bugfix in 2.4.12 was to make the 20 highlight as it should. It was never intended to not highlight the initial roll. I'd have to add in something special to do that and you'd have to add in a roll option like nh or trkr to every roll with a re-roll function.
August 31 (9 years ago)
Uh oh, the FMyFJ on the latest PowerCard build:


!power --charid|@{character_id} --emote|Azrael burns away at his foes as Kergan cries out in awe! --format|ranged --name|Inferno Pistol, Deadly Aim --leftsub|Ranged --rightsub|Standard Action --Attack|[[1d20 + 11]] vs Touch AC --Inflicts|[[1d6 + 11]] fire damage
August 31 (9 years ago)
I believe that's an issue with the character id having some combination of characters that makes it think it's a new tag or something. Make a copy of the character and it should make a new id and get rid of that problem.
September 01 (9 years ago)
That did it, thanks!
September 01 (9 years ago)
Hi! I've got a problem, namely that when we try to roll a power, the Sandbox shuts down and i get this error:

"There was an error communicating with the QuantumRoll server."

What to do?
September 01 (9 years ago)

Edited September 01 (9 years ago)
The Aaron
Roll20 Production Team
API Scripter
Re-saving your scripts did not fix the issue?

September 01 (9 years ago)
Samuel Penn
KS Backer
Is there a way to reference the index number in a repeated line? e.g., when making multiple attacks in d20, each subsequent attack is at a further -5, so I can't find a way to make use of the repeat option since each line needs a different penalty. Being able to reference the index number would greatly simplify full attack macros. e.g., something like:

    Attack#4|[[d20 + @{AtkBonus} - (5 * #)]]

This would give -0, -5, -10, -15 for each repeat (assuming a zero based index). Does this facility exist currently, or could it be added?

Thanks.
September 01 (9 years ago)
Why not create a tag for each attack, each with its own modifiers?
September 02 (9 years ago)
The repeat option is for repeating the same roll over and over. More for aoe attacks and such. 
September 03 (9 years ago)
Though it probably shouldn't need to work (I simply found out it doesn't), if you make a PowerCard for initiative, and add an option to do standard, disadvantage, advantage (like a lot of rolls), the field which shows is the appropriate one, but the one which is added to the tracker, is whichever the last one is. For example:
!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.
September 03 (9 years ago)
Use a drop down query for advantage this way instead to get around that:

[[ [trkr] ?{Initiative|Standard, 1d20|w/Advantage, 2d20kh1|w/Disadvantage, 2d20kl1} + [[@{initiative_overall}]] ]]

It also has that advantage of shortening your powercard macros to do adv/dis that way, since you don't need to test for it via adv == 0 and such.
September 03 (9 years ago)

Edited September 03 (9 years ago)
Ah, thank you sir. You are a gentleman and a scholar!

I can't believe I didn't think of that. I guess I'm going through an intellectual burnout lately...
September 04 (9 years ago)
Is there a possible way of adding API buttons to the Script, in order to make a nice formatted Menu or along those lines?
September 04 (9 years ago)

Edited September 04 (9 years ago)

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?

Yes.

API Command Buttons can be nested within a PowerCard macro (and vice versa). However, to make this possible, you must first do the following:

1. Add a whisper tag (if not already present) to any PowerCard macro containing API Command Buttons (or Markdown links/images, for that matter).*
2. Replace any and all PowerCards/Roll20 syntax within the would-be contents of your API Command Button with HTML entities.**


* i.e. --whisper|GM, You, Foo, Bar, Baz
** You could use regular expressions (PRCE) to help convert PowerCard macros into the [probably functional] contents of an API Command Button. I use Notepad++ to facilitate this process—first, open your PowerCard macro in a new N++ document. Open the Replace menu and toggle the Search Mode from Normal to Regular expression. Copy and paste the regular expressions below into the specified fields. Hit Replace All. Place the resultant code within the [...](body) of your new API Command Button.

Find what :
(\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)

Replace with :
(?1&#63;)(?2&#64;)(?3&#37;)(?4&#91;[)(?5]&#93;)(?6&#42;)(?7&#41;)(?8&#45;-)(?9&#47;/)(?10&#126;)(?11&#94;)(?12&#125;)(?13&#36;)(?14 )(?15&#96;)(?16&#95;)
September 10 (9 years ago)
Samuel Penn
KS Backer

Silvyre said:

Why not create a tag for each attack, each with its own modifiers?

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.
September 10 (9 years ago)
Samuel Penn
KS Backer
For the last few weeks I've been getting the following script errors:

events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:904:11) at Server._listen2 (net.js:1023:19) at listen (net.js:1064:10) at Server.listen (net.js:1132:5) at Sandbox.start (/home/symbly/www/d20-api-server/sandcastle/lib/sandbox.js:35:15) at Object. (/home/symbly/www/d20-api-server/sandcastle/bin/sandcastle.js:11:9) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12)

Clicking 'Save Script' to restart the sandbox fixes things, but until I do, PowerCards don't work. I've no idea what is causing it, but it's often broken when I start a new session, and may break one or twice during the session.

I'm running 3.2.10
September 10 (9 years ago)
That's an API thing, not a powercards thing.
September 11 (9 years ago)

Samuel Penn said:

Silvyre said:

Why not create a tag for each attack, each with its own modifiers?
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.

If you post some of your macro's, there may be ways to trim them down to be easier to edit.
September 11 (9 years ago)
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.
September 11 (9 years ago)
Sounds awesome!
September 11 (9 years ago)

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::
September 11 (9 years ago)
Ravenknight
KS Backer

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::

Powercards are pure awesome-sauce.
September 18 (9 years ago)

Edited September 18 (9 years ago)
I'm trying to sort out criticals and damage calculation right now and it isn't working, here is what I have right now:


/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}]]
}}

For Crit damage I want to be able to call the [$Damage] and either *2 or *3 but I haven't found a way to do that yet.
I also want to try and add [$Damage] with [$Damage2] and then show that on the card so people don't have to do as much maths (some people aren't too good with it).

Also is there a cleaner way to work the crit confirm out besides writing out the entire attack again like I have?
September 18 (9 years ago)
You can't do math with roll id's yet and with my wedding coming up in a month, I haven't had the time to work on updating that part of PowerCards yet.
September 18 (9 years ago)

Edited September 18 (9 years ago)
DK Heinrich
Marketplace Creator
Sheet Author
my set up for rogue is basically this

if hit do x damage (normal roll)
if hit and crit do y damage (normal roll with condition to trigger crit)
if hit and crit and bonus do z damage (normal roll with condition to trigger crit and condition triggered by roll query(s))

and with conditionals you should be able to make it only show the answer you want it to show. 

This is portion of rogue attack macro shooting a bow. Checks to see that he has arrows, if yes then looks at Roll Result to see if he hits, if not - failure (rollable table is just for flavor). If yes and he did not use his Trickery (a rogue thing in the game) he does 1d6, If yes and he did you it, he does 2d6.
--?? $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

poping in the whole macro would be more confusing than help as it is not for D&D game, but this portion might help you.
September 18 (9 years ago)
Yeah, if you roll the crit damage separate and just show the crit total and not the regular damage on a crit... players will never know if they could have had a few more points of damage.
September 18 (9 years ago)
DK Heinrich
Marketplace Creator
Sheet Author
ok, my brain is melted.

I need to be able to target between 1 and 3 bad guys (I can use %%), and then assign 7 points of damage among those targets (maybe drop down menu for each target?).

Once I get close I can do all the conditionals to only show what I want when I want to show it, but I am stuck getting to that point.  

September 19 (9 years ago)

Edited September 19 (9 years ago)
?{How many bad guys?|
1, --Bad guy 1:&#124;[[?{Damage #1&#124;1&#124;2&#124;3&#124;4&#124;5&#124;6&#124;7&#125;]] |
2, --Bad guy 1:&#124;[[?{Damage #1&#124;1&#124;2&#124;3&#124;4&#124;5&#124;6&#124;7&#125;]] --Bad guy 2:&#124;[[?{Damage #2&#124;1&#124;2&#124;3&#124;4&#124;5&#124;6&#124;7&#125;]] |
3, --Bad guy 1:&#124;[[?{Damage #1&#124;1&#124;2&#124;3&#124;4&#124;5&#124;6&#124;7&#125;]] --Bad guy 2:&#124;[[?{Damage #2&#124;1&#124;2&#124;3&#124;4&#124;5&#124;6&#124;7&#125;]] --Bad guy 3:&#124;[[?{Damage #3&#124;1&#124;2&#124;3&#124;4&#124;5&#124;6&#124;7&#125;]]
}
September 19 (9 years ago)

Edited September 19 (9 years ago)
I am in a game using the D&D 4E character sheet. We are using  PowerCards 3.2.10. I have been successfull pulling most the information out of the character sheet for use in the macro, but i seem to be having troubles getting  this Sword Burst macro working.

!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

It also did not work for me. I tried them with generic tokens with just a name and tokens with a character sheet. I also tried this with tokens of the same name and different names. Neither macro worked for me in any of the scenarios I tried.

So what it does is the select target dialogue box asks me to click on the targets, which I do. Then the popup for number of targets which I input the number of targets. Then nothing happens and the select target dialog box is present. I then have to cancel the select target dialogue box to be able to continue.

Any suggestions?

Thanks in advance.
September 19 (9 years ago)

Edited September 26 (9 years ago)
I have gotten this to work with a restart of the script. I did make some minor changes, but do not think that effected the macro to start working. Here is that macro just for reference.

!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.
}}



Now if I can just figure out how to use [$Atk] to display critical damage on any roll that is a crit. Currently I can only get it to display if the last roll is a crit.

--?? $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.
September 19 (9 years ago)
It doesn't work for Charms at the moment. It's the only reason I haven't implemented for attack spells on my own stuff.