RPTools.net

Discussion and Support

Skip to content

It is currently Sat Jul 29, 2017 6:44 am 






Reply to topic  [ 52 posts ]  Go to page 1, 2, 3, 4  Next

Previous topic | Next topic 

  Print view

Author Message
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 24, 2011 5:34 pm 
I'm very fortunate to have a coder for a player. Now that Rumble has finished developing version 5, we'll be tinkering with our copy of the framework to add functionality that we like.

I'll post the results here for those who are interested.

Caveat: I'm relaying information from my player, and it's possible I'll screw up the formatting here and there. If so, please let me know. It also goes without saying that this is a work in progress and these mods might have unintended ripples through the framework. I recommend you test them on a non-crucial spare campaign file.

The current version of the campaign file (with all of the mods from this thread) is attached to this post. I will endeavour to keep it updated as I go.

Edit 16/6/11: Updated campaign file to include High Crit Damage macros.

Edit 20/6/11: Update campaign file to include Rumble's High Crit bug fixes.

Edit 22/6/11: Update campaign file to include the AFK, Re-bloodied and Dead at Negative Bloodied mods.

Edit: 10/9/11: Update campaign file to include the Automatically remove Dying, Prone when Dying, and Death Save Tracker mods.


Rumble 513 C7.cmpgn [2.92 MiB]
Downloaded 246 times


Last edited by Colmarr on Sat Sep 10, 2011 3:29 am, edited 9 times in total.
Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 24, 2011 5:35 pm 
NOTIFYING STRIKERS WHEN THEY CRIT

Current:
The FW notifies strikers when they hit, but does not indicate whether that hit was a crit.

Proposed improvement:
To notify strikers when they crit.

Method:
Open the token Lib:4e and look for the macro 'requestBonusDamage'

Edit that macro and find this code:

Code:
<!--Request Bonus Damage-->
[h:crit = arg(0)]
[h:target = arg(1)]
[h:miss = arg(2)]
[h:powername = arg(3)]


Under it, insert this line:

Code:
[h:critText=if(crit==0,""," and was a CRIT")]


Then find this line of code just below

Code:
[h:status = input(".|<html>Your attack with <b>"+powername+"</b> hits "+target+"! Do you wish to apply your "+StrikeFeature+" damage?</html>||LABEL|SPAN=TRUE","apply|Yes,No|Apply Striker Damage|RADIO|SELECT=0")]


and replace it with:

Code:
[h:status = input(".|<html>Your attack with <b>"+powername+"</b> hits "+target+critText+"! Do you wish to apply your "+StrikeFeature+" damage?</html>||LABEL|SPAN=TRUE","apply|Yes,No|Apply Striker Damage|RADIO|SELECT=0")]


Outcome:

The striker bonus damage prompt should now say (this example assumes the striker is a rogue, and the new text is underlined):

"Your attack with Deft Strike hits Goblin Sharpshooter 1 and was a Crit! Do you wish to apply your sneak attack damage?"


Top
 Profile  
 
User avatar  Offline
Dragon
 
Joined: Tue Feb 07, 2006 12:55 pm
Posts: 383
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Wed May 25, 2011 6:42 am 
Great idea for a thread.

-- AidyBaby --

_________________
D&D qualities are related inversely to those of Poker... and I love both.
http://www.yorkpoker.co.uk


Top
 Profile  
 
User avatar  Offline
Deity
 
Joined: Tue Jul 01, 2008 6:48 pm
Posts: 6237
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Wed May 25, 2011 11:31 am 
That's...interesting. I was sure I'd put critical hit notification into that popup box.

Oh, I see what's going on. It automatically applies the proper damage (if you crit, it does the max, but there may be situations where you don't want to apply it).

_________________

What I'm Working On

MapTool Tutorials:
Introduction to Tokens
Introduction to Properties
Introduction to Macro Writing
Introduction to Light and Sight


Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Wed May 25, 2011 6:33 pm 
Rumble wrote:
Oh, I see what's going on. It automatically applies the proper damage (if you crit, it does the max, but there may be situations where you don't want to apply it).


Correct :)

It's also for situations where you hit targets A, B, C and were planning on applying sneak attack to C. If the prompt tells you that you've crit target B, you can change your plans.


Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Wed May 25, 2011 10:32 pm 
POISED ASSAULT (ESSENTIALS KNIGHT STANCE)

Current:
Poised Assault is a stance that adds +1 to attack when using MBAs. Currently the FW does not automate the +1 attack bonus unless you use an attackbonus condition, but if you do so then changing stance does not automatically remove that condition.

Proposed improvement:
Code the +1 attack as a stance, so that activating another stance will end Poised Assault.

Method:

Create a power for the character called 'Poised Assault'. In that power, set the power type to 'Personal', tick the Essentials Stance checkbox and set the attack line to "1 vs AC". Set the Effect text to "Poised Assault: when you attack with a melee basic attack, add +1 to your attack roll". Save the power.

(Do not alter the text that is underlined. It is necessary for the stance to only apply to MBAs)

Then find the token Lib:4e.

In that token, find the macro 'showPersonalTargetDialog2'. Edit that macro.

Find the block of code which starts with:

Code:
h,if(eStance),CODE:
{

and ends with:

Code:
}]

Replace that block of code with:

Code:
[h,if(eStance),CODE:
{
     [h:mbaTemp = json.get(Powers, "Melee Basic Attack")]
     [h:rbaTemp = json.get(Powers, "Ranged Basic Attack")]
     [h:modMissDmg = json.get(currentPowerInfo, "otherMissDmg")]
     [h:modConds = json.get(currentPowerInfo, "appStateAlways")]
     [h:modSplash = json.get(currentPowerInfo, "doesSplashDmg")]
     [h:modSplashInfo = json.get(currentPowerInfo, "splashDmgInfo")]
     [h:modEffect = json.get(currentPowerInfo, "alwaysEffect")]
     [h:modMiss = json.get(currentPowerInfo, "missEffect")]
     [h:modAttack = json.get(currentPowerInfo, "attack")]
     [h:mbamodAttack = json.get(mbaTemp, "attack")]
     [h:rbamodAttack = json.get(rbaTemp, "attack")]
     [h:mbaSTAT=substring(mbamodAttack,0,3)]
     [h:rbaSTAT=substring(rbamodAttack,0,3)]
     [h:mbamodAttack =if(modAttack != "0", mbaSTAT + " + " + modAttack,mbaSTAT)]
     [h:rbamodAttack =if(modAttack != "0", rbaSTAT + " + " + modAttack,rbaSTAT)]
     [h:modDmg = json.get(currentPowerInfo, "damage")]
     [h,if(matches(modEffect, ".*with\\sa\\smelee\\sbasic\\sattack.*")): meleeOnly = 1; meleeOnly = 0]
     [h:mbaTemp = json.set(mbaTemp, "attack", mbamodAttack, "appStateHit", modConds, "doesSplashDmg", modSplash, "splashDmgInfo", modSplashInfo, "hitEffect", modEffect, "missEffect", modMiss, "otherMissDmg", modMissDmg)]
     [h,if(meleeOnly == 0): rbaTemp = json.set(rbaTemp, "attack", rbamodAttack, "appStateHit", modConds, "doesSplashDmg", modSplash, "splashDmgInfo", modSplashInfo, "hitEffect", modEffect, "missEffect", modMiss, "otherMissDmg", modMissDmg)]
     [h:Powers = json.set(Powers, "Melee Basic Attack", mbaTemp)]
     [h,if(meleeOnly == 0): Powers = json.set(Powers, "Ranged Basic Attack", rbaTemp)]
     [h:Stance = json.get(currentPowerInfo, "powername")]
}]


Outcome:

The Poised Assault button will now enter the token into the stance. Any melee basic attacks made while in the stance will be given a +1 attack bonus. If you click on another stance, then the token will lose the Poised Assault stance and the +1 will stop applying.


Last edited by Colmarr on Tue May 31, 2011 9:17 pm, edited 1 time in total.

Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Thu May 26, 2011 5:40 pm 
ENDING ESSENTIALS STANCES AT THE END OF THE ENCOUNTER

Note: As pointed out later in the thread, at-will essentials stances do not end at the end of the encounter (Rules compendium, page 120). As such, this mod is not needed for at-will stances like the knight's (or the later beast form macro). I leave it here in case it become relevant later.

Current:

Currently, the framework does not end essentials stances at the end of the encounter. Once a token is in a stance, it stays in one. This can cause (minor) problems when, for example, a Knight gets a surprise round and is in a stance it should not be in.

Proposed improvement:

Automatically end stances when the PC takes a short or extended rest.

Method:

Find the Lib:4e.

Find the 'Short Rest' macro.

Replace this text:

Code:
After a breather, [r:getName()] has recovered all Encounter powers.


with this:

Code:
     [h:mbaTemp = json.get(Powers, "Melee Basic Attack")]
     [h:rbaTemp = json.get(Powers, "Ranged Basic Attack")]

     [h:mbamodAttack = json.get(mbaTemp, "attack")]
     [h:rbamodAttack = json.get(rbaTemp, "attack")]
     [h:mbaSTAT=substring(mbamodAttack,0,3)]
     [h:rbaSTAT=substring(rbamodAttack,0,3)]
     [h:mbamodAttack = mbaSTAT]
     [h:rbamodAttack = rbaSTAT]

     [h:mbaTemp = json.set(mbaTemp, "attack", mbamodAttack, "appStateHit", "", "doesSplashDmg", "", "splashDmgInfo", "", "hitEffect", "--none--", "missEffect", "--none--", "otherMissDmg", 0)]
     [h:rbaTemp = json.set(rbaTemp, "attack", rbamodAttack, "appStateHit", "", "doesSplashDmg", "", "splashDmgInfo", "", "hitEffect", "--none--", "missEffect", "--none--", "otherMissDmg", 0)]
     [h:Powers = json.set(Powers, "Melee Basic Attack", mbaTemp)]
     [h: Powers = json.set(Powers, "Ranged Basic Attack", rbaTemp)]
     [h:Stance =""]

After a breather, [r:getName()] has recovered all Encounter powers. All stances end.


Then edit the 'Extended Rest' macro by replacing this text:

Code:
After an extended rest, [r:getName()] has recovered all healing surges and all Daily and Encounter powers.


with this:

Code:
     [h:mbaTemp = json.get(Powers, "Melee Basic Attack")]
     [h:rbaTemp = json.get(Powers, "Ranged Basic Attack")]

     [h:mbamodAttack = json.get(mbaTemp, "attack")]
     [h:rbamodAttack = json.get(rbaTemp, "attack")]
     [h:mbaSTAT=substring(mbamodAttack,0,3)]
     [h:rbaSTAT=substring(rbamodAttack,0,3)]
     [h:mbamodAttack = mbaSTAT]
     [h:rbamodAttack = rbaSTAT]

     [h:mbaTemp = json.set(mbaTemp, "attack", mbamodAttack, "appStateHit", "", "doesSplashDmg", "", "splashDmgInfo", "", "hitEffect", "--none--", "missEffect", "--none--", "otherMissDmg", 0)]
     [h:rbaTemp = json.set(rbaTemp, "attack", rbamodAttack, "appStateHit", "", "doesSplashDmg", "", "splashDmgInfo", "", "hitEffect", "--none--", "missEffect", "--none--", "otherMissDmg", 0)]
     [h:Powers = json.set(Powers, "Melee Basic Attack", mbaTemp)]
     [h: Powers = json.set(Powers, "Ranged Basic Attack", rbaTemp)]
     [h:Stance =""]

After an extended rest, [r:getName()] has recovered all healing surges and all Daily and Encounter powers. All stances end.


Outcome:

When the PC takes a short or extended rest, all stances on the token should turn off.


Last edited by Colmarr on Thu Jun 02, 2011 5:50 am, edited 1 time in total.

Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 6:17 am 
BEAST FORM/HUMANOID FORM IMAGES

Current:

Currently, a token keeps the same image continuously.

Proposed improvement:

Change a token's image depending what stance it's in. This is specifically envisioned in relation to beast form druids.

Method:

Create a token image for the Beast Form. I assume the default image is for the humanoid form.

Edit the token. In the config tab, make the Humanoid Form image the token's 'portrait'. Make the Beast Form image the token's 'handout'. You do not need to change the token's 'layout'

Create a Beast Form power for your token, as per this image. It is crucial that the power is an essentials stance and that you include the ImageSwap(2) text in the 'Special' field.

Attachment:
Beast Form.jpg
Beast Form.jpg [ 138.18 KiB | Viewed 3736 times ]


Create a Humanoid Form power for your token as per the attached image. It is crucial that the power is an essentials stance and that you include the ImageSwap(1) text in the 'Special' field.

Attachment:
Humanoid Form.jpg
Humanoid Form.jpg [ 130.68 KiB | Viewed 3736 times ]



In the Lib:4e token, find and edit the AttackPost macro:

Find this:

Code:
[r,if(isNPC() && !getLibProperty("rfw.showNpcHitInfo")),CODE:
{
[g,r:if(getProperty("rfw.hitCount")>0 && hitEff !="--none--" && hitEff != 0, "<b>Hit</b>: "+hitEff+"<br>", "")] [g,r:if(getProperty("rfw.hitCount")==0 && missEff !="--none--" && missEff != 0, "<b>Miss</b>: "+missEff+"<br>", "")] [g,r:if(alwaysEff != "--none--" && alwaysEff != 0, "<b>Effect</b>:
"+alwaysEff+"<br>", "")]
[g,r:if(getProperty("rfw.hitCount")>0 && afterEff != "--none--" && afterEff != 0, "<b>AfterEffect</b>: "+afterEff+"<br>","")] [g,r:if(specialEff != "--none--" && specialEff != 0, "<b>Special</b>:
"+specialEff+"<br>","")]
};{}]

Below it add this:
Code:
[h,if(indexOf(specialEff, "ImageSwap(1)")>-1),CODE:{ [h:setTokenImage(getTokenPortrait())]
};{}]
[h,if(indexOf(specialEff, "ImageSwap(2)")>-1),CODE:{ [h:setTokenImage(getTokenHandout())]
};{}]


Outcome

When you click the Beast Form power, the token image should change to the Beast Form image. When you click the Humanoid Form power, the image should change back to the humanoid image.

Note that my player considers this an 'ugly' fix, because ImageSwap(1) and Image Swap(2) will be displayed in chat when you use the respective powers. I personally consider that a price well worth paying for the functionality.


Last edited by Colmarr on Tue May 31, 2011 11:14 pm, edited 2 times in total.

Top
 Profile  
 
User avatar  Offline
Dragon
 
Joined: Tue Feb 07, 2006 12:55 pm
Posts: 383
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 2:30 pm 
Great updates. Have you thought about maintaining a 'Colmarr' version that you can keep current to include your mods along with updates by Rumble for bugs? I think Rumble has said before that he didn't mind people doing this but it's worth asking if you thought this was a good idea (maybe you could keep the campaign on the original post of the thread).

-- AidyBaby --

_________________
D&D qualities are related inversely to those of Poker... and I love both.
http://www.yorkpoker.co.uk


Top
 Profile  
 
User avatar  Offline
Giant
 
Joined: Wed Feb 23, 2011 1:30 am
Posts: 100
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 3:10 pm 
Ya making your own compiled version(he has stopped development so why not) would be great.

If I ever get a group I'd consider porting the UI elements of Slim to it.


Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 5:25 pm 
AidyBaby wrote:
Have you thought about maintaining a 'Colmarr' version that you can keep current to include your mods along with updates by Rumble for bugs?.


We've got one more imminent mod to post (to allow the FW to track speed changes other than Slowed), and then I'll put up a copy of the campaign file if the forums will take files that size.

I just need to think of a name for it that gives due credit to Rumble and my coder player. After all, I'm just the guy who posts the updates. They're the ones that did all the work.

PS. Do the forums support spoiler blocks of the open/close variety? If so, what's the code? sblock didn't work for me with the images.


Top
 Profile  
 
User avatar  Offline
Giant
 
Joined: Wed Feb 23, 2011 1:30 am
Posts: 100
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 6:07 pm 
Colmarr wrote:
PS. Do the forums support spoiler blocks of the open/close variety? If so, what's the code? sblock didn't work for me with the images.

This?
weeee


It's a button labeled "spoiler=" on the rich text editor page(when you post or edit).


Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 6:36 pm 
Kryx wrote:
This?


I was more interested in the type that opens and closes (and thus doesn't take up screen space when closed - a neat way of controlling post size if you want to include large images such as the powers). The code for that type of spoiler is usually [sblock ] but the code isn't working here.

The type you've posted [spoiler ] covers the spoilered text/object in black but still takes up screen space. Some forums only support that type, and RPTools might be one of them. Thanks anyway.


Top
 Profile  
 
User avatar  Offline
Giant
 
Joined: Wed Feb 23, 2011 1:30 am
Posts: 100
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 9:12 pm 
Colmarr wrote:
Kryx wrote:
This?


I was more interested in the type that opens and closes (and thus doesn't take up screen space when closed - a neat way of controlling post size if you want to include large images such as the powers). The code for that type of spoiler is usually [sblock ] but the code isn't working here.

The type you've posted [spoiler ] covers the spoilered text/object in black but still takes up screen space. Some forums only support that type, and RPTools might be one of them. Thanks anyway.

Using Chrome it is exactly as you described in the first paragraph.


Top
 Profile  
 
User avatar  Offline
Cave Troll
 
Joined: Tue Dec 07, 2010 4:46 am
Posts: 82
 Post subject: Re: [Rumble 5.1.3]: Custom Mods
PostPosted: Tue May 31, 2011 9:16 pm 
Kryx wrote:
Using Chrome it is exactly as you described in the first paragraph.


Huh, so it works in Chrome? Ok, must be a browser thing then.


Top
 Profile  
 
Display posts from previous:  Sort by  
Reply to topic  [ 52 posts ]  Go to page 1, 2, 3, 4  Next

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 243 on Sun Nov 04, 2012 6:14 am

Users browsing this forum: No registered users and 1 guest





Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group

Style based on Andreas08 by Andreas Viklund

Style by Elizabeth Shulman